From f16e2442655143733c240ec2f5645c687c9ef6f9 Mon Sep 17 00:00:00 2001 From: Shantur Rathore Date: Thu, 27 Nov 2025 20:25:04 +0000 Subject: [PATCH] Handle rollup platform binaries in prebuild --- packages/tauri-app/scripts/prebuild.js | 28 ++++++++++++++------------ 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/packages/tauri-app/scripts/prebuild.js b/packages/tauri-app/scripts/prebuild.js index 331be087..4fac5f69 100644 --- a/packages/tauri-app/scripts/prebuild.js +++ b/packages/tauri-app/scripts/prebuild.js @@ -115,18 +115,22 @@ function ensureUiDevDependencies() { } function ensureRollupPlatformBinary() { - if (process.platform !== "linux" || process.arch !== "x64") { + const platformKey = `${process.platform}-${process.arch}` + const platformPackages = { + "linux-x64": "@rollup/rollup-linux-x64-gnu", + "linux-arm64": "@rollup/rollup-linux-arm64-gnu", + "darwin-arm64": "@rollup/rollup-darwin-arm64", + "darwin-x64": "@rollup/rollup-darwin-x64", + "win32-x64": "@rollup/rollup-win32-x64-msvc", + } + + const pkgName = platformPackages[platformKey] + if (!pkgName) { return } - const rollupLinuxPath = path.join( - workspaceRoot, - "node_modules", - "@rollup", - "rollup-linux-x64-gnu", - ) - - if (fs.existsSync(rollupLinuxPath)) { + const platformPackagePath = path.join(workspaceRoot, "node_modules", "@rollup", pkgName.split("/").pop()) + if (fs.existsSync(platformPackagePath)) { return } @@ -137,11 +141,9 @@ function ensureRollupPlatformBinary() { // leave version empty; fallback install will use latest compatible } - const packageSpec = rollupVersion - ? `@rollup/rollup-linux-x64-gnu@${rollupVersion}` - : "@rollup/rollup-linux-x64-gnu" + const packageSpec = rollupVersion ? `${pkgName}@${rollupVersion}` : pkgName - console.log("[prebuild] installing rollup linux binary (optional dep workaround)...") + console.log("[prebuild] installing rollup platform binary (optional dep workaround)...") execSync(`npm install ${packageSpec} --no-save --ignore-scripts --fund=false --audit=false`, { cwd: workspaceRoot, stdio: "inherit",