Skip to content

Commit 41adfa1

Browse files
committed
chore(commonjs): validate externalBuiltinsRequire option value and tidy stub message
1 parent a77af35 commit 41adfa1

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

packages/commonjs/src/index.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,9 @@ export default function commonjs(options = {}) {
4444
defaultIsModuleExports: defaultIsModuleExportsOption,
4545
esmExternals
4646
} = options;
47+
const rawExternalBuiltinsRequire = options.externalBuiltinsRequire;
4748
const externalBuiltinsRequireStrategy =
48-
options.externalBuiltinsRequire === 'stub' ? 'stub' : 'create-require';
49+
rawExternalBuiltinsRequire === 'stub' ? 'stub' : 'create-require';
4950
const extensions = options.extensions || ['.js'];
5051
const filter = createFilter(options.include, options.exclude);
5152
const isPossibleCjsId = (id) => {
@@ -214,6 +215,15 @@ export default function commonjs(options = {}) {
214215
'The namedExports option from "@rollup/plugin-commonjs" is deprecated. Named exports are now handled automatically.'
215216
);
216217
}
218+
if (
219+
rawExternalBuiltinsRequire != null &&
220+
rawExternalBuiltinsRequire !== 'create-require' &&
221+
rawExternalBuiltinsRequire !== 'stub'
222+
) {
223+
this.warn(
224+
`${PLUGIN_NAME}: invalid externalBuiltinsRequire "${rawExternalBuiltinsRequire}", using "create-require"`
225+
);
226+
}
217227
requireResolver = getRequireResolver(
218228
extensions,
219229
detectCyclesAndConditional,

packages/commonjs/src/proxies.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,11 +103,11 @@ export function getEsImportProxy(id, defaultIsModuleExports, moduleSideEffects)
103103
* runtimes when the path is dead, and fails loudly if executed.
104104
*/
105105
export function getExternalBuiltinRequireProxy(id, strategy = 'create-require') {
106-
const stringifiedId = JSON.stringify(id);
107106
if (strategy === 'stub') {
108-
const msg = `Node built-in ${stringifiedId} is not available in this environment`;
107+
const msg = `Node built-in ${id} is not available in this environment`;
109108
return `export function __require() { throw new Error(${JSON.stringify(msg)}); }`;
110109
}
110+
const stringifiedId = JSON.stringify(id);
111111
return (
112112
`import { createRequire } from 'node:module';\n` +
113113
`const require = createRequire(import.meta.url);\n` +

0 commit comments

Comments
 (0)