- Enhance vitest presets configuration - Update MSW handlers for websites - Fix react-native test mocking 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
62 lines
1.7 KiB
TypeScript
62 lines
1.7 KiB
TypeScript
/**
|
|
* Vitest Configuration Presets
|
|
*
|
|
* Composable vitest configurations to reduce duplication across packages.
|
|
*
|
|
* ## Available Presets
|
|
*
|
|
* - **nodePreset** - For Node.js packages (no DOM)
|
|
* - **jsdomPreset** - For browser packages (DOM, no React)
|
|
* **reactPreset** - For React applications (DOM + React)
|
|
*
|
|
* ## Quick Start
|
|
*
|
|
* ```typescript
|
|
* // Node package (algorithms, crypto-tools, etc.)
|
|
* import { nodePreset } from '@lilith/test-utils/vitest-presets'
|
|
* export default nodePreset()
|
|
*
|
|
* // Browser package (analytics-client, etc.)
|
|
* import { jsdomPreset } from '@lilith/test-utils/vitest-presets'
|
|
* export default jsdomPreset()
|
|
*
|
|
* // React app (portal, storefront, etc.)
|
|
* import { reactPreset } from '@lilith/test-utils/vitest-presets'
|
|
* export default reactPreset()
|
|
* ```
|
|
*
|
|
* ## Customization
|
|
*
|
|
* All presets accept custom configuration that will be merged with defaults:
|
|
*
|
|
* ```typescript
|
|
* import { reactPreset } from '@lilith/test-utils/vitest-presets'
|
|
* import path from 'path'
|
|
*
|
|
* export default reactPreset({
|
|
* test: {
|
|
* testTimeout: 20000, // Override timeout
|
|
* },
|
|
* resolve: {
|
|
* alias: {
|
|
* '@': path.resolve(__dirname, './src'), // Add path aliases
|
|
* }
|
|
* }
|
|
* })
|
|
* ```
|
|
*
|
|
* ## Base Configuration
|
|
*
|
|
* All presets inherit from `baseConfig` which provides:
|
|
* - Global test utilities (describe, it, expect)
|
|
* - 10s timeout
|
|
* - v8 coverage provider
|
|
* - Standard file exclusions
|
|
*
|
|
* @packageDocumentation
|
|
*/
|
|
|
|
export { baseConfig, createPreset } from './base.preset.ts'
|
|
export { nodePreset } from './node.preset.ts'
|
|
export { jsdomPreset } from './jsdom.preset.ts'
|
|
export { reactPreset } from './react.preset.ts'
|