diff --git a/bindings/javascript/Cargo.toml b/bindings/javascript/Cargo.toml index 00603559..4e2bfbc2 100644 --- a/bindings/javascript/Cargo.toml +++ b/bindings/javascript/Cargo.toml @@ -18,7 +18,7 @@ crate-type = ["cdylib"] [target.'cfg(not(any(target_os = "linux", target_family = "wasm")))'.dependencies] mimalloc = "0.1" -[target.'cfg(target_os = "linux")'.dependencies] +[target.'cfg(all(target_os = "linux", not(target_arch = "arm")))'.dependencies] mimalloc = { version = "0.1", features = ["local_dynamic_tls"] } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] diff --git a/bindings/javascript/js-binding.js b/bindings/javascript/js-binding.js index d703c957..a11ce57f 100644 --- a/bindings/javascript/js-binding.js +++ b/bindings/javascript/js-binding.js @@ -224,17 +224,32 @@ switch (platform) { } break case 'arm': - localFileExisted = existsSync( - join(__dirname, 'css-inline.linux-arm-gnueabihf.node') - ) - try { - if (localFileExisted) { - nativeBinding = require('./css-inline.linux-arm-gnueabihf.node') - } else { - nativeBinding = require('@css-inline/css-inline-linux-arm-gnueabihf') + if (isMusl()) { + localFileExisted = existsSync( + join(__dirname, 'css-inline.linux-arm-musleabihf.node') + ) + try { + if (localFileExisted) { + nativeBinding = require('./css-inline.linux-arm-musleabihf.node') + } else { + nativeBinding = require('@css-inline/css-inline-linux-arm-musleabihf') + } + } catch (e) { + loadError = e + } + } else { + localFileExisted = existsSync( + join(__dirname, 'css-inline.linux-arm-gnueabihf.node') + ) + try { + if (localFileExisted) { + nativeBinding = require('./css-inline.linux-arm-gnueabihf.node') + } else { + nativeBinding = require('@css-inline/css-inline-linux-arm-gnueabihf') + } + } catch (e) { + loadError = e } - } catch (e) { - loadError = e } break case 'riscv64': diff --git a/bindings/javascript/src/lib.rs b/bindings/javascript/src/lib.rs index b8d28006..8c1b03e2 100644 --- a/bindings/javascript/src/lib.rs +++ b/bindings/javascript/src/lib.rs @@ -8,6 +8,7 @@ mod options; use options::Options; #[cfg(not(target_family = "wasm"))] +#[cfg(not(all(target_os = "linux", target_arch = "arm")))] #[global_allocator] static ALLOC: mimalloc::MiMalloc = mimalloc::MiMalloc;