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

Implement WASI 0.2 support for Deno #24289

Open
beingminimal opened this issue Jun 20, 2024 · 2 comments
Open

Implement WASI 0.2 support for Deno #24289

beingminimal opened this issue Jun 20, 2024 · 2 comments
Labels
runtime Relates to code in the runtime crate suggestion suggestions for new features (yet to be agreed)

Comments

@beingminimal
Copy link

beingminimal commented Jun 20, 2024

Deno currently offers partial support for WASI through the wasicap_snapshot_preview1 interface. While this allows running some WASI modules, it lacks compatibility with the latest and evolving WASI 0.2 standard. Implementing full WASI 0.2 support would significantly enhance Deno's capabilities and unlock exciting possibilities for WebAssembly development and deployment.

Benefits for Deno Users:

  • Broader Module Compatibility: Run a wider range of WASI modules designed for modern environments, opening doors to more functionalities and libraries.
  • Enhanced Security: Leverage stricter security boundaries and capabilities in WASI 0.2 for more secure WASM execution within Deno.
  • Cutting-Edge Development: Position Deno at the forefront of WebAssembly development, attracting developers and fostering a robust WASI ecosystem.
  • Production-Ready Features: Enable the execution of WASI modules in server-side and cloud environments that increasingly rely on WASI for secure and performant sandboxes.

Production Use Cases:

  • Serverless Functions: Create secure and performant serverless functions with Deno and WASI 0.2, leveraging the benefits of both WebAssembly and Deno's runtime.
  • Edge Computing: Deploy WASI modules on edge devices for efficient and secure computations, facilitated by Deno's integration with WASI 0.2.
  • Sandboxed Microservices: Utilize WASI's secure sandbox for running untrusted code, making Deno with WASI 0.2 ideal for building microservices that require secure isolation.

Call to Action:

Implementing WASI 0.2 support now will:

  • Significantly enhance Deno's capabilities for running WebAssembly modules.
  • Improve security for WASM execution within Deno.
  • Position Deno as a leading platform for WASI development and deployment in various production use cases.

We strongly encourage the Deno team to prioritize the implementation of WASI 0.2 support and unlock its potential benefits for the Deno community.

Additional Notes:

https://github.com/WebAssembly/WASI/blob/main/preview2/README.md

@littledivy
Copy link
Member

Deno currently offers partial support for WASI through the wasicap_snapshot_preview1 interface.

What is wasicap_snapshot_preview1? This doesn't exist.

Feel free to add links to relevant discussions or proposals to further strengthen the case. You can gather upvotes or endorsements from other interested users to demonstrate wider community support for this feature.

The issue description seems to be written using ChatGPT.

Can you please update the issue with a real use case / a link to the wasi_snapshot_preview2 / prior art in other runtimes, languages?

@littledivy littledivy added suggestion suggestions for new features (yet to be agreed) runtime Relates to code in the runtime crate labels Jun 20, 2024
@beingminimal
Copy link
Author

@littledivy updated links in the issue description. Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
runtime Relates to code in the runtime crate suggestion suggestions for new features (yet to be agreed)
Projects
None yet
Development

No branches or pull requests

2 participants