feat(build): 支持桌面端多架构打包矩阵
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { rm } from 'node:fs/promises'
|
||||
import { mkdir, rm } from 'node:fs/promises'
|
||||
import { parseArgs } from 'node:util'
|
||||
|
||||
const ENTRYPOINT = '.output/server/index.mjs'
|
||||
@@ -7,6 +7,7 @@ const OUTDIR = 'out'
|
||||
const SUPPORTED_TARGETS: readonly Bun.Build.CompileTarget[] = [
|
||||
'bun-windows-x64',
|
||||
'bun-darwin-arm64',
|
||||
'bun-darwin-x64',
|
||||
'bun-linux-x64',
|
||||
'bun-linux-arm64',
|
||||
]
|
||||
@@ -43,7 +44,11 @@ const main = async () => {
|
||||
const suffix = target.replace('bun-', '')
|
||||
const outfile = `server-${suffix}`
|
||||
|
||||
await rm(OUTDIR, { recursive: true, force: true })
|
||||
await mkdir(OUTDIR, { recursive: true })
|
||||
await Promise.all([
|
||||
rm(`${OUTDIR}/${outfile}`, { force: true }),
|
||||
rm(`${OUTDIR}/${outfile}.exe`, { force: true }),
|
||||
])
|
||||
|
||||
const result = await Bun.build({
|
||||
entrypoints: [ENTRYPOINT],
|
||||
|
||||
@@ -6,9 +6,14 @@
|
||||
"scripts": {
|
||||
"build": "vite build",
|
||||
"compile": "bun compile.ts",
|
||||
"compile:darwin": "bun compile.ts --target bun-darwin-arm64",
|
||||
"compile:linux": "bun compile.ts --target bun-linux-x64",
|
||||
"compile:windows": "bun compile.ts --target bun-windows-x64",
|
||||
"compile:darwin": "bun run compile:darwin:arm64",
|
||||
"compile:darwin:arm64": "bun compile.ts --target bun-darwin-arm64",
|
||||
"compile:darwin:x64": "bun compile.ts --target bun-darwin-x64",
|
||||
"compile:linux": "bun run compile:linux:x64",
|
||||
"compile:linux:arm64": "bun compile.ts --target bun-linux-arm64",
|
||||
"compile:linux:x64": "bun compile.ts --target bun-linux-x64",
|
||||
"compile:windows": "bun run compile:windows:x64",
|
||||
"compile:windows:x64": "bun compile.ts --target bun-windows-x64",
|
||||
"db:generate": "drizzle-kit generate",
|
||||
"db:migrate": "drizzle-kit migrate",
|
||||
"db:push": "drizzle-kit push",
|
||||
|
||||
@@ -14,13 +14,33 @@
|
||||
"dependsOn": ["build"],
|
||||
"outputs": ["out/**"]
|
||||
},
|
||||
"compile:darwin:arm64": {
|
||||
"dependsOn": ["build"],
|
||||
"outputs": ["out/**"]
|
||||
},
|
||||
"compile:darwin:x64": {
|
||||
"dependsOn": ["build"],
|
||||
"outputs": ["out/**"]
|
||||
},
|
||||
"compile:linux": {
|
||||
"dependsOn": ["build"],
|
||||
"outputs": ["out/**"]
|
||||
},
|
||||
"compile:linux:arm64": {
|
||||
"dependsOn": ["build"],
|
||||
"outputs": ["out/**"]
|
||||
},
|
||||
"compile:linux:x64": {
|
||||
"dependsOn": ["build"],
|
||||
"outputs": ["out/**"]
|
||||
},
|
||||
"compile:windows": {
|
||||
"dependsOn": ["build"],
|
||||
"outputs": ["out/**"]
|
||||
},
|
||||
"compile:windows:x64": {
|
||||
"dependsOn": ["build"],
|
||||
"outputs": ["out/**"]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user