@sentry/nextjs
Version:
Official Sentry SDK for Next.js
39 lines (36 loc) • 1.5 kB
JavaScript
import { createRequire } from 'node:module';
const BUNDLE_SAFE_INSTRUMENTED_PACKAGES = ["ioredis"];
const ORCHESTRION_RUNTIME_EXTERNAL_PACKAGES = ["@sentry/server-runtime-injection"];
let nextjsRequire;
nextjsRequire = createRequire(import.meta.url);
function isRequireResolvable(request) {
try {
nextjsRequire.resolve(request);
return true;
} catch {
return false;
}
}
function filterInstrumentedExternals(externals, packagesToBundle) {
const set = new Set(packagesToBundle);
return externals.filter((name) => !set.has(name));
}
const ORCHESTRION_FORWARDER_PREFIX = "@sentry/nextjs/orchestrion-runtime/";
function getOrchestrionForwarderSpecifier(request, externalPackage) {
const subpath = request.slice(externalPackage.length + 1);
return `${ORCHESTRION_FORWARDER_PREFIX}${subpath || "index"}`;
}
async function externalizeOrchestrionRuntimePackages({
request
}) {
const externalPackage = request ? ORCHESTRION_RUNTIME_EXTERNAL_PACKAGES.find((pkg) => request === pkg || request.startsWith(`${pkg}/`)) : void 0;
if (!request || !externalPackage) {
return void 0;
}
if (!isRequireResolvable(request)) {
return void 0;
}
return `commonjs ${getOrchestrionForwarderSpecifier(request, externalPackage)}`;
}
export { BUNDLE_SAFE_INSTRUMENTED_PACKAGES, ORCHESTRION_RUNTIME_EXTERNAL_PACKAGES, externalizeOrchestrionRuntimePackages, filterInstrumentedExternals, getOrchestrionForwarderSpecifier };
//# sourceMappingURL=diagnosticsChannelInjection.js.map