Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

bob

Package Overview
Dependencies
Maintainers
0
Versions
72
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bob

Convention-based build tool for node.js projects.

  • 3.1.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
0
Created
Source
Avatar

Build Status Security Status Dependencies Status Coverage Status Published Version

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.

TaskDescriptionDefault TypeAlternative Type(s)
cleanDelete .bob directoryrimraf-
complexityRun code complexity checker against *.js files in lib/ directoryplatojscheckstyle
coverageCheck code coveragemocha-istanbulbuster-istanbul
depInstall dependencies specified in package.jsonnpm-
depgraphGenerate module dependencies graphmadge-
docGenerate code documentationjsdocdox-foundation
lintLint *.js files in lib/ and test/ directoriesjshintnodelint
nuke TODOKill all processes with command containing the string 'node'--
packageCreate an artifact file in .bob/artifact/ directorytar.gz-
publishPublish artifact file to a repositorynpm-
restartRestart applicationnpm-
rmdepRemove node_modules directory.rimraf-
send TODOSend artifact file to a remote server.scpsendman
siteGenerate web site.ae86buildbranch
startStart applicationnpm-
statusStatus applicationnpm-
stopStop applicationnpm-
testExecute unit test files in test/ directorymochabuster, nodeunit, vows
test-acceptanceExecute acceptance test files in test-acceptance/ directorymochacucumber
test-integrationExecute integration test files in test-integration/ directorymochabuster, cmdt
test-performanceExecute performance test files in test-performance/ directorymocha-
updepUpgrade all dependencies to latest versionpkjutil-
versionupUpgrade patch version number in package.json filepkjutil-

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:

Keywords

FAQs

Package last updated on 29 Sep 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc