-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
Merge all native Rust modules into one package #9146
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't really have a grasp on all the allocator/WASM related changes, but the other bits seem pretty good to me - with one comment where I noticed oxipng
was an older version that I bumped to very recently, so the branch likely needs to be refreshed.
crates/node-bindings/Cargo.toml
Outdated
|
||
[target.'cfg(not(target_arch = "wasm32"))'.dependencies] | ||
parcel-dev-dep-resolver = { path = "../../packages/utils/dev-dep-resolver" } | ||
oxipng = "6.0.0" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I recently bumped oxipng
to 8.0.0
to resolve a compilation issue on one of the architectures - have you rebased recently on the latest v2
changes?
# Conflicts: # packages/core/core/src/Parcel.js # packages/core/core/src/requests/AssetGraphRequest.js # packages/packagers/js/src/index.js
Benchmark ResultsKitchen Sink ✅
Timings
Cold Bundles
Cached Bundles
React HackerNews ✅
Timings
Cold Bundles
Cached Bundles
AtlasKit Editor ✅
Timings
Cold Bundles
Cached Bundles
Three.js ✅
Timings
Cold Bundles
Cached BundlesNo bundle changes detected. |
This merges all of our native Rust modules into a single package,
@parcel/rust
(name TBD). Rather than publishing separate packages to npm, each with a separate binary (per platform), this will combine all of them together into one binary. That way the binary size should be reduced due to avoiding duplicate Rust crates, and we can simplify our publishing step once we start publishing each platform as its own package to reduce install size. It will also enable future things such as sharing a Rust thread pool between different modules.For WASM this also unifies all of our packages around
napi-wasm
, which means we don't need a separate wasm-bindgen backend.To do