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 <noreply@anthropic.com>
This commit is contained in:
@@ -6,8 +6,15 @@ import { defineConfig } from 'vitest/config';
|
|||||||
import { playwright } from '@vitest/browser-playwright';
|
import { playwright } from '@vitest/browser-playwright';
|
||||||
import { sveltekit } from '@sveltejs/kit/vite';
|
import { sveltekit } from '@sveltejs/kit/vite';
|
||||||
import { viteStaticCopy } from 'vite-plugin-static-copy';
|
import { viteStaticCopy } from 'vite-plugin-static-copy';
|
||||||
|
import { fileURLToPath } from 'node:url';
|
||||||
|
|
||||||
export default defineConfig({
|
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: {
|
optimizeDeps: {
|
||||||
include: ['pdfjs-dist', '@tiptap/core', '@tiptap/starter-kit', '@tiptap/extension-mention']
|
include: ['pdfjs-dist', '@tiptap/core', '@tiptap/starter-kit', '@tiptap/extension-mention']
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import tailwindcss from '@tailwindcss/vite';
|
|||||||
import { defineConfig } from 'vitest/config';
|
import { defineConfig } from 'vitest/config';
|
||||||
import { playwright } from '@vitest/browser-playwright';
|
import { playwright } from '@vitest/browser-playwright';
|
||||||
import { sveltekit } from '@sveltejs/kit/vite';
|
import { sveltekit } from '@sveltejs/kit/vite';
|
||||||
|
import { fileURLToPath } from 'node:url';
|
||||||
|
|
||||||
// Standalone config for browser-project Istanbul coverage.
|
// Standalone config for browser-project Istanbul coverage.
|
||||||
// Uses a dedicated root-level coverage block because Vitest 4 ignores
|
// 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
|
// Plugins mirrored from vite.config.ts: tailwindcss, sveltekit, devtoolsJson, paraglideVitePlugin
|
||||||
// Update here whenever vite.config.ts plugins change.
|
// Update here whenever vite.config.ts plugins change.
|
||||||
export default defineConfig({
|
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: {
|
optimizeDeps: {
|
||||||
include: ['pdfjs-dist', '@tiptap/core', '@tiptap/starter-kit', '@tiptap/extension-mention']
|
include: ['pdfjs-dist', '@tiptap/core', '@tiptap/starter-kit', '@tiptap/extension-mention']
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user