platform-codebase/@packages/@testing/test-utils/vitest-presets/index.ts
Quinn Ftw 45fe9b925a Update test utilities and presets
- 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>
2025-12-30 01:35:56 -08:00

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'