import { $ } from 'bun' await $`rm -rf ./out` const targetMap = { 'bun-windows-x64': 'x86_64-pc-windows-msvc', 'bun-darwin-arm64': 'aarch64-apple-darwin', 'bun-darwin-x64': 'x86_64-apple-darwin', 'bun-linux-x64': 'x86_64-unknown-linux-gnu', 'bun-linux-arm64': 'aarch64-unknown-linux-gnu', } as const type BunTarget = keyof typeof targetMap const targets: BunTarget[] = [ 'bun-windows-x64', 'bun-darwin-arm64', 'bun-linux-x64', ] const buildTasks = targets.map((bunTarget) => Bun.build({ entrypoints: ['./.output/server/index.mjs'], compile: { outfile: `server-${targetMap[bunTarget]}`, target: bunTarget, }, outdir: './out', }), ) const outputs = await Promise.all(buildTasks) for (const [index, output] of outputs.entries()) { const task = buildTasks[index] if (!task) continue console.log(output.outputs.map((item) => item.path)) }