Skip to content

deps: latest toolchain#86

Merged
guybedford merged 3 commits intomainfrom
jco-upgrade
Jun 13, 2023
Merged

deps: latest toolchain#86
guybedford merged 3 commits intomainfrom
jco-upgrade

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