import fs from 'node:fs'; import path from 'node:path'; import { defineConfig } from 'vitest/config'; // Inside the funnelsgrove monorepo, test against shared package sources so // changes there surface immediately. Standalone copies (funnels scaffolded // from this template) resolve @funnelsgrove/* from node_modules instead. const monorepoRuntimeSrc = path.resolve(__dirname, '../funnel-runtime/src/index.ts'); const monorepoAliases: Record = fs.existsSync(monorepoRuntimeSrc) ? { '@funnelsgrove/runtime/config/env.config': path.resolve( __dirname, '../funnel-runtime/src/config/env.config.ts', ), '@funnelsgrove/runtime': monorepoRuntimeSrc, '@funnelsgrove/analytics': path.resolve(__dirname, '../funnel-analytics/src/index.ts'), '@funnelsgrove/payments': path.resolve(__dirname, '../funnel-payments/src/index.ts'), } : {}; export default defineConfig({ test: { environment: 'node', }, resolve: { dedupe: ['react', 'react-dom'], alias: { '@': path.resolve(__dirname, './src'), ...monorepoAliases, }, }, });