36 lines
955 B
TypeScript
36 lines
955 B
TypeScript
/**
|
|
* build — orchestrates the wow-pi bundle build.
|
|
*
|
|
* Usage:
|
|
* bun scripts/build.ts # default: debug
|
|
* bun scripts/build.ts --target release
|
|
*/
|
|
|
|
import arg from "arg";
|
|
|
|
async function main(): Promise<void> {
|
|
const args = arg({ "--target": String }, { argv: process.argv.slice(2) });
|
|
|
|
const target = args["--target"] || "debug";
|
|
if (target !== "debug" && target !== "release") {
|
|
console.error(`[build] unknown target: ${target} (use debug or release)`);
|
|
process.exit(1);
|
|
}
|
|
|
|
const buildScript = `build:${target}`;
|
|
console.log(`[build] building extension bundle (${target})...`);
|
|
const build =
|
|
await Bun.$`bun run --cwd packages/wow-pi ${buildScript}`.quiet();
|
|
if (build.exitCode !== 0) {
|
|
console.error(build.stderr?.toString() || "build failed");
|
|
process.exit(1);
|
|
}
|
|
|
|
console.log("[build] done");
|
|
}
|
|
|
|
main().catch((err) => {
|
|
console.error("[build] failed:", err);
|
|
process.exit(1);
|
|
});
|