File tree Expand file tree Collapse file tree 2 files changed +26
-0
lines changed
Expand file tree Collapse file tree 2 files changed +26
-0
lines changed Original file line number Diff line number Diff line change @@ -24,6 +24,10 @@ function shouldUseESMLoader(mainPath) {
2424 const userLoader = getOptionValue('--experimental-loader');
2525 if (userLoader)
2626 return true;
27+ const esModuleSpecifierResolution =
28+ getOptionValue('--es-module-specifier-resolution');
29+ if (esModuleSpecifierResolution === 'node')
30+ return true;
2731 // Determine the module format of the main
2832 if (mainPath && mainPath.endsWith('.mjs'))
2933 return true;
Original file line number Diff line number Diff line change 11// Flags: --es-module-specifier-resolution=node
22import { mustNotCall } from '../common/index.mjs';
33import assert from 'assert';
4+ import path from 'path';
5+ import { spawn } from 'child_process';
6+ import { fileURLToPath } from 'url';
47
58// commonJS index.js
69import commonjs from '../fixtures/es-module-specifiers/package-type-commonjs';
@@ -33,3 +36,22 @@ async function main() {
3336}
3437
3538main().catch(mustNotCall);
39+
40+ // Test path from command line arguments
41+ [
42+ 'package-type-commonjs',
43+ 'package-type-module',
44+ '/',
45+ '/index',
46+ ].forEach((item) => {
47+ const modulePath = path.join(
48+ fileURLToPath(import.meta.url),
49+ '../../fixtures/es-module-specifiers',
50+ item,
51+ );
52+ spawn(process.execPath,
53+ ['--es-module-specifier-resolution=node', modulePath],
54+ { stdio: 'inherit' }).on('exit', (code) => {
55+ assert.strictEqual(code, 0);
56+ });
57+ });
You can’t perform that action at this time.
0 commit comments