go-bananas/web/vitest.config.ts

32 lines
1.1 KiB
TypeScript
Raw Permalink Normal View History

2026-10-10 02:30:01 +02:00
import { fileURLToPath } from 'node:url'
2026-10-07 15:11:35 +02:00
import { defineConfig } from 'vitest/config'
/**
* Test configuration, kept separate from vite.config.ts so that the test options
* are not part of the production build configuration. The type definitions of the
* two tools overlap but are not identical, and mixing them produces confusing
* errors about the `test` key.
*/
export default defineConfig({
2026-10-10 02:30:01 +02:00
// The integration tests import the actual shipped SDK modules (sdk/src/*) to drive
// the real custom elements. Those live one directory up, outside the web package
// root, so Vite's default filesystem allow-list has to be widened to the repository
// root for the cross-package import to resolve.
server: {
fs: {
allow: [fileURLToPath(new URL('..', import.meta.url))],
},
},
2026-10-07 15:11:35 +02:00
test: {
// The admin interface is a browser application: components touch the DOM,
// localStorage and matchMedia, so jsdom is required rather than merely useful.
environment: 'jsdom',
globals: true,
setupFiles: ['./src/test/setup.ts'],
css: false,
// Tests live next to what they test.
include: ['src/**/*.test.{ts,tsx}'],
},
})