From 724c3881e4b78597bd0076114542016db3317e59 Mon Sep 17 00:00:00 2001 From: Marcel Date: Tue, 2 Jun 2026 19:28:19 +0200 Subject: [PATCH] build(frontend): add $mocks alias for shared browser-test mock bodies Declares $mocks -> src/__mocks__ in both vite.config.ts and vitest.client-coverage.config.ts so shared mock modules resolve in the client test run and the coverage job alike. Enables the sync-factory dedup pattern from ADR-012 (vi.mock('$app/forms', () => ({ ...formsMock }))). Part of #560. Co-Authored-By: Claude Opus 4.8 --- frontend/vite.config.ts | 7 +++++++ frontend/vitest.client-coverage.config.ts | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts index 34686e4b..35430747 100644 --- a/frontend/vite.config.ts +++ b/frontend/vite.config.ts @@ -6,8 +6,15 @@ import { defineConfig } from 'vitest/config'; import { playwright } from '@vitest/browser-playwright'; import { sveltekit } from '@sveltejs/kit/vite'; import { viteStaticCopy } from 'vite-plugin-static-copy'; +import { fileURLToPath } from 'node:url'; export default defineConfig({ + resolve: { + alias: { + // Shared browser-test mock bodies, imported into sync vi.mock factories. See ADR-012. + $mocks: fileURLToPath(new URL('./src/__mocks__', import.meta.url)) + } + }, optimizeDeps: { include: ['pdfjs-dist', '@tiptap/core', '@tiptap/starter-kit', '@tiptap/extension-mention'] }, diff --git a/frontend/vitest.client-coverage.config.ts b/frontend/vitest.client-coverage.config.ts index dc822281..b7b1ad57 100644 --- a/frontend/vitest.client-coverage.config.ts +++ b/frontend/vitest.client-coverage.config.ts @@ -4,6 +4,7 @@ import tailwindcss from '@tailwindcss/vite'; import { defineConfig } from 'vitest/config'; import { playwright } from '@vitest/browser-playwright'; import { sveltekit } from '@sveltejs/kit/vite'; +import { fileURLToPath } from 'node:url'; // Standalone config for browser-project Istanbul coverage. // Uses a dedicated root-level coverage block because Vitest 4 ignores @@ -11,6 +12,12 @@ import { sveltekit } from '@sveltejs/kit/vite'; // Plugins mirrored from vite.config.ts: tailwindcss, sveltekit, devtoolsJson, paraglideVitePlugin // Update here whenever vite.config.ts plugins change. export default defineConfig({ + resolve: { + alias: { + // Shared browser-test mock bodies, imported into sync vi.mock factories. See ADR-012. + $mocks: fileURLToPath(new URL('./src/__mocks__', import.meta.url)) + } + }, optimizeDeps: { include: ['pdfjs-dist', '@tiptap/core', '@tiptap/starter-kit', '@tiptap/extension-mention'] },