slush-es20xx

Full ECMAScript.next development and deployment workflow.


Keywords
slushgenerator, es6, es7, es2015, es2016, es.next, ecmascript.next, js.next, javascript.next, babel, 6to5, traceur, modular, modularity, workflow, generator, scaffolding, node.js, nodejs, node, web, webapp
License
WTFPL
Install
npm install slush-es20xx@2.0.3

Documentation

slush-es20xx logo

npm version Build Status Dependency Status devDependency Status

Full ECMAScript.next development and deployment workflow.

Install

es20xx requires npm >= 2.11. Update npm, install Slush and slush-es20xx:

npm install -g npm slush slush-es20xx

How to use

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.

Workflow

npm scripts

  • npm test: do a complete build. This script builds the dist directory based on the src 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 configs

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.

Deploying

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.

Contribute

Want to help developing slush-es20xx? Awesome! Here are the basic instructions to get you started:

  1. Install Slush if you haven't yet;
  2. Fork this repository and clone it locally;
  3. cd to your repository root and install the slush-es20xx generator from your local repository by running npm link;
  4. 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;
  5. 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. =]

License

WTHPL v1.0.0