Skip to content

fix(bindgen): allow external crates to construct RenderIntrinsicsArgs#1459

Closed
chaynabors wants to merge 1 commit into
bytecodealliance:mainfrom
chaynabors:fix/expose-render-intrinsics-args-fields
Closed

fix(bindgen): allow external crates to construct RenderIntrinsicsArgs#1459
chaynabors wants to merge 1 commit into
bytecodealliance:mainfrom
chaynabors:fix/expose-render-intrinsics-args-fields

Conversation

@chaynabors
Copy link
Copy Markdown

Since #811, the fields on RenderIntrinsicsArgs and the AsyncDeterminismProfile enum are pub(crate). There is no public constructor. componentize-js uses the transpile-bindgen feature and cannot construct RenderIntrinsicsArgs to call render_intrinsics.

This exposes both as pub. No behavior change.

@chaynabors
Copy link
Copy Markdown
Author

Closing and filing issue downstream instead.

@chaynabors chaynabors closed this May 11, 2026
@vados-cosmonic
Copy link
Copy Markdown
Collaborator

Hey @chaynabors is js-component-bindgen being used in a downstream dep or vendored version? This is probably a change we want to take (as you pointed out, I think it's been impossible to use for quite a while!)

@chaynabors
Copy link
Copy Markdown
Author

chaynabors commented May 11, 2026

Thanks for checking in @vados-cosmonic.

I'm working on this draft in componentize-js since our team needs access to component model streams. A few things came up so it wasn't as simple as making a handful of fields public.

Want me to create an issue anywhere? I think some of this work warrants a discussion, and I'm investigating a couple of solutions inside JCO to be able to contribute to that discussion myself. Any chance you could afford an opinion on the draft as to how some of this might look?

Either way, I'll pitch a few things in the coming days if we're relatively aligned.

For more context, we're also driving some async work in the executor as well:
bytecodealliance/wasmtime#12991

@vados-cosmonic
Copy link
Copy Markdown
Collaborator

Hey @chaynabors no problem, thanks for the note!

Actually the current upgrade in componentize-js is actually quite hard right now -- it's been on the priority list for a bit (I was out for the last ~2 weeks, so it hasn't been done yet).

I'm going to dig into making that change and this one as well ASAP (currently someone else is pushing forward P3 work in Jco).

Thanks for the upstream link to wasmtime -- thanks for working on the C API!

@vados-cosmonic
Copy link
Copy Markdown
Collaborator

Hey heads up #1462 is merging soon which takes the builder approach

@chaynabors
Copy link
Copy Markdown
Author

chaynabors commented May 12, 2026

Thanks so much @vados-cosmonic. We have a major release scheduled for next month, so let me know if you can afford to delegate any of this. If it's faster for you to pick up then don't let me slow you down. I know at least two other things blocking version bumps.

  1. Jco needs to expose CanonicalOptions and some post-compile fields.
  2. Wirm needs to restore CustomSections::delete or some other solution needs to be implemented.

Both might require API changes depending on how we want to do them, then I'm likely to start funneling WIT streams through if there are no complaints.

Any chance you have a sense for how long the version upgrade will take? Apologies for pushing.

@vados-cosmonic
Copy link
Copy Markdown
Collaborator

No problem!

So the RC for the next release of js-component-bindgen is out, I'm going to try to update componentize-js very very soon.

It looks like we may need another RC but I'll make one if that is the case!

Any chance you have a sense for how long the version upgrade will take? Apologies for pushing.

Unfortunately I can't give a super strict timeline on that (mostly for fear of being wrong!), but I should be done by the end of this week.

@vados-cosmonic
Copy link
Copy Markdown
Collaborator

Hey @chaynabors would you mind giving https://crates.io/crates/js-component-bindgen/1.19.0-rc.5 a try? It's not working in componentize-js just yet (there's a PR), but if you are using js-component-bindgen directly then it should be explorable before it gets released.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants