forked from imbytecat/fullstack-starter
39 lines
895 B
TypeScript
39 lines
895 B
TypeScript
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))
|
|
}
|