cli/vitest.config.ts
Rama main · réplica de lectura del repositorio original.
import { defineConfig } from 'vitest/config';
import { svelte } from '@sveltejs/vite-plugin-svelte';
import path from 'path';
// Svelte plugin + shim aliases mirror the root vitest config so tests can
// import modules that reach @evidence/core's component registry.
const coreShims = path.resolve(import.meta.dirname, '../core/src/shims');
export default defineConfig({
plugins: [svelte()],
define: {
// Mirrors vite.config.ts: run-query.ts reads this at import time, so any
// test that reaches ServerQueryService needs it defined.
__DEFAULT_QUERY_ENGINE_HOST__: JSON.stringify(
process.env.BUILD_QUERY_ENGINE_HOST ?? 'https://query-engine-service.evidence.studio'
)
},
resolve: {
conditions: ['svelte'],
alias: {
'$app/environment': path.join(coreShims, 'env.ts'),
'$app/state': path.join(coreShims, 'page-state.ts'),
'$app/navigation': path.join(coreShims, 'navigation.ts'),
'$env/static/public': path.join(coreShims, 'env-vars.ts'),
'$env/dynamic/private': path.join(coreShims, 'env-vars.ts'),
'$env/static/private': path.join(coreShims, 'env-vars.ts'),
'$env/dynamic/public': path.join(coreShims, 'env-vars.ts'),
$lib: path.resolve(import.meta.dirname, './src/lib'),
$cli: path.resolve(import.meta.dirname, './cli')
}
},
ssr: {
// Packages with .svelte file exports must be processed by Vite (not left
// as external) — same list as the root vitest config.
noExternal: [
'bits-ui',
'svelte-sonner',
'lucide-svelte',
'@lucide/svelte',
'runed',
'virtua',
'mode-watcher',
'formsnap',
'paneforge',
'vaul-svelte',
'layerchart',
'@number-flow/svelte',
'@steeze-ui/svelte-icon',
'sveltekit-superforms'
]
},
test: {
include: ['cli/**/*.test.ts', 'src/**/*.test.ts'],
globals: true,
environment: 'node'
}
});