@networkpro/web
Version:
Locking Down Networks, Unlocking Confidence™ | Security, Networking, Privacy — Network Pro Strategies
54 lines (47 loc) • 1.57 kB
JavaScript
/* =========================================================================
vitest.config.client.js
Copyright © 2025-2026 Network Pro Strategies (Network Pro™)
SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
This file is part of Network Pro.
========================================================================= */
import { sveltekit } from '@sveltejs/kit/vite';
import { svelteTesting } from '@testing-library/svelte/vite';
import lightningcssPlugin from 'vite-plugin-lightningcss';
import { defineConfig } from 'vitest/config';
export default defineConfig({
plugins: [
sveltekit(),
svelteTesting(),
lightningcssPlugin({
minify: process.env.NODE_ENV === 'production',
pruneUnusedFontFaceRules: true,
pruneUnusedKeyframes: true,
removeUnusedFontFaces: true,
}),
],
// Svelte 5 / Runes compatibility (Vitest 4.x+)
optimizeDeps: {
include: ['svelte', '@sveltejs/kit'], // Ensures .svelte files are pre-bundled with rune support
},
test: {
name: 'client',
environment: 'jsdom',
clearMocks: true,
include: ['tests/unit/client/**/*.test.{js,mjs,svelte}'],
exclude: [],
setupFiles: ['./vitest-setup-client.js'],
reporter: ['default', 'json'],
testTimeout: 10000,
outputFile: {
json: './reports/client/results.json',
},
coverage: {
provider: 'v8',
reporter: ['html', 'text', 'lcov'],
reportsDirectory: './reports/client/coverage',
},
// Optional: quiet down noisy vite logs
logHeapUsage: false,
isolate: true,
},
});