@@ -24,17 +24,25 @@ const tsFiles = {
24
24
export const foo = \`foo \${bar}\` as string
25
25
export const async = setTimeout(10).then(() => require('./async')).catch((error) => error);
26
26
` ,
27
- 'exports-no.cts' : `
28
- // Supports decorators
29
- const log = (target, key, descriptor) => descriptor;
30
- class Example {
31
- @log
32
- greet() {}
33
- }
34
- console.log("cts loaded" as string)
35
- ` ,
36
- 'exports-yes.cts' : 'module.exports.cts = require("./esm-syntax.js").default as string' ,
37
- 'esm-syntax.js' : 'export default "cts export"' ,
27
+
28
+ cjs : {
29
+ 'exports-no.cts' : `
30
+ // Supports decorators
31
+ const log = (target, key, descriptor) => descriptor;
32
+ class Example {
33
+ @log
34
+ greet() {}
35
+ }
36
+ console.log("cts loaded" as string)
37
+ ` ,
38
+ 'exports-yes.cts' : 'module.exports = require("./reexport.cjs") as string' ,
39
+ 'esm-syntax.js' : 'export const esmSyntax = "esm syntax"' ,
40
+ 'reexport.cjs' : `
41
+ exports.cjsReexport = "cjsReexport";
42
+ exports.esmSyntax = require("./esm-syntax.js").esmSyntax;
43
+ ` ,
44
+ } ,
45
+
38
46
'bar.ts' : 'export type A = 1; export { bar } from "pkg"' ,
39
47
'async.ts' : 'export default "async"' ,
40
48
'json.json' : JSON . stringify ( { json : 'json' } ) ,
@@ -240,7 +248,10 @@ export default testSuite(({ describe }, node: NodeApis) => {
240
248
test ( 'cli' , async ( ) => {
241
249
await using fixture = await createFixture ( {
242
250
'package.json' : createPackageJson ( { type : 'module' } ) ,
243
- 'index.ts' : 'import { message } from \'./file\';\n\nconsole.log(message, new Error().stack);' ,
251
+ 'index.ts' : `
252
+ import { message } from "./file";
253
+ console.log(message, new Error().stack);
254
+ ` ,
244
255
...tsFiles ,
245
256
} ) ;
246
257
@@ -249,7 +260,7 @@ export default testSuite(({ describe }, node: NodeApis) => {
249
260
nodeOptions : [ node . supports . moduleRegister ? '--import' : '--loader' , tsxEsmPath ] ,
250
261
} ) ;
251
262
expect ( stdout ) . toContain ( 'foo bar' ) ;
252
- expect ( stdout ) . toContain ( 'index.ts:3:22 ' ) ;
263
+ expect ( stdout ) . toContain ( 'index.ts:3:27 ' ) ;
253
264
} ) ;
254
265
255
266
if ( node . supports . moduleRegister ) {
@@ -526,10 +537,10 @@ export default testSuite(({ describe }, node: NodeApis) => {
526
537
console.log(message);
527
538
528
539
// Loads cts vis CJS namespace even if there are no exports
529
- await tsImport('./exports-no.cts', import.meta.url).catch((error) => console.log(error.constructor.name))
540
+ await tsImport('./cjs/ exports-no.cts', import.meta.url).catch((error) => console.log(error.constructor.name))
530
541
531
- const cts = await tsImport('./exports-yes.cts', import.meta.url).then(m => m.cts , err => err.constructor.name);
532
- console.log(cts );
542
+ const cjsExport = await tsImport('./cjs/ exports-yes.cts', import.meta.url).then(({ cjsReexport, esmSyntax }) => \`\${cjsReexport} \${esmSyntax}\` , err => err.constructor.name);
543
+ console.log(cjsExport );
533
544
534
545
const { message: message2 } = await tsImport('./file.ts?with-query', import.meta.url);
535
546
console.log(message2);
@@ -549,7 +560,7 @@ export default testSuite(({ describe }, node: NodeApis) => {
549
560
} ) ;
550
561
551
562
if ( node . supports . cjsInterop ) {
552
- expect ( stdout ) . toMatch ( / F a i l s a s e x p e c t e d 1 \n f o o b a r j s o n f i l e \. t s \? t s x - n a m e s p a c e = \d + \n c t s l o a d e d \n c t s e x p o r t \n f o o b a r j s o n f i l e \. t s \? w i t h - q u e r y = & t s x - n a m e s p a c e = \d + \n F a i l s a s e x p e c t e d 2 / ) ;
563
+ expect ( stdout ) . toMatch ( / F a i l s a s e x p e c t e d 1 \n f o o b a r j s o n f i l e \. t s \? t s x - n a m e s p a c e = \d + \n c t s l o a d e d \n c j s R e e x p o r t e s m s y n t a x \n f o o b a r j s o n f i l e \. t s \? w i t h - q u e r y = & t s x - n a m e s p a c e = \d + \n F a i l s a s e x p e c t e d 2 / ) ;
553
564
} else {
554
565
expect ( stdout ) . toMatch ( / F a i l s a s e x p e c t e d 1 \n f o o b a r j s o n f i l e \. t s \? t s x - n a m e s p a c e = \d + \n S y n t a x E r r o r \n S y n t a x E r r o r \n f o o b a r j s o n f i l e \. t s \? w i t h - q u e r y = & t s x - n a m e s p a c e = \d + \n F a i l s a s e x p e c t e d 2 / ) ;
555
566
}
0 commit comments