refactor(logging): share node createRequire resolution

This commit is contained in:
Peter Steinberger
2026-02-21 22:49:07 +00:00
parent b25fd03b8c
commit b791ac2167
4 changed files with 28 additions and 66 deletions

View 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;
}
}