Skip to content

Chore(governance): Propose adding js-wasi-ext #3122

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

karthik2804
Copy link
Contributor

This commit adds the js-wasi-ext to the spin project. This is a library compatible with WASI 0.2 that makes select Node.js APIs available in ComponentizeJS and StarlingMonkey. This library depends on the build tooling used in the Spin JS SDK. This enables having more library compatibility for npm packages with the Spin JS SDK.

TODO:

  • The link in the doc is to be the URL once the repository is moved here.

This commit adds the js-wasi-ext to the spin project. This is a library
compatible with WASI 0.2 that makes select Node.js APIs available in
ComponentizeJS and StarlingMonkey. This library depends on the build
tooling used in the Spin JS SDK. This enables having more library
compatibility for npm packages with the Spin JS SDK.

Signed-off-by: Karthik Ganeshram <karthik.ganeshram@fermyon.com>
Copy link
Collaborator

@michelleN michelleN left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@itowlson brought up a good question in the spin project meeting around if it makes sense to host this project to the bytecode alliance. @karthik2804 do you have any thoughts around that?

@tschneidereit
Copy link
Contributor

This PR is a result of conversations Karthik and I had, so I can provide some context. There are two key reasons for hosting this here instead of in the BA:

  1. It relies pretty heavily on Spin's JS SDK. That could be overcome, but would be a meaningful amount of work. If that were the only issue, that'd totally be worth it. However:
  2. js-wasi-ext is very much a short-term hack, not the approach we'll want to take in the long-term. We've had various conversations in the context of StarlingMonkey and ComponentizeJS about how to design a Node.js compatibility layer, and will definitely want build one, but we know that it'll look quite different from this. And in the meantime, this approach isn't easy to integrate into either project, so it'd be unclear how to even go about it.

@michelleN
Copy link
Collaborator

@tschneidereit that makes sense. Thanks for the context!

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.

4 participants