parcel-bundler / lightningcss

An extremely fast CSS parser, transformer, bundler, and minifier written in Rust.
https://lightningcss.dev
Mozilla Public License 2.0
6.5k stars 188 forks source link

No ``lightningcss-linux-arm-musl`` target #563

Closed ferferga closed 3 months ago

ferferga commented 1 year ago

This make all projects that use LightningCSS inside node:18-alpine for the linux/arm platform fail since Alpine doesn't have glibc

devongovett commented 1 year ago

There's https://www.npmjs.com/package/lightningcss-linux-arm64-musl. Are you sure you're on a 32-bit arm?

ferferga commented 1 year ago

@devongovett Check this: https://github.com/jellyfin/jellyfin-vue/actions/runs/5882072278/job/15951827659#step:9:480

As you can see in the attached commits to this PR, switching to node:18 (which uses bookworm instead of Alpine under the hood) fixes the issue, as Alpine doesn't have glibc.

As you can see, linux/arm64 was built perfectly in the CI of my project, it's linux/arm that fails

devongovett commented 1 year ago

It probably just means you need to regenerate your lock file. You can do rm -rf node_modules package-lock.json and then run npm install again to rebuild it.

ferferga commented 1 year ago

@devongovett I already tried, without any luck, but that doesn't change anything as the target doesn't exist.

It's not even listed as a dependency in npm: https://www.npmjs.com/package/lightningcss?activeTab=dependencies

devongovett commented 1 year ago

Is there a strong reason to use 32-bit arm rather than 64?

ferferga commented 1 year ago

@devongovett Personally, none. A bit of context in our situation:

Also, given lightningcss already supports 32-bit arm, I don't see a reason to don't support it completely instead of partially. In my opinion, either: