11import { execSync } from 'node:child_process' ;
22import path from 'node:path' ;
3- import { describe } from 'node:test' ;
43import fse from 'fs-extra' ;
54import { globContentJSON } from 'test-helper' ;
6- import { expect , test } from 'vitest' ;
5+ import { afterAll , beforeAll , describe , expect , test , vi } from 'vitest' ;
6+
7+ const DIR = 'inspect' ;
8+ const DIST_DIR = path . join ( __dirname , 'dist' , DIR ) ;
9+
10+ beforeAll ( ( ) => {
11+ vi . stubEnv ( 'RSLIB_TEST_OUT_DIR' , DIR ) ;
12+ } ) ;
13+
14+ afterAll ( ( ) => {
15+ vi . unstubAllEnvs ( ) ;
16+ } ) ;
717
818describe ( 'inspect command' , async ( ) => {
919 test ( 'basic' , async ( ) => {
10- await fse . remove ( path . join ( __dirname , 'dist' ) ) ;
20+ await fse . remove ( DIST_DIR ) ;
1121 execSync ( 'npx rslib inspect' , {
1222 cwd : __dirname ,
1323 } ) ;
1424
15- const files = await globContentJSON ( path . join ( __dirname , 'dist/ .rsbuild' ) ) ;
25+ const files = await globContentJSON ( path . join ( DIST_DIR , '.rsbuild' ) ) ;
1626 const fileNames = Object . keys ( files ) . sort ( ) ;
1727
1828 expect ( fileNames ) . toMatchInlineSnapshot ( `
19- [
20- "<ROOT>/tests/integration/cli/dist/.rsbuild/rsbuild.config.cjs.mjs",
21- "<ROOT>/tests/integration/cli/dist/.rsbuild/rsbuild.config.esm.mjs",
22- "<ROOT>/tests/integration/cli/dist/.rsbuild/rspack.config.cjs.mjs",
23- "<ROOT>/tests/integration/cli/dist/.rsbuild/rspack.config.esm.mjs",
24- ]
25- ` ) ;
29+ [
30+ "<ROOT>/tests/integration/cli/dist/inspect /.rsbuild/rsbuild.config.cjs.mjs",
31+ "<ROOT>/tests/integration/cli/dist/inspect /.rsbuild/rsbuild.config.esm.mjs",
32+ "<ROOT>/tests/integration/cli/dist/inspect /.rsbuild/rspack.config.cjs.mjs",
33+ "<ROOT>/tests/integration/cli/dist/inspect /.rsbuild/rspack.config.esm.mjs",
34+ ]
35+ ` ) ;
2636
2737 // esm rsbuild config
2838 const rsbuildConfigEsm = fileNames . find ( ( item ) =>
@@ -40,23 +50,21 @@ describe('inspect command', async () => {
4050 } ) ;
4151
4252 test ( '--lib' , async ( ) => {
43- await fse . remove ( path . join ( __dirname , 'dist' ) ) ;
53+ await fse . remove ( DIST_DIR ) ;
4454 execSync ( 'npx rslib inspect --lib esm' , {
4555 cwd : __dirname ,
4656 } ) ;
4757
48- const files = await globContentJSON (
49- path . join ( __dirname , 'dist/esm/.rsbuild' ) ,
50- ) ;
58+ const files = await globContentJSON ( path . join ( DIST_DIR , '.rsbuild' ) ) ;
5159 const fileNames = Object . keys ( files ) . sort ( ) ;
5260
5361 // Rsbuild will emit dump files to `dist/esm` if only one environment is specified.
5462 expect ( fileNames ) . toMatchInlineSnapshot ( `
55- [
56- "<ROOT>/tests/integration/cli/dist/esm /.rsbuild/rsbuild.config.mjs",
57- "<ROOT>/tests/integration/cli/dist/esm /.rsbuild/rspack.config.esm.mjs",
58- ]
59- ` ) ;
63+ [
64+ "<ROOT>/tests/integration/cli/dist/inspect /.rsbuild/rsbuild.config.mjs",
65+ "<ROOT>/tests/integration/cli/dist/inspect /.rsbuild/rspack.config.esm.mjs",
66+ ]
67+ ` ) ;
6068
6169 // esm rsbuild config
6270 const rsbuildConfigEsm = fileNames . find ( ( item ) =>
@@ -74,22 +82,22 @@ describe('inspect command', async () => {
7482 } ) ;
7583
7684 test ( '--lib multiple' , async ( ) => {
77- await fse . remove ( path . join ( __dirname , 'dist' ) ) ;
85+ await fse . remove ( DIST_DIR ) ;
7886 execSync ( 'npx rslib inspect --lib esm --lib cjs' , {
7987 cwd : __dirname ,
8088 } ) ;
8189
82- const files = await globContentJSON ( path . join ( __dirname , 'dist/ .rsbuild' ) ) ;
90+ const files = await globContentJSON ( path . join ( DIST_DIR , '.rsbuild' ) ) ;
8391 const fileNames = Object . keys ( files ) . sort ( ) ;
8492
8593 // Rsbuild will emit dump files to `dist/esm` if only one environment is specified.
8694 expect ( fileNames ) . toMatchInlineSnapshot ( `
87- [
88- "<ROOT>/tests/integration/cli/dist/.rsbuild/rsbuild.config.cjs.mjs",
89- "<ROOT>/tests/integration/cli/dist/.rsbuild/rsbuild.config.esm.mjs",
90- "<ROOT>/tests/integration/cli/dist/.rsbuild/rspack.config.cjs.mjs",
91- "<ROOT>/tests/integration/cli/dist/.rsbuild/rspack.config.esm.mjs",
92- ]
93- ` ) ;
95+ [
96+ "<ROOT>/tests/integration/cli/dist/inspect /.rsbuild/rsbuild.config.cjs.mjs",
97+ "<ROOT>/tests/integration/cli/dist/inspect /.rsbuild/rsbuild.config.esm.mjs",
98+ "<ROOT>/tests/integration/cli/dist/inspect /.rsbuild/rspack.config.cjs.mjs",
99+ "<ROOT>/tests/integration/cli/dist/inspect /.rsbuild/rspack.config.esm.mjs",
100+ ]
101+ ` ) ;
94102 } ) ;
95103} ) ;
0 commit comments