JSPM

  • Created
  • Published
  • Downloads 18284
  • Score
    100M100P100Q137061F

Gear.js - Build System for Node.js and the Browser

Package Exports

  • gear

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (gear) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Gear.js

Build System for Node.js and the Browser

Gear.js is an easy to use, simple to extend, and powerful build system. Chain tasks together to build projects with ease.

Features:

  • Basic building blocks that can be combined to perform complex builds.
  • Tasks are simply defined and keep system internals to a minimum.
  • Asynchronous execution.
  • Extensible task loading via NPM, file, or directory.
  • Advanced flow control for complex task execution.
  • Runs in Node.js and the browser.

Build Status

NPM

Installation

To get the most out of Gear.js, you will want to install gear-lib which contains tasks for linting, minifying, and deploying JS/CSS assets.

$ npm install gear gear-lib

Quick Examples

Chaining Tasks

new Queue()
 .read('foo.js')
 .log('read foo.js')
 .inspect()
 .write('foobarbaz.js')
 .run();

Execute Tasks Using Array Style

new Queue()
 .read(['foo.js', {name: 'bar.js'}, 'baz.js'])
 .log('read foo.js')
 .inspect()
 .write(['newfoo.js', 'newbar.js']) // Not writing 'baz.js'
 .run();

Parallel Task Execution

new Queue()
 .read('foo.js')
 .log('Parallel Tasks')
 .tasks({
    read:     {task: ['read', ['foo.js', 'bar.js', 'baz.js']]},
    combine:  {requires: 'read', task: 'concat'},
    minify:   {requires: 'combine', task: 'jsminify'},
    print:    {requires: 'minify', task: 'inspect'}, // Runs when read, combine, and minify complete
    parallel: {task: ['log', "Hello Gear.js world!"]} // Run parallel to read
 }).run();