Coder Social home page Coder Social logo

v4ul7io / assemblyscript Goto Github PK

View Code? Open in Web Editor NEW

This project forked from assemblyscript/assemblyscript

0.0 2.0 0.0 10.78 MB

A TypeScript to WebAssembly compiler ๐Ÿš€

Home Page: http://assemblyscript.org

License: Apache License 2.0

JavaScript 1.56% TypeScript 22.64% Shell 0.02% HTML 0.04% WebAssembly 75.74%

assemblyscript's Introduction

AssemblyScript

npm Build Status Snap Status

AssemblyScript compiles strictly typed TypeScript to WebAssembly using Binaryen. It generates lean and mean WebAssembly modules while being just an npm install away.

See the AssemblyScript wiki for further instructions and documentation. You can also try it out in WebAssembly Studio!

Examples

A few early examples to get an idea:

  • Conway's Game of Life
    Continuously updates the cellular automaton and visualizes its state on a canvas.

  • i64 polyfill
    Exposes WebAssembly's i64 operations to JavaScript using 32-bit integers (low and high bits).

  • PSON decoder
    A simple decoder for the PSON binary format.

  • WASM parser
    A WebAssembly binary parser in WebAssembly.

Or browse the compiler tests for a more in-depth overview of what's supported already. One of them is a showcase.

Installation

Note that this version of the compiler is relatively new and that some features a TypeScript programmer might expect are still in the works (see also: Limitations). Therefore, it's not on npm, yet, but you can already try it out today:

$> git clone https://github.com/AssemblyScript/assemblyscript.git
$> cd assemblyscript
$> npm install
$> npm link

Alternatively, it's also possible to point npm to the GitHub repository for now:

$> npm install AssemblyScript/assemblyscript

Afterwards, once your project is configured, it's just a matter of using your existing TypeScript tooling while coding, and running the CLI to build to WebAssembly:

$> asc myModule.ts -o myModule.wasm --optimize --validate --sourceMap

Building

To build an UMD bundle to dist/assemblyscript.js (depends on binaryen.js):

$> npm run build

This also builds a browser version of asc to dist/asc.js (depends on assemblyscript.js).

Running the tests:

$> npm test

Note that freshly cloned copies of the compiler will use the distribution files, but it can also run the sources directly through ts-node after an npm run clean, which is useful in development. This condition can also be checked by running asc -v (it is running the sources if it states -dev).

assemblyscript's People

Contributors

dcodeio avatar maxgraey avatar pinkaminadianepie avatar floorlamp avatar thezillion avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.