| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- import { defineConfig } from "electron-vite"
- import appPlugin from "@opencode-ai/app/vite"
- import * as fs from "node:fs/promises"
- const channel = (() => {
- const raw = process.env.OPENCODE_CHANNEL
- if (raw === "dev" || raw === "beta" || raw === "prod") return raw
- return "dev"
- })()
- const OPENCODE_SERVER_DIST = "../opencode/dist/node"
- const nodePtyPkg = `@lydell/node-pty-${process.platform}-${process.arch}`
- export default defineConfig({
- main: {
- define: {
- "import.meta.env.OPENCODE_CHANNEL": JSON.stringify(channel),
- },
- build: {
- rollupOptions: {
- input: { index: "src/main/index.ts" },
- },
- externalizeDeps: { include: [nodePtyPkg] },
- },
- plugins: [
- {
- name: "opencode:node-pty-narrower",
- enforce: "pre",
- resolveId(s) {
- if (s === "@lydell/node-pty") return nodePtyPkg
- },
- },
- {
- name: "opencode:virtual-server-module",
- enforce: "pre",
- resolveId(id) {
- if (id === "virtual:opencode-server") return this.resolve(`${OPENCODE_SERVER_DIST}/node.js`)
- },
- },
- {
- name: "opencode:copy-server-assets",
- async writeBundle() {
- for (const l of await fs.readdir(OPENCODE_SERVER_DIST)) {
- if (!l.endsWith(".wasm")) continue
- await fs.writeFile(`./out/main/chunks/${l}`, await fs.readFile(`${OPENCODE_SERVER_DIST}/${l}`))
- }
- },
- },
- ],
- },
- preload: {
- build: {
- rollupOptions: {
- input: { index: "src/preload/index.ts" },
- },
- },
- },
- renderer: {
- plugins: [appPlugin],
- publicDir: "../../../app/public",
- root: "src/renderer",
- define: {
- "import.meta.env.VITE_OPENCODE_CHANNEL": JSON.stringify(channel),
- },
- build: {
- rollupOptions: {
- input: {
- main: "src/renderer/index.html",
- loading: "src/renderer/loading.html",
- },
- },
- },
- },
- })
|