Skip to content

Commit 9f5642d

Browse files
authored
chore: switch from uvu to vitest (#9899)
1 parent 336d8ae commit 9f5642d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+639
-410
lines changed

packages/adapter-netlify/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
"scripts": {
2727
"dev": "rimraf files && rollup -cw",
2828
"build": "rimraf files && rollup -c && cp src/edge.js files/edge.js",
29-
"test": "uvu src \"(spec\\.js|test[\\\\/]index\\.js)\"",
29+
"test": "vitest run",
3030
"check": "tsc",
3131
"lint": "prettier --check . --config ../../.prettierrc --ignore-path .gitignore",
3232
"format": "pnpm lint --write",
@@ -48,7 +48,7 @@
4848
"rimraf": "^5.0.0",
4949
"rollup": "^3.7.0",
5050
"typescript": "^4.9.4",
51-
"uvu": "^0.5.6"
51+
"vitest": "^0.31.0"
5252
},
5353
"peerDependencies": {
5454
"@sveltejs/kit": "^1.5.0"

packages/adapter-netlify/src/headers.spec.js

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
1+
import { expect, test } from 'vitest';
12
import './shims.js';
2-
import { test } from 'uvu';
3-
import * as assert from 'uvu/assert';
43
import { split_headers } from './headers.js';
54

65
test('empty headers', () => {
76
const headers = new Headers();
87

98
const result = split_headers(headers);
109

11-
assert.equal(result, {
10+
expect(result).toEqual({
1211
headers: {},
1312
multiValueHeaders: {}
1413
});
@@ -21,7 +20,7 @@ test('single-value headers', () => {
2120

2221
const result = split_headers(headers);
2322

24-
assert.equal(result, {
23+
expect(result).toEqual({
2524
headers: {
2625
// Note: becomes lowercase even if specified as uppercase
2726
location: '/apple',
@@ -43,12 +42,10 @@ test('multi-value headers', () => {
4342
const result = split_headers(headers);
4443

4544
// it splits at actual cookie boundaries, not the commas in the dates
46-
assert.equal(result, {
45+
expect(result).toEqual({
4746
headers: {},
4847
multiValueHeaders: {
4948
'set-cookie': [`flavor=sugar; Expires=${wednesday}`, `diameter=6cm; Expires=${thursday}`]
5049
}
5150
});
5251
});
53-
54-
test.run();

packages/adapter-node/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
"scripts": {
2727
"dev": "rimraf files && rollup -cw",
2828
"build": "rimraf files && rollup -c",
29-
"test": "echo \"tests temporarily disabled\" # c8 uvu tests",
29+
"test": "echo \"tests temporarily disabled\" # c8 vitest run",
3030
"check": "tsc",
3131
"lint": "prettier --check . --config ../../.prettierrc --ignore-path .gitignore",
3232
"format": "pnpm lint --write",
@@ -41,7 +41,7 @@
4141
"rimraf": "^5.0.0",
4242
"sirv": "^2.0.3",
4343
"typescript": "^4.9.4",
44-
"uvu": "^0.5.6"
44+
"vitest": "^0.31.0"
4545
},
4646
"dependencies": {
4747
"@rollup/plugin-commonjs": "^25.0.0",

packages/adapter-node/tests/smoke.js renamed to packages/adapter-node/tests/smoke.spec.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
import { test } from 'uvu';
1+
import { assert, test } from 'vitest';
22
import { create_kit_middleware } from '../src/handler.js';
3-
import * as assert from 'uvu/assert';
43
import fetch from 'node-fetch';
54
import polka from 'polka';
65

packages/adapter-vercel/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
"lint": "prettier --check . --config ../../.prettierrc --ignore-path .gitignore",
2929
"format": "pnpm lint --write",
3030
"check": "tsc",
31-
"test": "uvu test .spec.js"
31+
"test": "vitest run"
3232
},
3333
"dependencies": {
3434
"@vercel/nft": "^0.22.6",
@@ -38,7 +38,7 @@
3838
"@sveltejs/kit": "workspace:^",
3939
"@types/node": "^16.18.6",
4040
"typescript": "^4.9.4",
41-
"uvu": "^0.5.6"
41+
"vitest": "^0.31.0"
4242
},
4343
"peerDependencies": {
4444
"@sveltejs/kit": "^1.5.0"

packages/adapter-vercel/test/utils.spec.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
import { test } from 'uvu';
2-
import * as assert from 'uvu/assert';
1+
import { assert, test } from 'vitest';
32
import { get_pathname } from '../utils.js';
43

54
/**
@@ -34,5 +33,3 @@ test('get_pathname for route with parameters within segment', () => {
3433
'foo-$1/$2-buz'
3534
);
3635
});
37-
38-
test.run();

packages/kit/kit.vitest.config.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import { defineConfig } from 'vitest/config';
2+
3+
// this file needs a custom name so that the numerous test subprojects don't all pick it up
4+
export default defineConfig({
5+
test: {
6+
// shave a couple seconds off the tests
7+
isolate: false,
8+
singleThread: true,
9+
include: ['src/**/*.spec.js'],
10+
exclude: [
11+
'**/node_modules/**',
12+
'**/.svelte-kit/**',
13+
'**/.{idea,git,cache,output,temp}/**',
14+
'**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build}.config.*'
15+
],
16+
watchExclude: ['**/node_modules/**', '**/.svelte-kit/**']
17+
}
18+
});

packages/kit/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@
3838
"svelte": "^3.56.0",
3939
"svelte-preprocess": "^5.0.3",
4040
"typescript": "^4.9.4",
41-
"uvu": "^0.5.6",
42-
"vite": "^4.3.0"
41+
"vite": "^4.3.0",
42+
"vitest": "^0.31.0"
4343
},
4444
"peerDependencies": {
4545
"svelte": "^3.54.0",
@@ -66,7 +66,7 @@
6666
"test:integration": "pnpm -r --workspace-concurrency 1 --filter=\"./test/**\" test",
6767
"test:cross-platform:dev": "pnpm -r --workspace-concurrency 1 --filter=\"./test/**\" test:cross-platform:dev",
6868
"test:cross-platform:build": "pnpm test:unit && pnpm -r --workspace-concurrency 1 --filter=\"./test/**\" test:cross-platform:build",
69-
"test:unit": "uvu src \"(spec\\.js|test[\\\\/]index\\.js)\"",
69+
"test:unit": "vitest --config kit.vitest.config.js run",
7070
"postinstall": "node postinstall.js"
7171
},
7272
"exports": {

packages/kit/src/core/adapt/builder.spec.js

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
import { rmSync } from 'node:fs';
22
import { join } from 'node:path';
33
import { fileURLToPath } from 'node:url';
4-
import { test } from 'uvu';
5-
import * as assert from 'uvu/assert';
4+
import { expect, test } from 'vitest';
65
import glob from 'tiny-glob/sync.js';
76
import { create_builder } from './builder.js';
87
import { posixify } from '../../utils/filesystem.js';
@@ -47,29 +46,23 @@ test('copy files', () => {
4746

4847
rmSync(dest, { recursive: true, force: true });
4948

50-
assert.equal(
51-
builder.writeClient(dest),
49+
expect(builder.writeClient(dest)).toEqual(
5250
glob('**', { cwd: dest, dot: true, filesOnly: true }).map(posixify)
5351
);
5452

55-
assert.equal(
56-
glob('**', { cwd: `${outDir}/output/client`, dot: true }),
53+
expect(glob('**', { cwd: `${outDir}/output/client`, dot: true })).toEqual(
5754
glob('**', { cwd: dest, dot: true })
5855
);
5956

6057
rmSync(dest, { recursive: true, force: true });
6158

62-
assert.equal(
63-
builder.writeServer(dest),
59+
expect(builder.writeServer(dest)).toEqual(
6460
glob('**', { cwd: dest, dot: true, filesOnly: true }).map(posixify)
6561
);
6662

67-
assert.equal(
68-
glob('**', { cwd: `${outDir}/output/server`, dot: true }),
63+
expect(glob('**', { cwd: `${outDir}/output/server`, dot: true })).toEqual(
6964
glob('**', { cwd: dest, dot: true })
7065
);
7166

7267
rmSync(dest, { force: true, recursive: true });
7368
});
74-
75-
test.run();

packages/kit/src/core/config/index.spec.js

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import { join } from 'node:path';
22
import { fileURLToPath } from 'node:url';
3-
import { test } from 'uvu';
4-
import * as assert from 'uvu/assert';
3+
import { assert, expect, test } from 'vitest';
54
import { validate_config, load_config } from './index.js';
65

76
const __filename = fileURLToPath(import.meta.url);
@@ -124,7 +123,7 @@ test('fills in defaults', () => {
124123
const defaults = get_defaults();
125124
defaults.kit.version.name = validated.kit.version.name;
126125

127-
assert.equal(validated, defaults);
126+
expect(validated).toEqual(defaults);
128127
});
129128

130129
test('errors on invalid values', () => {
@@ -152,7 +151,7 @@ test('errors on invalid nested values', () => {
152151
});
153152

154153
test('does not error on invalid top-level values', () => {
155-
assert.not.throws(() => {
154+
assert.doesNotThrow(() => {
156155
validate_config({
157156
onwarn: () => {}
158157
});
@@ -187,7 +186,7 @@ test('fills in partial blanks', () => {
187186
config.kit.files.assets = 'public';
188187
config.kit.version.name = '0';
189188

190-
assert.equal(validated, config);
189+
expect(validated).toEqual(config);
191190
});
192191

193192
test('fails if kit.appDir is blank', () => {
@@ -300,14 +299,13 @@ test('fails if prerender.entries are invalid', () => {
300299
*/
301300
function validate_paths(name, input, output) {
302301
test(name, () => {
303-
assert.equal(
302+
expect(
304303
validate_config({
305304
kit: {
306305
paths: input
307306
}
308-
}).kit.paths,
309-
output
310-
);
307+
}).kit.paths
308+
).toEqual(output);
311309
});
312310
}
313311

@@ -357,7 +355,7 @@ test('load default config (esm)', async () => {
357355
const defaults = get_defaults(cwd + '/');
358356
defaults.kit.version.name = config.kit.version.name;
359357

360-
assert.equal(config, defaults);
358+
expect(config).toEqual(defaults);
361359
});
362360

363361
test('errors on loading config with incorrect default export', async () => {
@@ -375,5 +373,3 @@ test('errors on loading config with incorrect default export', async () => {
375373
'svelte.config.js must have a configuration object as its default export. See https://kit.svelte.dev/docs/configuration'
376374
);
377375
});
378-
379-
test.run();

0 commit comments

Comments
 (0)