Skip to content

Commit cb25593

Browse files
authored
refactor: migrate CLI tests to vitest (#4409)
Jest is barely maintained and vitest is blazinly faster.
1 parent 7ec1bb5 commit cb25593

Some content is hidden

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

53 files changed

+411
-181
lines changed

apps/builder/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@
8181
"cookie": "^1.0.1",
8282
"css-tree": "^2.3.1",
8383
"date-fns": "^3.6.0",
84-
"debug": "^4.3.6",
84+
"debug": "^4.3.7",
8585
"detect-font": "^0.1.5",
8686
"downshift": "^6.1.7",
8787
"fast-deep-equal": "^3.1.3",
@@ -131,6 +131,7 @@
131131
"@webstudio-is/jest-config": "workspace:*",
132132
"@webstudio-is/tsconfig": "workspace:*",
133133
"html-tags": "^4.0.0",
134+
"jest-environment-jsdom": "^29.7.0",
134135
"react-router-dom": "^6.26.2",
135136
"react-test-renderer": "18.3.0-canary-14898b6a9-20240318",
136137
"type-fest": "^4.26.1",

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
"name": "webstudio-root",
44
"version": "0.0.0",
55
"private": true,
6+
"type": "module",
67
"scripts": {
78
"build": "pnpm -r --filter='!./fixtures/*' build",
89
"dts": "pnpm -r dts",

packages/cli/jest.config.js

Lines changed: 0 additions & 1 deletion
This file was deleted.

packages/cli/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
"scripts": {
2525
"typecheck": "tsc",
2626
"build": "rm -rf lib && esbuild src/cli.ts --outdir=lib --bundle --format=esm --packages=external",
27-
"test": "NODE_OPTIONS=--experimental-vm-modules jest"
27+
"test": "vitest run"
2828
},
2929
"license": "AGPL-3.0-or-later",
3030
"engines": {
@@ -51,7 +51,6 @@
5151
"zod": "^3.22.4"
5252
},
5353
"devDependencies": {
54-
"@jest/globals": "^29.7.0",
5554
"@netlify/remix-adapter": "^2.5.1",
5655
"@netlify/remix-edge-adapter": "3.4.2",
5756
"@remix-run/cloudflare": "^2.12.1",
@@ -65,14 +64,15 @@
6564
"@types/react-dom": "^18.2.25",
6665
"@types/yargs": "^17.0.33",
6766
"@vitejs/plugin-react": "^4.3.3",
68-
"@webstudio-is/jest-config": "workspace:*",
6967
"@webstudio-is/tsconfig": "workspace:*",
68+
"prettier": "3.3.3",
7069
"react": "18.3.0-canary-14898b6a9-20240318",
7170
"react-dom": "18.3.0-canary-14898b6a9-20240318",
7271
"ts-expect": "^1.3.0",
7372
"typescript": "5.6.3",
7473
"vike": "^0.4.182",
7574
"vite": "^5.4.10",
75+
"vitest": "^2.1.4",
7676
"wrangler": "^3.63.2"
7777
}
7878
}

packages/cli/src/html-to-jsx.test.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
import { test, expect } from "@jest/globals";
1+
import { test, expect } from "vitest";
22
import * as React from "react";
33
import ReactDOMServer from "react-dom/server";
44
import esbuild from "esbuild";
5+
import prettier from "prettier/standalone";
6+
import parserHtml from "prettier/parser-html";
7+
58
import { htmlToJsx } from "./html-to-jsx";
6-
import prettier from "prettier";
79

810
/**
911
* Converts HTML to JSX, renders the JSX to HTML.
@@ -61,7 +63,10 @@ const convertHtmlToJsxAndRenderToHtml = async (htmlCode: string) => {
6163
};
6264

6365
const formatHtml = async (htmlCode: string) => {
64-
return await prettier.format(htmlCode, { parser: "html" });
66+
return await prettier.format(htmlCode, {
67+
parser: "html",
68+
plugins: [parserHtml],
69+
});
6570
};
6671

6772
test("Simple conversion works", async () => {

packages/css-engine/jest.config.js

Lines changed: 0 additions & 1 deletion
This file was deleted.

packages/css-engine/package.json

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"typecheck": "tsc",
1010
"build": "rm -rf lib && esbuild src/index.ts --outdir=lib --bundle --format=esm --packages=external",
1111
"dts": "tsc --project tsconfig.dts.json",
12-
"test": "NODE_OPTIONS=--experimental-vm-modules jest"
12+
"test": "vitest run"
1313
},
1414
"dependencies": {
1515
"@emotion/hash": "^0.9.2",
@@ -18,14 +18,13 @@
1818
"zod": "^3.22.4"
1919
},
2020
"devDependencies": {
21-
"@jest/globals": "^29.7.0",
2221
"@types/react": "^18.2.70",
2322
"@types/react-dom": "^18.2.25",
24-
"@webstudio-is/jest-config": "workspace:*",
2523
"@webstudio-is/tsconfig": "workspace:*",
2624
"react": "18.3.0-canary-14898b6a9-20240318",
2725
"react-dom": "18.3.0-canary-14898b6a9-20240318",
28-
"typescript": "5.6.3"
26+
"typescript": "5.6.3",
27+
"vitest": "^2.1.4"
2928
},
3029
"exports": {
3130
"webstudio": "./src/index.ts",

packages/css-engine/src/core/atomic.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { test, expect } from "@jest/globals";
1+
import { test, expect } from "vitest";
22
import { createRegularStyleSheet } from "./create-style-sheet";
33
import { generateAtomic } from "./atomic";
44
import type { NestingRule } from "./rules";

packages/css-engine/src/core/compare-media.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { describe, test, expect } from "@jest/globals";
1+
import { describe, test, expect } from "vitest";
22
import { compareMedia } from "./compare-media";
33

44
describe("Compare media", () => {

packages/css-engine/src/core/equal-media.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { describe, expect, test } from "@jest/globals";
1+
import { describe, expect, test } from "vitest";
22
import { equalMedia } from "./equal-media";
33

44
describe("equalMedia", () => {

0 commit comments

Comments
 (0)