Some checks failed
Release Binaries / release (push) Has been cancelled
Features: - Binary-Free Mode: No OpenCode binary required - NomadArch Native mode with free Zen models - Native session management - Provider routing (Zen, Qwen, Z.AI) - Fixed MCP connection with explicit connectAll() - Updated installers and launchers for all platforms - UI binary selector with Native option Free Models Available: - GPT-5 Nano (400K context) - Grok Code Fast 1 (256K context) - GLM-4.7 (205K context) - Doubao Seed Code (256K context) - Big Pickle (200K context)
73 lines
1.7 KiB
TypeScript
73 lines
1.7 KiB
TypeScript
import { defineConfig, externalizeDepsPlugin } from "electron-vite"
|
|
import solid from "vite-plugin-solid"
|
|
import { resolve } from "path"
|
|
|
|
const uiRoot = resolve(__dirname, "../ui")
|
|
const uiSrc = resolve(uiRoot, "src")
|
|
const uiRendererRoot = resolve(uiRoot, "src/renderer")
|
|
const uiRendererEntry = resolve(uiRendererRoot, "index.html")
|
|
const uiRendererLoadingEntry = resolve(uiRendererRoot, "loading.html")
|
|
|
|
export default defineConfig({
|
|
main: {
|
|
plugins: [externalizeDepsPlugin()],
|
|
build: {
|
|
outDir: "dist/main",
|
|
lib: {
|
|
entry: resolve(__dirname, "electron/main/main.ts"),
|
|
},
|
|
rollupOptions: {
|
|
external: ["electron"],
|
|
},
|
|
},
|
|
},
|
|
preload: {
|
|
plugins: [externalizeDepsPlugin()],
|
|
build: {
|
|
outDir: "dist/preload",
|
|
lib: {
|
|
entry: resolve(__dirname, "electron/preload/index.cjs"),
|
|
formats: ["cjs"],
|
|
fileName: () => "index.js",
|
|
},
|
|
rollupOptions: {
|
|
external: ["electron"],
|
|
output: {
|
|
entryFileNames: "index.js",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
renderer: {
|
|
root: uiRendererRoot,
|
|
plugins: [solid()],
|
|
css: {
|
|
postcss: resolve(uiRoot, "postcss.config.js"),
|
|
},
|
|
resolve: {
|
|
alias: {
|
|
"@": uiSrc,
|
|
},
|
|
},
|
|
server: {
|
|
port: 3000,
|
|
},
|
|
build: {
|
|
minify: false,
|
|
cssMinify: false,
|
|
sourcemap: true,
|
|
outDir: resolve(__dirname, "dist/renderer"),
|
|
rollupOptions: {
|
|
input: {
|
|
main: uiRendererEntry,
|
|
loading: uiRendererLoadingEntry,
|
|
},
|
|
output: {
|
|
compact: false,
|
|
minifyInternalExports: false,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
})
|