@@ -4,71 +4,73 @@ import { join } from 'node:path';
44import  {  describe ,  expect ,  test  }  from  '@rstest/core' ; 
55import  {  buildAndGetResults ,  createTempFiles ,  queryContent  }  from  'test-helper' ; 
66
7- describe ( 'dts with tsgo when build: true' ,  ( )  =>  { 
8-   test ( 'basic' ,  async  ( )  =>  { 
9-     const  fixturePath  =  join ( __dirname ,  'build' ,  'basic' ) ; 
10-     const  {  files }  =  await  buildAndGetResults ( { 
11-       fixturePath, 
12-       type : 'dts' , 
13-     } ) ; 
14- 
15-     expect ( files . esm ) . toMatchInlineSnapshot ( ` 
7+ describe . skipIf ( process . version . startsWith ( 'v18' ) ) ( 
8+   'dts with tsgo when build: true' , 
9+   ( )  =>  { 
10+     test ( 'basic' ,  async  ( )  =>  { 
11+       const  fixturePath  =  join ( __dirname ,  'build' ,  'basic' ) ; 
12+       const  {  files }  =  await  buildAndGetResults ( { 
13+         fixturePath, 
14+         type : 'dts' , 
15+       } ) ; 
16+ 
17+       expect ( files . esm ) . toMatchInlineSnapshot ( ` 
1618      [ 
1719        "<ROOT>/tests/integration/dts-tsgo/build/basic/dist/esm/index.d.ts", 
1820        "<ROOT>/tests/integration/dts-tsgo/build/basic/dist/esm/sum.d.ts", 
1921      ] 
2022    ` ) ; 
2123
22-     const  referenceDistPath  =  join ( 
23-       fixturePath , 
24-       '../__references__/dist/index.d.ts' , 
25-     ) ; 
26-     expect ( existsSync ( referenceDistPath ) ) . toBeTruthy ( ) ; 
27- 
28-     const  buildInfoPath  =  join ( fixturePath ,  'tsconfig.tsbuildinfo' ) ; 
29-     expect ( existsSync ( buildInfoPath ) ) . toBeTruthy ( ) ; 
30-   } ) ; 
31- 
32-   test ( 'distPath' ,  async  ( )  =>  { 
33-     const  fixturePath  =  join ( __dirname ,  'build' ,  'dist-path' ) ; 
34-     const  {  files }  =  await  buildAndGetResults ( { 
35-       fixturePath, 
36-       type : 'dts' , 
24+       const  referenceDistPath  =  join ( 
25+         fixturePath , 
26+         '../__references__/dist/index.d.ts' , 
27+       ) ; 
28+       expect ( existsSync ( referenceDistPath ) ) . toBeTruthy ( ) ; 
29+ 
30+       const  buildInfoPath  =  join ( fixturePath ,  'tsconfig.tsbuildinfo' ) ; 
31+       expect ( existsSync ( buildInfoPath ) ) . toBeTruthy ( ) ; 
3732    } ) ; 
3833
39-     expect ( files . esm ) . toMatchInlineSnapshot ( ` 
34+     test ( 'distPath' ,  async  ( )  =>  { 
35+       const  fixturePath  =  join ( __dirname ,  'build' ,  'dist-path' ) ; 
36+       const  {  files }  =  await  buildAndGetResults ( { 
37+         fixturePath, 
38+         type : 'dts' , 
39+       } ) ; 
40+ 
41+       expect ( files . esm ) . toMatchInlineSnapshot ( ` 
4042      [ 
4143        "<ROOT>/tests/integration/dts-tsgo/build/dist-path/dist/custom/index.d.ts", 
4244      ] 
4345    ` ) ; 
4446
45-     const  buildInfoPath  =  join ( fixturePath ,  'tsconfig.tsbuildinfo' ) ; 
46-     expect ( existsSync ( buildInfoPath ) ) . toBeTruthy ( ) ; 
47-   } ) ; 
47+        const  buildInfoPath  =  join ( fixturePath ,  'tsconfig.tsbuildinfo' ) ; 
48+        expect ( existsSync ( buildInfoPath ) ) . toBeTruthy ( ) ; 
49+      } ) ; 
4850
49-   test ( 'autoExtension: true' ,  async  ( )  =>  { 
50-     const  fixturePath  =  join ( __dirname ,  'build' ,  'auto-extension' ) ; 
51-     const  {  files }  =  await  buildAndGetResults ( {  fixturePath,  type : 'dts'  } ) ; 
51+      test ( 'autoExtension: true' ,  async  ( )  =>  { 
52+        const  fixturePath  =  join ( __dirname ,  'build' ,  'auto-extension' ) ; 
53+        const  {  files }  =  await  buildAndGetResults ( {  fixturePath,  type : 'dts'  } ) ; 
5254
53-     expect ( files . cjs ) . toMatchInlineSnapshot ( ` 
55+        expect ( files . cjs ) . toMatchInlineSnapshot ( ` 
5456      [ 
5557        "<ROOT>/tests/integration/dts-tsgo/build/auto-extension/dist/types/index.d.cts", 
5658        "<ROOT>/tests/integration/dts-tsgo/build/auto-extension/dist/types/sum.d.cts", 
5759      ] 
5860    ` ) ; 
5961
60-     const  buildInfoPath  =  join ( fixturePath ,  'tsconfig.tsbuildinfo' ) ; 
61-     expect ( existsSync ( buildInfoPath ) ) . toBeTruthy ( ) ; 
62-   } ) ; 
63- 
64-   test ( 'process files - auto extension and banner / footer' ,  async  ( )  =>  { 
65-     const  fixturePath  =  join ( __dirname ,  'build' ,  'process-files' ) ; 
66-     const  {  contents }  =  await  buildAndGetResults ( { 
67-       fixturePath, 
68-       type : 'dts' , 
62+       const  buildInfoPath  =  join ( fixturePath ,  'tsconfig.tsbuildinfo' ) ; 
63+       expect ( existsSync ( buildInfoPath ) ) . toBeTruthy ( ) ; 
6964    } ) ; 
7065
71-     expect ( contents . esm ) . toMatchInlineSnapshot ( ` 
66+     test ( 'process files - auto extension and banner / footer' ,  async  ( )  =>  { 
67+       const  fixturePath  =  join ( __dirname ,  'build' ,  'process-files' ) ; 
68+       const  {  contents }  =  await  buildAndGetResults ( { 
69+         fixturePath, 
70+         type : 'dts' , 
71+       } ) ; 
72+ 
73+       expect ( contents . esm ) . toMatchInlineSnapshot ( ` 
7274      { 
7375        "<ROOT>/tests/integration/dts-tsgo/build/process-files/dist/esm/index.d.mts": "/*! hello banner dts build*/ 
7476      export declare const num1 = 1; 
@@ -78,126 +80,135 @@ describe('dts with tsgo when build: true', () => {
7880      } 
7981    ` ) ; 
8082
81-     const  buildInfoPath  =  join ( fixturePath ,  'tsconfig.tsbuildinfo' ) ; 
82-     expect ( existsSync ( buildInfoPath ) ) . toBeTruthy ( ) ; 
83-   } ) ; 
83+        const  buildInfoPath  =  join ( fixturePath ,  'tsconfig.tsbuildinfo' ) ; 
84+        expect ( existsSync ( buildInfoPath ) ) . toBeTruthy ( ) ; 
85+      } ) ; 
8486
85-   test ( 'abortOnError: false' ,  async  ( )  =>  { 
86-     const  fixturePath  =  join ( __dirname ,  'build' ,  'abort-on-error' ) ; 
87+      test ( 'abortOnError: false' ,  async  ( )  =>  { 
88+        const  fixturePath  =  join ( __dirname ,  'build' ,  'abort-on-error' ) ; 
8789
88-     const  result  =  spawnSync ( 'npx' ,  [ 'rslib' ,  'build' ] ,  { 
89-       cwd : fixturePath , 
90-       // do not show output in test console 
91-       stdio : 'ignore' , 
92-       shell : true , 
93-     } ) ; 
90+        const  result  =  spawnSync ( 'npx' ,  [ 'rslib' ,  'build' ] ,  { 
91+          cwd : fixturePath , 
92+          // do not show output in test console 
93+          stdio : 'ignore' , 
94+          shell : true , 
95+        } ) ; 
9496
95-     expect ( result . status ) . toBe ( 0 ) ; 
97+        expect ( result . status ) . toBe ( 0 ) ; 
9698
97-     const  buildInfoPath  =  join ( fixturePath ,  'tsconfig.tsbuildinfo' ) ; 
98-     expect ( existsSync ( buildInfoPath ) ) . toBeTruthy ( ) ; 
99-   } ) ; 
99+        const  buildInfoPath  =  join ( fixturePath ,  'tsconfig.tsbuildinfo' ) ; 
100+        expect ( existsSync ( buildInfoPath ) ) . toBeTruthy ( ) ; 
101+      } ) ; 
100102
101-   test ( 'should clean dts dist files' ,  async  ( )  =>  { 
102-     const  fixturePath  =  join ( __dirname ,  'build' ,  'clean' ) ; 
103+      test ( 'should clean dts dist files' ,  async  ( )  =>  { 
104+        const  fixturePath  =  join ( __dirname ,  'build' ,  'clean' ) ; 
103105
104-     const  checkFiles  =  await  createTempFiles ( fixturePath ,  false ) ; 
106+        const  checkFiles  =  await  createTempFiles ( fixturePath ,  false ) ; 
105107
106-     const  {  files }  =  await  buildAndGetResults ( {  fixturePath,  type : 'dts'  } ) ; 
108+        const  {  files }  =  await  buildAndGetResults ( {  fixturePath,  type : 'dts'  } ) ; 
107109
108-     for  ( const  file  of  checkFiles )  { 
109-       expect ( existsSync ( file ) ) . toBe ( false ) ; 
110-     } 
110+        for  ( const  file  of  checkFiles )  { 
111+          expect ( existsSync ( file ) ) . toBe ( false ) ; 
112+        } 
111113
112-     expect ( files . esm ) . toMatchInlineSnapshot ( ` 
114+        expect ( files . esm ) . toMatchInlineSnapshot ( ` 
113115      [ 
114116        "<ROOT>/tests/integration/dts-tsgo/build/clean/dist-types/esm/index.d.ts", 
115117        "<ROOT>/tests/integration/dts-tsgo/build/clean/dist-types/esm/sum.d.ts", 
116118      ] 
117119    ` ) ; 
118120
119-     expect ( files . cjs ) . toMatchInlineSnapshot ( ` 
121+        expect ( files . cjs ) . toMatchInlineSnapshot ( ` 
120122      [ 
121123        "<ROOT>/tests/integration/dts-tsgo/build/clean/dist-types/cjs/index.d.ts", 
122124        "<ROOT>/tests/integration/dts-tsgo/build/clean/dist-types/cjs/sum.d.ts", 
123125      ] 
124126    ` ) ; 
125127
126-     const  referenceDistPath  =  join ( 
127-       fixturePath , 
128-       '../__references__/dist/index.d.ts' , 
129-     ) ; 
130-     expect ( existsSync ( referenceDistPath ) ) . toBeTruthy ( ) ; 
131- 
132-     const  cjsBuildInfoPath  =  join ( fixturePath ,  'tsconfig.cjs.tsbuildinfo' ) ; 
133-     expect ( existsSync ( cjsBuildInfoPath ) ) . toBeTruthy ( ) ; 
128+       const  referenceDistPath  =  join ( 
129+         fixturePath , 
130+         '../__references__/dist/index.d.ts' , 
131+       ) ; 
132+       expect ( existsSync ( referenceDistPath ) ) . toBeTruthy ( ) ; 
134133
135-     const  esmBuildInfoPath  =  join ( fixturePath ,  'tsconfig.esm.tsbuildinfo' ) ; 
136-     expect ( existsSync ( esmBuildInfoPath ) ) . toBeTruthy ( ) ; 
137-   } ) ; 
134+       const  cjsBuildInfoPath  =  join ( fixturePath ,  'tsconfig.cjs.tsbuildinfo' ) ; 
135+       expect ( existsSync ( cjsBuildInfoPath ) ) . toBeTruthy ( ) ; 
138136
139-   test ( 'declarationMap' ,  async  ( )  =>  { 
140-     const  fixturePath  =  join ( __dirname ,  'build' ,  'declaration-map' ) ; 
141-     const  {  files,  contents }  =  await  buildAndGetResults ( { 
142-       fixturePath, 
143-       type : 'dts' , 
137+       const  esmBuildInfoPath  =  join ( fixturePath ,  'tsconfig.esm.tsbuildinfo' ) ; 
138+       expect ( existsSync ( esmBuildInfoPath ) ) . toBeTruthy ( ) ; 
144139    } ) ; 
145140
146-     expect ( files . esm ) . toMatchInlineSnapshot ( ` 
141+     test ( 'declarationMap' ,  async  ( )  =>  { 
142+       const  fixturePath  =  join ( __dirname ,  'build' ,  'declaration-map' ) ; 
143+       const  {  files,  contents }  =  await  buildAndGetResults ( { 
144+         fixturePath, 
145+         type : 'dts' , 
146+       } ) ; 
147+ 
148+       expect ( files . esm ) . toMatchInlineSnapshot ( ` 
147149      [ 
148150        "<ROOT>/tests/integration/dts-tsgo/build/declaration-map/dist/esm/index.d.ts", 
149151        "<ROOT>/tests/integration/dts-tsgo/build/declaration-map/dist/esm/index.d.ts.map", 
150152      ] 
151153    ` ) ; 
152154
153-     expect ( files . cjs ) . toMatchInlineSnapshot ( ` 
155+        expect ( files . cjs ) . toMatchInlineSnapshot ( ` 
154156      [ 
155157        "<ROOT>/tests/integration/dts-tsgo/build/declaration-map/dist/cjs/index.d.cts", 
156158        "<ROOT>/tests/integration/dts-tsgo/build/declaration-map/dist/cjs/index.d.cts.map", 
157159      ] 
158160    ` ) ; 
159161
160-     const  {  content : indexDtsEsm  }  =  queryContent ( contents . esm ,  'index.d.ts' ,  { 
161-       basename : true , 
162-     } ) ; 
163-     const  {  content : indexDtsCjs  }  =  queryContent ( contents . cjs ,  'index.d.cts' ,  { 
164-       basename : true , 
162+       const  {  content : indexDtsEsm  }  =  queryContent ( 
163+         contents . esm , 
164+         'index.d.ts' , 
165+         { 
166+           basename : true , 
167+         } , 
168+       ) ; 
169+       const  {  content : indexDtsCjs  }  =  queryContent ( 
170+         contents . cjs , 
171+         'index.d.cts' , 
172+         { 
173+           basename : true , 
174+         } , 
175+       ) ; 
176+       const  {  content : indexMapEsm  }  =  queryContent ( 
177+         contents . esm , 
178+         'index.d.ts.map' , 
179+         { 
180+           basename : true , 
181+         } , 
182+       ) ; 
183+       const  {  content : indexMapCjs  }  =  queryContent ( 
184+         contents . cjs , 
185+         'index.d.cts.map' , 
186+         { 
187+           basename : true , 
188+         } , 
189+       ) ; 
190+       expect ( indexDtsEsm ) . toContain ( '//# sourceMappingURL=index.d.ts.map' ) ; 
191+       expect ( indexDtsCjs ) . toContain ( '//# sourceMappingURL=index.d.cts.map' ) ; 
192+       expect ( indexMapEsm ) . toContain ( '"file":"index.d.ts"' ) ; 
193+       expect ( indexMapCjs ) . toContain ( '"file":"index.d.cts"' ) ; 
194+ 
195+       const  referenceEsmDistPath  =  join ( 
196+         fixturePath , 
197+         '../__references__/dist/index.d.ts' , 
198+       ) ; 
199+       expect ( existsSync ( referenceEsmDistPath ) ) . toBeTruthy ( ) ; 
200+ 
201+       // TODO: can not rename dts files in reference yet 
202+       // const referenceCjsDistPath = join( 
203+       //   fixturePath, 
204+       //   '../__references__/dist/index.d.cts', 
205+       // ); 
206+       // expect(existsSync(referenceCjsDistPath)).toBeTruthy(); 
207+ 
208+       const  esmBuildInfoPath  =  join ( fixturePath ,  'tsconfig.esm.tsbuildinfo' ) ; 
209+       const  cjsBuildInfoPath  =  join ( fixturePath ,  'tsconfig.cjs.tsbuildinfo' ) ; 
210+       expect ( existsSync ( esmBuildInfoPath ) ) . toBeTruthy ( ) ; 
211+       expect ( existsSync ( cjsBuildInfoPath ) ) . toBeTruthy ( ) ; 
165212    } ) ; 
166-     const  {  content : indexMapEsm  }  =  queryContent ( 
167-       contents . esm , 
168-       'index.d.ts.map' , 
169-       { 
170-         basename : true , 
171-       } , 
172-     ) ; 
173-     const  {  content : indexMapCjs  }  =  queryContent ( 
174-       contents . cjs , 
175-       'index.d.cts.map' , 
176-       { 
177-         basename : true , 
178-       } , 
179-     ) ; 
180-     expect ( indexDtsEsm ) . toContain ( '//# sourceMappingURL=index.d.ts.map' ) ; 
181-     expect ( indexDtsCjs ) . toContain ( '//# sourceMappingURL=index.d.cts.map' ) ; 
182-     expect ( indexMapEsm ) . toContain ( '"file":"index.d.ts"' ) ; 
183-     expect ( indexMapCjs ) . toContain ( '"file":"index.d.cts"' ) ; 
184- 
185-     const  referenceEsmDistPath  =  join ( 
186-       fixturePath , 
187-       '../__references__/dist/index.d.ts' , 
188-     ) ; 
189-     expect ( existsSync ( referenceEsmDistPath ) ) . toBeTruthy ( ) ; 
190- 
191-     // TODO: can not rename dts files in reference yet 
192-     // const referenceCjsDistPath = join( 
193-     //   fixturePath, 
194-     //   '../__references__/dist/index.d.cts', 
195-     // ); 
196-     // expect(existsSync(referenceCjsDistPath)).toBeTruthy(); 
197- 
198-     const  esmBuildInfoPath  =  join ( fixturePath ,  'tsconfig.esm.tsbuildinfo' ) ; 
199-     const  cjsBuildInfoPath  =  join ( fixturePath ,  'tsconfig.cjs.tsbuildinfo' ) ; 
200-     expect ( existsSync ( esmBuildInfoPath ) ) . toBeTruthy ( ) ; 
201-     expect ( existsSync ( cjsBuildInfoPath ) ) . toBeTruthy ( ) ; 
202-   } ) ; 
203- } ) ; 
213+   } , 
214+ ) ; 
0 commit comments