@brizz/sdk
Version:
OpenTelemetry-based observability SDK for AI applications
84 lines (83 loc) • 3.15 kB
JavaScript
// src/node/loader.ts
import module from "module";
import { createAddHookMessageChannel } from "import-in-the-middle";
var loaderDebug = (() => {
const isDebug = process.env["BRIZZ_ESM_DEBUG"] === "true" || process.env["BRIZZ_LOG_LEVEL"] === "debug";
return {
log: (msg, data) => {
if (!isDebug) {
return;
}
const timestamp = (/* @__PURE__ */ new Date()).toISOString();
const dataStr = data ? ` ${JSON.stringify(data)}` : "";
console.log(`[${timestamp}] [ESM-LOADER] ${msg}${dataStr}`);
},
error: (msg, error) => {
if (!isDebug) {
return;
}
const timestamp = (/* @__PURE__ */ new Date()).toISOString();
const errorStr = error instanceof Error ? ` ${error.message}` : error ? ` ${JSON.stringify(error)}` : "";
console.error(`[${timestamp}] [ESM-LOADER] ERROR: ${msg}${errorStr}`);
}
};
})();
var LOADER_REGISTERED_KEY = Symbol.for("__brizz_esm_loader_registered__");
function checkLoaderAPISupport() {
const [major, minor] = process.versions.node.split(".").map(Number);
if (major === void 0 || minor === void 0) {
loaderDebug.log("Failed to detect Node version, assuming loader API is supported");
return true;
}
const supported = major >= 21 || major === 20 && minor >= 6 || major === 18 && minor >= 19;
loaderDebug.log("Loader API support check:", {
nodeVersion: `${major}.${minor}`,
supportsLoaderAPI: supported
});
return supported;
}
function maybeRegisterESMLoader() {
if (globalThis[LOADER_REGISTERED_KEY] === true) {
loaderDebug.log("ESM loader already registered, skipping");
return false;
}
globalThis[LOADER_REGISTERED_KEY] = true;
loaderDebug.log("Starting ESM loader registration...");
if (!checkLoaderAPISupport()) {
loaderDebug.log("Node.js version does not support loader API, skipping");
return false;
}
if (import.meta === void 0 || !import.meta.url) {
loaderDebug.log("import.meta.url not available, skipping loader registration");
globalThis[LOADER_REGISTERED_KEY] = false;
return false;
}
const isTest = process.env["NODE_ENV"] === "test" || process.env["JEST_WORKER_ID"] !== void 0;
if (isTest) {
loaderDebug.log("Test environment detected, skipping ESM loader registration");
globalThis[LOADER_REGISTERED_KEY] = false;
return false;
}
try {
loaderDebug.log("Creating MessageChannel for import-in-the-middle...");
const { addHookMessagePort } = createAddHookMessageChannel();
loaderDebug.log("Registering import-in-the-middle/hook.mjs...");
module.register("import-in-the-middle/hook.mjs", import.meta.url, {
data: { addHookMessagePort },
transferList: [addHookMessagePort]
});
loaderDebug.log("ESM loader successfully registered!");
return true;
} catch (error) {
loaderDebug.error("Failed to register ESM loader:", error);
globalThis[LOADER_REGISTERED_KEY] = false;
return false;
}
}
if (globalThis[LOADER_REGISTERED_KEY] !== true) {
loaderDebug.log("Loader module imported, attempting to register...");
maybeRegisterESMLoader();
}
export {
maybeRegisterESMLoader
};