diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 21c1fa4f1..1f9e344ad 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 436936542..816164a82 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 bccc62268..8f59666d0 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 000000000..b5f885a50 --- /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, + }, +})