Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/alanshaw/david-www

:eyeglasses: David helps keep your Node.js project dependencies up to date.
https://github.com/alanshaw/david-www

Last synced: about 2 months ago
JSON representation

:eyeglasses: David helps keep your Node.js project dependencies up to date.

Lists

README

        

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](https://docs.npmjs.com/files/package.json)
file in your repository.

## Getting Started

With [Node.js](http://nodejs.org/) and [Grunt](http://gruntjs.com/) installed already,
do the following:

* Install david-www:

```sh
cd /path/to/david-www
npm install
npm run build
```

* Create a `.davidrc` file (see [Configuration](#configuration) section below)
* Run david-www:

```sh
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":

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

Get the current build status badge:

```sh
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](src/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](https://help.github.com/articles/creating-an-access-token-for-command-line-use/) and add it to the config:

```json
{
"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](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)