forked from imbytecat/fullstack-starter
refactor: 重构构建配置并更新构建脚本
- 重构构建配置以使用映射表定义目标平台,并改进输出日志显示格式。 - 更新构建脚本以使用 `bun build.ts` 替代手动编译命令
This commit is contained in:
41
build.ts
41
build.ts
@@ -1,23 +1,34 @@
|
||||
const targets = [
|
||||
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',
|
||||
] as const
|
||||
]
|
||||
|
||||
const outputs = await Promise.all(
|
||||
targets.map((target) =>
|
||||
Bun.build({
|
||||
entrypoints: ['./.output/server/index.mjs'],
|
||||
compile: {
|
||||
outfile: `server-${target}`,
|
||||
target,
|
||||
},
|
||||
outdir: './out',
|
||||
}),
|
||||
),
|
||||
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()) {
|
||||
console.log(`\n${targets[index]}:`)
|
||||
console.log(output.outputs)
|
||||
const task = buildTasks[index]
|
||||
if (!task) continue
|
||||
console.log(output.outputs.map((item) => item.path))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user