28 8 / 2010
Looking for Node.js Modules? Check out the NPM Repository!
With Node.js Knockout happening this weekend you might be looking for good modules for use in your great new application. I was looking through the Modules page on the Node Wiki last night, and was overwhelmed by the sheer number of projects available. How do you tell which projects are still active, and which ones are of high quality? These questions need to be answered quickly, especially within the context of a time limited contest like Knockout.
I posted my frustration to Twitter, and got a response from Chris Williams (of JSConf Fame) who pointed me to the NPM (Node Package Manager) Repository. I had already heard about NPM, which is a command line tool for installing, updating and managing node packages. It works much like Ruby gems does, and has become the defacto package manager for Node.js.
While NPM is nice in that it allows you to install packages very easily, it still did not solve the problem of finding and filtering projects. Luckily, that is where the NPM Repository comes in. NPM the command line tool works off of a huge JSON registry that keeps track of all the projects in the package manager. Mathias Pettersson (aka @mape) used that JSON file to build a nice GUI that helps you find and see updates to Node.js packages: hence the NPM Repository app.

The application allows you to see all of the projects in the NPM repository in a nicely designed table that is sortable by Package Name, Time Updated, and Author. It also has a search box in the top righthand corner that filters the table as you type, allowing you to filter by any of the fields in the table. Each project has a “More Info” button that lets you see a long description of the project as well as download a tarball of the latest version. Projects hosted on Github also have a link to their repository available. It looks like a very nice way to filter through the noise to find active Node modules relevant to you. Be sure to check it out!