import { defineConfig } from 'vitest/config'; import { fileURLToPath } from 'node:url'; const p = (rel: string) => fileURLToPath(new URL(rel, import.meta.url)); export default defineConfig({ resolve: { alias: { '@contracts': p('./packages/contracts/src/index.ts'), '@sdk': p('./packages/activity-sdk/src/index.ts'), '@sfeel': p('./packages/sfeel/src/index.ts'), '@ui': p('./packages/ui-kit/src/index.ts'), '@utils': p('./packages/utils/src/index.ts'), // apps/web 内部的两个别名 —— 与 apps/web/vite.config.ts 同口径, // 否则 web 侧测试碰不到挂了这两个前缀的模块(2026-08-26 subscribe.ts 接入票据后踩到) '@web-shared': p('./apps/web/src/shared'), '@features': p('./apps/web/src/features'), '@testing': p('./tools/it-database.ts'), '@modules': p('./apps/api/src/modules'), '@shared': p('./apps/api/src/shared'), }, }, test: { include: ['{apps,packages,activities}/**/__tests__/**/*.test.ts', '{apps,packages}/**/*.test.ts'], testTimeout: 30_000, hookTimeout: 120_000, exclude: ['**/node_modules/**', '**/dist/**'], passWithNoTests: true, environment: 'node', }, });