Skip to content

Commit 68c59e9

Browse files
authored
test: migrate to vitest (#8)
1 parent fde4db1 commit 68c59e9

File tree

6 files changed

+481
-1714
lines changed

6 files changed

+481
-1714
lines changed

package.json

Lines changed: 5 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
"lint:tsc": "tsc -b --noEmit",
5555
"prepare": "simple-git-hooks && yarn-berry-deduplicate || exit 0",
5656
"release": "clean-pkg-json && changeset publish",
57-
"test": "node --experimental-vm-modules node_modules/jest/bin/jest.js",
57+
"test": "vitest run",
5858
"typecov": "type-coverage",
5959
"version": "changeset version && yarn --no-immutable"
6060
},
@@ -67,50 +67,28 @@
6767
"@changesets/cli": "^2.28.1",
6868
"@commitlint/cli": "^19.8.0",
6969
"@pkgr/rollup": "^6.0.1",
70-
"@types/jest": "^29.5.14",
7170
"@types/node": "^22.14.0",
71+
"@vitest/coverage-v8": "^3.1.1",
7272
"clean-pkg-json": "^1.2.1",
7373
"eslint": "^9.23.0",
74-
"jest": "^29.7.0",
7574
"lint-staged": "^15.5.0",
7675
"npm-run-all2": "^7.0.2",
7776
"prettier": "^3.5.3",
7877
"simple-git-hooks": "^2.12.1",
7978
"size-limit": "^11.2.0",
8079
"size-limit-preset-node-lib": "^0.3.0",
81-
"ts-jest": "^29.3.1",
8280
"tslib": "^2.8.1",
8381
"type-coverage": "^2.29.7",
8482
"typescript": "^5.8.2",
83+
"vitest": "^3.1.1",
8584
"yarn-berry-deduplicate": "^6.1.1"
8685
},
8786
"resolutions": {
87+
"es5-ext": "npm:@unes/es5-ext@latest",
8888
"prettier": "^3.5.3"
8989
},
90-
"jest": {
91-
"preset": "ts-jest",
92-
"testEnvironment": "node",
93-
"collectCoverage": true,
94-
"collectCoverageFrom": [
95-
"src/**"
96-
],
97-
"extensionsToTreatAsEsm": [
98-
".ts"
99-
],
100-
"moduleNameMapper": {
101-
"^(\\.{1,2}/.*)\\.js$": "$1"
102-
},
103-
"transform": {
104-
"^.+\\.tsx?$": [
105-
"ts-jest",
106-
{
107-
"useESM": true
108-
}
109-
]
110-
}
111-
},
11290
"typeCoverage": {
113-
"atLeast": 91.42,
91+
"atLeast": 91.75,
11492
"cache": true,
11593
"detail": true,
11694
"ignoreAsAssertion": true,

test/global.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/// <reference types="vitest/globals" />

test/migrate.spec.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
1-
import { jest } from '@jest/globals'
21
import { Ajv2019 as Ajv } from 'ajv/dist/2019.js'
32

4-
import { draft7, draft2019, draft2020, getAjv } from '../src/index.js'
5-
63
import expectedSchemaDraft7 from './fixtures/expected-schema-from-draft-04-to-07.json'
74
import expectedSchemaDraft2019 from './fixtures/expected-schema-from-draft-04-to-2019.json'
85
import expectedSchemaDraft2020 from './fixtures/expected-schema-from-draft-04-to-2020.json'
96
import schemaDraft4 from './fixtures/schema-draft-04.json'
107

8+
import { draft7, draft2019, draft2020, getAjv } from '@unts/json-schema-migrate'
9+
1110
describe('migrate to draft-07 schema', () => {
1211
it('should migrate from draft-04 schema to draft-07 schema', () => {
1312
const schema = structuredClone(schemaDraft4)
@@ -46,7 +45,7 @@ describe('migrate to draft-07 schema', () => {
4645

4746
it('should warn on non-boolean `exclusiveMaximum`', () => {
4847
const { warn } = console
49-
console.warn = jest.fn()
48+
console.warn = vi.fn()
5049
draft7({
5150
type: 'number',
5251
exclusiveMaximum: 'true',

tsconfig.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"extends": "@1stg/tsconfig/node16",
33
"compilerOptions": {
4+
"rootDir": ".",
45
"verbatimModuleSyntax": false
56
}
67
}

vitest.config.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import { defineConfig } from 'vitest/config'
2+
3+
export default defineConfig({
4+
resolve: {
5+
alias: {
6+
'@unts/json-schema-migrate': new URL('src/index.ts', import.meta.url)
7+
.pathname,
8+
},
9+
},
10+
test: {
11+
coverage: {
12+
enabled: true,
13+
include: ['src'],
14+
reporter: ['lcov', 'json', 'text'],
15+
},
16+
environment: 'node',
17+
globals: true,
18+
},
19+
})

0 commit comments

Comments
 (0)