Files
openclaw/src/logging/node-require.ts
2026-04-05 23:11:46 +01:00

21 lines
641 B
TypeScript

export function resolveNodeRequireFromMeta(metaUrl: 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;
}
}