Files
react-test/vitest.config.mts
how2ice 005cf56baf
Some checks failed
No response / noResponse (push) Has been cancelled
CI / Continuous releases (push) Has been cancelled
CI / test-dev (macos-latest) (push) Has been cancelled
CI / test-dev (ubuntu-latest) (push) Has been cancelled
CI / test-dev (windows-latest) (push) Has been cancelled
Maintenance / main (push) Has been cancelled
init project
2025-12-12 14:26:25 +09:00

45 lines
1.3 KiB
TypeScript

import { defineConfig, coverageConfigDefaults } from 'vitest/config';
import * as path from 'path';
const MONOREPO_ROOT = path.resolve(__dirname, '.');
const BROWSER_TESTS = ['{docs,packages{-internal,}/*}/vitest.config.browser.mts'];
const NODE_TESTS = ['{docs,packages{-internal,}/*}/vitest.config.mts'];
function getProjects() {
if (process.env.TEST_SCOPE === 'browser') {
return BROWSER_TESTS;
}
if (process.env.TEST_SCOPE === 'node') {
return NODE_TESTS;
}
return [...BROWSER_TESTS, ...NODE_TESTS];
}
/**
* See https://vitest.dev/guide/workspace.html
* > The root configuration will only influence global options such as reporters and coverage.
*/
export default defineConfig({
test: {
projects: getProjects(),
sequence: {
hooks: 'list',
},
coverage: {
provider: 'v8',
reporter: process.env.CI ? ['lcovonly'] : ['text'],
reportsDirectory: path.resolve(MONOREPO_ROOT, 'coverage'),
include: ['packages/*/src/**/*.{mts,ts,tsx,mjs,js,jsx}'],
exclude: [
'**/*.d.ts',
'**/__fixtures__/**',
'packages/mui-icons-material/src/**',
'packages/mui-codemod/src/**/{test-cases,*.test}/**',
'**/{postcss,vitest}.config.*',
...coverageConfigDefaults.exclude,
],
},
},
});