1
1
import { spawnSync } from 'child_process' ;
2
- import { join } from 'path' ;
2
+ import { dirname as pathDirname , join } from 'path' ;
3
3
import { readFileSync , readdirSync } from 'fs' ;
4
4
5
5
import test from 'tape' ;
6
6
7
7
import stripColors from 'strip-color' ;
8
8
9
- const fixtureDir = join ( import . meta. dirname , 'fixtures' ) ;
9
+ const {
10
+ url,
11
+ dirname = pathDirname ( ( await import ( 'url' ) ) . fileURLToPath ( url ) ) ,
12
+ } = import . meta;
13
+
14
+ const fixtureDir = join ( dirname , 'fixtures' ) ;
10
15
11
16
const valid = readdirSync ( join ( fixtureDir , 'valid' ) ) ;
12
17
const invalid = readdirSync ( join ( fixtureDir , 'invalid' ) ) ;
13
18
14
19
test ( 'nvmrc' , async ( t ) => {
15
- const bin = join ( import . meta . dirname , '../nvmrc.mjs' ) ;
20
+ const bin = join ( dirname , '../nvmrc.mjs' ) ;
16
21
17
22
t . test ( '--help' , async ( st ) => {
18
23
const { status, stdout, stderr } = spawnSync ( `${ bin } ` , [ '--help' ] ) ;
@@ -29,13 +34,13 @@ test('nvmrc', async (t) => {
29
34
st . equal ( String ( stderr ) , '' , 'yields no stderr' ) ;
30
35
st . notEqual (
31
36
String ( stdout ) ,
32
- `v${ ( await import ( 'module' ) ) . createRequire ( import . meta . url ) ( '../package.json' ) . version } ` ,
37
+ `v${ ( await import ( 'module' ) ) . createRequire ( url ) ( '../package.json' ) . version } ` ,
33
38
'version is as expected' ,
34
39
) ;
35
40
} ) ;
36
41
37
42
t . test ( 'nonexistent file' , async ( st ) => {
38
- const cwd = import . meta . dirname ;
43
+ const cwd = dirname ;
39
44
const { status, stdout, stderr } = spawnSync ( `${ bin } ` , { cwd } ) ;
40
45
st . notEqual ( status , 0 , 'yields a nonzero exit code' ) ;
41
46
st . equal ( String ( stdout ) , '' , 'yields no stdout' ) ;
0 commit comments