@reasonabletech/config-vitest
v0.1.1
Published
Shared Vitest configuration
Maintainers
Readme
@reasonabletech/config-vitest
@reasonabletech/config-vitest provides shared Vitest configuration factories with standardized coverage and workspace-aware module resolution. All configs enforce 100% coverage thresholds by default — disable this for a specific package by setting the VITEST_COVERAGE_THRESHOLDS_DISABLED environment variable.
Installation
pnpm add -D @reasonabletech/config-vitest vitest vite @vitest/coverage-v8Peer Dependencies
| Dependency | Version | Required | | ------------------- | --------- | -------- | | vitest | >= 2.0 | Yes | | vite | >= 5.0 | Yes | | @vitest/coverage-v8 | >= 2.0 | Optional |
This package provides Vitest configuration factories and requires vitest 2.0+ and vite 5.0+ for modern test runner features. Install @vitest/coverage-v8 to enable coverage reporting (enabled by default in configs).
Exported Entry Points
| Import Path | Purpose | Main Exports |
| ----------------------------------------- | ----------------------------- | -------------------------------------------------------------------------------------------------------- |
| @reasonabletech/config-vitest | Base Vitest config factory | createVitestConfig, createLongRunningTestConfig, createReactConfig, createReactConfigWithPlugins |
| @reasonabletech/config-vitest/react | React-specific config factory | createReactConfig, createReactConfigWithPlugins |
| @reasonabletech/config-vitest/node | Node-specific config factory | createNodeConfig, nodeConfig |
| @reasonabletech/config-vitest/workspace | Workspace utilities | findRepoRoot, readPackageName |
Usage
Base Configuration
// vitest.config.mts
import { createVitestConfig } from "@reasonabletech/config-vitest";
export default createVitestConfig(import.meta.dirname);React Configuration
// vitest.config.mts
import { createReactConfig } from "@reasonabletech/config-vitest/react";
export default createReactConfig(import.meta.dirname);Node Configuration
// vitest.config.mts
import { createNodeConfig } from "@reasonabletech/config-vitest/node";
export default createNodeConfig(import.meta.dirname);Long-Running Suites
// vitest.config.mts
import { createLongRunningTestConfig } from "@reasonabletech/config-vitest";
export default createLongRunningTestConfig(import.meta.dirname, {
test: {
include: ["tests/integration/**/*.test.ts"],
},
});Coverage Defaults
- Provider:
v8 - Report directory:
generated/test-coverage - Reporters:
text,html,lcov,json - Thresholds:
100for lines/functions/branches/statements
Set VITEST_COVERAGE_THRESHOLDS_DISABLED=true for temporary local diagnostics.
Changelog
See CHANGELOG.md for release history.
This package follows Semantic Versioning. Breaking changes are documented with migration guides when applicable.
