Stream: jco

Topic: Updating `ComponentizeJS` deps


view this post on Zulip QuantumSegfault (Apr 21 2026 at 06:50):

So I've found out that ComponentizeJS uses a older version of many dependencies than jco. To the point where in some cases, jco will be able to produce bindings for WIT that componentize-js will subsequently refuse. This is mainly about numbers beginning words in identifiers (e.g. my-thing-2d; used to be invalid, but has been valid for several months now, causing problems binding to recently created WIT).

Except due to the crazy tangling of everything, simply updating the dependencies of ComponentizeJS is proving non trivial.

One problem is that js-component-bindgen from jco made the render_intrinsics public method, take a struct, whose members are all pub(crate). Also, render_intrinsics now expects TranspileOptions, making it more difficult to be used within ComponentizeJS's componentize_bindgen

More oddities arise with wirm and trying to keep the versions of wasmparser and the like used from awkwardly mismatching.

Do you have any tips on how to approach this? Which packages need updating to latest, and which should be kept old (and which packages should be synced to the deps of which others? e.g. should I match the versions used by wirm, or that of js-component-bindgen?). :face_with_spiral_eyes:

@Victor Adossi

view this post on Zulip Victor Adossi (Apr 21 2026 at 07:12):

Hey @QuantumSegfault thanks for noting this -- so this is definitely an issue...

Except due to the crazy tangling of everything, simply updating the dependencies of ComponentizeJS is proving non trivial.

This is something that will be fixed soon because ComponentizeJS is going to go all-Rust very soon (tm).

That said, this particular hornets nest is really bad (the interdependence and matching of libs is REALLY painful) -- and it actually usually ends up requiring releasing versions of packages to get things to match up.

The change to render_intrinsics is actually an unintentional breaking change that evidently went in... 10 months ago! Incredibly unfortunate but first step is probably to un-break that and anything else that was an unintentional breaking change.

I'll take a look at this and get ComponentizeJS updated to the latest js-component-bindgen.

view this post on Zulip QuantumSegfault (Apr 21 2026 at 07:19):

Alright! Thank you!

If there's anything I can help with, let me know!

view this post on Zulip QuantumSegfault (Apr 28 2026 at 17:31):

Any news on this?

view this post on Zulip Victor Adossi (Apr 29 2026 at 18:23):

Hey Quantum -- right now the focus has been on p3 (and I happen to be out this week) so this hasn't moved forwards quite yet!


Last updated: May 03 2026 at 22:13 UTC