modified: .gitignore

modified:   .vscode/launch.json
	new file:   e2e/playwright-collect-coverage.spec.ts
	modified:   package-lock.json
	modified:   package.json
	modified:   playwright.config.ts
	new file:   scripts/merge-lcov.cjs
	new file:   scripts/normalize-lcov.cjs
	new file:   scripts/playwright-collect-coverage.cjs
	new file:   scripts/remap-and-report.cjs
	modified:   vite.config.ts
	new file:   vitest.config.ts
This commit is contained in:
2025-12-02 16:14:12 +10:00
parent d0eb4e953c
commit 6192bd20eb
12 changed files with 1134 additions and 10 deletions
+13 -3
View File
@@ -3,12 +3,22 @@ import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import { visualizer } from 'rollup-plugin-visualizer';
import path from 'path';
import istanbul from 'vite-plugin-istanbul';
const isE2E = Boolean(process.env.E2E_COVERAGE)
export default defineConfig({
plugins: [
react(),
visualizer({ filename: 'dist/stats.html', open: false })
],
visualizer({ filename: 'dist/stats.html', open: false }),
isE2E &&
istanbul({
include: 'src/**/*',
extension: ['.js', '.ts', '.jsx', '.tsx'],
requireEnv: false, // allow instrumenting unconditionally for CI e2e builds
cypress: true, // enables window.__coverage__ instrumentation style
}),
].filter(Boolean),
resolve: {
alias: {
// force single copies of react/react-dom
@@ -35,7 +45,7 @@ export default defineConfig({
port: 5173
},
build: {
sourcemap: false,
sourcemap: true,
outDir: 'dist',
// esbuild is lighter. If you want terser for final prod, run it on a beefy CI runner.
minify: 'esbuild',