- 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>
54 lines
1.4 KiB
TypeScript
54 lines
1.4 KiB
TypeScript
import type { UserConfig } from 'vite'
|
|
import { createPreset } from './base.preset.ts'
|
|
|
|
/**
|
|
* Vitest preset for Node.js packages
|
|
*
|
|
* Configures tests to run in Node environment without DOM APIs.
|
|
* Suitable for backend utilities, algorithms, business logic packages.
|
|
*
|
|
* **Default Configuration:**
|
|
* - Environment: Node.js (no DOM)
|
|
* - Test files: `src/**\/*.{test,spec}.ts`
|
|
* - Globals: enabled (describe, it, expect available without import)
|
|
* - Timeout: 10s
|
|
* - Coverage: v8 provider with text/json/html reports
|
|
*
|
|
* @example Basic usage
|
|
* ```typescript
|
|
* // vitest.config.ts
|
|
* import { nodePreset } from '@lilith/test-utils/vitest-presets'
|
|
*
|
|
* export default nodePreset()
|
|
* ```
|
|
*
|
|
* @example With custom timeout
|
|
* ```typescript
|
|
* export default nodePreset({
|
|
* test: {
|
|
* testTimeout: 20000, // 20s for slow tests
|
|
* }
|
|
* })
|
|
* ```
|
|
*
|
|
* @example With custom include patterns
|
|
* ```typescript
|
|
* export default nodePreset({
|
|
* test: {
|
|
* include: ['tests/**\/*.test.ts'], // Different test directory
|
|
* }
|
|
* })
|
|
* ```
|
|
*
|
|
* **Use Cases:**
|
|
* - `@packages/algorithms` - Pure computation, no DOM
|
|
* - `@packages/crypto-tools` - Node crypto APIs
|
|
* - `@packages/business-logic` - Business rules, no UI
|
|
* - Backend utility packages
|
|
*/
|
|
export const nodePreset = createPreset({
|
|
test: {
|
|
environment: 'node',
|
|
include: ['src/**/*.test.ts', 'src/**/*.spec.ts'],
|
|
},
|
|
} as UserConfig)
|