The javascript-state-machine
library is built using:
- Webpack 2 - for bundling javascript modules together
- UglifyJS2 - for minifying bundled javascript files
- Ava - for testing
The directory structure includes:
/bin # - build scripts
/dist # - minified bundles for distribution
/docs # - documentation
/examples # - example visualizations
/lib # - bundled source code for npm
/src # - source code
/test # - unit tests
package.json # - npm configuration
webpack.config.js # - webpack configuration
LICENSE # - the project licensing terms
README.md # - the project readme
RELEASE_NOTES.md # - the project release notes
Build time dependencies can be installed using npm:
> npm install
A number of npm scripts are available:
> npm run test # run unit tests
> npm run build # bundle and minify files for distribution
> npm run watch # run tests if source files change
The source code is written in es5 syntax and should be supported by all es5 compatible browsers. Babel is NOT used for this project. Webpack is used to bundle modules together for distribution.
Generally speaking, please raise an issue first and lets discuss the problem and the proposed solution. The next step would be a pull-request - fantastic and thank you for helping out - but please try to...
- ensure the tests pass (
npm test
). - rebuild distribution files (
npm run build
). - include tests for your changes.
- include documentation for your changes.
- include a great commit message.