Ctrl K
ComunidadGuías…

cli/vitest.config.ts

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
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'
	}
});