Full ECMAScript.next development and deployment workflow.
es20xx requires npm >= 2.11. Update npm, install Slush and slush-es20xx:
npm install -g npm slush slush-es20xx
To scaffold a new project, cd
to the project root and run:
slush es20xx
Then whenever you want to work in the project, cd
to the project root and run:
npm run dev
You're all set, happy hacking!
See the sections below for more details.
-
npm test
: do a complete build. This script builds thedist
directory based on thesrc
directory's contents. This includes linting.js
files (ESLint), transpiling them, copying over non-js files and running Mocha unit tests. -
npm run dev
: do a complete build and watch files to generate incremental builds. -
npm run update-babel
: update the Babel dependencies. This script updates the Babel compiler and runtime, and fails with an error and non-zero exit status if their versions mismatch.
Note: There may be other, non-documented scripts in the package.json
, but those are for internal use only and may be changed or removed any time. Only use the scripts which you see documented here.
Build paths and plugin settings can be customized by editing the build.js
file.
The build configs are kept in a separate file so you can more easily update the gulpfile.js
by simply overwriting the old one when a new es20xx release is available.
Run npm version
to increment your package version. This will automatically update the Babel dependencies, make a new build and run tests. If everything succeeds, it will push your version commit and tag to the remote Git repository and publish the package on npm.
You may tweak the prepublish
and postpublish
scripts to your needs, just edit them in the package.json
.
Want to help developing slush-es20xx? Awesome! Here are the basic instructions to get you started:
- Install Slush if you haven't yet;
- Fork this repository and clone it locally;
cd
to your repository root and install the slush-es20xx generator from your local repository by runningnpm link
;- Edit the source code in your repository and then test the changes by running
slush es20xx
in a test directory. Repeat until you get the desired result; - Commit your changes to a new feature/bugfix branch, push them to your fork and open a PR in this repository. See GitHub Flow if you are not used to it yet.
=]