import { createRequire } from "node:module"; import path from "node:path"; import { defineConfig } from "vitest/config"; const rootDir = path.resolve(__dirname); const uiRequire = createRequire(path.resolve(rootDir, "packages/ui/package.json")); const reactDir = path.dirname(uiRequire.resolve("react/package.json")); const reactDomDir = path.dirname(uiRequire.resolve("react-dom/package.json")); export default defineConfig({ root: rootDir, resolve: { alias: [ { find: "@ai-ui/ui", replacement: path.resolve(rootDir, "packages/ui/src/index.ts") }, { find: "@ai-ui/tokens", replacement: path.resolve(rootDir, "packages/tokens/src/index.ts") }, { find: "react/jsx-dev-runtime", replacement: path.resolve(reactDir, "jsx-dev-runtime.js") }, { find: "react/jsx-runtime", replacement: path.resolve(reactDir, "jsx-runtime.js") }, { find: "react-dom/test-utils", replacement: path.resolve(reactDomDir, "test-utils.js") }, { find: "react-dom/client", replacement: path.resolve(reactDomDir, "client.js") }, { find: "react-dom", replacement: reactDomDir }, { find: "react", replacement: reactDir } ] }, test: { clearMocks: true, environment: "jsdom", include: ["packages/ui/src/**/*.test.{ts,tsx}", "scripts/harness/**/*.test.ts"], restoreMocks: true, setupFiles: [path.resolve(rootDir, "packages/ui/src/test/setup.ts")] } });