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