alanshaw / david-www

:eyeglasses: David helps keep your Node.js project dependencies up to date.
https://david-dm.org
MIT License
729 stars 131 forks source link

David

Build Status Dependency Status devDependency Status

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 your repository.

Getting Started

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

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

Monorepo or package.json not in root?

You can use the path querystring parameter to specify the path to your package.json file. e.g.

https://david-dm.org/alanshaw/non-root-package.json?path=src/test

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

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