Node Roundup: Pushover, Police, Raynos' Blog

2011-11-30 00:00:00 +0000 by Alex R. Young
You can send your Node modules and articles in for review through our [contact form](/contact.html) or [@dailyjs](http://twitter.com/dailyjs).


Pushover (License: MIT/X11, npm: pushover) by the prolific James Halliday can serve git
repositories over HTTP. James says this makes it easy to build
customised git push-based deployment logic.

James' example instantiates a server like this:

var pushover = require('pushover');
var repos = pushover(__dirname + '/repos');

repos.on('push', function (repo) {
    console.log('received a push to ' + repo);


// Run with `node example/simple.js`

And then after pushing something using git push
http://localhost:7000/beep master
, the server will display
received a push to beep.

This works by forking the command-line git binary with
('child_process').spawn, and wrapping it with an object
that descends from EventEmitter which can handle HTTP
requests. It's surprisingly simple given the possibilities it creates.


Police (License: MIT/X11, npm: police) by Pavan Kumar Sunkara helps discover outdated modules in GitHub repositories based on a project's package.json. After
authenticating with GitHub, police repo or police
can be used to generate a report that details missing
package.json properties and old module versions.

When I tested Police out I noticed the .policeconf file
gets created with permissions set to 644, so if you're going to use this
on a shared server you might want to change the permissions as it
contains a GitHub authentication token.

Raynos' Blog

When I wrote New Node Web Frameworks: Derby,
asked people to send in web apps they've built using a Node web
framework. Raynos sent in his blog, Raynos.org
(GitHub: Raynos / raynos-blog) which appears to be based on a generic blog engine the author has
previously written and released through NPM.

The blog engine is based on CouchDB, and includes some unit tests.
Raynos has decided to split this Express app into routes, controllers,
models, and view models. Templates are powered by the author's
trinity templating system.