A WASI implementation that uses VS Code's extension host as the implementing API

Overview

Project

This repo has been populated by an initial template to help get you started. Please make sure to update the content to build a great experience for community-building.

As the maintainer of this project, please make a few updates:

  • Improving this README.MD file to provide a great experience
  • Updating SUPPORT.MD with content about this project's support experience
  • Understanding the security reporting process in SECURITY.MD
  • Remove this section from the README

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.

You might also like...

An implementation of gRPC health checks, for node.js-based apps that uses @grpc/grpc-js as a base.

gRPC Health Check An implementation of gRPC health checks, for node.js-based apps that uses @grpc/grpc-js as a base. Installation yarn add git+https:/

Aug 31, 2022

A tool to check for response status codes with ease

A tool to check for response status codes with ease

About Archer Archer is an cross-platform tool developed using Nodejs which focuses on the reconnaissance phase of a penetration test. Got a bunch of l

Oct 19, 2022

Example project implementing authentication, authorization, and routing with Next.js and Supabase

Example project implementing authentication, authorization, and routing with Next.js and Supabase

Magic Link Authentication and Route Controls with Supabase and Next.js To run this project, To get started with this project, first create a new proje

Dec 11, 2022

Implementing hexagonal architecture on AWS Lambda with Node.js

Implementing hexagonal architecture on AWS Lambda with Node.js

Developing evolutionary architecture with AWS Lambda Context Agility enables you to evolve a workload quickly, adding new features, or introducing new

Dec 20, 2022

Contains the codes for https://SolAiNetwork.com

Solana Artificial Intelligence Network SINE is the token to get your work done using Artificial Intelligence and crowd-sourcing. We are creating a pla

Aug 1, 2022

A pure JavaScript Web Page to retrieve real-time OTP through a web page and generate/scan QR codes.

A pure JavaScript Web Page to retrieve real-time OTP through a web page and generate/scan QR codes.

2FA-Solver A pure JavaScript Web Page to retrieve real-time OTP through a web page and generate/scan QR codes. It can be used as an offline web page b

Dec 7, 2022

Modern Spatial Reference System Class. Supports EPSG Codes, PROJ4 String, and Well-Known Text.

spatial-reference-system Modern Spatial Reference System Class. supports EPSG Codes PROJ4 Strings ESRI and OGC Well-Known Text PRJ File install npm in

Jul 22, 2022

Venni backend - The backend of the Venni client apps implementing the credit card payments, matching algorithms, bank transfers, trip rating system, and more.

Cloud Functions Description This repository contains the cloud functions used in the Firebase backend of the Venni apps. Local Development Setup For t

Jan 3, 2022

It consists of a recreation of Twitter, to put into practice both Front-end and Back-end knowledge by implementing the MERN Stack together with other technologies to add more value to the project.

Twitter-Clone_Back-end ✨ Demo. 💻 About the project. 📜 Descriptions. It consists of a recreation of Twitter, to put into practice knowledge of both F

Apr 12, 2022
Comments
  • Idea for pdb based debugger

    Idea for pdb based debugger

    @dbaeumer I just realized this morning that we may have a miscommunication on the repo for this. Thought I'd just put this up to show it, while I work on moving this to the other repository.

    opened by rchiodo 1
  • Allow to plugin device drivers on the WASI side

    Allow to plugin device drivers on the WASI side

    Currently we can only plug-in filesystems on the VS Code side. To get pdb debugging work it would be helpful to support having a pluggable device driver on the WSAM-WASI side as well. This would allow to have special character devices to communicate with pdb.

    opened by dbaeumer 0
  • Sync-Api doesn't work with multiple workers

    Sync-Api doesn't work with multiple workers

    Suppose you have something like so:

    Main Thread - Extension code Worker 1 - Extension sub piece, which starts Worker 2 Worker 2 - Needs to use the sync api

    Worker 2 cannot communicate with the Main Thread because its MessageChannel is only with Worker 1.

    For CPython I have this exact situation when trying to run the debugger:

    • Main thread - Extension code
    • Worker 1 - Load of python.js
    • Worker 2 - Reader thread for debugger
    • Worker 3 - Writer thread for debugger

    Worker 2 and 3 cannot send messages to the Main Thread.

    • Note: Emscripten (by default proxies) all FS (or socket) API calls to its main thread (worker 1 in this case) but that causes deadlock issues because the Atomics.wait in the sync-api block the main worker thread, therefore no other fs API calls can be handled while waiting. Took me a while to figure this out as most of it was working until Worker 3 tried to acquire a lock.
    opened by rchiodo 1
  • Explore test strategy for vscode-wasi

    Explore test strategy for vscode-wasi

    We need to come up with a testing strategy for the WASI implementation. Ideas:

    • implement tests in TS and call the implementation methods directly
    • implement tests in Rust/C++ and compile them to WASM-WASI and execute them through the web assembly execution.
    opened by dbaeumer 0
Owner
Microsoft
Open source projects and samples from Microsoft
Microsoft
Open-source continuous regression testing that you can self-host.

Touca Touca helps you see the side-effects of your changes, as you write code. Touca SDKs let you describe the behavior and performance of your softwa

Touca 135 Dec 30, 2022
DropSpace is an easy way to self-host a file drop.

DropSpace Simple file sharing made in Laravel About DropSpace DropSpace is an easy way to self-host a file drop. Simply upload your file, and share th

Kazó Levente 25 Dec 9, 2022
Host your own replica server instantly on Glitch.

Earthstar Replica Server for Glitch Want your own replica server? Click the button above. Create a file at .data/known_shares.json Add the shares you'

Earthstar Project 5 Apr 26, 2022
Create and Host a dark Web Site (Tor Hidden Service)

Tutorial: Hosting a site on Dark Web (Tor Hidden Service) Introduction Before starting, lets clear some questions that might come up in your mind: Wha

Arnav Kumar 16 Oct 18, 2022
🪶 An light weight image host built using typescript.

Feather; an next-gen image uploader built to be used with sharex. Built using typescript, expressjs. To get started ( IN ORDER ) ~ Hosting ~ npm i ~ n

Saige 5 Jun 14, 2022
This is a library to alternate and self-host the Prisma Data Proxy (cloud.prisma.io)

Alternative Prisma Data Proxy This is a library to alternate and self-host the Prisma Data Proxy (cloud.prisma.io). In order to deploy your project to

AijiUejima 60 Dec 28, 2022
Deploys a AWS Bastion Host preconfigured for Tailscale access.

cdk-tailscale-bastion This packages creates an AWS Bastion configured for Tailscale. This covers steps 1,2 & 4 of the Tailscale RDS guide. You may fin

JT 10 Dec 3, 2022
Deploy your uAdmin project and host it with a single click (and a few more steps 👀) !

Golang and uAdmin CI/CD using ?? Railway! Steps to Deploy Make sure to create a Github account and link it with ?? Railway Click Give your new Reposit

Gaurav Gosain 6 Nov 13, 2022
Ansible template that shows how to create dynamic staging servers with ..com

Vagrant + Ansible + Docker Swarm + Trafeik + NGINX template Template repo that creates virtual machines with Docker, Docker Swarm, Traefik, NGINX. It

Mateusz Bagiński 4 Oct 15, 2022
A RESP 'Redis Serialization Protocol' library implementation to generate a server, uses a similar approach to express to define you serer, making it easy and fast.

RESPRESS A RESP 'Redis Serialization Protocol' library implementation to generate a server, uses a similar approach to express to define you serer, ma

Yousef Wadi 9 Aug 29, 2022