mirror of
https://github.com/multica-ai/multica.git
synced 2026-07-25 20:15:37 +02:00
Packaged renderer was bundling two copies of @tanstack/react-query because apps/desktop imported it without declaring the dep, so Node resolution fell through to the hoisted root variant (react@19.2.0, pulled in by apps/mobile), while packages/core resolved to the catalog variant (react@19.2.3). Two physical paths → two QueryClientContexts → "No QueryClient set" white screen on launch. - Declare @tanstack/react-query, lucide-react, zustand as direct deps via catalog: so apps/desktop resolves to the same peer variant as packages/core/views. - Add @tanstack/react-query to renderer dedupe as a defense-in-depth bound against future peer drift. Verified: realpaths under apps/desktop, packages/core, packages/views all point to @tanstack+react-query@5.96.2_react@19.2.3; production renderer bundle now contains exactly one "use QueryClientProvider to set one" string (was 2) and no useQueryClient\$1 suffix. Co-authored-by: multica-agent <github@multica.ai>
30 lines
876 B
TypeScript
30 lines
876 B
TypeScript
import { resolve } from "path";
|
|
import { defineConfig, externalizeDepsPlugin } from "electron-vite";
|
|
import react from "@vitejs/plugin-react";
|
|
import tailwindcss from "@tailwindcss/vite";
|
|
|
|
export default defineConfig({
|
|
main: {
|
|
plugins: [externalizeDepsPlugin()],
|
|
},
|
|
preload: {
|
|
plugins: [externalizeDepsPlugin()],
|
|
},
|
|
renderer: {
|
|
server: {
|
|
// Allow parallel worktrees to run `pnpm dev:desktop` side-by-side
|
|
// (e.g. Multica Canary alongside a primary checkout) by overriding
|
|
// the renderer port via env. Falls back to 5173 for the common case.
|
|
port: Number(process.env.DESKTOP_RENDERER_PORT) || 5173,
|
|
strictPort: true,
|
|
},
|
|
plugins: [react(), tailwindcss()],
|
|
resolve: {
|
|
alias: {
|
|
"@": resolve("src/renderer/src"),
|
|
},
|
|
dedupe: ["react", "react-dom", "@tanstack/react-query"],
|
|
},
|
|
},
|
|
});
|