Miss any of our Open RFC calls?Watch the recordings here! »

babelator

0.2.2 • Public • Published

babelator

NOTE: Work-in-progress. Should be ready mid-Nov 2015.

A collection of default convention-based common tasks for modules using Babel.

NPM Version Linux Build Test Coverage

Install

Install CLI tool

npm i -g babelator gulpjs/gulp.git#4.0

Create a new module

mkdir foo
cd foo
babelator
npm run gulp bootstrap

Alternatively, you can add the following to your gulpfile.js:

var gulp = require('gulp')
require('babelator')(gulp)

You can now use: npm run gulp <task-name>.

Usage

npm run gulp <task-name>

TODO: Show tasks here.

Dev

Compile on file change.

npm i
npm run gulp watch

Tasks

TODO: This section should be a print out from running gulp help...

gulp build - Cleans dist, then compiles src -> dist. Suitable as npm prepublish script in package.json.

gulp watch - Watches for changes. Compiles src -> 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.

Workflow

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 link
git clone https://github.com/gulpjs/gulp.git && git checkout -b 4.0 origin/4.0 && cd gulp && npm link
git clone https://github.com/babel/babel.git && cd babel && make build && cd packages/babel && npm link
 
# Bootstrap new project 
 
cd ~/dev
mkdir <new-project-name>
babelator
# Answer some questions... 
gulp bootstrap
# Answer some questions... 
gulp watch # or gulp test-watch 
gulp nodemon
# Hack, hack, hack... 
 
# Publish to npm/bower and deploy to gh-pages 
 
gulp bump
gulp publish # npm/bower deploy 
gulp deploy # gh-pages, etc. 
 

Local module cache

Use local npm module cache. E.g. npm_lazy.

npm i -g npm_lazy
npm_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 http://localhost:8080/'" >> ~/.bashrc

Slow startup

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 lodash 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.

Run gulp --require time-require --sorted x to see whats taking so much time.

As of 31 Oct, 2015 = 1s + 711 require()

License

MIT

Keywords

none

Install

npm i [email protected]

Version

0.2.2

License

MIT

Last publish

Collaborators

  • avatar