@gsa-tts/graymatter-vitest-config
v0.0.2
Published
The GrayMatter Vitest Configuration package (`@gsa-tts/graymatter-vitest-config`) provides shared Vitest configurations. It ensures consistent testing setup, coverage reporting, and test environments across all applications and packages.
Keywords
Readme
@gsa-tts/graymatter-vitest-config
Package Responsibilities
The GrayMatter Vitest Configuration package (@gsa-tts/graymatter-vitest-config) provides shared Vitest configurations. It ensures consistent testing setup, coverage reporting, and test environments across all applications and packages.
Primary Responsibilities:
- Define and maintain shared Vitest configurations
- Ensure consistent test setup
- Configure code coverage reporting
- Provide specialized configurations for different project types (base, UI)
- Reduce duplication of testing configuration across projects
- Collect and merge test reports from different packages
Package Boundaries:
- SHOULD contain Vitest configuration files
- SHOULD provide scripts for test report collection and merging
- SHOULD configure testing environments (jsdom, etc.)
- SHOULD NOT contain actual tests (these belong in the consuming projects)
- SHOULD NOT contain application code or business logic
- SHOULD NOT depend on application packages
- SHOULD NOT include project-specific test setup (these belong in the consuming projects)
Available Configurations
The package provides the following configuration presets:
- base: Base configuration for general testing
- ui: Configuration for UI component testing with jsdom
Features
- Jest-compatible API
- Code coverage reporting with Istanbul
- DOM testing environment with jsdom
- Report collection and merging
- HTML report generation
- Optimized for Svelte components
Scripts
The package provides several utility scripts:
- collect-json-reports: Collects JSON coverage reports from all packages
- merge-json-reports: Merges collected reports into a single report
- report: Generates an HTML coverage report
- view-report: Opens the HTML coverage report in a browser
Best Practices
- Extend the appropriate base configuration
- Add project-specific settings in your local vitest.config.ts
- Keep overrides minimal to maintain consistency
- Run the report collection scripts after all tests have completed
