Files
edentext/vite.config.ts
T
Steffen Becker b98cc550c3 fix: the suite finds a localStorage again
Node 26 defines its own `localStorage` global — undefined unless the process is
given --localstorage-file — and it shadows the one jsdom installs. Every module
that reads storage at import time threw before a test could run, so 37 of 65
files failed to collect. A setup file defines the property when it is missing.
2026-08-12 01:20:40 +02:00

30 lines
1.1 KiB
TypeScript

/// <reference types="vitest/config" />
import { defineConfig } from 'vite';
import { svelte } from '@sveltejs/vite-plugin-svelte';
import pkg from './package.json' with { type: 'json' };
export default defineConfig({
plugins: [svelte()],
define: { __APP_VERSION__: JSON.stringify(pkg.version) },
// hunspell-asm's ESM chain calls CJS/UMD deps as functions that a bundler
// yields as non-callable namespaces (glue → "runtimeModule is not a function";
// nanoid → CANNOT_CALL_NAMESPACE). The CJS builds' require-interop fixes both.
resolve: {
alias: {
'hunspell-asm': 'hunspell-asm/dist/cjs/index.js',
'emscripten-wasm-loader': 'emscripten-wasm-loader/dist/cjs/index.js',
},
},
// Test-only config; never enters the production bundle (vitest is dev-only).
// jsdom supplies a global DOMParser, so the export/import specs need no setup.
test: {
environment: 'jsdom',
setupFiles: ['tests/setup.ts'],
include: ['tests/**/*.test.ts'],
globals: false,
// A build+re-import leg runs ~10s when the whole suite competes for the CPU,
// well past vitest's 5s default.
testTimeout: 60000,
},
});