44 lines
1.3 KiB
TypeScript
44 lines
1.3 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/optchat.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();
|