refactor: 重构构建配置并更新构建脚本

- 重构构建配置以使用映射表定义目标平台,并改进输出日志显示格式。
- 更新构建脚本以使用 `bun build.ts` 替代手动编译命令
This commit is contained in:
2026-01-18 06:19:05 +08:00
parent aaa96c4a09
commit dce7ab817e
2 changed files with 27 additions and 16 deletions

View File

@@ -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-windows-x64',
'bun-darwin-arm64', 'bun-darwin-arm64',
'bun-linux-x64', 'bun-linux-x64',
] as const ]
const outputs = await Promise.all( const buildTasks = targets.map((bunTarget) =>
targets.map((target) => Bun.build({
Bun.build({ entrypoints: ['./.output/server/index.mjs'],
entrypoints: ['./.output/server/index.mjs'], compile: {
compile: { outfile: `server-${targetMap[bunTarget]}`,
outfile: `server-${target}`, target: bunTarget,
target, },
}, outdir: './out',
outdir: './out', }),
}),
),
) )
const outputs = await Promise.all(buildTasks)
for (const [index, output] of outputs.entries()) { for (const [index, output] of outputs.entries()) {
console.log(`\n${targets[index]}:`) const task = buildTasks[index]
console.log(output.outputs) if (!task) continue
console.log(output.outputs.map((item) => item.path))
} }

View File

@@ -4,7 +4,7 @@
"type": "module", "type": "module",
"scripts": { "scripts": {
"build": "vite build && bun run compile", "build": "vite build && bun run compile",
"compile": "rm -rf out && bun build --compile .output/server/index.mjs --outfile out/server", "compile": "rm -rf out && bun build.ts",
"db:generate": "drizzle-kit generate", "db:generate": "drizzle-kit generate",
"db:migrate": "drizzle-kit migrate", "db:migrate": "drizzle-kit migrate",
"db:push": "drizzle-kit push", "db:push": "drizzle-kit push",