From bd4f4db5721c3126db8a22ebfef2e06f6803ea46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=A2=E5=A5=8B=E7=8C=AB?= Date: Wed, 21 Jan 2026 10:06:27 +0800 Subject: [PATCH] fix(build): add Linux musl native dependencies for Alpine support (#12412) * fix(build): add Linux musl native dependencies for Alpine support Add missing native dependencies for Linux musl (Alpine Linux) platform: - @img/sharp-linuxmusl-arm64 and @img/sharp-linuxmusl-x64 - @img/sharp-libvips-linuxmusl-arm64 and @img/sharp-libvips-linuxmusl-x64 - @libsql/linux-arm64-musl and @libsql/linux-x64-musl Co-Authored-By: Claude * fix(build): add support for Linux musl architecture in before-pack script Updated the before-pack.js script to include 'linuxmusl' in the platformToArch mapping, enhancing compatibility for Alpine Linux builds. --------- Co-authored-by: Claude --- package.json | 6 ++++++ pnpm-lock.yaml | 18 ++++++++++++++++++ scripts/before-pack.js | 17 ++++++++++++----- 3 files changed, 36 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index dca729b0d8..6b6caa0007 100644 --- a/package.json +++ b/package.json @@ -481,15 +481,21 @@ "@img/sharp-libvips-darwin-arm64": "1.2.0", "@img/sharp-libvips-darwin-x64": "1.2.0", "@img/sharp-libvips-linux-arm64": "1.2.0", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.0", "@img/sharp-libvips-linux-x64": "1.2.0", + "@img/sharp-libvips-linuxmusl-x64": "1.2.0", "@img/sharp-linux-arm64": "0.34.3", "@img/sharp-linux-x64": "0.34.3", + "@img/sharp-linuxmusl-arm64": "0.34.3", + "@img/sharp-linuxmusl-x64": "0.34.3", "@img/sharp-win32-arm64": "0.34.3", "@img/sharp-win32-x64": "0.34.3", "@libsql/darwin-arm64": "0.4.7", "@libsql/darwin-x64": "0.4.7", "@libsql/linux-arm64-gnu": "0.4.7", "@libsql/linux-x64-gnu": "0.4.7", + "@libsql/linux-arm64-musl": "0.4.7", + "@libsql/linux-x64-musl": "0.4.7", "@libsql/win32-x64-msvc": "0.4.7", "@napi-rs/system-ocr-darwin-arm64": "1.0.2", "@napi-rs/system-ocr-darwin-x64": "1.0.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e3674db8fa..791316e25e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1140,12 +1140,24 @@ importers: '@img/sharp-libvips-linux-x64': specifier: 1.2.0 version: 1.2.0 + '@img/sharp-libvips-linuxmusl-arm64': + specifier: 1.2.0 + version: 1.2.0 + '@img/sharp-libvips-linuxmusl-x64': + specifier: 1.2.0 + version: 1.2.0 '@img/sharp-linux-arm64': specifier: 0.34.3 version: 0.34.3 '@img/sharp-linux-x64': specifier: 0.34.3 version: 0.34.3 + '@img/sharp-linuxmusl-arm64': + specifier: 0.34.3 + version: 0.34.3 + '@img/sharp-linuxmusl-x64': + specifier: 0.34.3 + version: 0.34.3 '@img/sharp-win32-arm64': specifier: 0.34.3 version: 0.34.3 @@ -1161,9 +1173,15 @@ importers: '@libsql/linux-arm64-gnu': specifier: 0.4.7 version: 0.4.7 + '@libsql/linux-arm64-musl': + specifier: 0.4.7 + version: 0.4.7 '@libsql/linux-x64-gnu': specifier: 0.4.7 version: 0.4.7 + '@libsql/linux-x64-musl': + specifier: 0.4.7 + version: 0.4.7 '@libsql/win32-x64-msvc': specifier: 0.4.7 version: 0.4.7 diff --git a/scripts/before-pack.js b/scripts/before-pack.js index 9a5abf743f..dcbcd32009 100644 --- a/scripts/before-pack.js +++ b/scripts/before-pack.js @@ -11,18 +11,24 @@ const workspaceConfigPath = path.join(__dirname, '..', 'pnpm-workspace.yaml') const packages = [ '@img/sharp-darwin-arm64', '@img/sharp-darwin-x64', - '@img/sharp-linux-arm64', - '@img/sharp-linux-x64', - '@img/sharp-win32-arm64', - '@img/sharp-win32-x64', '@img/sharp-libvips-darwin-arm64', '@img/sharp-libvips-darwin-x64', '@img/sharp-libvips-linux-arm64', + '@img/sharp-libvips-linuxmusl-arm64', '@img/sharp-libvips-linux-x64', + '@img/sharp-libvips-linuxmusl-x64', + '@img/sharp-linux-arm64', + '@img/sharp-linux-x64', + '@img/sharp-linuxmusl-arm64', + '@img/sharp-linuxmusl-x64', + '@img/sharp-win32-arm64', + '@img/sharp-win32-x64', '@libsql/darwin-arm64', '@libsql/darwin-x64', '@libsql/linux-arm64-gnu', '@libsql/linux-x64-gnu', + '@libsql/linux-arm64-musl', + '@libsql/linux-x64-musl', '@libsql/win32-x64-msvc', '@napi-rs/system-ocr-darwin-arm64', '@napi-rs/system-ocr-darwin-x64', @@ -34,7 +40,8 @@ const packages = [ const platformToArch = { mac: 'darwin', windows: 'win32', - linux: 'linux' + linux: 'linux', + linuxmusl: 'linuxmusl' } exports.default = async function (context) {