import { build } from "esbuild"; import { join, resolve } from "node:path"; import { buildExtensionFromConfig } from "../tools/buildExtension"; const args = process.argv.slice(2); const flag = args.indexOf("--config"); const configPath = flag >= 0 ? args[flag + 1] : undefined; const outdir = args.find((a, i) => !a.startsWith("--") && !(flag >= 0 && i === flag + 1)) ?? resolve(process.cwd(), "dist"); if (outdir === "") { console.error("build: the output folder must not be empty"); process.exit(2); } await build({ entryPoints: { preflight: resolve(import.meta.dirname, "../tools/preflightCli.ts") }, outdir, outExtension: { ".js": ".mjs" }, bundle: true, platform: "node", target: "node22", format: "esm", logLevel: "warning", }); if (configPath !== undefined) { try { buildExtensionFromConfig(configPath, join(outdir, "extension")); } catch (err) { console.error((err as Error).message); process.exit(1); } } console.log(`built into ${outdir}`);