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

README.md

David

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

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.

david_github__token=some_github_token
  • (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 \
  david

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 \
  david

Building

docker build -t david .

js-standard-style