You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
svelte-kit-vice/vite.config.ts

139 lines
5.8 KiB

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: {
// ── New ecosystem (src/arts + src/libs + src/svrs) ─────────────
// Runtime artifacts (Engine* + Active*) — see src/arts/README.md
'$active-app': resolve(__dirname, 'src/arts/active-app'),
'$adom': resolve(__dirname, 'src/arts/adom'),
'$auth': resolve(__dirname, 'src/arts/auth'),
'$bus': resolve(__dirname, 'src/arts/bus'),
'$cache': resolve(__dirname, 'src/arts/cache'),
'$connection': resolve(__dirname, 'src/arts/connection'),
'$format': resolve(__dirname, 'src/arts/format'),
'$frontend': resolve(__dirname, 'src/arts/frontend'),
'$http': resolve(__dirname, 'src/arts/http'),
'$lang': resolve(__dirname, 'src/arts/lang'),
'$logger': resolve(__dirname, 'src/arts/logger'),
'$orca': resolve(__dirname, 'src/arts/orca'),
'$perm': resolve(__dirname, 'src/arts/perm'),
'$prefs': resolve(__dirname, 'src/arts/prefs'),
'$session': resolve(__dirname, 'src/arts/session'),
'$sium': resolve(__dirname, 'src/arts/sium'),
'$storage': resolve(__dirname, 'src/arts/storage'),
'$timer': resolve(__dirname, 'src/arts/timer'),
// Pure helpers + contracts (zero-dep)
'$libs': resolve(__dirname, 'src/libs'),
'$locale': resolve(__dirname, 'src/libs/locale'),
// Server-authoritative engines
'$svrs': resolve(__dirname, 'src/svrs'),
// ── UIX layers ──────────────────────────────────────────────────
'$uix': resolve(__dirname, 'src/uix'),
'$active-uix': resolve(__dirname, 'src/uix/active-uix'),
'$soma': resolve(__dirname, 'src/uix/soma'),
'$terra': resolve(__dirname, 'src/uix/terra'),
// ── @/ catch-all ────────────────────────────────────────────────
'@': resolve(__dirname, 'src'),
// ── Legacy ecosystem (src/lib) — DEPRECATED ─────────────────────
// All paths below should migrate to the new ecosystem above.
// See src/lib/README.md for the migration map.
'$lib': resolve(__dirname, 'src/lib'),
'$glob': resolve(__dirname, 'src/lib/glob'),
'$reactive': resolve(__dirname, 'src/libs/reactive'),
'$langs': resolve(__dirname, 'src/lib/ext/lang/lang.svelte'),
'@/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'),
},
},
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: {
// New ecosystem
'$active-app': resolve(__dirname, 'src/arts/active-app'),
'$adom': resolve(__dirname, 'src/arts/adom'),
'$auth': resolve(__dirname, 'src/arts/auth'),
'$bus': resolve(__dirname, 'src/arts/bus'),
'$cache': resolve(__dirname, 'src/arts/cache'),
'$connection': resolve(__dirname, 'src/arts/connection'),
'$format': resolve(__dirname, 'src/arts/format'),
'$frontend': resolve(__dirname, 'src/arts/frontend'),
'$http': resolve(__dirname, 'src/arts/http'),
'$lang': resolve(__dirname, 'src/arts/lang'),
'$logger': resolve(__dirname, 'src/arts/logger'),
'$orca': resolve(__dirname, 'src/arts/orca'),
'$perm': resolve(__dirname, 'src/arts/perm'),
'$prefs': resolve(__dirname, 'src/arts/prefs'),
'$session': resolve(__dirname, 'src/arts/session'),
'$sium': resolve(__dirname, 'src/arts/sium'),
'$storage': resolve(__dirname, 'src/arts/storage'),
'$timer': resolve(__dirname, 'src/arts/timer'),
'$libs': resolve(__dirname, 'src/libs'),
'$locale': resolve(__dirname, 'src/libs/locale'),
'$svrs': resolve(__dirname, 'src/svrs'),
// UIX
'$uix': resolve(__dirname, 'src/uix'),
'$active-uix': resolve(__dirname, 'src/uix/active-uix'),
'$soma': resolve(__dirname, 'src/uix/soma'),
'$terra': resolve(__dirname, 'src/uix/terra'),
// @/
'@': resolve(__dirname, 'src'),
// Legacy (DEPRECATED)
'$lib': resolve(__dirname, 'src/lib'),
'$glob': resolve(__dirname, 'src/lib/glob'),
'$reactive': resolve(__dirname, 'src/libs/reactive'),
'@/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'),
},
},
test: {
name: 'server',
environment: 'node',
include: ['src/**/*.{test,spec}.{js,ts}'],
exclude: ['src/**/*.svelte.{test,spec}.{js,ts}']
}
}
]
}
});

Powered by TurnKey Linux.