NOTE: Work-in-progress. Should be ready mid-Nov 2015.
A collection of default convention-based common tasks for modules using Babel.
Install CLI tool
npm i -g babelator gulpjs/gulp.git#4.0
Create a new module
mkdir foocd foobabelatornpm run gulp bootstrap
Alternatively, you can add the following to your
var gulp =gulp
You can now use:
npm run gulp <task-name>.
npm run gulp <task-name>
TODO: Show tasks here.
Compile on file change.
npm inpm run gulp watch
TODO: This section should be a print out from running
gulp build - Cleans dist, then compiles
dist. Suitable as npm
prepublish script in
gulp watch - Watches for changes. Compiles
dist on file change. Only compiles changed files. Cleans on first run.
gulp test - Runs tests.
gulp test-transpiled - Runs transpiled tests. Faster.
gulp test-watch - Watches for changes, and compiles + runs transpiled tests.
gulp bootstrap - Boostraps a module. Modifies package.json, etc. Prompts for any file being overwritten.
We want to minimize the time spent waiting for npm installs. You should be able to create a new module and publish to npm super quick.
# `npm link` babelator, gulp 4.0, and babel for quicker installs# NOTE: Gulp 4.0 globally supports 3.x and 4.x local installs. So don't worry about it breaking gulp 3.x projects.git clone https://github.com/vjpr/babelator.git && cd babelator && npm linkgit clone https://github.com/gulpjs/gulp.git && git checkout -b 4.0 origin/4.0 && cd gulp && npm linkgit clone https://github.com/babel/babel.git && cd babel && make build && cd packages/babel && npm link# Bootstrap new projectcd ~/devmkdir <new-project-name>babelator# Answer some questions...gulp bootstrap# Answer some questions...gulp watch # or gulp test-watchgulp nodemon# Hack, hack, hack...# Publish to npm/bower and deploy to gh-pagesgulp bumpgulp publish # npm/bower deploygulp deploy # gh-pages, etc.
Local module cache
Use local npm module cache. E.g. npm_lazy.
npm i -g npm_lazynpm_lazy --init > ~/npm_lazy.config.js# Now use:npm --registry http://localhost:8080/ install# Or set it as an alias in ~/.bashrc:echo -e "alias npml='npm --registry '" >> ~/.bashrc
If you have a slow startup make sure you put all your requires inside your tasks.
Even though modules are cached on first require, common requires like
may still be loaded twice depending on their version
and when they were installed. So to be safe, task-scope everything.
npm3 will help fix this by deduping.
gulp --require time-require --sorted x to see whats taking so much time.
As of 31 Oct, 2015 = 1s + 711 require()