mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-27 17:11:46 +00:00
refactor(logging): share node createRequire resolution
This commit is contained in:
22
src/logging/node-require.ts
Normal file
22
src/logging/node-require.ts
Normal file
@@ -0,0 +1,22 @@
|
||||
export function resolveNodeRequireFromMeta(
|
||||
metaUrl: string,
|
||||
): ((id: string) => NodeJS.Require) | null {
|
||||
const getBuiltinModule = (
|
||||
process as NodeJS.Process & {
|
||||
getBuiltinModule?: (id: string) => unknown;
|
||||
}
|
||||
).getBuiltinModule;
|
||||
if (typeof getBuiltinModule !== "function") {
|
||||
return null;
|
||||
}
|
||||
try {
|
||||
const moduleNamespace = getBuiltinModule("module") as {
|
||||
createRequire?: (id: string) => NodeJS.Require;
|
||||
};
|
||||
const createRequire =
|
||||
typeof moduleNamespace.createRequire === "function" ? moduleNamespace.createRequire : null;
|
||||
return createRequire ? createRequire(metaUrl) : null;
|
||||
} catch {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user