Skip to content

Commit 3896f82

Browse files
authored
refactor: vitest (#380)
1 parent c0544e2 commit 3896f82

File tree

8 files changed

+789
-1220
lines changed

8 files changed

+789
-1220
lines changed

.github/workflows/ci.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ jobs:
4646
- run: cargo check --all-features --locked
4747
- run: cargo test --doc
4848
- run: cargo test --all-features
49+
- run: pnpm run build:debug && pnpm run test
50+
if: ${{ matrix.os != 'windows-latest' }}
4951

5052
wasm:
5153
name: Check Wasm
@@ -82,7 +84,7 @@ jobs:
8284
pnpm build --target wasm32-wasip1-threads
8385
8486
- name: Test
85-
run: pnpm test
87+
run: pnpm run test
8688
env:
8789
WASI_TEST: 1
8890

napi/resolver.wasi.cjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,11 @@ const { instance: __napiInstance, module: __wasiModule, napiModule: __napiModule
6060
return 4;
6161
}
6262
})(),
63+
reuseWorker: true,
6364
wasi: __wasi,
6465
onCreateWorker() {
6566
const worker = new Worker(__nodePath.join(__dirname, 'wasi-worker.mjs'), {
6667
env: process.env,
67-
execArgv: ['--experimental-wasi-unstable-preview1'],
6868
});
6969
worker.onmessage = ({ data }) => {
7070
__wasmCreateOnMessageForFsProxy(__nodeFs)(data);

napi/test.mjs

Lines changed: 0 additions & 32 deletions
This file was deleted.

napi/tests/options.test.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import * as assert from 'node:assert';
21
import * as path from 'node:path';
3-
import { describe, it } from 'node:test';
2+
import { assert, describe, it } from 'vitest';
3+
44
import { ResolverFactory } from '../index.js';
55

66
const fixtureDir = new URL(

napi/__test__/resolver.spec.mjs renamed to napi/tests/resolver.test.mjs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { join } from 'node:path';
22
import { fileURLToPath } from 'node:url';
33

4-
import test from 'ava';
4+
import { assert, test } from 'vitest';
55

66
let ResolverFactory;
77

@@ -222,25 +222,25 @@ for (
222222
],
223223
]
224224
) {
225-
test(title, (t) => {
225+
test(title, () => {
226226
const resolver = new ResolverFactory({
227227
modules: ['src/a', 'src/b', 'src/common', 'node_modules'],
228228
extensions: ['.js', '.jsx', '.ts', '.tsx'],
229229
});
230230

231-
t.is(resolver.sync(context, request).path, expected);
231+
assert.equal(resolver.sync(context, request).path, expected);
232232
});
233233
}
234234

235-
test('resolve pnpm package', (t) => {
235+
test('resolve pnpm package', () => {
236236
const rootDir = join(currentDir, '..', '..');
237237
const pnpmProjectPath = join(rootDir, 'fixtures', 'pnpm');
238238
const resolver = new ResolverFactory({
239239
aliasFields: ['browser'],
240240
});
241241

242242
const styledComponents = resolver.sync(pnpmProjectPath, 'styled-components');
243-
t.deepEqual(
243+
assert.deepEqual(
244244
styledComponents.path,
245245
join(
246246
rootDir,
@@ -255,7 +255,7 @@ test('resolve pnpm package', (t) => {
255255
),
256256
'react',
257257
);
258-
t.deepEqual(
258+
assert.deepEqual(
259259
react.path,
260260
join(
261261
rootDir,

napi/tests/simple.test.mjs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import path from 'path';
2+
import { assert, test } from 'vitest';
3+
4+
import resolve, { ResolverFactory } from '../index.js';
5+
6+
const cwd = path.join(__dirname, '..');
7+
8+
test('simple', () => {
9+
// `resolve`
10+
assert.equal(resolve.sync(cwd, './index.js').path, path.join(cwd, 'index.js'));
11+
12+
// `ResolverFactory`
13+
const resolver = new ResolverFactory();
14+
assert.equal(resolver.sync(cwd, './index.js').path, path.join(cwd, 'index.js'));
15+
16+
assert.isAbove(resolver.sync(cwd, './ts').error.length, 0);
17+
18+
resolver.async(cwd, './ts')
19+
.then((result) => assert.isAbove(result.error.length, 0));
20+
21+
// Test API
22+
const newResolver = resolver.cloneWithOptions({});
23+
newResolver.clearCache();
24+
});

package.json

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,32 +2,26 @@
22
"name": "@oxc-resolver/binding",
33
"private": true,
44
"version": "0.0.0",
5+
"repository": {
6+
"type": "git",
7+
"url": "git+https://github.com/oxc-project/oxc-resolver.git"
8+
},
9+
"funding": {
10+
"url": "https://github.com/sponsors/Boshen"
11+
},
512
"scripts": {
613
"build": "napi build --platform --release --package-json-path npm/package.json --manifest-path napi/Cargo.toml",
714
"build:debug": "napi build --platform --package-json-path npm/package.json --manifest-path napi/Cargo.toml",
815
"prepublishOnly": "napi pre-publish -t npm",
9-
"test": "ava"
16+
"test": "vitest run -r ./napi"
1017
},
1118
"devDependencies": {
1219
"@napi-rs/cli": "3.0.0-alpha.70",
1320
"@napi-rs/wasm-runtime": "^0.2.5",
1421
"@types/node": "^22.10.2",
15-
"ava": "^6.2.0",
1622
"emnapi": "^1.3.1",
17-
"typescript": "^5.7.2"
23+
"typescript": "^5.7.2",
24+
"vitest": "^3.0.5"
1825
},
19-
"ava": {
20-
"files": [
21-
"napi/__test__/*.spec.mjs"
22-
],
23-
"cache": false
24-
},
25-
"packageManager": "[email protected]",
26-
"repository": {
27-
"type": "git",
28-
"url": "git+https://github.com/oxc-project/oxc-resolver.git"
29-
},
30-
"funding": {
31-
"url": "https://github.com/sponsors/Boshen"
32-
}
26+
"packageManager": "[email protected]"
3327
}

0 commit comments

Comments
 (0)