calque/vitest.config.ts
2025-02-20 15:53:11 +11:00

45 lines
1.1 KiB
TypeScript

import { defineConfig } from 'vitest/config';
import solidPlugin from 'vite-plugin-solid';
import { resolve } from 'node:path'
import { CoverageReporter, CoverageV8Options } from 'vitest/node';
import type { Plugin } from 'vite';
export default defineConfig({
plugins: [
solidPlugin(),
reportWith('lcov', 'text'),
],
resolve: {
conditions: ['development', 'browser'],
alias: [
{ find: '~', replacement: resolve(__dirname, './src') }
]
},
test: {
environment: 'jsdom',
deps: {
optimizer: {
web: {
enabled: true,
}
}
},
coverage: {
provider: 'istanbul',
reportsDirectory: './.coverage',
all: false,
},
},
});
function reportWith(...reporter: CoverageReporter[]): Plugin {
return {
name: 'add reporters',
config(userConf, env) {
if (userConf.test) {
userConf.test.coverage = { ...userConf.test.coverage, reporter } as CoverageV8Options;
}
},
}
}