Skip to content

feat(wit): Restructure the WIT definitions into deps - #29

Draft
celarye wants to merge 1 commit into
wpbs-rs:mainfrom
celarye:feat/wit-worlds
Draft

feat(wit): Restructure the WIT definitions into deps#29
celarye wants to merge 1 commit into
wpbs-rs:mainfrom
celarye:feat/wit-worlds

Conversation

@celarye

@celarye celarye commented Aug 5, 2026

Copy link
Copy Markdown
Member

This is still a WIP, any feedback on the new design/structure is very much appreciated.

- The `plugin` world is now composed of the `core` and `services` worlds.
- Shared types have been exported to the `wpbs:shared` dependency.
- The `services` world is composed of all available services.
  - Down the line the implementation of these services will be optional
    (WebAssembly/component-model#555).
- Each service implements the register family of functions itself now.
- Support for dependency functions has been removed, components should
  compose dependencies themselves (https://component-model.bytecodealliance.org/composing-and-distributing/composing.html).
@celarye celarye self-assigned this Aug 5, 2026
@celarye celarye added the enhancement New feature or request label Aug 5, 2026
@celarye

celarye commented Aug 5, 2026

Copy link
Copy Markdown
Member Author

Versioning was reset, from now these wit package will evolve on their own.

On that note, it's currently not perfect yet either:

  • Every time a new service gets added or updated the plugin package needs a bump as well, this is okay but maybe we should make core its own package as well? The reasoning behind this is that a version bump of the plugin package does not mean the core implementation has changed.
  • We should add feature gates like @since(version = 0.1.0) or @unstable(feature = fancier-foo) (https://github.com/WebAssembly/component-model/blob/main/design/mvp/WIT.md#feature-gates) to all declarations (interfaces, funcs, ...).

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

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant