File tree 3 files changed +31
-4
lines changed 3 files changed +31
-4
lines changed Original file line number Diff line number Diff line change @@ -15,6 +15,10 @@ export type InitializationOptions = {
15
15
export const register = (
16
16
options ?: Options ,
17
17
) => {
18
+ if ( ! module . register ) {
19
+ throw new Error ( `This version of Node.js (${ process . version } ) does not support module.register(). Please upgrade to Node v18.9 or v20.6 and above.` ) ;
20
+ }
21
+
18
22
const { sourceMapsEnabled } = process ;
19
23
process . setSourceMapsEnabled ( true ) ;
20
24
Original file line number Diff line number Diff line change @@ -14,10 +14,7 @@ import { nodeVersions } from './utils/node-versions';
14
14
await runTestSuite ( import ( './specs/cli' ) , node ) ;
15
15
await runTestSuite ( import ( './specs/watch' ) , node ) ;
16
16
await runTestSuite ( import ( './specs/loaders' ) , node ) ;
17
- await runTestSuite (
18
- import ( './specs/smoke' ) ,
19
- node ,
20
- ) ;
17
+ await runTestSuite ( import ( './specs/smoke' ) , node ) ;
21
18
} ) ;
22
19
}
23
20
} ) ;
Original file line number Diff line number Diff line change @@ -386,6 +386,32 @@ export default testSuite(({ describe }, node: NodeApis) => {
386
386
expect ( stdout ) . toBe ( 'file.ts\nfoo.ts\nfoo' ) ;
387
387
} ) ;
388
388
} ) ;
389
+ } else {
390
+ test ( 'no module.register error' , async ( ) => {
391
+ await using fixture = await createFixture ( {
392
+ 'package.json' : JSON . stringify ( { type : 'module' } ) ,
393
+ 'register.mjs' : `
394
+ import { register } from ${ JSON . stringify ( tsxEsmApiPath ) } ;
395
+
396
+ {
397
+ const unregister = register();
398
+
399
+ const { message } = await import('./file?2');
400
+ console.log(message);
401
+
402
+ await unregister();
403
+ }
404
+ ` ,
405
+ ...tsFiles ,
406
+ } ) ;
407
+
408
+ const { stderr } = await execaNode ( fixture . getPath ( 'register.mjs' ) , [ ] , {
409
+ nodePath : node . path ,
410
+ nodeOptions : [ ] ,
411
+ reject : false ,
412
+ } ) ;
413
+ expect ( stderr ) . toMatch ( `This version of Node.js (v${ node . version } ) does not support module.register(). Please upgrade to Node v18.9 or v20.6 and above.` ) ;
414
+ } ) ;
389
415
}
390
416
} ) ;
391
417
} ) ;
You can’t perform that action at this time.
0 commit comments