Something went wrong. Try again.
[[MIRROR from GitHub]] Property based testing framework for JavaScript (like QuickCheck) written in TypeScript fast-check.dev
Something went wrong. Try again.
fast-check vitest.config.mjs
1.6 kB · 46 lines
JavaScript
at main
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647import { coverageConfigDefaults, defaultExclude, defineConfig } from 'vitest/config';import { readdirSync, readFileSync } from 'node:fs';import { join } from 'node:path';
const allProjects = [ // All packages ...readdirSync(join(import.meta.dirname, 'packages'), { withFileTypes: true }) .filter((file) => file.isDirectory()) .map((dir) => join(dir.parentPath, dir.name)), // Other directories join(import.meta.dirname, 'examples'), join(import.meta.dirname, 'website'),];
const testTimeout = 120_000; // 120s
export default defineConfig({ test: { clearMocks: true, mockReset: true, restoreMocks: true, unstubEnvs: true, unstubGlobals: true, include: ['**/*.{test,spec}.?(c|m)[jt]s?(x)'], exclude: [...defaultExclude, '**/test-bundle/**', '**/.test-artifacts/**', '**/templates/*-tutorial/**'], coverage: { include: ['packages/fast-check/src/**'], exclude: [...coverageConfigDefaults.exclude, '**/*.spec.ts', '**/__test-helpers__/**'], }, testTimeout, env: { TEST_TIMEOUT: testTimeout }, projects: allProjects.map((projectPath) => { const projectName = JSON.parse(readFileSync(join(projectPath, 'package.json')).toString()).name; return { extends: true, test: { root: projectPath, name: projectName, globalSetup: projectName === '@fast-check/jest' ? ['test/globalSetup.ts'] : [], setupFiles: projectName === 'examples' ? ['vitest.setup.ts'] : projectName === 'fast-check' ? ['vitest.setup.mjs'] : [], }, }; }), },});