diff --git a/apps/server/build.ts b/apps/server/build.ts index dace663..f8630dc 100644 --- a/apps/server/build.ts +++ b/apps/server/build.ts @@ -6,14 +6,6 @@ import { Console, Context, Data, Effect, Layer } from 'effect' // Domain Models & Schema // ============================================================================ -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 - const BunTargetSchema = Schema.Literal( 'bun-windows-x64', 'bun-darwin-arm64', @@ -22,11 +14,19 @@ const BunTargetSchema = Schema.Literal( 'bun-linux-arm64', ) +/** + * 将 bun target 转换为文件后缀 (去掉 'bun-' 前缀) + */ +const getTargetSuffix = (target: BunTarget): string => { + return target.replace('bun-', '') +} + type BunTarget = Schema.Schema.Type const BuildConfigSchema = Schema.Struct({ entrypoint: Schema.String.pipe(Schema.nonEmptyString()), outputDir: Schema.String.pipe(Schema.nonEmptyString()), + outfilePrefix: Schema.String.pipe(Schema.nonEmptyString()), targets: Schema.Array(BunTargetSchema).pipe(Schema.minItems(1)), }) @@ -94,10 +94,10 @@ class BuildConfigService extends Context.Tag('BuildConfigService')< BuildConfigService, BuildConfigService.fromRaw({ entrypoint: '.output/server/index.mjs', - // outputDir: 'out', - outputDir: 'src-tauri/binaries', + outputDir: 'out', + outfilePrefix: 'server', targets: ['bun-windows-x64', 'bun-darwin-arm64', 'bun-linux-x64'], - }), + } satisfies BuildConfig), ) } @@ -150,7 +150,7 @@ class BuildService extends Context.Tag('BuildService')< Bun.build({ entrypoints: [config.entrypoint], compile: { - outfile: `app-${targetMap[target]}`, + outfile: `${config.outfilePrefix}-${getTargetSuffix(target)}`, target: target, }, outdir: config.outputDir, @@ -181,7 +181,7 @@ class BuildService extends Context.Tag('BuildService')< Bun.build({ entrypoints: [config.entrypoint], compile: { - outfile: `app-${targetMap[target]}`, + outfile: `${config.outfilePrefix}-${getTargetSuffix(target)}`, target: target, }, outdir: config.outputDir, diff --git a/apps/server/turbo.json b/apps/server/turbo.json index 72604ca..048910a 100644 --- a/apps/server/turbo.json +++ b/apps/server/turbo.json @@ -2,26 +2,9 @@ "$schema": "../../node_modules/turbo/schema.json", "extends": ["//"], "tasks": { - "build:compile": { - "dependsOn": ["build:vite"], - "outputs": ["out/**", "src-tauri/binaries/**"] - }, - "build:tauri": { - "dependsOn": ["build:compile"], - "outputs": ["src-tauri/target/release/bundle/**"] - }, - "build:vite": { - "outputs": [".output/**"] - }, - "dev:tauri": { - "cache": false, - "dependsOn": ["build:compile"], - "persistent": true, - "with": ["dev:vite"] - }, - "dev:vite": { - "cache": false, - "persistent": true + "compile": { + "dependsOn": ["build"], + "outputs": ["out/**"] } } }