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:
-
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
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
- (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
- Register a github developer application and add oauth client id and secret to
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 .