import { defineConfig } from "vite"; import react from "@vitejs/plugin-react"; import tailwindcss from "@tailwindcss/vite"; import path from "path"; export default defineConfig({ base: "/demo/", resolve: { alias: { "@understand-anything/core/schema": path.resolve(__dirname, "../core/dist/schema.js"), "@understand-anything/core/search": path.resolve(__dirname, "../core/dist/search.js"), "@understand-anything/core/types": path.resolve(__dirname, "../core/dist/types.js"), }, }, define: { "import.meta.env.VITE_DEMO_MODE": JSON.stringify("true"), }, build: { rollupOptions: { output: { manualChunks(id) { if (!id.includes("node_modules")) return; if (/[\\/]node_modules[\\/](react|react-dom|scheduler)[\\/]/.test(id)) { return "react-vendor"; } if (id.includes("node_modules/@xyflow/")) return "xyflow"; if ( id.includes("node_modules/@dagrejs/") || id.includes("node_modules/d3-force/") ) { return "graph-layout"; } if ( id.includes("node_modules/react-markdown/") || id.includes("node_modules/hast-util-to-jsx-runtime/") || /[\\/]node_modules[\\/](remark|rehype|mdast|hast|unist|micromark|decode-named-character-reference|property-information|space-separated-tokens|comma-separated-tokens|html-url-attributes|devlop|bail|ccount|character-entities|is-plain-obj|trim-lines|trough|unified|vfile|zwitch)/.test(id) ) { return "markdown"; } }, }, }, }, plugins: [react(), tailwindcss()], });