Meet My Friend David DM

David monitors your node.js dependencies to ensure they’re up to date

David is a great site that lets you (and your users) know if your node.js project dependencies (and dev dependencies) are at the latest stable version.

Here’s an example of my grunt-timer on David, that I blogged about here.

At the time of writing this, the dependencies and dev dependencies are all up to date (and green).

Using David

David is free for public repos on Github, I don’t think there is a private repo version yet and you can’t use other providers such as bitbucket.

Provided you have a package.json file for your node project, David will use this to automagically do everything for you :)

David informs with badges

You can add a badge to your README or similar (grunt-timer example here). Simply do david-dm.org/[username]/[repo].png, and they’re served via https e.g. david-dm.org/leecrossley/grunt-timer.png

David informs with RSS

If you really want an RSS feed, David will give you one. Similar to badges, but replace .png with /rss.xml e.g. david-dm.org/leecrossley/grunt-timer/rss.xml

Improvements

There are many improvements that I hope are implemented soon:

  • Projects with no dependencies are shown as up to date - https://david-dm.org/leecrossley/functional-js.png. Could have a no dependencies badge.
  • Version info from npm is cached for a whole day, this is too long.
  • package.json files from GitHub are cached for an hour. Could use GitHub service hooks to get the package.json changes.

If I see “David“ in the pub, I’ll get him a beer. You should too.