pulumi/tools/mujs
joeduffy 8485929192 Transform interface heritage clauses
Turns out we hadn't been transforming interface heritage clauses --
extends and implements -- like we were classes.  This change fixes
that.  As a result, we're down to 14 verification errors for AWS.
2017-02-09 13:27:08 -08:00
..
cmd Save TypeScript definition files 2017-02-09 09:07:10 -08:00
lib Transform interface heritage clauses 2017-02-09 13:27:08 -08:00
tests Fully qualify more tokens 2017-02-08 16:49:32 -08:00
.gitignore Add a new harness for test cases 2017-01-08 15:20:46 -06:00
mujs Add a handy executable wrapper for MuJS 2017-01-08 15:34:10 -06:00
package.json Colorize MuJS errors/warnings 2017-02-02 16:47:45 -08:00
README.md Update some READMEs from last night 2017-02-02 11:09:33 -08:00
tsconfig.json Emit good tokens 2017-01-30 13:00:53 -08:00
tslint.json Upgrade to latest TSLint, and compile cleanly 2016-12-31 11:16:36 -08:00
yarn.lock Colorize MuJS errors/warnings 2017-02-02 16:47:45 -08:00

MuJS

This directory contains Mu's JavaScript compiler.

It implements a subset of JavaScript with TypeScript-style type annotations, and can compile that subset into MuPack/IL.

Building and Testing

MuJS is built independent from the overall Mu toolchain. First clone and cd to the right place:

$ git clone git@github.com:marapongo/mu
$ cd mu/tools/mujs

Next, install dependencies, ideally using Yarn:

$ yarn install

(NPM can be used instead, but Yarn offers better performance, reliability, and security, so it's what we use below.)

From there, to build:

$ yarn run build

It's possible to simply run the TypeScript compiler using tsc, however the Yarn build step performs a couple extra steps; namely, it runs TSLint and also copies some test baseline files into the right place.

Next, to test, simply run:

$ yarn run test

It will be obvious if the tests passed or failed and, afterwards, code coverage data will be output to the console.

Libraries

In order to use the Mu libraries -- including the Mu standard library -- you will need to do a few additional steps to prepare your developer workspace. Please see this document for details on how to do this.