Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -196,9 +196,14 @@ export function createServerPolyfillBundleOptions(
if (isNodePlatform) {
// Note: Needed as esbuild does not provide require shims / proxy from ESModules.
// See: https://github.com/evanw/esbuild/issues/1921.
// Use an alias to avoid colliding with any `createRequire` import that may
// already exist in the bundled user code. ESBuild processes banner content
// as raw text outside of its module graph, so it cannot deduplicate or
// rename banner imports the way it does for user imports. Without the alias,
// a duplicate `import { createRequire }` binding would cause a runtime error.
jsBanner.push(
`import { createRequire } from 'node:module';`,
`globalThis['require'] ??= createRequire(import.meta.url);`,
`import { createRequire as __ngCreateRequire } from 'node:module';`,
`globalThis['require'] ??= __ngCreateRequire(import.meta.url);`,
);
}

Expand Down Expand Up @@ -397,9 +402,14 @@ export function createSsrEntryCodeBundleOptions(
if (isNodePlatform) {
// Note: Needed as esbuild does not provide require shims / proxy from ESModules.
// See: https://github.com/evanw/esbuild/issues/1921.
// Use an alias to avoid colliding with any `createRequire` import that may
// already exist in the bundled user code. ESBuild processes banner content
// as raw text outside of its module graph, so it cannot deduplicate or
// rename banner imports the way it does for user imports. Without the alias,
// a duplicate `import { createRequire }` binding would cause a runtime error.
jsBanner.push(
`import { createRequire } from 'node:module';`,
`globalThis['require'] ??= createRequire(import.meta.url);`,
`import { createRequire as __ngCreateRequire } from 'node:module';`,
`globalThis['require'] ??= __ngCreateRequire(import.meta.url);`,
);
}

Expand Down
Loading