Files
stanp-opencode/scripts/build.ts
2026-10-10 13:17:48 +02:00

43 lines
1.2 KiB
TypeScript

import solidPlugin from "@opentui/solid/bun-plugin";
import { rm } from "node:fs/promises";
export async function build() {
for (const file of ["index.js", "index.d.ts", "playwright.d.ts"])
await rm(`dist/${file}`, { force: true });
const results = await Promise.all([
Bun.build({
entrypoints: [
"src/agents.ts",
"src/multi-work.ts",
"src/quota-plugin.ts",
"src/quota-rpc.ts",
],
outdir: "dist",
target: "bun",
format: "esm",
}),
Bun.build({
entrypoints: ["scripts/install.ts"],
outdir: "dist",
target: "bun",
format: "esm",
}),
Bun.build({
entrypoints: ["src/tui.tsx"],
outdir: "dist",
target: "bun",
format: "esm",
external: ["@opencode/plugin/tui", "@opentui/solid", "solid-js"],
plugins: [solidPlugin],
}),
]);
for (const result of results) {
if (result.success) continue;
for (const log of result.logs) console.error(log);
throw new Error("Build failed");
}
}
if (import.meta.main) await build();