Skip to content

Commit 43dbe63

Browse files
committed
[Tests] import.meta.dirname is not always available
1 parent 69371ff commit 43dbe63

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

test/index.mjs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,23 @@
11
import { spawnSync } from 'child_process';
2-
import { join } from 'path';
2+
import { dirname as pathDirname, join } from 'path';
33
import { readFileSync, readdirSync } from 'fs';
44

55
import test from 'tape';
66

77
import stripColors from 'strip-color';
88

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');
1015

1116
const valid = readdirSync(join(fixtureDir, 'valid'));
1217
const invalid = readdirSync(join(fixtureDir, 'invalid'));
1318

1419
test('nvmrc', async (t) => {
15-
const bin = join(import.meta.dirname, '../nvmrc.mjs');
20+
const bin = join(dirname, '../nvmrc.mjs');
1621

1722
t.test('--help', async (st) => {
1823
const { status, stdout, stderr } = spawnSync(`${bin}`, ['--help']);
@@ -29,13 +34,13 @@ test('nvmrc', async (t) => {
2934
st.equal(String(stderr), '', 'yields no stderr');
3035
st.notEqual(
3136
String(stdout),
32-
`v${(await import('module')).createRequire(import.meta.url)('../package.json').version}`,
37+
`v${(await import('module')).createRequire(url)('../package.json').version}`,
3338
'version is as expected',
3439
);
3540
});
3641

3742
t.test('nonexistent file', async (st) => {
38-
const cwd = import.meta.dirname;
43+
const cwd = dirname;
3944
const { status, stdout, stderr } = spawnSync(`${bin}`, { cwd });
4045
st.notEqual(status, 0, 'yields a nonzero exit code');
4146
st.equal(String(stdout), '', 'yields no stdout');

0 commit comments

Comments
 (0)