Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

@parcel/rust package should only install binaries for the host platform #9642

Closed
broofa opened this issue Apr 14, 2024 · 3 comments
Closed
Labels
Stale Inactive issues

Comments

@broofa
Copy link

broofa commented Apr 14, 2024

Problem

@parcel/rust is installing binaries for all supported platforms, on every platform. This bloats the install footbrint by 165-169MB.

Current Behavior

For example, with a fresh install (new, empty directory):
CleanShot 2024-04-14 at 09 30 03@2x

Desired Behavior

parcel should only install the one binary needed for the current host os/cpu architecture.

I know this is a non-trivial problem, but other projects seem to have solved this. E.g. esbuild ships it's binaries as separate optionalDependencies and relies on the package manager to decide which one to install. (It's worth noting that they had considerable discussion on this topic before settling on this solution.)

@mischnic
Copy link
Member

Yes, we definitely want this. It's just that somebody need to implement it.

https://github.com/parcel-bundler/lightningcss has this approach as well, and that seems to work well.

Previous discussion: #6483

@devongovett
Copy link
Member

and that seems to work well

...mostly. There are some issues with package managers not installing any of the optional dependencies sometimes.

Copy link

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 14 days if no further activity occurs.

@github-actions github-actions bot added the Stale Inactive issues label Oct 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Stale Inactive issues
Projects
None yet
Development

No branches or pull requests

3 participants