From 267a2265d94c34ccbd9df7ac634f37bd40ca501d Mon Sep 17 00:00:00 2001 From: davd-gzl <60177543+davd-gzl@users.noreply.github.com> Date: Sat, 3 Oct 2026 01:17:04 +0900 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7(frontend)=20give=20vitest=20its=20?= =?UTF-8?q?own=20config=20and=20a=20make=20target?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A separate vitest.config.ts keeps the tests off the build plugins and the mediapipe version check in vite.config.ts. make test now runs the frontend tests after the backend ones, and test-front runs on Node 24, the current LTS. --- .github/workflows/ci.yml | 2 +- Makefile | 7 ++++++- src/frontend/tsconfig.node.json | 2 +- src/frontend/vitest.config.ts | 8 ++++++++ 4 files changed, 16 insertions(+), 3 deletions(-) create mode 100644 src/frontend/vitest.config.ts diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 21c1fa4f..1f9e344a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -207,7 +207,7 @@ jobs: - name: Install Node.js uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6.5.0 with: - node-version: "22" + node-version: "24" - name: Install dependencies run: cd src/frontend/ && npm ci --ignore-scripts diff --git a/Makefile b/Makefile index 43693654..816164a8 100644 --- a/Makefile +++ b/Makefile @@ -212,6 +212,10 @@ frontend-format: ## run the frontend format cd $(PATH_FRONT) && npm run format .PHONY: frontend-format +frontend-test: ## run the frontend unit tests + cd $(PATH_FRONT) && npm test +.PHONY: frontend-test + run-frontend-development: ## run the frontend in development mode @$(COMPOSE) stop frontend cd $(PATH_FRONT) && npm run dev @@ -260,7 +264,8 @@ lint-pylint: ## lint back-end python sources with pylint only on changed files f test: ## run project tests; pass extra pytest args via ARGS, e.g. `make test ARGS="-vv"` @args="$(ARGS) $(filter-out $@,$(MAKECMDGOALS))" && \ $(MAKE) test-back-parallel ARGS="$${args}" && \ - $(MAKE) test-summary ARGS="$${args}" + $(MAKE) test-summary ARGS="$${args}" && \ + $(MAKE) frontend-test .PHONY: test test-back: ## run back-end tests (pass extra pytest args via ARGS) diff --git a/src/frontend/tsconfig.node.json b/src/frontend/tsconfig.node.json index bccc6226..8f59666d 100644 --- a/src/frontend/tsconfig.node.json +++ b/src/frontend/tsconfig.node.json @@ -10,5 +10,5 @@ "noEmit": true, "types": ["node"] }, - "include": ["vite.config.ts"] + "include": ["vite.config.ts", "vitest.config.ts"] } diff --git a/src/frontend/vitest.config.ts b/src/frontend/vitest.config.ts new file mode 100644 index 00000000..b5f885a5 --- /dev/null +++ b/src/frontend/vitest.config.ts @@ -0,0 +1,8 @@ +import { defineConfig } from 'vitest/config' + +// Kept apart from vite.config.ts so the tests load none of the build plugins. +export default defineConfig({ + resolve: { + tsconfigPaths: true, + }, +})