Loading...
Loading...
Configure Vitest 4.x with correct pool architecture, coverage settings, and multi-project setup. Use when creating or modifying vitest.config files or setting up test infrastructure.
npx skill4agent add djankies/claude-configs configuring-vitest-4maxWorkersincludeprojectsserver.depsimport { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
pool: 'forks',
maxWorkers: 4,
isolate: true,
fileParallelism: true,
},
});maxThreadsmaxWorkersmaxForksmaxWorkerssingleThread: truemaxWorkers: 1, isolate: falseexport default defineConfig({
test: {
coverage: {
provider: 'v8',
reporter: ['text', 'html'],
include: ['src/**/*.{ts,tsx}'],
},
},
});includeexport default defineConfig({
test: {
projects: [
{
test: {
name: 'unit',
include: ['tests/unit/**/*.test.ts'],
environment: 'node',
},
},
{
test: {
name: 'integration',
include: ['tests/integration/**/*.test.ts'],
testTimeout: 30000,
},
},
],
},
});defineWorkspaceprojectsdefineConfigimport { playwright } from '@vitest/browser-playwright';
export default defineConfig({
test: {
browser: {
enabled: true,
provider: playwright(),
instances: [{ browser: 'chromium' }],
},
},
});browser.namebrowser.instancesexport default defineConfig({
test: {
server: {
deps: {
inline: ['vue', 'lodash-es'],
external: ['aws-sdk'],
},
},
},
});deps.*server.deps.*export default defineConfig({
test: {
environment: 'node',
},
});export default defineConfig({
test: {
environment: 'jsdom',
},
});export default defineConfig({
test: {
environment: 'happy-dom',
},
});export default defineConfig({
test: {
globals: true,
environment: 'node',
include: ['src/**/*.test.ts'],
coverage: {
provider: 'v8',
include: ['src/**/*.ts'],
},
},
});import react from '@vitejs/plugin-react';
export default defineConfig({
plugins: [react()],
test: {
globals: true,
environment: 'jsdom',
setupFiles: ['./vitest.setup.ts'],
},
});projectsexport default defineConfig({
test: {
projects: [
{ test: { name: 'unit', environment: 'node' } },
{ test: { name: 'component', environment: 'jsdom' } },
{ test: { name: 'browser', browser: { enabled: true } } },
],
},
});vitest --runmaxThreadsmaxWorkersmaxForksmaxWorkerssingleThreadmaxWorkers: 1, isolate: falsepoolOptionscoverage.ignoreEmptyLinescoverage.allincludecoverage.extensionsincludedefineWorkspacedefineConfigprojectspoolMatchGlobsprojectsincludeenvironmentMatchGlobsprojectsenvironmentdeps.inlineserver.deps.inlinedeps.externalserver.deps.externalbrowser.namebrowser.instancesbrowser.testerScriptsbrowser.testerHtmlPathmaxThreadssingleThreadprojectsdefineConfigexport default defineConfig({
test: {
pool: 'threads',
isolate: false,
fileParallelism: true,
maxWorkers: 4,
},
});export default defineConfig({
test: {
browser: {
enabled: true,
provider: playwright(),
instances: [{ browser: 'chromium' }],
headless: true,
fileParallelism: true,
},
},
});@vitest-4/skills/migrating-to-vitest-4@vitest-4/skills/using-browser-mode@vitest-4/knowledge/vitest-4-comprehensive.md