diff --git a/.gitignore b/.gitignore index 16f34a19..480a728f 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ dist-standalone/ out/ release/ coverage/ +electron.vite.config.*.mjs # Runtime release artifacts are downloaded during dev/release builds. # Keep only the placeholder directory in git. diff --git a/electron.vite.config.1779130085645.mjs b/electron.vite.config.1779130085645.mjs deleted file mode 100644 index 98f673fd..00000000 --- a/electron.vite.config.1779130085645.mjs +++ /dev/null @@ -1,166 +0,0 @@ -// electron.vite.config.ts -import { defineConfig } from "electron-vite"; -import { sentryVitePlugin } from "@sentry/vite-plugin"; -import react from "@vitejs/plugin-react"; -import { readFileSync } from "fs"; -import { resolve } from "path"; -var __electron_vite_injected_dirname = "/Users/belief/dev/projects/claude/claude_team"; -var pkg = JSON.parse(readFileSync(resolve(__electron_vite_injected_dirname, "package.json"), "utf-8")); -var prodDeps = Object.keys(pkg.dependencies || {}); -var runtimeExternalDeps = /* @__PURE__ */ new Set([ - "node-pty", - "agent-teams-controller", - "fastify", - "@fastify/cors", - "@fastify/static" -]); -var bundledDeps = prodDeps.filter((d) => !runtimeExternalDeps.has(d)); -function nativeModuleStub() { - const STUB_ID = "\0native-stub"; - const NODE_MODULE_RE = /\.node(?:\?.*)?$/; - return { - name: "native-module-stub", - enforce: "pre", - resolveId(source) { - if (NODE_MODULE_RE.test(source)) return `${STUB_ID}:${source}`; - return null; - }, - load(id) { - if (id.startsWith(STUB_ID) || NODE_MODULE_RE.test(id)) return "export default {}"; - return null; - } - }; -} -var sentrySourceMapTargets = { - main: { - assets: ["./dist-electron/main/**/*.{js,cjs,mjs,map}"], - filesToDeleteAfterUpload: ["./dist-electron/main/**/*.map"] - }, - renderer: { - assets: ["./out/renderer/**/*.{js,cjs,mjs,map}"], - filesToDeleteAfterUpload: ["./out/renderer/**/*.map"] - } -}; -function createSentryPlugins(target) { - if (!process.env.SENTRY_AUTH_TOKEN) return []; - return [ - sentryVitePlugin({ - org: process.env.SENTRY_ORG ?? "quant-jump-pro", - project: process.env.SENTRY_PROJECT ?? "electron", - authToken: process.env.SENTRY_AUTH_TOKEN, - telemetry: false, - release: { name: `agent-teams-ai@${pkg.version}` }, - sourcemaps: sentrySourceMapTargets[target] - }) - ]; -} -var electron_vite_config_default = defineConfig({ - main: { - plugins: [ - nativeModuleStub(), - ...createSentryPlugins("main") - ], - define: { - __APP_VERSION__: JSON.stringify(pkg.version), - // Inject DSN at compile time - process.env.SENTRY_DSN is NOT available - // at runtime in packaged Electron apps (only during CI build). - "process.env.SENTRY_DSN": JSON.stringify(process.env.SENTRY_DSN ?? "") - }, - resolve: { - alias: { - "@features": resolve(__electron_vite_injected_dirname, "src/features"), - "@main": resolve(__electron_vite_injected_dirname, "src/main"), - "@shared": resolve(__electron_vite_injected_dirname, "src/shared"), - "@preload": resolve(__electron_vite_injected_dirname, "src/preload") - } - }, - build: { - externalizeDeps: { - exclude: bundledDeps - }, - commonjsOptions: { - strictRequires: [/node_modules\/.*ssh2\//] - }, - sourcemap: "hidden", - outDir: "dist-electron/main", - rollupOptions: { - input: { - index: resolve(__electron_vite_injected_dirname, "src/main/index.ts"), - "team-fs-worker": resolve(__electron_vite_injected_dirname, "src/main/workers/team-fs-worker.ts"), - "task-change-worker": resolve(__electron_vite_injected_dirname, "src/main/workers/task-change-worker.ts"), - "team-data-worker": resolve(__electron_vite_injected_dirname, "src/main/workers/team-data-worker.ts") - }, - output: { - // CJS format so bundled deps can use __dirname/require. - // Use .cjs extension since package.json has "type": "module". - format: "cjs", - entryFileNames: "[name].cjs", - // Set UV_THREADPOOL_SIZE before any module code runs. - // Must be in the banner because ESM→CJS hoists imports above top-level code. - // On Windows, fs.watch({recursive:true}) occupies a UV pool thread per watcher; - // with 3+ watchers + concurrent fs/DNS/spawn, the default 4 threads deadlock. - banner: `if(!process.env.UV_THREADPOOL_SIZE){process.env.UV_THREADPOOL_SIZE='24'}` - } - } - } - }, - preload: { - resolve: { - alias: { - "@features": resolve(__electron_vite_injected_dirname, "src/features"), - "@preload": resolve(__electron_vite_injected_dirname, "src/preload"), - "@shared": resolve(__electron_vite_injected_dirname, "src/shared"), - "@main": resolve(__electron_vite_injected_dirname, "src/main") - } - }, - build: { - outDir: "dist-electron/preload", - rollupOptions: { - input: { - index: resolve(__electron_vite_injected_dirname, "src/preload/index.ts") - }, - output: { - format: "cjs", - entryFileNames: "[name].js" - } - } - } - }, - renderer: { - cacheDir: resolve(__electron_vite_injected_dirname, "node_modules/.vite/electron-renderer"), - optimizeDeps: { - include: ["@codemirror/language-data"], - exclude: ["@claude-teams/agent-graph"] - }, - define: { - __APP_VERSION__: JSON.stringify(pkg.version), - // Pass SENTRY_DSN to renderer as VITE_SENTRY_DSN (Vite replaces at compile time) - "import.meta.env.VITE_SENTRY_DSN": JSON.stringify(process.env.SENTRY_DSN ?? "") - }, - resolve: { - alias: { - "@features": resolve(__electron_vite_injected_dirname, "src/features"), - "@renderer": resolve(__electron_vite_injected_dirname, "src/renderer"), - "@shared": resolve(__electron_vite_injected_dirname, "src/shared"), - "@main": resolve(__electron_vite_injected_dirname, "src/main"), - "@radix-ui/react-compose-refs": resolve( - __electron_vite_injected_dirname, - "src/renderer/vendor/radixComposeRefs.ts" - ), - "@claude-teams/agent-graph": resolve(__electron_vite_injected_dirname, "packages/agent-graph/src/index.ts") - } - }, - plugins: [react(), ...createSentryPlugins("renderer")], - build: { - sourcemap: "hidden", - rollupOptions: { - input: { - index: resolve(__electron_vite_injected_dirname, "src/renderer/index.html") - } - } - } - } -}); -export { - electron_vite_config_default as default -};