@@ -7,32 +7,41 @@ const __filename = fileURLToPath(import.meta.url);
77const __dirname = dirname ( __filename ) ;
88
99describe ( "typescript configuration" , ( ) => {
10- it ( "should support typescript configuration (Node.js build-in support)" , async ( ) => {
11- const [ major ] = process . versions . node . split ( "." ) . map ( Number ) ;
12- const { exitCode, stderr, stdout } = await run ( __dirname , [ "-c" , "./webpack.config.ts" ] , {
13- // Fallback to `ts-node/esm` for old Node.js versions
14- nodeOptions :
15- major >= 22
16- ? [ ]
17- : [
18- "--no-deprecation" ,
19- "--import=data:text/javascript,import { register } from 'node:module'; import { pathToFileURL } from 'node:url'; register('ts-node/esm', pathToFileURL('./'));" ,
20- ] ,
21- } ) ;
10+ const [ major ] = process . versions . node . split ( "." ) . map ( Number ) ;
2211
23- if ( major >= 22 ) {
24- // No `type` in `the package.json` but Node.js support `require` ECMA modules
25- expect ( stderr ) . toContain (
26- "Reparsing as ES module because module syntax was detected. This incurs a performance overhead." ,
27- ) ;
28- } else {
29- expect ( stderr ) . toBeFalsy ( ) ;
30- }
12+ // Due to problems with nyc
13+ ( major >= 22 ? it : it . skip ) (
14+ "should support typescript configuration (Node.js build-in support)" ,
15+ async ( ) => {
16+ const [ major ] = process . versions . node . split ( "." ) . map ( Number ) ;
17+ const { exitCode, stderr, stdout } = await run ( __dirname , [ "-c" , "./webpack.config.ts" ] , {
18+ // Fallback to `ts-node/esm` for old Node.js versions
19+ nodeOptions :
20+ major >= 22
21+ ? [ ]
22+ : [
23+ "--no-deprecation" ,
24+ "--import=data:text/javascript,import { register } from 'node:module'; import { pathToFileURL } from 'node:url'; register('ts-node/esm', pathToFileURL('./'));" ,
25+ ] ,
26+ } ) ;
3127
32- expect ( stdout ) . toBeTruthy ( ) ;
33- expect ( exitCode ) . toBe ( 0 ) ;
34- expect ( existsSync ( resolve ( __dirname , "dist/foo.bundle.js" ) ) ) . toBeTruthy ( ) ;
35- } ) ;
28+ /* eslint-disable jest/no-standalone-expect */
29+
30+ if ( major >= 22 ) {
31+ // No `type` in `the package.json` but Node.js support `require` ECMA modules
32+ expect ( stderr ) . toContain (
33+ "Reparsing as ES module because module syntax was detected. This incurs a performance overhead." ,
34+ ) ;
35+ } else {
36+ expect ( stderr ) . toBeFalsy ( ) ;
37+ }
38+
39+ expect ( stdout ) . toBeTruthy ( ) ;
40+ expect ( exitCode ) . toBe ( 0 ) ;
41+ expect ( existsSync ( resolve ( __dirname , "dist/foo.bundle.js" ) ) ) . toBeTruthy ( ) ;
42+ /* eslint-enable jest/no-standalone-expect */
43+ } ,
44+ ) ;
3645
3746 it ( "should support typescript configuration (Node.js build-in support) with `mts` extension" , async ( ) => {
3847 const [ major ] = process . versions . node . split ( "." ) . map ( Number ) ;
0 commit comments