From 0e11f7f647ffee0a1073d4cf6a8245382eaa8aa5 Mon Sep 17 00:00:00 2001 From: Tw93 Date: Tue, 26 Aug 2025 19:38:02 +0800 Subject: [PATCH] :bug: Fix packaging issues under Windows --- bin/builders/WinBuilder.ts | 7 ++++++- dist/cli.js | 24 ++++++++++++++++-------- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/bin/builders/WinBuilder.ts b/bin/builders/WinBuilder.ts index a9193ab..a7c0eaa 100644 --- a/bin/builders/WinBuilder.ts +++ b/bin/builders/WinBuilder.ts @@ -9,7 +9,12 @@ export default class WinBuilder extends BaseBuilder { constructor(options: PakeAppOptions) { super(options); - this.buildArch = this.resolveTargetArch(options.targets); + // For Windows, targets can be architecture names or format names + // Filter out non-architecture values + const validArchs = ['x64', 'arm64', 'auto']; + this.buildArch = validArchs.includes(options.targets || '') + ? this.resolveTargetArch(options.targets) + : this.resolveTargetArch('auto'); this.options.targets = this.buildFormat; } diff --git a/dist/cli.js b/dist/cli.js index c885a17..f5d9816 100755 --- a/dist/cli.js +++ b/dist/cli.js @@ -804,22 +804,22 @@ BaseBuilder.ARCH_MAPPINGS = { darwin: { arm64: 'aarch64-apple-darwin', x64: 'x86_64-apple-darwin', - universal: 'universal-apple-darwin' + universal: 'universal-apple-darwin', }, win32: { arm64: 'aarch64-pc-windows-msvc', - x64: 'x86_64-pc-windows-msvc' + x64: 'x86_64-pc-windows-msvc', }, linux: { arm64: 'aarch64-unknown-linux-gnu', - x64: 'x86_64-unknown-linux-gnu' - } + x64: 'x86_64-unknown-linux-gnu', + }, }; // 架构名称映射(用于文件名生成) BaseBuilder.ARCH_DISPLAY_NAMES = { arm64: 'aarch64', x64: 'x64', - universal: 'universal' + universal: 'universal', }; class MacBuilder extends BaseBuilder { @@ -829,7 +829,9 @@ class MacBuilder extends BaseBuilder { // For macOS, targets can be architecture names or format names // Filter out non-architecture values const validArchs = ['intel', 'apple', 'universal', 'auto', 'x64', 'arm64']; - this.buildArch = validArchs.includes(options.targets || '') ? options.targets : 'auto'; + this.buildArch = validArchs.includes(options.targets || '') + ? options.targets + : 'auto'; // Use DMG by default for distribution // Only create app bundles for testing to avoid user interaction if (process.env.PAKE_CREATE_APP === '1') { @@ -903,7 +905,12 @@ class WinBuilder extends BaseBuilder { constructor(options) { super(options); this.buildFormat = 'msi'; - this.buildArch = this.resolveTargetArch(options.targets); + // For Windows, targets can be architecture names or format names + // Filter out non-architecture values + const validArchs = ['x64', 'arm64', 'auto']; + this.buildArch = validArchs.includes(options.targets || '') + ? this.resolveTargetArch(options.targets) + : this.resolveTargetArch('auto'); this.options.targets = this.buildFormat; } getFileName() { @@ -961,7 +968,8 @@ class LinuxBuilder extends BaseBuilder { // Auto-detect or default to current architecture const resolvedArch = this.buildArch === 'x64' ? 'amd64' : this.buildArch; arch = resolvedArch; - if (resolvedArch === 'arm64' && (targets === 'rpm' || targets === 'appimage')) { + if (resolvedArch === 'arm64' && + (targets === 'rpm' || targets === 'appimage')) { arch = 'aarch64'; } }