57 lines
1.5 KiB
TypeScript
57 lines
1.5 KiB
TypeScript
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}"],
|
|
restoreMocks: true,
|
|
setupFiles: [path.resolve(rootDir, "packages/ui/src/test/setup.ts")]
|
|
}
|
|
});
|