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 'url'; import { resolve, dirname } from 'path'; // __dirname no existe en ESM — se reconstruye así const __dirname = dirname(fileURLToPath(import.meta.url)); export default defineConfig({ plugins: [tailwindcss(), sveltekit()], resolve: { alias: { // @/ → src/ '@': resolve(__dirname, 'src'), // @/ling → src/lib/ling '@/ling': resolve(__dirname, 'src/lib/ling'), // @/logr → src/lib/logr '@/logr': resolve(__dirname, 'src/lib/logr'), // @/glob → src/lib/glob '@/glob': resolve(__dirname, 'src/lib/glob'), // @/actx → src/lib/actx '@/actx': resolve(__dirname, 'src/lib/actx'), // @/uiux → src/lib/uiux '@/uiux': resolve(__dirname, 'src/lib/uiux'), // $uix → src/uix '$glob': resolve(__dirname, 'src/lib/glob'), '$uix': resolve(__dirname, 'src/uix'), '$lib': resolve(__dirname, 'src/lib'), // $terra → src/uix/terra '$terra': resolve(__dirname, 'src/uix/terra'), // $reactive → src/lib/util/reactive '$reactive': resolve(__dirname, 'src/lib/util/reactive'), // $soma → src/uix/soma '$soma': resolve(__dirname, 'src/uix/soma'), // $langs → src/lib/ext/lang/lang.svelte (i18n public entry) '$langs': resolve(__dirname, 'src/lib/ext/lang/lang.svelte'), }, }, test: { expect: { requireAssertions: true }, projects: [ { extends: './vite.config.ts', test: { name: 'client', browser: { enabled: true, provider: playwright(), instances: [{ browser: 'chromium', headless: true }] }, include: ['src/**/*.svelte.{test,spec}.{js,ts}'], exclude: ['src/lib/server/**'] } }, { extends: './vite.config.ts', resolve: { alias: { '@': resolve(__dirname, 'src'), '@/ling': resolve(__dirname, 'src/lib/ling'), '@/logr': resolve(__dirname, 'src/lib/logr'), '@/glob': resolve(__dirname, 'src/lib/glob'), '@/actx': resolve(__dirname, 'src/lib/actx'), '@/uiux': resolve(__dirname, 'src/lib/uiux'), '$lib': resolve(__dirname, 'src/lib'), '$glob': resolve(__dirname, 'src/lib/glob'), '$uix': resolve(__dirname, 'src/uix'), '$terra': resolve(__dirname, 'src/uix/terra'), '$reactive': resolve(__dirname, 'src/lib/util/reactive'), '$soma': resolve(__dirname, 'src/uix/soma'), }, }, test: { name: 'server', environment: 'node', include: ['src/**/*.{test,spec}.{js,ts}'], exclude: ['src/**/*.svelte.{test,spec}.{js,ts}'] } } ] } });