/** * 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'