👓 David helps keep your Node.js project dependencies up to date.
JavaScript CSS
Latest commit 8547cb8 Feb 18, 2017 @alanshaw 22.1.0



Build Status Dependency Status devDependency Status Donate to help support David development


Node.js based web service that tells you when your project npm dependencies are out of date. To use David, your project must include a package.json file in the root of your repository.

Getting Started

With Node.js and Grunt installed already, do the following:

  • Install david-www:

    cd /path/to/david-www
    npm install
    npm run build
  • Create a .davidrc file (see Configuration section below)

  • Run david-www:

    npm start

Example usage

View a web page of all dependencies (and their updates, and their versions) for public GitHub repository "grunt-jsio" owned by "alanshaw":

curl http://localhost:1337/alanshaw/grunt-jsio

Get the current build status badge:

curl http://localhost:1337/alanshaw/grunt-jsio.png


Configuration is handled by rc (https://github.com/dominictarr/rc), see config.js for default configuration values.

For basic configuration, add a .davidrc file in the local directory (it is git ignored) and you can use JSON to override any of the default values.

Register a github personal oauth token and add it to the config:

  "github": {
    "token": "some_github_token"

You can also use environment variables e.g.

  • (Optional) If you want to use "sign in" feature you should:
    • Register a github developer application and add oauth client id and secret to .davidrc.
    • Developer application should have callback URL: http://localhost:1337/auth/callback

Docker Support

This example will run david-www interactively and will exit and destroy the container upon a control-c.

docker run -it --rm \
  -p 11337:1337 \
  -e david_github__token=github-token \
  -e david_site__hostname=http://localhost:11337 \
  -v /data/david:/opt/data \

This example will run it in detached mode.

docker run -d --name="david-www" \
  --restart=always \
  -p 11337:1337 \
  -e david_github__token=github-token \
  -e david_site__hostname=http://localhost:11337 \
  -v /data/david:/opt/data \


docker build -t david .