Skip to content

Commit 5aaa3a6

Browse files
committed
chore: replace jest with vitest
1 parent 25bb2ec commit 5aaa3a6

File tree

8 files changed

+876
-1791
lines changed

8 files changed

+876
-1791
lines changed

jest.config.ts

-27
This file was deleted.

jest.setup.ts

-1
This file was deleted.

package.json

+7-7
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
"format": "prettier --write .",
1212
"check-format": "prettier --check .",
1313
"prepare": "husky",
14-
"test": "jest",
15-
"test:watch": "jest --watch"
14+
"test": "vitest",
15+
"test:coverage": "vitest run --coverage"
1616
},
1717
"husky": {
1818
"hooks": {
@@ -27,6 +27,7 @@
2727
"@radix-ui/react-select": "^2.1.1",
2828
"@radix-ui/react-slot": "^1.1.0",
2929
"@radix-ui/react-tooltip": "^1.1.3",
30+
"@vitest/coverage-v8": "^2.1.3",
3031
"axios": "^1.7.7",
3132
"class-variance-authority": "^0.7.0",
3233
"clsx": "^2.1.1",
@@ -46,26 +47,25 @@
4647
"@testing-library/jest-dom": "^6.4.8",
4748
"@testing-library/react": "^16.0.0",
4849
"@testing-library/user-event": "^14.5.2",
49-
"@types/jest": "^29.5.12",
5050
"@types/node": "^20",
5151
"@types/react": "^18",
5252
"@types/react-dom": "^18",
5353
"@typescript-eslint/eslint-plugin": "^8.0.1",
5454
"@typescript-eslint/parser": "^8.0.1",
55+
"@vitejs/plugin-react": "^4.3.3",
5556
"eslint": "^8",
5657
"eslint-config-next": "14.2.5",
5758
"eslint-config-prettier": "^9.1.0",
5859
"eslint-plugin-react": "^7.35.0",
5960
"husky": "^9.1.4",
60-
"jest": "^29.7.0",
61-
"jest-environment-jsdom": "^29.7.0",
61+
"jsdom": "^25.0.1",
6262
"lint-staged": "^15.2.8",
6363
"postcss": "^8",
6464
"prettier": "3.3.3",
6565
"tailwindcss": "^3.4.1",
66-
"ts-jest": "^29.2.4",
6766
"ts-node": "^10.9.2",
68-
"typescript": "^5"
67+
"typescript": "^5",
68+
"vitest": "^2.1.3"
6969
},
7070
"lint-staged": {
7171
"**/*": "prettier --write --ignore-unknown"

src/components/ui/Announcement/Announcement.test.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { describe, it, expect } from "vitest";
12
import { render } from "@testing-library/react";
23
import Announcement from "./";
34
import userEvent from "@testing-library/user-event";

src/features/events/components/EventCardV2.test.tsx

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { describe, it, expect } from "vitest";
12
import { render, screen } from "@testing-library/react";
23
import EventCardV2 from "./EventCardV2";
34
import { TechEvent } from "../types";

tests/vitest-setup.ts

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { expect, afterEach } from "vitest";
2+
import { cleanup } from "@testing-library/react";
3+
import * as matchers from "@testing-library/jest-dom/matchers";
4+
5+
expect.extend(matchers);
6+
7+
afterEach(() => {
8+
cleanup();
9+
});

vitest.config.ts

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import { configDefaults, defineConfig } from "vitest/config";
2+
import react from "@vitejs/plugin-react";
3+
import path from "path";
4+
5+
const testExclusions = [
6+
"build",
7+
"node_modules",
8+
"config",
9+
"test",
10+
"__mocks__",
11+
".eslintrc.js",
12+
"**/*.styles.ts",
13+
"**/*.types.ts",
14+
"**/types.ts",
15+
"**/*.d.ts",
16+
"src/app/**",
17+
];
18+
19+
export default defineConfig({
20+
plugins: [react()],
21+
resolve: {
22+
alias: {
23+
"@": path.resolve(__dirname, "./src"),
24+
},
25+
},
26+
test: {
27+
environment: "jsdom",
28+
globals: true,
29+
setupFiles: "./tests/vitest-setup.ts",
30+
exclude: [...configDefaults.exclude, ...testExclusions],
31+
coverage: {
32+
exclude: [...(configDefaults.coverage.exclude ?? []), ...testExclusions],
33+
},
34+
},
35+
});

0 commit comments

Comments
 (0)