bob
Convention-based build tool for node.js projects.
Last updated a year ago by cliffano .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install bob -g
SYNC missed versions from official npm registry.
Avatar

Build Status Dependencies Status Coverage Status Published Version
npm Badge

Bob

Convention-based build tool for node.js projects.

Bob provides a set of build-related tasks that work cross-platform and simple to use by following a few convention.

It works with zero configuration and allows minimal customisation when you don't want to use the default type of a particular task.

It only installs the default tools, while alternative tools will be lazy-installed as required.

It doesn't have plugins. It uses various CLI tools and configure their usage in task configuration files.

Installation

npm install -g bob

Project Convention

A project must have:

  • package.json file, with at least name and version info
  • lib/ directory, where you put your source code
  • test/ directory, where you put your test code

Usage

Run Bob: (from your project directory, where package.json is located)

bob clean lint test coverage

Run Bob in robot mode: (generate machine-parsable output when possible)

BOB_MODE=robot bob clean lint test coverage

Run Bob quietly: (only lists tasks, without each task's output)

bob --quiet clean lint test coverage

Tasks

In alphabetical order.

Task Description Default Type Alternative Type(s)
clean Delete .bob directory rimraf -
complexity Run code complexity checker against *.js files in lib/ directory plato jscheckstyle
coverage Check code coverage mocha-istanbul buster-istanbul
dep Install dependencies specified in package.json npm -
depgraph Generate module dependencies graph madge -
doc Generate code documentation jsdoc dox-foundation
lint Lint *.js files in lib/ and test/ directories jshint nodelint
nuke TODO Kill all processes with command containing the string 'node' - -
package Create an artifact file in .bob/artifact/ directory tar.gz -
publish Publish artifact file to a repository npm -
restart Restart application npm -
rmdep Remove node_modules directory. rimraf -
send TODO Send artifact file to a remote server. scp sendman
site Generate web site. ae86 buildbranch
start Start application npm -
status Status application npm -
stop Stop application npm -
test Execute unit test files in test/ directory mocha buster, nodeunit, vows
test-acceptance Execute acceptance test files in test-acceptance/ directory mocha cucumber
test-integration Execute integration test files in test-integration/ directory mocha buster, cmdt
test-performance Execute performance test files in test-performance/ directory mocha -
updep Upgrade all dependencies to latest version pkjutil -
versionup Upgrade patch version number in package.json file pkjutil -

Config

To customise Bob for your project, create a .bob.json file in your project directory, where package.json is located.

To use nodelint instead of default jshint when running bob lint:

{
  "lint": {
    "type": "nodelint"
  }
}

To add an alias task (called build) which executes clean lint test coverage tasks:

{
  "build": "clean lint test coverage"
}

Continuous Integration

###Travis CI

Configure Bob in .travis.yml file:

before_install: "npm install -g bob"
script: "bob clean lint test coverage"

###Jenkins CI

Configure Bob in a Jenkins job with shell script build step:

npm install -g bob
bob clean lint test coverage

Colophon

Developer's Guide

Build reports:

Videos:

Current Tags

  • 1.1.0                                ...           latest (a year ago)

62 Versions

  • 1.1.0                                ...           a year ago
  • 1.0.1                                ...           a year ago
  • 1.0.0                                ...           3 years ago
  • 0.7.6                                ...           4 years ago
  • 0.7.5                                ...           4 years ago
  • 0.7.4                                ...           5 years ago
  • 0.7.3                                ...           5 years ago
  • 0.7.2                                ...           5 years ago
  • 0.7.1                                ...           6 years ago
  • 0.7.0                                ...           6 years ago
  • 0.6.2                                ...           6 years ago
  • 0.6.1                                ...           7 years ago
  • 0.6.0                                ...           7 years ago
  • 0.5.24                                ...           7 years ago
  • 0.5.23                                ...           7 years ago
  • 0.5.22                                ...           7 years ago
  • 0.5.21                                ...           7 years ago
  • 0.5.20                                ...           7 years ago
  • 0.5.19                                ...           7 years ago
  • 0.5.18                                ...           7 years ago
  • 0.5.17                                ...           7 years ago
  • 0.5.16                                ...           7 years ago
  • 0.5.15                                ...           7 years ago
  • 0.5.14                                ...           7 years ago
  • 0.5.13                                ...           7 years ago
  • 0.5.12                                ...           8 years ago
  • 0.5.11                                ...           8 years ago
  • 0.5.10                                ...           8 years ago
  • 0.5.9                                ...           8 years ago
  • 0.5.8                                ...           8 years ago
  • 0.5.7                                ...           8 years ago
  • 0.5.6                                ...           8 years ago
  • 0.5.5                                ...           8 years ago
  • 0.5.4                                ...           8 years ago
  • 0.5.3                                ...           8 years ago
  • 0.5.2                                ...           8 years ago
  • 0.5.1                                ...           8 years ago
  • 0.5.0                                ...           8 years ago
  • 0.4.7                                ...           8 years ago
  • 0.4.6                                ...           8 years ago
  • 0.4.5                                ...           8 years ago
  • 0.4.4                                ...           8 years ago
  • 0.4.3                                ...           8 years ago
  • 0.4.2                                ...           8 years ago
  • 0.4.1                                ...           8 years ago
  • 0.4.0                                ...           8 years ago
  • 0.3.4                                ...           8 years ago
  • 0.3.3                                ...           8 years ago
  • 0.3.2                                ...           8 years ago
  • 0.3.1                                ...           8 years ago
  • 0.3.0                                ...           8 years ago
  • 0.2.10                                ...           9 years ago
  • 0.2.9                                ...           9 years ago
  • 0.2.8                                ...           9 years ago
  • 0.2.7                                ...           9 years ago
  • 0.2.6                                ...           9 years ago
  • 0.2.5                                ...           9 years ago
  • 0.2.3                                ...           9 years ago
  • 0.2.2                                ...           9 years ago
  • 0.2.1                                ...           9 years ago
  • 0.2.0                                ...           9 years ago
  • 0.1.0                                ...           9 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 2
Last Month 4
Dependencies (16)
Dev Dependencies (3)
Dependents (0)
None

Copyright 2014 - 2016 © taobao.org |