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

deps: latest toolchain #86

Merged
merged 3 commits into from
Jun 13, 2023
Merged

deps: latest toolchain #86

merged 3 commits into from
Jun 13, 2023

Conversation

guybedford
Copy link
Collaborator

@guybedford guybedford commented Jun 12, 2023

Upgrades to 0xd of the component model featuring the latest WIT syntax.

Some careful handling was required to adapt the new namespacing model. Specifically along the lines as outlined for the ESM integration in WebAssembly/component-model#198 (comment).

That is - we treat namespace imports and exports as unsupported in the ESM integration for now, and then adopt a convention that treats namespaces as if they were being converted into kebab names to support ESM integration.

For exports, this means flattening the names as distinct exported interfaces as the combined external and package interface name. With the simplification that if there is no other export of that interface name, we can export the interface name directly.

Symmetrically for imports, we then group by package name and treat interfaces as if they were exported by a singular package module. This should allow for package imports and exports to engage in basic reciprocal dependence under this convention. When namespaced imports are combined with custom --map mappings, custom mappings will be applied before the convention to the combined namespace and package name.

These conventions are very much experimental and better techniques for defining module boundaries will likely emerge in future.

For now the ComponentizeJS test is disabled pending the corresponding ComponentizeJS upgrade.

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.

1 participant