uProxy/uTransformers — pull request #23 by kpdyer (2014-06-29 23:33:10+00:00)
Title: Major refactor of uTransformers

This is a large refactor to uTransformers that solves the following issues, as they are all closely related:

Issue #15: Get uTransformers to build on Travis CI
Issue #17: Make regex2dfa.js a proper regex -> DFA library
Issue #21: typescript interfaces should be included in the NPM

This pull request includes a version bump to 0.2.x, because the directory structure of the project has changed.

### Summary of changes to get uTransformers to work on Travis CI

I added a .travis.yml file and a Gruntfile.js. Then, I made it such that uTransformers is a proper grunt project. Unit tests with jasmine can be run by executing ```grunt build && grunt test```. (Note that ```grunt build``` does not do a full build of the project and does rely upon two emscripten-built artifacts being checked into git.)

### Removing hard-coded regex2dfa

We previously had a hard-coded regex-to-DFA mapping that was built as part of the build process. This has been replaced with making regex2dfa on npm as a dependency, and removing all the old artifacts.

### Typescript interfaces

As a byproduct of making this into a proper Travis/grunt project, I fixed the issue where typescript interfaces were not being included in the project.

### Testing

This project can be tested in two ways. In the command line, one can run ```grunt test```. In browser, one can run ```grunt build``` then open ```demo/html/benchmark.html``` in their browser. I've tested both these methods, as well as confirmed that this pull request properly builds/tests on Travis.

### Documentation

I've also improved the documentation of the main ```README.md``` file, as well as the ```vagrant/README.md``` file. Specifically, ```grunt build``` doesn't do a complete build. To go through the whole emscripten-build process, one needs to use the vagrant script in the ```vagrant``` directory. This is explained in ```vagrant/README.md```.