npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

source-academy-wabt

v1.1.3

Published

This is the WebAssembly Binary Toolkit, specifically designed for Source Academy.

Downloads

19

Readme

WABT-Parser

Overview

This is a TypeScript port of (relevant features) of the WebAssembly Binary Toolkit to be used in Source Academy's WebAssembly module.

The project is uploaded to source-academy-wabt on npm. To use it, you can do one of the following commands

npm install source-academy-wabt
yarn add source-academy-wabt

Currently, this project has a partial port of a WebAssembly Text compiler (wat2wasm).

To write WebAssembly Text, see EXAMPLES.md.

Info for Developers

The following set of instructions will tell you how to set up a local copy of this repository on your local machine for building and development.

You will need to have a stable version of NodeJS on your local development machine. We recommend using the latest LTS version. You can use nvm (macOS/Linux) or nvm-windows to switch Node versions between different projects.

You will also need to have a package manager for your project. We recommend using a stable version of Yarn as the repository pipelines are using the Yarn package manager as well. To install the Yarn package manager through NPM, you can run the following command.

npm install -g yarn

Clone the repository on your local development machine and navigate to it using your favourite command line or shell tool.

git clone https://github.com/source-academy/wabt.git
cd wabt

Testing

This project follows Test-Driven Development, where tests are written first before their corresponding features. Given the myriad of bugs in implementing any compiler, it is heavily recommended to follow this when contributing. Refer to here for the test documentation.

Building the Project

On top of the dependencies in package.json, you will need the C Preprocessor to build this project. I'm not sure if you can just download the preprocessor by itself, so I reccommend you to just download the GNU GCC while you're at it. Go here or here (Windows)

To build the project, do yarn bundle. This will bundle the project for releasy by running: (1) the C Preprocessor on relevant files, (2) esbuild to bundle the TypeScript files and (3) tsc to emit .d.ts files.

Note on Preprocessor

This project uses the C Preprocessor to preprocess certain TypeScript files.

Running the Preprocessor

To run the preprocessor, do yarn run preprocess or yarn run cpp.

Macro Directives

Since macro directives such as #include "something" are not valid TypeScript/JavaScript, they prefixed with a triple-forward slash ///#include "something". Triple slashes will be stripped from the source files before preprocessing, so take note not to use them as comments.