-
Notifications
You must be signed in to change notification settings - Fork 12
Developer Guide
We use Node 8.5+ and Yarn 1.0+. Stopify's integration tests require Chrome, Firefox, ChromeDriver, and GeckoDriver.
The Stopify repository includes two modules necessary to build the CLI
interface: stopify
and stopify-continuations
. The stopify
module depends
on stopify-continuations
. To build both the projects in the correct order,
run the following from the project root:
yarn install
yarn run build
Once built, you can run cd stopify
to enter use the stopify CLI. To run all
test cases:
yarn run test
Note that running all tests may take up to 30 minutes. (We run tests on Firefox and Chrome using several different transformations.) The following command only runs tests using exceptional continuations:
yarn run test --testNamePattern=lazy
Unless you're modifying the representation of continuations, it is usually adequate ot test your changes with only one continuation representation.
You can run a Stopified program in the terminal (using Node), which is usually
the fastest way to test a small change. To do so, compile it with the
--require-runtime
flag and --disable-webpack
and then run the output file
using node.
For example:
stopify --disable-webpack --require-runtime src.js dst.js
node dst.js
The output file (dst.js
above) takes the same command-line arguments as
stopify-url
.