mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-26 18:42:49 +00:00
44 lines
1.4 KiB
TypeScript
44 lines
1.4 KiB
TypeScript
import path from "node:path";
|
|
import { fileURLToPath } from "node:url";
|
|
|
|
import { loadEnv } from "vite";
|
|
import { defineConfig } from "vitest/config";
|
|
import react from "@vitejs/plugin-react";
|
|
import tailwindcss from "@tailwindcss/vite";
|
|
|
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
|
|
// Pin Mantine to this app's copy. pnpm can install a second @mantine/core under
|
|
// @edr/ui-common (linked to react@18) while the portal uses react@19 — dedupe
|
|
// alone does not merge those into one module in production builds.
|
|
const mantineCore = path.resolve(__dirname, "node_modules/@mantine/core");
|
|
const mantineHooks = path.resolve(__dirname, "node_modules/@mantine/hooks");
|
|
|
|
export default defineConfig(({ mode }) => {
|
|
const env = loadEnv(mode, __dirname, "");
|
|
|
|
return {
|
|
plugins: [react(), tailwindcss()],
|
|
resolve: {
|
|
alias: {
|
|
"@": path.resolve(__dirname, "./src"),
|
|
// Resolve from TS source so Vite gets ESM named exports (dist is CommonJS).
|
|
"@edr/types": path.resolve(__dirname, "../../../packages/types/src/index.ts"),
|
|
"@mantine/core": mantineCore,
|
|
"@mantine/hooks": mantineHooks,
|
|
},
|
|
dedupe: ["react", "react-dom", "@mantine/core", "@mantine/hooks"],
|
|
},
|
|
optimizeDeps: {
|
|
include: ["@mantine/core", "@mantine/hooks", "@edr/ui-common"],
|
|
},
|
|
server: {
|
|
port: Number(env.PORT) || 5273,
|
|
host: "0.0.0.0",
|
|
},
|
|
test: {
|
|
environment: "node",
|
|
},
|
|
};
|
|
});
|