Skip to content
This repository

Modules 

hegdeashwin edited this page · 30 revisions

Search for modules with search.npmjs.org, toolbox.no.de, and nipster.

Adding to this page

When you add a framework to this page, have a look at how others have done so, it should be a single item, with a link to the project's source code, and a short description (one line after formatting has been applied).

If you see a module without a description, feel free to edit the page and add it in, any contributions are appreciated.

When you edit this list, also add your module to library-compatibility so that users will know which versions of Node it was tested with.

Table of contents

Modules

Web frameworks

Routers

  • Route66 -- Routing middleware for Connect 2.0. Request params, simple syntax.
  • barista -- A fast, flexible URL router & generator, similar to Rails / merb (repo)
  • beeline -- A laughably simplistic router for node.js
  • biggie-router -- Router for the biggie framework. Inspired by Sinatra and JQuery.
  • Birbal -- Pretty darn simple and clever router. Work underway to turn into a microframework!
  • choreographer -- Your server is my stage -- dirt simple URL routing for Node.js. Easy to use, easy to understand. Sinatra-style API.
  • clutch -- no-frills web request router, supporting nested routes, regexp parameters
  • connect -- Robust high performance middleware framework
  • copperhead -- Connect compatible router middleware that supports content negotiation
  • crossroads -- Powerful and Flexible routing library, works on the client-side as well and have support for advanced features.
  • dispatch -- Regular expression URL dispatcher for Connect
  • escort -- High-performance, advanced routing and URL generation
  • filter-chain -- Java ServletFilter style request chaining
  • journey -- liberal JSON-only HTTP request router
  • node-router -- Simple Sinatra-like http server based on fu.js from the original node-chat demo.
  • node.routes.js -- A simple url router
  • nozzle -- web app/service framework
  • sherpa -- HTTP router/generator with support for regex and parameters
  • router -- A simple router with regex and sinatra like parameter support
  • beanpoll -- Universal router with syntactic sugar
  • connect-router -- connect/express router

Static file servers

  • Lightnode -- Easy to understand. Fast. Provides simple framework. (hierarchical servers, delegation, caching, virtual hosts).
  • navajo - A simple web server with the ability to run PHP or Node code as well as serve static files (alpha)
  • Nitrode -- A lightweight, super fast HTTP 1.1 with internal JS API
  • antinode -- A simple static web server
  • connect -- Connect's static() middleware provides flexible, high-performance, feature-rich static file serving
  • node-paperboy -- A node.js module for delivering static files
  • node-static -- A simple, rfc 2616-compliant static file server module with built-in caching
  • oui -- Web service server with great static files support
  • static - Static file handler using asynchronous streaming as JSGI middleware
  • static-resource - Static resource handling for node.js
  • Trailer -- Everyone's favorite backend.
  • nodetoy -- Static JSON file server that supports GET, POST and DELETE
  • statify -- A static file server to make any directory available via HTTP from the command line.
  • nserve -- A local development server, allowing for adjustable file transfer rate, mock web services and live reload.
  • bastard -- Automatic minification, in-memory cache, automatic fingerprinting.

Microframeworks

  • Monorail.js -- Ultra leightweight MVC web framework.
  • Ni -- A minimalistic Node module / framework that makes setting up an MVC project a breeze
  • (fab) -- A modular and concise async web framework for node.js
  • kaph -- Not framework
  • Layers -- A module to help create a layered web app with Express.
  • Nerve -- Microframework with simple array-based syntax for defining an app on top of node. (node.JS 0.1.30)
  • restmvc.js -- A simple library to help you quickly create RESTful webservices using Express, Mongoose, and MongoDB.
  • vroom -- A simple resource oriented web framework built on top of Node.js (November 2009, node.JS 0.1.16)
  • Picard
  • simplex (October 2009, node.JS 0.1.14)
  • Pipe-Layer -- Asynchronous HTTP router.
  • frank -- yet another sinatra-like microframework for node
  • webservice.js -- turn node.js modules into RESTFul web-services
  • zappa -- CoffeeScript minimalist interface to express, socket.io and others.
  • jqNode -- Simple jQuery-esque API for small projects.
  • seki -- simple front-end to an independent SPARQL server

Frameworks

  • Monorail.js -- Ultra leightweight MVC web framework.
  • actionHero -- actionHero is a minimalist transactional API framework for sockets and http clients
  • archetype -- A web framework leveraging Node.js
  • aries -- Annotation based MVC framework
  • BaseJump -- A RAD NodeJS Framework - Built on top of Connect (alpha release)
  • blueprint -- Blueprint for a Startup. Middleware, & MVC routing over Node.js & Mongoose
  • broke -- A porting of the most famous Django Web Framework
  • chain -- An evented convention for building Node Applications (Stopped Development, for ejsgi)
  • Coffeemate -- Push coffee-script into web development!
  • COKE -- A lightweight MVC framework base on Express that speeds up your web development. (Rails like)
  • Protos -- MVC Web Application Framework for node.js
  • Cargobox -- Express port with better OOP
  • Crux -- An MVC web application framework and project management utility, similar in some ways to Rails.
  • Derby -- MVC framework making it easy to write realtime, collaborative applications that run in both Node.js and browsers
  • djangode -- A framework that borrows some useful concepts from Django (March 2010, node.JS 0.1.30)
  • drty -- A Django port to NodeJS. Many Django features, still under heavy development. (January, 2011, 0.2.6)
  • Drumkit --- DrumKit is a plugin-powered, full-stack Web development framework for Node.js.
  • Express -- A robust feature rich web development framework inspired by Sinatra
  • Ext Core for NodeJS -- Templating and some basic tricks of ExtCore and ExtJS(XTemplate,Ext.util.format)
  • node-extjs -- Run ExtJS4 data models on Node.js
  • N-Ext -- Ext.core, Ext.util and Ext.data packages in your NodeJS apps (includes a MongoDB proxy based on node-mongodb-native)
  • Geddy -- A hackable Web-app development framework similar to Merb/Rails/Pylons/Django
  • GenJi -- A low-level loosely coupled web framework for nodejs
  • Grasshopper -- A feature-rich and flexible MVC framework for web applications and services, with integrated dependency injection.
  • JaxServer -- Application server and framework with template and css engines
  • jimi -- A framework for writing modular web applications in node.js (tutorial)
  • josi -- An MVC web framework that's easy to pick up but doesn't get in the way. Also see here
  • Kassit -- rapid building of client-side AJAX applications using Backbone and CoffeeScript
  • Kiss.js -- Web framework for node.js in CoffeeScript. Object-oriented, simple and sexy.
  • Locomotive -- Effective MVC web development for Node.js inspired by Ruby on Rails
  • merlin -- Object-oriented MVC framework relying on a robust set of conventions to minimize code. Also ships with optional plugins providing basic CMS-like functionality.
  • Meryl -- Minimalist web framework! See wiki
  • nodemachine -- A port of WebMachine to Node.js
  • nodepress -- High-level web framework for nodejs, can be used as a blog by default
  • PieJS -- A rapid development MVC framework. Inspired and similar in style/convention to CakePHP. In very active development.
  • pintura -- REST-based web framework/middleware stack built for Ajax-style JSON-driven applications
  • RailwayJS -- An MVC web framework, similar to Ruby on Rails, Express/Connect-compatible. Also see here (en) and here (jp)
  • Sayndo -- Fast and flexible web server with customized routing and authorization
  • Seek -- Small Javascript Web framework - mostly for learning purpose
  • SocketStream -- A fast full-stack real-time web framework for single-page apps
  • spludo -- A full featured web framework. Fully Async + MVC with DI, AOP and Storages. (tutorial + user-guide)
  • Stick -- A modular JSGI middleware composition layer and application framework
  • Tower -- Full Stack Web Framework for Node.js and the Browser, like Rails.
  • webjs -- Simple HTTP / TCP development framework
  • Zeppelin -- An early stage, low friction cloud development framework
  • QuickWeb -- An application server for Node.js

Middleware

JSGI

  • cascade -- Sequentially attempts multiple middleware apps.
  • compress - Gzip compresses (using node-compress) the response when appropriate based on request headers.
  • media - Performs content type negotiation (per RFC2616) delegating to appropriate media handler.
  • csrf - Checks HTTP request for possible cross-site request forgery, flags dangerous requests.
  • xsite - Handles JSONP, window.name, and cross-origin XHR (CORS).
  • rewriter - Rewrites defined paths to other paths.
  • static - Static file handler using asynchronous streaming.
  • error - Catches uncaught errors and converts to appropriate HTTP error responses.
  • conditional - Handles conditional HTTP requests (If-Modified-Since, etc.)
  • http-params - Converts HTTP parameters http- to headers.
  • auth - Handles Authentication (HTTP and cookie based).
  • commonlogger - A logger of HTTP requests.
  • compact - Join and compress frontend javascript.
  • contentlength - Sets Content-Length header.
  • head - Handles HEAD requests (stripping body).
  • redirect - Redirects to other URLs
  • urlmap - Maps to different apps by path/URL
  • extension - Transforms .extension to a RESTful Accept header
  • transporter - Share modules with browser, works RequireJS and Yabble
  • routes - Simple RegExp based router
  • session - Session manager with pluggable storage handling

Connect

  • connect-compiler -- Development middleware to dynamically recompile derived files at serve-time.
  • connect-airbrake -- Airbrake error reporting auto-setup middleware
  • connect-assetmanager - Asset manager for Connect for handling CSS/JS files
  • connect-assets - Compiled CSS/JS asset pipeline inspired by Rails 3.1
  • connect-force-domain -- force all visitors onto a single domain
  • connect-http-signature -- middleware wrapper for Joyent's HTTP Signature reference implementation
  • connect-rpx - Use RPX with Node.js and Connect
  • connect_facebook - Facebook session support for Connect
  • facebook-wrapper -- Basic wrapper to the Facebook API, designed to work with Connect and Express
  • connect_json - Support for parsing JSON requests and sending JSON responses in Connect
  • gzippo -- gzip static content files with Connect/Express
  • cookie-sessions -- Secure cookie-based session store
  • dispatch -- Regular expression URL dispatcher
  • formaline - full-featured module for handling form POSTs/PUTs (multipart/form-data, application/x-www-form-urlencoded ) and fast parsing of file uploads, it speaks JSON and it is also ready for use with middlewares like connect.
  • form2json -- Decoder for form-urlencoded data that supports arrays of nested objects
  • http-accept -- Connect compatible middleware that parses HTTP Accept header fields
  • monomi -- Provides tools for handling tablet, touch, and mobile browsers
  • node-facebook-session-cookie -- eats facebook cookies from client FB.login() and makes the session available as req.fb_session
  • quip -- Chainable HTTP response API
  • resource-router -- A resource-oriented router to replace the default routing in express
  • session.js -- super simple session middleware for node.js, even has optional "magic" sessions which monkey patch the httpServer with one line!
  • session-web-sockets -- Pass session to (Socket.IO-node) in a secure manner. Originally forked from bmeck/session-web-sockets
  • trust-reverse-proxy - Trust (SSL) connections coming from (a) specific reverse prox(y)(ies)
  • node_signedcookies -- Extends Express's cookieParser() to read/write signed cookies.
  • connect-proxy -- Retrieve originating ip/host values when proxying to your connect app
  • minj -- Serve minified javascript files with Connect/Express
  • connect-dojo -- Connect middleware exposing the Dojo Toolkit
  • express-chromeframe -- Dead simple middleware to enable chromeframe on connect/express applications.
  • connect-auth -- Connect authentication middleware, provides out-of-the-box implementations of HTTP (Basic & Digest), Twitter, Facebook, BitBucket, Janrain, Yahoo, Sina, Google, OAuth (1.0 server), Github and a couple of others....
  • everyauth -- Connect authentication and authorization middleware, modular, configurable, supporting password, OpenId, Google, OAuth, Twitter, LinkedIn, Yahoo, Readability, Dropbox, Justin.tv, Vimeo, Tumblr, OAuth2, Facebook, GitHub, Instagram, Foursquare, Box.net, LDAP
  • passport -- Simple, modular, and unobtrusive authentication framework for Connect and Express.
  • bundle-up -- A simple asset manager middleware for managing css and js files.
  • resty -- Quickly and simply build REST APIs with this connect middleware
  • express-errors -- Simple error handling
  • merge-js -- Simple connect middleware for merging multiple js files and uglifying the result.

Other middleware

  • node-file-cache - Very small file cache for node.js http server.
  • protobuf_for_node -- In-process JS-to-C++ communication using protocol buffer services
  • socket-logger -- JSON-parsable logs for Socket.IO that can push log messages to a client over Socket.IO.
  • node-evented -- Extended EventEmitter
  • http-proxy-selective -- Proxy server replace some remote static files with local ones
  • proxy-tamper -- A proxy server that allows for the tampering of requests and responses.
  • googleclientlogin -- Log in to Google services using CllientLogin method
  • node-reverse-proxy -- A reverse proxy which forwards incoming HTTP requests to multiple back-end HTTP servers based upon HTTP Host header.
  • Node-Http-Rewrite-Proxy -- This module proxies and rewrites HTTP requests of all types. For this you can, if you want, use regular expressions.
  • eventpipe -- Provides an Event Pipe with the same API as node.js' EventEmitter
  • express-twitter -- Twitter-specific OAuth support
  • http-auth -- Node.js package for HTTP basic and digest access authentication.
    • htpasswd -- Node.js package for HTTP Basic Authentication password file utility.
    • htdigest -- Node.js package for HTTP Digest Authentication password file utility.
  • http-auth2 -- HTTP basic authentication that supports multiple logins.
  • node-force-domain -- Force multiple domains to redirect (301) to a default one in your Express project.
  • exedra -- Express routes & functions loader
  • node-varnish -- Connector for the Varnish cache telnet management protocol
  • notp -- NodeJS One Time Password authentication, compatible with Google Authenticator
  • onion -- Simple and flexible middleware stack that enables you to add a middleware layer to just about anything

Other

  • Alligator -- Application Server on top of NodeJS (JSSP and SSJS support)
  • Unlimit -- chaining to JavaScript without extending objects' prototypes
  • Nitrode -- A lightweight, super fast HTTP 1.1 with internal JS API
  • Cluster -- Extensible multi-core server manager (spark successor)
  • Common Node -- Synchronous CommonJS compatibility layer that includes JSGI, jBinary, IO, Filesystem, System and HttpClient modules
  • Connect -- Middleware framework packed with high quality / performance middleware
  • Spark -- A command-line tool used to manage node server processes
  • Spark2 -- Fork of Spark with some improvements.
  • Stereo -- A simple drop-in multi-core node application controller
  • node-elf-logger -- Configurable HTTP logging library following the W3C Extended Log File Format specification
  • JSGI-Node -- Asynchronous JSGI 0.3 Adapter for Node, for standards-based middleware
  • node-mime -- Utility module for mime-type lookups
  • mime-magic -- Proper MIME type detection library that wraps the libmagic functionality
  • node-cgi -- CGI adapter kludge (replaces Node's fast and famous event-based HTTP library)
  • node.ly -- A simple URL shortener (currently not available on GitHub)
  • multi-node -- Launch multiple node processes for HTTP servers
  • node-digest -- HTTP Digest authentication for NodeJS
  • Q-Oper8 -- Scalable multi-process manager for Node.js
  • solder -- Combines and minifies JavaScript and CSS at runtime and build time
  • fugue -- Unicorn for Node.js - Multiple node server instance manager with Unicorn-like features
  • what -- What - A Node.JS Web Container/Application Server
  • mongrel2 -- mongrel2 - Mongrel2 handler for node
  • node-flags -- node-flags - Flag handling library
  • zen -- Robust high performance middleware engine
  • js2 -- Syntactic Sugar and Object Oriented Javascript

Database

MS SQL Server

  • tsqlftw -- A Native & Asynchronous MSSQL bridge for Windows.
  • node-mssql -- A node.js MS SQL Server native driver
  • tedious -- A pure Javascript implementation of the TDS protocol, for connecting to SQL Server databases
  • node-tds -- Pure JS client to SQL Server

PostgreSQL

  • node_postgres -- Beginning of bindings to libpg
  • node-postgres -- Well tested libpq binding and pure javascript PostgreSQL client
  • FastLegS - PostgreSQL ORM on top of node-postgres.
  • ORMnomnom - ORM that mimics Django's ORM, on top of brianc's node-postgres. Also supports SQLite via developmentseed's sqlite3.
  • postgres-js -- Postgres protocol implemented in pure JS
  • postgres-js -- Fork of postgres-js, adds parameterized queries and prepared statements.

MySQL

  • db-mysql - Binary driver for MySQL (using libmysql). Part of the Node.js DB effort
  • node.dbslayer.js - Interface to DBSlayer (MySQL)
  • node-poormansmysql -- Asynchronous MySQL driver for node.js using the mysql command-line tool
  • node-mysql -- A node.js module implementing the MySQL protocol
    • node-mysql-pool -- connection pool for node.js on top of Felix Geisendörfer's MySQL client node-mysql.
    • node-mysql-cache -- MySQL query cache for node.js on top of Felix Geisendörfer's MySQL client node-mysql.
    • node-mysql-queues -- Wraps 'node-mysql' to provide mulitple query queues, allowing support for multiple statements and MySQL transactions.
  • node-mysql -- Pure JavaScript MySQL async driver [obsolete]
  • node-mysql-native -- Yet another pure JS async driver. Pipelining, prepared statements.
  • node-mysql-libmysqlclient -- MySQL asynchronous bindings based on libmysqlclient
    • RDX - An object-relational mapper (ORM) for node. Backends: node-mysql-libmysqlclient.
  • node-handlersocket -- Pure JavaScript client for HandlerSocket Plugin for MySQL
  • persistence.js -- An object-relational mapper (ORM) for node. Backends: MySQL.
  • sequelize - An easy-to-use cross-database Object-Relational-Mapper (ORM) for Node.JS. Supports currently MySQL and SQLite.
  • patio - An ORM/query engine for node (Currently only MySQL). Supports MySQL
  • persist - ORM framework supporting MySQL and SQLite 3 relational databases.

SQLite

  • node-sqlite -- Bindings for SQLite3. Interface conforms to the HTML5 Web SQL API
  • node-sqlite -- Fast asynchronous driver: New evented Node.js look, same great SQLite3 taste
  • node-sqlite3 -- Full-featured, asynchronous SQLite bindings with query serialization/parallelization and verbose stack traces
  • sequelize - An easy-to-use cross-database Object-Relational-Mapper (ORM) for Node.JS. Supports currently MySQL and SQLite.
  • persist - ORM framework supporting MySQL and SQLite 3 relational databases.

Oracle

  • oracle -- Database driver for Oracle

NoSQL and Key/Value

Mongo

  • GridFS - Simple GridFS capabilities built on node-mongodb-native.
  • mongo-sync -- A synchronous MongoDB driver for use with Common Node that attempts to closely approximate the MongoDB shell.
  • mongodb-viewer -- NodeJS MongoDB web-based admin/viewer tool.
  • mongojs -- Simple driver that emulates the mongodb API as much as possible.
  • node-mongodb -- Basic MongoDB client implementation in JS/C++
  • node-mongodb-native -- A pure JavaScript driver for MongoDB.
    • node-mongoskin -- A future layer for node-mongodb-native.
    • node-mongodb-wrapper -- As close as possible to the command-line driver. Uses node-mongodb-native.
    • mongode -- Very thin wrapper around node-mongodb-native that simplifies the API a bit.
    • N-Ext -- Use Ext.data packages in your NodeJS apps (includes a MongoDB proxy based on node-mongodb-native)
    • mongoq -- MongoDB is: mongoq('mongodb://localhost/db').collection('users').find().toArray(function(error, docs){})
  • node-mongolian -- Mongolian DeadBeef is an awesome Mongo DB node.js driver that attempts to closely approximate the mongodb shell
  • mongolia -- Flexible wrapper for the nodejs Mongo driver. Lighter than a ORM but easier to use than the driver.
  • Mongorito -- Mongorito is an ODM for MongoDB. Hooks, validations, models, built-in caching. Everything you need is already there.
  • mongoose -- Mongoose is a JavaScript library that provides an ORM for MongoDB.
  • mongoose-nested-set - A mongoose plugin implementing the nested set pattern for mongoose models
  • mongoose-paginate -- Mongoose ORM (NodeJS) Document Query Pagination.
  • mongous -- Mongous is a simple MongoDB driver that uses a jQuery styled syntax.
  • nosql-thin - Makes easier to work with MongoDB. Not an ORM. Not production ready.
  • mongoclikker - Simple MongoDB data viewer
  • Official driver - Vote for it on 10gen's tracker

Hive

  • node-hive -- dead simple hive client using thrift api
  • node-thrift-hive -- Hive client with multi versions support and a Readable Stream API.

Redis

  • redback -- a high-level Redis library with support for advanced data structures such as Social Graphs and Full-text Indexes.
  • awesome -- a Redis clone in node.js
  • nedis -- Redis server implementation written with node
  • redis-node -- Comprehensive, high speed Redis client
  • redis-node-client -- Redis Client by Fictorial (deprecated)
  • node_redis -- Complete Redis client that works well with new node and new Redis
  • redis2json -- Easily loads data from Redis into structured JS object
  • nohm -- Redis object relational mapper (ORM)
  • rdb-parser -- async streaming parser for Redis RDB dumps
  • ron -- Redis object relational mapper with a minimum of magic

CouchDB

  • node-couchdb-api -- An easy-to-use and powerful wrapper for the CouchDB API that follows Node.JS conventions for async code.
  • LazyBoy -- a CouchDB ORM thats easy to use
  • node-couch -- a CouchDB connector
  • node-couchdb -- A full API implementation
  • node-couchdb-min -- Light-weight client with low level of abstraction and connection pooling.
  • couch-ar -- a active record implementation for couchDB (uses cradle)
  • couch-client -- a simple wrapper around CouchDB's http interface
  • PJsonCouch -- PJs-on-Couch is a client lib for CouchDB's HTTP API
  • cradle -- a high-level, caching, CouchDB client
  • couchcmd -- CouchDB command line utility using cradle
  • data.js -- Graph persistence for Node.js with CouchDB
  • couchtato -- CouchDB document utility tool
  • nano -- Minimalistic driver for CouchDB based on mikeals/request
  • YACA -- custom api for your couchdb instance generated through introspection.
  • Sag -- Gently wraps the CouchDB API, giving you power without a bunch of "stuff". The same source file works in the browser, allowing you to code against one API everywhere.

Other NoSQL implementations

  • riak-js -- Riak JavaScript client (works on node v0.1.30+)
  • node-mwire -- Client for GT.M & Cache databases
  • alfred -- a fast in-process key-value store for node.js that has functional indexes, streams, replication, ...
  • barricane-db -- a transparent object persistence mechanism
  • chaos -- Chaos is a Node.js database
  • node-tokyocabinet -- Tokyo Cabinet binding
  • node-tyrant -- An implementation of the Tokyo Tyrant network protocol for the Node.js
  • kyoto-client -- A client for the Kyoto Tycoon key-value store
  • keys -- Unified interface for key/value store clients
  • neo4j -- Neo4j graph database driver for Node
  • cassandra-node -- Node.js driver for CQL and Apache Cassandra
  • node-dynamodb -- DynamoDb Driver for Node.js
  • dynode -- A client for Amazon's DynamoDB service
  • node-leveldb -- NodeJS bindings to levelDB - a fast and lightweight key/value database library

Miscellaneous and multiple DB

  • Tabler - Access relational and NoSQL database backends using a generic SQL-inspired table interface (SimpleDB, JSON file available)
  • db-drizzle - Binary driver for Drizzle (using libdrizzle). Part of the Node.js DB effort
  • jugglingdb - ORM for every database: redis, mysql, neo4j, mongodb, ...
  • JSLINQ -- Clean and simple port of Microsoft's LINQ to node.js (and the browser)
  • nconf -- A hybrid local / remote configuration storage library
  • node-cask -- A 140 loc mmap-ed key/value store, based on bitcask
  • node-dbmon -- Database Real-Time Monitoring Library
  • node-dirty -- A key value store for node.js that is simple, fast & dirty.
  • node-fleet -- a FleetDB Client
  • node-firebird-libfbclient -- Firebird SQL client
  • node-fsdocs -- Simple, ACID and versioned file system-based document database for quick hacks
  • node-hbase -- HBase client with full API support through the REST connector
  • node-mdbm -- a client for GT.M and Cache, using an HTTP interface that is based on SimpleDB
  • node-orm -- ORM for multiple drivers (MySQL, PostgreSQL, MongoDB)
  • memcached -- Memcached, membase client with support for memcached clusters using consistent hashing.
  • Memcacher -- Memcached client, based on node-memcached, adds tagging functionality to memcached, without modifying it or its source.
  • node-dbi -- A database abstraction layer, which allows to work with several database engines (MySQL, SQLite) with a single handy API
  • node-tiny -- An experimental in-process database similar to nStore.
  • persistence -- Multi-backend database/nosql system. Backends: Sqlite3, Postgres and Memory.
  • perstore -- JavaScript persistence/object store with pluggable storage based on the W3C DB API
  • node-migrate -- Migrate - A database agnostic migration system for Node.js
  • simpledb -- An Amazon AWS SimpleDB library for Node.js that is user-friendly and fault-tolerant
  • rawhash -- Experimental in-memory key:value cache where keys are binary Buffers. Built on google-sparsehash and murmurhash3
  • node-mdb -- Node.js-based clone of AWS SimpleDB, using GT.M for data storage
  • ueberDB -- Transforms every database into a object key value store
  • hive -- Fast in memory store for Node.
  • nocr-mongo -- NoCR implementation for mongoDB
  • searchjs -- Library for doing easy native JSON SQL-style querying on JS objects/arrays. Implements JSQL, native JSON query language.
  • node-odbc -- unixODBC bindings for node. Query any database that has an ODBC driver.
  • squel -- Light-weight SQL query string builder (works in browser too).
  • node-gdbm -- GNU's GDBM wrapper library for Node.
  • sequelize - An easy-to-use cross-database Object-Relational-Mapper (ORM) for Node.JS. Supports currently MySQL and SQLite.
  • dynamoDB -- An Amazon AWS DynamoDB library for Node.js.
  • persist - ORM framework supporting MySQL and SQLite 3 relational databases.
  • db-migrate - Relational database migration framework
  • LDAP - LDAP Search/Modify/Auth with Syncrepl Async update notification
  • node-springbase -- Plug-and-play cloud relational data store for Node applications

Templating

  • asyncEJS -- Asynchronous implementation of embedded JavaScript
  • bake -- Templating engine for static files. Supports ejs templates.
  • bind-js -- a simple templating engine for node.js that smiles back.
  • bliss -- Template engine inspired by .NET Razor and Play! Scala Templates.
  • blue -- A streamed template engine. Support for asynchronous loading of partials
  • combyne.js -- A template engine that hopefully works the way you'd expect.
  • CoffeeKup -- Markup as CoffeeScript. Live demo and html2coffeekup
  • CoffeeMugg -- Markup as CoffeeScript. A branch of CoffeeKup, supports closures, requires no compilation, extensible via view-helper libraries, like ActionView.
  • doT.js -- Concise and super fast javascript templates with customizable delimiters, streaming and partials support
  • DryKup -- CoffeeKup-compatible markup for CoffeeScript. Supports closures and requires no compilation.
  • dust -- Async, streaming & composable templates for the browser and node
  • Eco -- Embedded CoffeeScript templates
  • ejs -- Light-weight Embedded JavaScript implementation. Express compliant
  • haml.js -- Faster / more compliant implementation of Haml. Express support
  • haml-js -- Server side html generation using JavaScript. Parses haml templates and renders html.
  • handlebars.js -- The mustache-inspired templating library behind Ember.js
  • jshtml -- Clean HTML, full JavaScript template engine. Inspired by the razor view engine used in asp.net mvc.
  • jqtpl -- A port of the new jQuery template engine. Express compliant
  • Jade -- Haml-like template engine, fantastic error reporting, easier to read, higher performance. Express compliant
  • jazz -- A readable template language for node.
  • JinJS -- A port of Jinja, a Django Template-like templating language to Javascript
  • JSON Template -- Minimal but powerful template language with multiple implementations. This is the CommonJS version, tested on Node
  • jm -- Another Builder/Markaby/Erectory clone in JavaScript.
  • jsdom -- pure js implementation of the dom level 1 with some browser augmentation. Level 2 and 3 are being considered.
  • less.js -- official port of Less to JavaScript/node. rendering process.
  • Liquor -- A templating engine minus the code.
  • Lite(LiteXML) -- A cross platform template engine base on xml/html and javascript expression
  • minimal.js -- a fast HTML+JSON template engine (both browser and Node.js compatible)
  • Mu (Mustache) -- A Mustache engine that compiles templates into very fast rendering functions. Also streams the
  • nTPL -- Fast & Native extendable template system
  • nodejs-meta-templates -- like php mixed with html, processed twice, 1st static data, 2nd dynamic data.
  • normal-template -- Normal templates are simple, yet powerful. They are safe, usable in non XML/HTML contexts and portable to any programming language.
  • nun -- Totally asynchronous non-blocking template engine for node.js
  • node-dom -- Javascript fast W3C DOM generation.
  • node.magic_dom -- A DSL for building HTML in node.js, similar to Python's Stan
  • node-template -- Fast and light cached templates.
  • node-properties -- Simple property reader, externalise your configuration through JSON
  • Parrot -- A lightning fast and lightweight templating engine for Node.js (Just 33 LOC!)
  • PURE -- Unobtrusive Rendering Engine. The HTML view and the JS logic remain strictly separated. Works with jsdom.
  • stencil -- Renders asynchronous templates shared by server and browser
  • Node-T -- A fast django-like templating engine for node.js
  • plates -- A fast, non-intrusive engine (similar to weld, but faster).
  • shift.js -- Standard interface to the Node.js template engines.
  • Swig -- Fast and powerful Django-style templates for node.js
  • Templ8 -- A fast, lightweight, yet powerful & feature rich client/ server template engine based on Django style syntax
  • template.node.js -- A light, fast, cached template module for node.
  • thunder -- A lighting fast template parser for node.js. Express compliant
  • tmpl-node -- a feature-rich template module for node.js
  • tpl -- a general purpose template cli
  • TwigJS -- A port of PHP template engine (www.twig-project.org) to Javascript
  • weld -- unobtrusive. portable. ANTI-TEMPLATING. Weld binds data to markup, and can generate markup based on your data.
  • whiskers -- single-file, feature-sparse templating for node, express, and the browser
  • xmlbuilder.js -- An xml builder in JavaScript inspired by Ruby's Builder, Markaby, and Erector.
  • xmlbuilder-js -- An xml builder for node.js similar to java-xmlbuilder.
  • node-tmpl -- basic templating system in node.js based on shorttag
  • tob -- Template Observer, allows self-reloading templates with your template engine
  • node-jst -- A pretty high performance template engine implemented with JavaScript. Express compliant
  • node-pages -- A simple template engine. Cacheable and Trackable.

CSS Engines

  • Stylus -- Expressive, dynamic, robust CSS language written by the author of Express, Connect, Jade and more
  • Stylus-Sprite -- Extension for Stylus to generate sprite images
  • sass.js -- Parses Sass templates and renders css.
  • scss-js -- Parses SCSS templates and renders css.
  • carto -- Parses MSS templates and renders XML for Mapnik
  • ccss -- Parses a JavaScript object and renders css.
  • less -- Parses a LESS template and renders css.
  • csslike -- Parses and compiles CSS, taking into account the most recent www-style proposals.
  • CSSOM — Parses CSS into CSS Object Model.
  • Csster — Write CSS in JS or Coffeescript, with macros, color math, etc.

Content Management Systems

  • Nodepad -- A nice basic web-based notepad.
  • Calipso -- An express based CMS, very much work in progress.
  • Murray CMS -- blog platform using express and mongodb.
  • AE86 - Static website generator. Easy to write custom tag as simple JavaScript function, clean and minimalistic template syntax.
  • DocPad -- a static website generator which supports markdown and eco among others
  • FilePad - edit your local files collaboratively in realtime inside the browser, can be used in conjunction with DocPad
  • NoCR - JCR-inspired Content Repository API for Node.js which maps your content model to a tree of nodes and properties. There is a MongoDB NoCR provider available
  • reed - A Markdown-based blogging core backed by Redis and the filesystem.
  • MCMS - A Minimal CMS using GitHub flavored Markdown, Mustache templates and the filesystem.
  • jslardo -- A Social CMS, where users are able to register to the application, create their own models (mongoose schemas), views, controllers, websites and pages. Work in progress, keep updated!
  • LooseLeaf -- Very simple blogging engine based on express, no-DataBase, only JSON.

Build and Deployment

  • reloader -- Reload app on it's source code change. Suitable to work both on production and development machines. Act as usual NodeJS module.
  • roco -- Capistrano inspired CLI for deployment, monitoring and other stuff.
  • always -- A CLI & Daemon tool to run a NodeJS process Forever, restarting on file changes & crashes with piping to stdout or log files.
  • asereje -- Bundles and minifies your javascript and css files on demand. Forget about builds, hard deploys and cache forever.
  • dev -- Automatically restarts the app when a source-file is modified. Autohooks on new files, so it doesn't need manual restart at all.
  • forever -- A simple CLI tool for ensuring that a given script runs continuously (i.e. forever)
  • forever-webui -- A simple web UI for efficient nodejs administration
  • haibu -- a node.js application server - spawn your own node.js clouds, on your own hardware
  • jitsu -- Flawless command line deployment of your Node.js apps to the cloud
  • nodejs-autorestart -- It is a way to watch all .js files if they have been changed and to restart nodejs. It allows easy development and stable production.
  • config -- Configuration control for production node deployments - npm install config
  • node-config -- Lightweight configuration engine for Node.js
  • node-dev -- Automatically restarts node when a source-file is modified. Displays notifications via Growl.
  • octoploy -- GitHub post-receive hook URL handler (execute script on push to repo)
  • run -- Rerun your js file whenever there's a change in the current directory: npm install -g run, runjs yourcode.js. Never alt-tab to your terminal again.
  • node-settings -- Simple, hierarchical environment-based app settings.
  • Jake -- JavaScript build tool similar to Make or Rake.
  • Grunt -- a task-based command line build tool for JavaScript projects.
  • muffin.js -- CoffeeScript compilation, minification, concatenation, copying, growl, and SLOC counting helpers for Cakefiles.
  • Masson -- Build system and rule management similar to tools like Make, Ant or Rake
  • Ready.js -- Continuous JavaScript integration using JSLint, Google Compiler, Node.js and Git
  • autolint -- Autolint watches your files for jslint/jshint-errors.
  • ripple -- Dynamic runtime configuration for node.js deployment based on lorenwest's config.
  • nodemon -- Monitors all source files, restarts node on changes. Command-line usage, code-passive with ignore list.
  • node-linter -- generic lint wrapper for JSLint, closure-linter, closure-compiler, and JavaScript Lint.
  • nib.js -- package and minify JavaScript/coffeescript projects to be embedded in the browser as a single .js file
  • weber -- dynamically compiling and minifying scripts, stylesheets and templates on-the-fly, including Coffeescript, Eco, Stylus, etc.
  • nclosure -- Compiler, Style Checker, Utility Library, Unit Testing Framework, JSDoc Documentation Tool. Built on top of Google Closure tools.
  • quickcheck -- Port of the Haskell QuickCheck unit testing framework
  • buildr -- Javascript Project Builder, Compresses Images, CSS and JS, Bundles CSS and JS, Checks Javascript, Supports SubPackages/Plugins
  • poly.shell -- distributed shell job control with role based configuration
  • inireader -- Ini file parser
  • doc.md -- A simple JSDoc documenation tool that creates markdown for node.js modules
  • coffee-conf -- Write your config files in coffee-script.
  • Gittyup -- Application deployment library for node.js
  • npkg -- Generates cross-platform installers for Node.js applications
  • envious -- environment variable configuration that's too easy to pass up
  • modul8 -- Extensible CommonJS browser code sharing
  • coffee-toaster -- Minimalist dependency management system for coffee-script.
  • watch-node -- Automatically restart Node.js server when a file changes, recompile JS/CSS. Do anything. Uses Mac FSEvents.
  • start-stop-daemon -- An 1-function Node.js module to easily create native child_process.fork start-stop-daemon scripts. Created daemons are self-monitored and restart automatically when crashing (a custom crash handler can be attached too).
  • mnm -- Make Node Module (MNM) is a build tool for making native Node.js modules with no dependencies other than Node itself (i.e. no Python required)

Package Management Systems

  • npm -- A node package manager that uses CommonJS-compatible package.json files, written in asynchronous JavaScript.
  • police -- A module dependency version policing tool. It goes through all your repositories on github which has package.json and analyzes the dependencies and reports back to you about all the outdated packages.
  • nmod -- nmod is a node_modules manager. able to install from npm and git
  • Ender -- A package manager built on NPM bringing micro to macro to create your own custom JavaScript library by composing modules into a cohesive and familiar interface .
  • Slugr -- Wraps node.js apps into a single executable file.
  • npkg -- Generates cross-platform installers/executables for Node.js applications
  • Cupboard -- Reverse package manager

Module Loader

  • directory -- require a whole directory
  • nodules -- Async URL CommonJS module loader with dep resolution/downloading and hot-module reloading
  • node-DJs - Restart a server after each change in main script and dependencies
  • node-hot-reload - watchFile and reload modules dynamically for node.js (very useful for development, less good for production)
  • remap - reroute require for mocks, wrappers, or shenanigans (useful for testing)
  • a3 -- a3 module loads any folder of code into an 'API Tree'
  • haba -- plugin library

OpenSSL / Crypto / Hashing

  • node-gpg
  • node-hashring -- Hash ring provides consistent hashing based on the libketema library.
  • packnode -- Obfuscate, minify and/or encrypt JS files
  • hashlib -- Fast hashing module, written in C/C++, supports: md4, md5, md6, sha, sha1, sha256, sha512
  • jsHashes -- A hash algorithm independent library purely JavaScript implemented for both server and client side. Support: MD5, SHA1, SHA256, SHA512, RIPEMD-160, HMAC including Base64 encode/decode, CRC-32 and full UTF-8 support.
  • keygrip -- Key signing and verification for rotated credentials
  • brainfucker's node-base64 -- C++ base64 lib
  • pkrumins's node-base64 -- C++ base64 lib that actually works
  • amir's node-base62 -- C++ base62 lib for representing big numbers
  • MD5 -- Plain JavaScript MD5 hashing function
  • node.bcrypt.js -- C/C++ bcrypt lib
  • node-crypto -- OpenSSL based Hashing, Signing and Verifying
  • node-oauth -- OAuth client (1 and 2)
  • oauthjs -- OAuth client
  • oauth-server -- OAuth server (1.0A)
  • node-oauth2-provider -- OAuth 2 provider as Connect/Express middleware with custom token storage hooks
  • node-openid -- OpenID 1.1/2.0 Relying Party (client)
  • pass -- Validate/generate Apache htpasswd passwords (for Basic Auth)
  • rbytes -- Secure random byte generator for session keys, UUIDs, etc.
  • sasljs -- Gsasl wrapper to performs server-side SASL authentication.
  • sha1 -- Plain JavaScript SHA-1 hashing function
  • node-whirlpool -- C/C++ mhash lib wrapper providing whirlpool hash support
  • NodeJS-Keychain -- A security-oriented keychain web service
  • node_nibbler -- Base32/base64 encoder/decoder.
  • node-cityhash -- NodeJS bindings for Google CityHash , both CityHash64 and CityHash128 are supported.
  • node-phpass -- A pure JavaScript port of the portable PHP password hashing framework.
  • node-sechash -- Secure password hashing using salt and key stretching.
  • murmurhash3 -- Node.js bindings for MurmurHash3
  • speakeasy -- Easy two-factor authentication. Time-based or counter-based one-time passwords with the HMAC One-Time Password algorithms. Supports Google Authenticator.

SMTP

  • Haraka -- Full Featured SMTP Server
  • node-smtpclient -- Simple SMTP that uses AUTH and TLS/SSL (2.4)
  • node-smtp-client -- Implementation of the SMTP protocol in Node
  • node-smtp -- Implementation of an SMTP server (and soon, client)
  • node_mailer -- send emails from node.js to an smtp server, simple as cake
  • Nodemailer - Easy to use module to send e-mails with Node.JS, unicode friendly
  • emailjs - send emails, html and attachments from node.js to any smtp server (ex: gmail)
  • node-smtpevent -- Event based SMTP server
  • mailcomposer - Generate e-mail messages that can be streamed to SMTP or file (unicode friendly)
  • simplesmtp - Use SMTP as a first class protocol, useful for generating custom SMTP servers

TCP / IP

Multiple protocols

  • open-uri -- A very simple HTTP(S)/FTP client library similar to Rubys Open-URI lib.

HTTP

  • shred -- HTTP client library for Node.js and browsers. Supports gzip, cookies, https, proxies, and redirects.
  • node-httpclient -- Node HTTP Client (gzip, https, cookies etc.)
  • node-get -- Moderately higher-level HTTP client library.
  • node-digest -- HTTP Digest authentication for NodeJS
  • node-http-status -- Interact with HTTP status code (just a set of constants)
  • request -- Simple HTTP client library.
  • superagent -- High-level HTTP client sporting a progressive API
  • fetch -- Fetch urls with ease, supports gzip content, cookies and more
  • node-socksified -- HTTP SOCKS5 proxy support
  • http-sync -- Synchronous http(s) client
  • http-get -- Simple to use node.js HTTP / HTTPS client for downloading remote files. Supports transparent gzip decoding.
  • multiparter -- multipart/form-data POST request maker for Node.js with support for streams (sending files) and plain params
  • multipost -- An easy interface for the multipart/form-data protocol
  • watchmen -- A simple HTTP monitor (pings sites and services with predefined parameters to make sure they are alive)
  • needle -- Lightweight HTTP client with multipart support.
  • node-tunnel -- HTTP/HTTPS Agents for tunneling proxies.

FTP

  • jsftp -- A sane, light and concise client implementation of the FTP protocol
  • node-ftp -- An FTP client module for node.js
  • ftp-get -- Simple to use node.js FTP client for downloading remote files
  • NodeFTPd -- Node FTP Server ... updated fork here
  • node-ftpclient -- Node FTP Client

E-mail

  • node-imap -- A module for interacting with IMAP mail servers
  • n3 -- Experimental POP3 server to send arbitrary data to e-mail clients (including e-mails)
  • node-poplib -- POP3 client library for Node.js

XMPP

Other networking

  • node-nntp -- An NNTP (usenet/newsgroups) client module for node.js
  • node-snpp -- Node SNPP server library
  • mdns -- mdns/zeroconf/bonjour service discovery add-on
  • macaddr -- Obtain MAC addresses for current machine from Node
  • node-icecast-stack -- An interface for connecting to, parsing metadata, and reading from SHOUTcast/Icecast radio streams
  • ndns -- DNS client/server library
  • jsDAV -- jsDAV allows you to easily add WebDAV and CalDAV support to a NodeJS application. jsDAV is meant to cover the entire standard, and attempts to allow integration using an easy to understand API.
  • wake_on_lan -- Generate and send Wake-on-LAN magic packets
  • node-tld -- for working with TLD data (registered domain name, etc)
  • NodeSSH -- a lightweight SSH client
  • node-snmp -- SNMP v1 client
  • portscanner -- An asynchronous port scanner for Node.js
  • node-ping -- Simple wrapper around fping
  • shorty -- Shorty is a lightweight, high performance SMPP client and server.
  • stomp-client -- A STOMP client for Node.js
  • node-ssltunnel -- A lightweight TCP over SSL / TLS tunnel running over node. If you need to add confidentiality, integrity, and authenticity to your TCP stream this is the tool for you.

RPC

  • messenger -- Dead Simple API for cross-service communication (supports Pub/Sub, Request/Reply, Fire and Forget models).
  • nodeQuery -- nQuery.js lets you create, edit, update or delete the DOM in real-time using jQuery/Zepto style code written on the server
  • nowjs -- nowjs makes realtime web apps really easy (http://nowjs.com)
  • rpc-socket -- Multi socket support for JSON-RPC NOTE: still under development.
  • bertrpc
  • jsonrpc
  • xmlrpc -- A pure JavaScript XML-RPC server and client
  • dnode -- Asynchronous remote method calls with transparently wrapped callbacks. Works with regular network streams or socket.io.
  • node-jsonrpc -- Another JSON-RPC server
  • jsonrpc2 -- A super easy to use JSON-RPC v2 server
  • IPCNode -- Asynchronous RPC library based on node.js Stream object, with support for circular objects, and explicit reference counting to ensure proper garbage collection.
  • msgpack-rpc -- Implementation of Msgpack-RPC (http://msgpack.org)
  • node-ipcbuffer -- A modified Buffer object to pass large amounts of data between processes using POSIX or System V IPC shared memory and or do fast read and writes to files. (Windows soon).
  • node-pingback -- Pingbacks for node.js, conforming to the pingback and xml-rpc spec.
  • node-soap -- SOAP client and service (partial support).
  • nodejs-light_rpc -- Simple server/client RPC, with minimal dependencies (uuid (can be removed to use simple increment)).
  • zeromq.node -- 0MQ (zeroMQ) bindings for node.js
  • thintalk -- A minimal extendable RPC abstraction with buildin TPC and IPC support

Web Sockets & Ajax

  • Abstract HTTP Request -- An HTTP Client wrapper for the browser (XHR) and node.js (http module)
  • Comet LongPollingBuffer -- A Library to simplify the server side of Comet AJAX long polling
  • Faye -- Bayeux protocol Comet client and server for Node.js and Rack
  • Minotaur -- Long poll server using JSONP communication with clients
  • Socket.io -- WebSocket-compatible server and client with fallback for legacy browsers
  • node-rpc-socket.io -- socket.io addon, add a full client/server implementation of JSON-RPC
  • node-socket.io-client -- Node.js implementation of the Socket.IO client libraries
  • node-XMLHttpRequest
  • node.websocket.js -- WebSocket-compatible server.
  • node.ws.js -- A basic Web Socket server with interface similar to tcp.createServer(...)
  • nodejs-http-websocket -- A websocket server on top of the http server.
  • node-websocket-server -- Another websocket server on top of the http server.
  • Restler -- Simplified REST client for Node.js
  • node-websocket-client -- An HTML5 Web Socket client.
  • node2node-socket.io -- A node2node transport and client for socket.io .
  • Reston -- REST client with multipart support and friendly API
  • tunguska -- A comet publish/subscribe distributed hub (runs across multiple node instances).
  • grappler -- A minimalistic server for handling "comet" connections that supports a variety of connection methods.
  • spacesocket -- WebSocket server not invented here
  • Weasel -- a command based websocket application framework
  • node-wwwdude -- A simplified, flexible HTTP/REST client library for node.js
  • node-bus -- A distributed pubsub engine for JSON-based events
  • wave-node -- An implementation of the Google Wave Gadget API for node.js
  • node-object-sync -- Transparently synchronize objects across connected clients
  • easywebsocket -- WebSocket to broadcast messages to webpages
  • websocket-node -- A WebSocket library that implements the most current protocol versions, 8 and 13. Version 13 is the latest version that is now the final WebSocket spec as RFC 6455
  • Beseda -- Fast, well designed and featured Node.js Pub/Sub server. Beseda offers multiple platform API to develop realtime web applications.
  • node-eventstream -- A server-side companion to EventSource.
  • ws -- Very fast, protocol conformant WebSocket client, server and console. Supports RFC 6455, the Hybi drafts as well as Hixie-76.
  • ws-flash-client -- Replaces the WebSocket object with a Flash implementation on clients without native WebSocket support, thus covering 99% of use cases. Works well with the ws WebSocket server.
  • ws-rpc -- Lightweight RPC support for the ws WebSocket server. Supports rooms (channels), callbacks, auto-reconnection, using client WebSocket from Node.js (not only Browser), and works well with ws-flash-client.

Message Queues

  • gearman-node -- Gearman client.
  • gearnode -- Gearman client and worker.
  • node-gearman -- Simple worker/client module for Gearman
  • node-rqueue -- Implementation of RQueue, includes Worker and Queue
  • websocket.MQ -- Reliable message queue server accessible via websockets, socket.IO, etc
  • Wormhole -- Fast/High Performance message queue system using streaming deserialization with the MessagePack format.
  • rabbit.js -- Idiomatic messaging using RabbitMQ from node.js
  • amqp-dsl -- Fluent Interface for dealing with AMQP (RabbitMQ,...) on NodeJS
  • amqp-tool -- Import & export data from/to an AMQP/RabbitMQ broker
  • rabbitmq-nodejs-client -- rabbitmq client for node.js
  • QDis -- a simple durable fanout pub/sub queueing system built with Redis + Node.js

Class systems

  • Classful JS -- Library that eases the manipulation and usage of JavaScript prototypes.
  • joose -- complete modern class system for JavaScript, based on concepts from many programming languages
  • mootools.js -- MooTools latest server library as npm package for node.js
  • class-js -- Simple, Light-weight OO Class factory
  • Sslac -- Basic OOP-like support in JavaScript using chaining. Supports extension, interfaces, namespacing, and static objects.
  • comb -- Library with a built in OO class system, and other features(datastructures, array string and date utilities, etc..).
  • UberClass -- A class framework based on John Resig's Simple JavaScript inheritance and JavaScriptMVC $.Class.
  • UberProto -- JavaScript object inheritance sugar: Initialization methods, easy extension, mixins, super methods, proxies
  • Structr -- Library built to give JavaScript the same look and feel as other popular languages such as Java.
  • N-Ext -- Use the power of the Ext.data packages (from the ExtJS framework) in your NodeJS apps. Includes a MongoDB proxy based on node-mongodb-native)
  • ease.js -- Classical Object-Oriented framework for JavaScript

Testing / Spec Frameworks

  • API Easy -- Fluent (chainable) syntax for generating Vows tests against any RESTful API.
  • Benchmark.js -- A benchmarking library that works on nearly all JavaScript platforms, supports high-resolution timers, and returns statistically significant results.
  • Broke -- Customizable vowsjs layer for flexible unit and integration tests.
  • Cucumber -- The official JavaScript implementation of the well-known BDD tool. Runs both on Node.js and browsers.
  • cucumis -- A cucumber nodejs implementation. Run plain text gherkin stories with full asynchronous support in native node.js JavaScript.
  • Cup of Tea? -- BBD-style Unit Testing for Async apps.
  • databasecleaner -- Clean your database after each test. Supports MongoDB, Redis and CouchDB. Will support MySQL and others.
  • ensure -- nodejs testing made easy with vows or node-tap
  • Gently -- A node.js module that helps with mocking and behavior verification.
  • gherkin -- A fast Gherkin parser in Ragel (The parser behind Cucumber)
  • espionage -- A mock/stub framework using the test spy pattern.
  • expresso -- TDD framework by the author of JSpec
  • exemplor.js -- A port of exemplor with Node goodness.
  • fakeweb -- A port of fakeweb that fakes out requests made via Mikeal's request module, or the standard HTTP module.
  • foounit -- client/server side BDD testing framework
  • httpmock -- A RESTful web API for stubbing out network dependencies.
  • horaa -- Mocking NodeJS Modules
  • jasmine-node -- integration with Pivotal's Jasmine Spec framework
  • jasmine-jquery -- jQuery matchers and fixture loader for Jasmine framework for node forked from Jasmine-Jquery
  • jessie -- Node runner for Jasmine JavaScript BDD testing framework
  • Jody -- A descriptive BDD Testing framework
  • JUTE -- A JS testing environment with built in code coverage support for Capture/Selenium/V8 backends
  • jspec -- Feature Rich BDD Testing Framework (no longer supported)
  • kin - Object creator using blueprints
  • kyuri -- A node.js cucumber implementation with a few extra asynchronous keywords. supports 160+ languages and exports to VowsJS stubs
  • maryjane -- Mock object library inspired by Mockito
  • minitest.js -- Light-weight & simple testing framework designed specially for testing asynchronous code.
  • mjsunit.runner -- Command line mjsunit runner which provides an easy way to hook into mjsunit and start running tests immediately.
  • mocha -- simple, flexible, fun javascript test framework for node.js & the browser
  • mocha-cakes -- BDD mocha test framework add-on, stories with Cucumber style Given/When/Then syntax for Node.js
  • mockery -- Simplifying the use of mocks with Node.js
  • nock -- HTTP mocking and expectations library.
  • node-assert-extras -- Additional high level asserts
  • node-assertthat -- Provides a fluent TDD style for Node.js: assert.that(actual, is.equalTo(expected));
  • node-async-testing -- Simple, fast, extendable unit testing.
  • node-qunit -- QUnit port for nodejs. Very simple API, async testing, good tested testing framework.
  • node-replay -- When API testing slows you down: record and replay HTTP responses like a boss.
  • node-stories -- Given/When/Then integration awesomeness for Node.
  • node-testy -- Super simple testing script. No added sugar. 100~ LOC.
  • nodemock -- Simple Yet Powerful Mocking Framework for NodeJs
  • nodeunit -- Simple syntax, powerful tools. Based on the assert module. Available for node.js and the browser!
  • patr -- Promise-based asynchronous test runner: lightweight & simple.
  • pit -- Simple drop-in test runner with optional control tools
  • platoon -- A javascript testing framework whose goals are to work gracefully with callbacks, both in node.js and the browser
  • pretendr -- Yet another mocking function. Simple and lightweight, it lets you mock objects just by passing them as a single argument.
  • reut -- Heavyweight unit testing framework.
  • should -- expressive test framework agnostic BDD-style assertions
  • sinon -- JavaScript test spies, stubs and mocks for Node.js and the browser
  • spectacular -- for testing
  • speculum -- BDD Test Suite.
  • Soda -- Selenium Node.JS adapter
  • soda-runner -- Provides a command line interface, runner, and selenium ide adapter for for soda.
  • stest -- A sane event driven async testing framework.
  • Speks -- A specification framework for your node-code
  • Syringe -- Dependency mocking for node modules
  • tbd -- A data generator for tests & UI stubbing
  • TestIt -- Light-weight yet complete, shoulda style testing framework for in-browser and node.js tests.
  • TestNode -- Unobtrusive BDD-style testing framework
  • testosterone -- Virile testing for http servers or any nodejs application.
  • Tobi -- Expressive server-side functional testing with jQuery.
  • twerp -- Simple test framework which is suited to Coffeescript users. Synchronous, simple and easy.
  • uubench -- A tiny asynchronous JavaScript benchmarking library
  • vbench -- tiny visual benchmarking library powered by uubench and node-canvas
  • Vows -- asynchronous behaviour-driven development for node.js
  • whiskey -- A simple test runner for NodeJS applications.
  • yeti -- The YUI Easy Testing Interface: run browser JS unit tests from the command line!
  • zap -- a tiny testing tool for node.js
  • zombie.js -- Insanely fast, full-stack, headless testing using node.js

Wrappers

Parsers

JSON

  • JSON.js -- easy to use but synchronous, built-in to V8 (no need to @require@)
  • benejson -- Includes pure JavaScript incremental JSON parser
  • json-streams -- Streamed JSON parser and stringifier
  • jsonsp -- JSON stream parser for Node.js.
  • node-yajl -- SAX-like evented JSON stream parser using yajl version 2 (fork of yajl-js)
  • yajl-js -- SAX-like evented JSON parsing using yajl
  • json2json -- Transform (reformat) JSON from one structure to another using JavaScript

XML

  • node-o3-xml -- W3C Standard based XML DOM with XPath and namespaces. Built on libxml2
  • node-o3-fastxml -- W3C Standards based XML DOM based on fastest xml parser in the world pugiXML
  • libxmljs -- Bindings to libxml2
  • libxmljs-easy -- Work with libmxmljs DOM as with plain Javascript objects, similar to E4X
  • node-xml -- An xml parser for node.js. (The github page for this module is showing some severe performance issues. Not recommended as an "out of the box" solution.)
  • xmldom -- A PURE JS W3C Standard based DOMParser and XMLSerializer (DOM Level2 CORE).
  • sax-js -- SAX-like parser in pure JS
  • dom-js -- A pure JS XML DOM based on sax-js
  • node-expat -- Fast SAX parser binding to expat
  • node-expat -- a fork of Fast SAX parser binding to expat, also includes XML to JavaScript object converter
  • node-xml2js -- Simple XML to JavaScript object converter.
  • libxml-to-js -- XML to JavaScript object converter based on libxmljs.
  • node-plist -- Apple Plist parser for NodeJS. Convert a Plist file or string into a native JS object.
  • node-halfstreamxml -- sax-js based, filter out nodes (with attributes and child nodes) from an xml stream by name
  • xml2json -- Simple SAX based XML to JSON parser. It uses node-expat.
  • xml-stream -- XML stream parser and editor, based on node-expat.

Command Line Option Parsers

  • aparser -- Async ARGS parser
  • cli -- Rapidly build command line apps. Full featured opts/args parser + plugin support
  • commander.js -- The complete solution for nodejs command-line interfaces
  • argsparser -- A tiny limited arguments parser, returns a hash.
  • optimist -- Light-weight option parsing without optstrings or any of that silliness. It's just a hash!
  • optparse-js -- Option Parser in JS
  • parseopt -- Flexible and extensible option parser in JavaScript.
  • trollopjs -- Another option parser
  • js-opts -- Another simple command line option parser, easily installed via NPM
  • node-arguments -- Yet another simple command line option parser
  • nomnom -- Option parser with generated usage, support for callbacks and commands.
  • tav -- Brain-free command-line options parser for node.js
  • Operetta -- A Node Option Parser That Sings!
  • yanop -- Yet Another Node Option Parser
  • options.js -- An inline (non-module!) options parser that is very small and yet quite complete.
  • celeri.js -- Complete command line interfaces lib for node.js
  • nopt -- The command line options parser npm uses.
  • dreamopt -- Command-line parser with readable syntax from your sweetest dreams

Parser Generators

  • 2kenizer -- It streams, it caches and it's simple, it matches RegExp's and strings.
  • bnf -- BNF parser, compiler, and interpreter framework.
  • canopy -- PEG parser compiler for JavaScript
  • jison -- A parser generator written in JavaScript; similar to Bison for C
  • PEG.js -- Parser Generator for JavaScript
  • language.js -- A fast PEG parser generator with first class errors and reasonable sized output
  • PanPG -- A PEG Packrat Parser Generator for JavaScript
  • jparse -- A parser combinator for JavaScript based on Packrat parsers and Parsing expression grammars
  • ReParse -- A parser combinator library for JavaScript like Haskell's Parsec
  • OMeta JavaScript compiler
  • tokenizer -- A regex-based and streamed tokenizer
  • parser -- A general purpose parser that feeds on tokens (see tokenizer)
  • JSCC-NODE -- The Best and The first parser generator written in JavaScript; Use a regular expression-based lexical analyzer generator and a LALR parser generator for building a stand-alone, working parser.

Other Parsers

  • groan -- A PHP session file parser
  • tldextract -- Extract domain, subdomain and tld from a url.
  • mingy -- Command parser for CLI tool and adventure game needs. Works well with the optimist module.
  • node-rdf2json -- A simple RDF/XML to JSON converter
  • node-brainfuck -- Brainfuck interpreter
  • node-discount -- C markdown parser "discount" bindings
  • node-csv -- Efficient Evented CSV Parsing.
  • node-opds-parser -- OPDS Catalog Feed Parser for node.
  • ya-csv -- Evented CSV parser and writer with configurable separator, escape and quote characters
  • lastname -- Parse text and search persons by names and surnames. Only at russian for now.
  • node-csv-parser -- Full featured CSV parser with simple api and tested against large datasets.
  • querystring.node.js -- Robust query string parsing for node.
  • node-htmlparser -- Forgiving HTML Parser in JS for both Node and Browsers
  • node-useragent -- User agent string parser with accurate browser versioning and grouping
  • node-jspack -- JavaScript library to pack ints, floats, etc. to octet arrays representing C data structures
  • node-msgpack -- Bindings for MessagePack, space-efficient object serialization library
  • node-rfb -- Parse the RFB protocol used by VNC
  • node-bufferlist -- Create linked lists of buffers and asynchronously parse binary data from these lists
  • node-netstring -- Read and write netstrings
  • apricot -- Hpricot inspired clone, JSDom with Sizzle Selector engine and XUI for HTML augmentation
  • node-crawler -- Web crawler/spider with JSDom, jQuery & connection pooling.
  • node-strtok -- A streaming tokenizer library for binary data
  • omcc -- A command line tool for Alessandro Warth's OMetaJS
  • ometa-js , ometajs -- A JavaScript OMeta implementation
  • Platform.js -- A platform detection and user agent parsing library that works on nearly all JavaScript platforms
  • props -- Parse json or yaml from the beginning of text files.
  • protobuf_for_node -- Protocol buffer parsing and serialization
  • node-markdown -- Easy to use Markdown parser
  • highlight -- Code highlighter for Markdown code blocks and for automatic language detection
  • strscan -- Simple string tokenizer for lexical scanning operations
  • iniparser -- A Simple .ini parser
  • mailparser -- Parse mime encoded e-mails into structured objects
  • node-browscap -- browscap.ini parser and port of PHP's get_browser function
  • node_spreadsheet -- Read xls,xlsx,ods,csv spreadsheets (php based)
  • carrier -- Evented stream line reader for node.js
  • parser_email - Simple multi type email parser
  • memcache-parser - Memcached binary protocol parser
  • fastcgi-parser - FastCGI protocol parser and Writer
  • node-formidable - A node.js module for parsing form data, especially file uploads.
  • glossy - Syslog message parser and producer
  • UglifyJS - JavaScript parser and compressor/beautifier
  • epub - Parse EPUB electronic book files with Node.JS, load chapters, images etc.
  • marked - A markdown parser and compiler. Built for speed.
  • feed-tables - a lightweight parser for Google Spreadsheet tables available as cells or list atom feeds.
  • NodePie - Simple RSS/Atom parser for Node.JS
  • node-musicmetadata - Get music metadata asynchronously from node streams.
  • node-struct -- Parse/format binary data in buffers.
  • reified -- JS Binary Data API. Structs, arrays, bitfields, and data. Reify and Reference like nobody's business.
  • node-feedparser - RSS, Atom, and RDF feed parsing in Node.js
  • node-opmlparser - OPML parsing in Node.js
  • VIE - RDFa parsing in Node.js
  • butter - Butter === nodeJS Buffer + ( some hexadecimals delights )
  • feedme.js -- RSS/Atom/JSON feed parser with streaming capabilities.
  • JS-YAML -- Full featured YAML parser. Native PyYAML port.
  • yamlish -- Minimally featured YAML parser which handles the subset of YAML used by TAP.
  • tap -- Tools for the Test Anything Protocol
  • yamlparser -- A JavaScript YAML parser.
  • yamlprompt -- A prompt that asks for YAML input. Depends on yamlparser.
  • semver -- Parser used by npm for version numbers.
  • node-tldtools -- Provides domain enquiry features, whois, TLD token extraction etc.
  • ret.js -- A regexp tokenizer.
  • node-properties-parser -- A parser for .properties files written in javascript.
  • pdc -- A pandoc wrapper for node.
  • pcap-parser -- Packet capture (pcap) file parser written in pure javascript
  • picksy -- Extracts the relevant text from a html article page
  • argtypes -- Function arguments type parser (Allows typed & optional arguments)

Debugging / Console Utilities

  • jog -- JSON-based logger with multiple stores, namespacing, CLI and more
  • jsdev -- a wrapper for Douglas's JSDev
  • ain -- Brain-free syslog logging
  • cfdump.js -- a more visually inspiring way to dump your objects to a browser
  • cli-color -- colors and formatting for the console
  • colors.js -- get colors in your node.js console like what
  • colours.js -- Give your CLI programs some colours!
  • colored.js -- Colorize terminal output.
  • consolelog.js -- stylized console logging for node.js
  • debug -- node core style debugging for your libraries and applications
  • Eclipse debugger plugin -- Using Eclipse as Node Applications Debugger
  • eyes.js -- A better, customizable value inspector for node.js
  • Caterpillar -- Caterpillar is an awesome, simple, intuitive console logger for node.js. It supports grouping of messages, filtering log levels, colors, times, modules, custom formatters and custom transports.
  • irc-colors.js --Color and formatting for irc bots made easy
  • hexy.js -- hex pretty printing like xxd
  • http-console -- A simple & intuitive HTTP console for testing APIs.
  • inspect -- hierarchical object inspection displaying ancestry, properties, methods, and accessors in great detail.
  • log.js -- light-weight logger that works with any writable stream, also supports a streaming parser for reading the log files generated
  • log4js-node -- a port of log4js framework for node.js
  • logging -- Super sexy color console logging.
  • logly -- A minimal logging utility to support verbose and debug modes
  • logule -- A sexy portable logging utility using colors
  • nlogger -- Logging lib that can print also module names and line numbers, optionally in color
  • node-logging -- Simple colorized logging for Node.js with request logger Express middleware
  • monitor -- Runtime monitoring for node.js applications - npm install monitor
  • node-logentries -- A winston-compatible wrapper library for the logentries.com service
  • Node-JavaScript-Preprocessor -- Preprocessor for JavaScript
  • node-prompt -- Prompt the user for questions in cli!
  • node-streamlogger -- Extensively customizable logging, with support for rotation
  • node_debug -- HTTP based console and object explorer
  • ndb -- traditional command line debugger (like gdb, ruby-debug, etc)
  • node-profiler -- access the V8 profiler from node.js
  • node-tick -- v8.log processor
  • node-inspector -- browser based node debugger
  • node-custom-debug -- debugger on custom port on the fly, good addition for node-inspector to inspect many instances on the one server with ease
  • node-cli -- cli.clear().move(20,20).color('green').write('Node-cli').down(1).back(7).color('yellow').write('Rocks!')
  • nodetime -- performance profiler for node.js
  • nogg -- Simple file/stdio logging for node.js
  • profilejs -- profiling middleware for use with node-inspector (profiles Express handlers)
  • prettyjson -- Package for formatting JSON data in a coloured YAML-style, perfect for CLI output.
  • spine -- Dynamic runtime monitoring for node.js applications inspired by lorenwest's monitor.
  • spruce -- configurable node.js logging module
  • strack -- bug tracking/tickets system
  • tracer -- A powerful and customizable logging library for node.js. support color console with timestamp, line number, method name, file name and call stack. you can set transport to file, stream, database(ex: mongodb and clouddb, simpledb). keywords: log, logger, trace
  • underscore.logger -- Cross-browser and Node.js empowered logging that can be used as an Underscore mixin.
  • v8-profiler -- v8 profiler bindings with node-inspector integration
  • webrepl -- Serve a repl for a node process via a simple web ui
  • Replica -- Repl to exec JavaScript code on browser
  • Shell -- Nice looking shell applications with pluggable middlewares
  • Winston -- A multi-transport async logging library for node.js
  • flume-rpc -- A flume-compatible (RPC) logging source and sink
  • NodeLog -- Logging library for Node.js based on the java.util.logging library.
  • UltraREPL -- Replaces Node's built-in REPL with customizable keybindings, a significantly enhanced inspector with hidden/builtin/depth toggles, simultaneous independent V8 contexts, syntax highlighting, and a full-fledged plug-in system including CoffeeScript contexts, SpiderMonkey contexts, and more.

Compression

  • crsh -- merge and minify groups of js files and recompile when changes occur
  • gzippo -- gzip static content files with Connect/Express using node-compress
  • connect-gzip -- gzip middleware for Connect. Contains middleware for gzipping and serving static files as well as gzipping responses dynamically
  • gzip -- simple compression using default linux "gzip" utility
  • lzma -- A standalone JavaScript implementation of the Lempel-Ziv-Markov chain (LZMA) compression algorithm
  • lzw-async -- Asynchronous Javascript implementation of Lempel-Ziv-Welch (LZW) compression algorithm
  • node-compress -- streaming compression / gzip library
  • node-compress by egorich239 -- asynchronous streaming (de)compression library with gzip and bzip2 support, originally forked from waveto's
  • node-gzbz2 -- streaming compression / gzip / bzip2 library for node.js, originally forked from waveto's
  • node-compress-buffer -- single-step Buffer compression library on top of zlib
  • node-snappy -- compression using Google's snappy library.
  • node-zipfile -- inspect and uncompress zipfile archives (C++ around libzip)
  • node-zlibstream -- Streaming zlib library using zlib
  • node-zlib-sync -- rfc1950/rfc1951/rfc1952 compress/uncompress (C++ around libzlib)
  • node-lzf - lzf compression library (C++ around liblzf)
  • zip — .zip file unpacker (pure JavaScript, no C++)

Graphics

  • navcodec -- Node bindings for libavcodec (ffmpeg).
  • magician -- Image manipulation for Node.js using ImageMagick.
  • pdfkit -- A powerful PDF generation library for Node
  • node-wkhtml -- Convert HTML to PDF or PNG using the Webkit Rendering Engine.
  • drawback -- Seamless way to render 2D drawings on the client side using HTML5 technologies with a server-side backend.
  • node-canvas -- High performance canvas implementation backed by the phenomenal Cairo graphics library
  • node-o3-canvas -- Fast HTML5 Canvas and image processing implementation based on AGG
  • node-gd -- GD graphic library bindings
  • magickal-node -- GraphicsMagick wrapper for node.js
  • node-magick -- rewrite of GraphicsMagick wrapper magickal-node fixing some issues
  • node-imagemagick -- ImageMagick module
  • node-png -- Convert an RGB or RGBA buffer to PNG fast
  • node-gif -- Convert an RGB or RGBA buffer to GIF fast
  • node-jpeg -- Convert an RGBA or RGB buffer to JPEG fast
  • node-ogl -- OpenGL bindings
  • node-webgl -- WebGL emulation
  • gm -- GraphicsMagick for node
  • node-video -- Create Theora/OGG videos from RGB(A) buffers (and stream them via tag)
  • node-image -- Unifies node-png, node-gif, node-jpeg
  • node-pango-view -- print text with pango to temporary png image, then merge it with ImageMagick.
  • squeeze -- Mince and convert images on the cloud using UploadJuicer .
  • alleup - Flexible way to resize and upload images to Amazon S3 or file system storages
  • node-imager - Easy way to resize, crop and upload images to Rackspace cloudfiles
  • node-graphviz -- GraphViz for node
  • node-mapnik -- Mapnik bindings for high performance rendering of map tiles.
  • node-mapserver -- mapserver bindings for rendering mapserver MAP files via node
  • node-exif -- Library to extract Exif metadata from images
  • node-fluent-ffmpeg -- Fluent API for ffmpeg (including streaming, thumbnail-generation and custom presets)
  • ffmpeg2theora -- Batch encoding with ffmpeg2theora
  • ffmpeg-node -- Node.js driver for ffmpeg library
  • Face.js -- Node.js module for detecting faces in images
  • youtube-dl -- youtube-dl driver for node
  • node-handbrake -- HandBrakeCLI wrapper to encode an entire folder of videos
  • palette -- Image color palette extraction library built with node-canvas
  • node-qr -- QR code generator for node

Sound

Payment Gateways

  • paynode - library for integrating with various payment gateways
  • braintree -- library for integrating with Braintree
  • node-fortumo -- bindings for Fortumo SMS payment API
  • paypal-ipn -- library for verifying paypal IPN messages
  • nodewm -- Webmoney signing module for NodeJs
  • node-stripe -- library for integrating with Stripe
  • dwolla -- library for integrating with Dwolla

API clients

  • ADAuthFTW - Simple Active Directory authentication (Windows Only)
  • alleup - Flexible way to resize and upload images to Amazon S3 or file system storages
  • akismet-js -- A client for the Akismet spam detection API
  • authome - A dependency-free mutli-service authentication tool
  • aws2js -- Amazon Web Services APIs client implementation for node.js. Simple to use and extend.
  • aws-lib -- An extensible library for Amazon Web Services including EC2, SimpleDB and the Product Advertising API
  • aws-snsclient -- A client for handling Amazon AWS SNS endpoints
  • awssum -- NodeJS modules for talking to lots of Web Service APIs
  • calais -- Semantically analyze text using the Calais web service
  • cpanel-lib -- Node.js client for the cPanel/WHM API
  • discogs -- Discogs API client
  • dribbble-node -- A wrapper for the Dribbble API
  • dropbox-node -- A wrapper for the Dropbox API
  • ec2metadata -- An API wrapper for the AWS EC2 metadata.
  • evented-twitter -- asynchronous twitter client, supports streaming api
  • facebook-api -- offers high level and low level calls against the facebook graph API
  • facebook-js -- Easy peasy facebook client for connect.
  • fbgraph -- Sexay Facebook graph api
  • fitbit-js -- Simple FitBit API wrapper
  • flickrnode -- A library to enable use of the flickr api (not as complete as node-flickr, but supports auth)
  • flickr-reflection -- A flickr client that uses their reflection API (supports auth)
  • forrst -- Simple wrapper for the Forrst.com API.
  • gdata-js -- Simple Google Data API OAuth 2.0 wrapper
  • geo -- A very basic, but simple, geocode library, currently using Google Geocode API (v3)
  • gist -- A gist creator. Create GISTs and use the generated URI.
  • gravatar -- Well tested Node.JS Gravatar URL generator
  • gumroad -- API client for Gumroad. 100% coverage of available methods.
  • hipchat-js -- Simple HipChat API wrapper
  • hoover -- An Amazon Product Advertising API wrapper
  • instagram-node-lib -- Library for easy interaction with the Instagram API
  • janrain-api -- Module for interfacing with Janrain Engage API
  • klout-js -- Simple Klout API wrapper
  • lastfm-node -- Read and write to users' recent plays on Last.fm
  • libravatar -- Module for generating Libravatar avatar URLs.
  • linkedin-js -- Easy peasy linkedin client for connect.
  • madmimi-node -- Client library for the MadMimi email api http://www.madmimi.com.
  • mixpanel-node -- A simple Mixpanel API library for server-side analytics.
  • mturk -- Amazon Mechanical Turk API wrapper https://github.com/expensecat/mturk.
  • Nexmo Node API -- A module for sending and receiving SMS messages via Nexmo REST API.
  • nodefm -- So far just a util for consuming last.fm recent tracks history for a user
  • nodegit -- Asynchronous native Node.js libgit2 bindings with a convenient api
  • nodestagram -- Instagram client for node
  • nodestalker -- A beanstalkd client for node
  • nodevore -- Convore API wrapper
  • node-500px -- A wrapper for the http://www.500px.com API.
  • node-apn -- A library to send messages using the Apple Push Notification Service.
  • node-armory -- A simple wrapper around Blizzard's REST API for World of Warcraft.
  • node-beaconpush -- Client for the Beaconpush REST API. A real-time push service for browsers supporting WebSockets and Comet.
  • node-bitly -- A bit.ly API library for node.js - provides URL shortening/expanding. Features full API.
  • node-bot -- Fast and Real-time extraction of web pages information using node-dom (html,text,etc) based on given criterias
  • node-c2dm -- A library to send messages using the Android Cloud to Device Messaging (C2DM) service.
  • node-cloudfiles -- A client implementation for Rackspace CloudFiles in node.js
  • node-cloudservers -- A client implementation for Rackspace CloudServers in node.js
  • node-dropbox -- Node.js client for the Dropbox API
  • node-flattr -- The flattr API client.
  • node-foursquare -- A wrapper for the Foursquare v2 API.
  • node-gadgets -- Real-time extraction from web pages of HTML gadgets and associated properties using node-dom based on given criterias
  • node-gdata -- A generic Google Data API client library
  • node-github -- A wrapper for the GitHub API
  • node-gitteh -- Async, stable, feature-complete bindings for the libgit2 library.
  • node-googleanalytics -- Google Analytics GData export library
  • node-googlemaps -- A wrapper for the Google Maps API
  • node-googleSearch -- Implementation of Google Search Ajax API using node-dom
  • node-gravatar -- Node.js Gravatar URL generator, can be used with Node.js blogging frameworks
  • node-klout -- Extremely reliable Node.js Klout API Wrapper
  • node-loggly --A client implementation for Loggly in node.js
  • node-mailchimp -- A wrapper for the MailChimp API, MailChimp Export API and MailChimp Webhooks
  • node-mailgun -- Client library for MailGun
  • node-mixpanel-api -- A simple client for the Mixpanel Data API (not event tracking! see above)
  • node-neoip -- binding for neoip
  • node-notifo -- Real-time notifications pushed to your mobile phone (and more).
  • node-ocr -- ABBYY API wrapper.
  • node-ostatus -- An implementation of the OStatus protocol (Webfinger, Push, Hcard, Salmon, etc.)
  • node-pdfcrowd -- A wrapper for the Pdfcrowd API. It lets you convert web pages and raw HTML code to PDF.
  • node-posterous -- Library for the Posterous API
  • node-prowl -- A module that allows you to send push notifications to your iPhone through the Prowl API
  • node-rapleaf -- RapLeaf API client
  • node-sendgrid -- Sendgrid SMTP API headers library
  • node-spore -- Node.js implementation of spore Generate api client with a json file.
  • node-sunlightapi -- A client library for the Sunlight Labs Congress API
  • node-taobao -- A client library for taobao.com api
  • node-twilio -- A helper library for the Twilio API
  • node-twitter -- Asynchronous Twitter REST/stream/search client for node.js
  • node-vk -- vkontakte.ru and vk.com social network api wrapper for mobile and desktop applications.
  • node-wikimapia -- Node.js wrapper for the Wikimapia API
  • node-yelp -- A wrapper for the Yelp's APIv2. Let's you search for businesses and get specific business information.
  • node-untappd -- Library for accessing the Untappd APIs.
  • pingdom -- A module for accessing the Pingdom JSON API
  • postageapp -- A module for sending emails through the PostageApp JSON API
  • rackit -- A simple library for managing a large number of files on Rackspace Cloud Files (CloudFiles)
  • ranger -- A simple library which wraps Campfire's API
  • sailthru-client -- A wrapper for Sailthru API
  • SMSified-node -- A module for sending and receiving SMS messages (text messages) with the SMSified API.
  • spotify -- Spotify api wrapper. Metadata lookup and search. Works with Spotify and http uris
  • supervisord - Library for supervisord
  • tropo-webapi-node -- A library for building multi-channel communication apps with the Tropo WebAPI.
  • tumblr -- A wrapper for Tumblr's API v2
  • tumblrrr -- A wrapper for Tumblr's API
  • tweetstream -- Stream like API for twitter's HTTP streaming interface.
  • TwitScript -- A port of Twython to Node.js (Twitter API Library)
  • twitter-js -- Easy peasy twitter client for connect.
  • twitter-search -- Twitter API Search w/ search result pagination, returning up to 1500 queried tweets with RegEx search, kSorts, Klout scoring and filters
  • VIE -- Apache Stanbol and DBpedia API client for Node.js
  • vimeo-client -- Vimeo API client for Node.js
  • n-vimeo -- Vimeo API (for data) Integration, retrieve info about everything (video,user,activity) with ease, an extension of vimeo-client.
  • virustotal.js -- VirusTotal API client for node.js
  • waz-storage-js -- A simple implementation of Windows Azure Storage API for Node.js
  • webmetrics -- A module for accessing the Webmetrics JSON API
  • yammer-js -- Simple Yammer API wrapper
  • airship — an Urban Airship API wrapper

Control flow / Async goodies

  • async.js -- Async chaining and file system utilities. Async.js is to node's fs module, what jQuery is to the DOM.
  • async -- Comprehensive async map/reduce and control flow (parallel, series, waterfall, auto...) module that works in node and the browser
  • async-mini -- Minimalistic async lib implementing only .parallel() and series(). Simple code, predictable behavior, server and browser.
  • atbar -- Async callback manager for javascript in nodejs and browser
  • begin -- Control flow library for node.js and CoffeeScript
  • chainsaw -- Build chainable fluent interfaces the easy way in node.js
  • channels -- Event channels for node.js
  • Cinch -- Write async code in sync form.
  • cloudd -- Job manager, runs set of tasks defined using a DAG definition
  • deferred -- Asynchronous control-flow with deferred and promises
  • each -- Chained and parallel async iterator in one elegant function
  • EventProxy.js -- An implementation of task/event based asynchronous pattern. Use events to avoid dirty callbacks.
  • fiberize -- Node API wrapper for use with fibers.
  • fibers -- The closest thing to a thread you'll find in JavaScript
  • fibers-promise -- Small yet powerful promises based on fibers.
  • asyncblock -- Simple and powerful interface to fibers
  • first -- A tiny control-flow library.
  • flow-js -- Continuation-esque contruct for expressing multi-step asynchronous logic
  • flowless -- Less but better control-flow library.
  • funk -- Asynchronous parallel functions made funky!
  • futures - Asynchronous Method Queueing, Futures, Promises, Subscriptions, and other async goodies
  • promise -- A Continuation handler (monad) with a condition system for errors
  • gate -- An utility to await multiple asynchronous calls
  • groupie -- A simple control flow library for executing multiple functions as a group or in a chain, calling back when complete.
  • Ignite -- An easy-to-use async programming framework inspired by UML2 state machines.
  • jam -- Monadic continuation/callbacks/async helper.
  • Jscex -- Transforms sync code into monadic, async code as the async support in F# and Scala.
  • JobManager -- A really simple tool that helps you manage multiple asynchronous tasks.
  • LAEH2 -- Lightweight Asynchronous Error Handling v2. Wrap your asynchronous functions in an intelligent try/catch. Optional stack trace minification with async support, e.g.: unexpected thing < ./ex1.js(9) << ./ex1.js(7 < 13).
  • miniqueue -- A very simple in-memory queue for easy sequential processing
  • $N -- Simple control flow with pretty syntax.
  • nestableflow -- Asynchronous nestable flow-control (serial, parallel, repeat, wait, function) module for Node.js, RequireJS, and browser.
  • node-block -- An async control-flow library. Easily error handling.
  • node.flow -- A deadly simple flow control package for node.js
  • node-fnqueue -- Functions chain utility
  • node-chain -- Simple call chaining library for node.js
  • node-continuables -- A library making dealing with asynchronous code easier
  • node-cron -- Schedule callbacks with cron syntax
  • node-crontab -- Allows reading, manipulating, and writing user crontabs from node.js
  • node-inflow -- A next generation async control-flow library, with a shared object for called functions and debugging made easy.
  • node_memo -- Sophisticated function memoization
  • node-parallel -- Create tasks in node.js that run in parallel, or sequences that run tasks one after another.
  • node-promise -- Robust promises for node.js, includes promise utilities and promise-based I/O library
  • narrow -- Shrinks a given callback parallel execution concurrency in a limited number of threads, receiving a big bunch of data (array of tasks)
  • neuron -- The simplest possible event driven job manager, FIFO queue, and "task based cache" in node.js
  • noflo -- Flow-Based Programming system for Node.js
  • nue -- An async control-flow library suited for node.js
  • observer -- An alternative observer implementation, for both ss&cs.
  • poolr -- A lightweight resource pooling/serialization library
  • q -- Q is a tool for making and composing asynchronous promises in JavaScript.
  • read-files -- Asynchronously read a bunch of files and give a callback when reading is complete.
  • Rubberduck -- Punch JavaScript objects and receive events before and after a function executes.
  • SCION -- StateCharts Interpretation and Optimization eNgine (SCION) is an implementation of SCXML/Statecharts targeting JavaScript environments.
  • seq -- Chainable asynchronous control flow for node.js with sequential and parallel primitives and pipeline-style error handling
  • sexy -- Proxy (ES5) for writing sequential asynchronous code in a synchronous style
  • Signals -- Custom Event/Messaging system which supports advanced features, doesn't rely on strings for the event publishing/subscribing and favor composition over inheritance.
  • simple-schedule -- Simple scheduler for dispatching a number of batch tasks at defined intervals
  • Slide -- A control flow library that fits in a slide presentation
  • soda.js -- Asynchonous JavaScript module loader for client-side and Node.js
  • Step -- Tool for grouping and chaining asynchronous callbacks, based on flow-js
  • stepc -- A CoffeeScript-safe version of creationix' step
  • streamline.js -- Tool that transforms synchronous code into asynchronous code with callbacks.
  • sync -- Write simple and readable synchronous code in nodejs using fibers (based on node-fibers)
  • QBox -- Quick Controller flow for NodeJS
  • zo.js -- Async-friendly versions of the usual list processing functions: map, select, reduce and friends.
  • pauseable -- Easily pause and resume event emitters, timeouts, and intervals.

I18n and L10n modules

  • i18next -- express middleware, template support, clientside support
  • Lingo -- Inflection, transformation and more
  • cld -- A straight port of the CLD (Compact Language Detector) library embedded in Google's Chromium browser.
  • dialect -- Translations for nodejs.
  • dialect-http -- http client to manage your dialect translations.
  • node-i18n -- node-i18n is a minimalistic internationalization module with templating
  • i18n-node -- Exports common __(), __n() syntax. Stores JSON objects dynamically on code-change.
  • connect-i18n -- Middleware for connect to handle i18n.
  • translate.js -- translate text from one language to another on node.js and the browser. 30+ languages supported, simple as cake.
  • inflect -- A port of the Rails / ActiveSupport inflector to JavaScript (node.js and browser compatible).
  • node-gettext -- Use Gettext .MO files with Node.js.
  • lingua -- A i18n middleware for the Express.js framework.
  • node-date-diff -- Calculates date differences and allows to format it nicely to your language (Eg. In one hour)
  • node-language-detect -- NodeJS language detection library using n-gram (which can identify up to 52 human languages)

Boilerplates

  • npm-boilerplate -- Boilerplate for creating NPM packages
  • node-boilerplate -- Everything you need to get started on a Node.js website with express and socket.IO
  • transsiberian -- [outdated] nodejs boilerplate built upon Express and Mongolia
  • NodeBase -- A node base class for JavaScript and CoffeeScript (logging, options, defaults and EventEmitter)
  • infigo-node-boilerplate -- nodejs boilerplate built upon Express, db-mysql/db-drizzle/Mongoose and includes user authentication and group+role authorization system.
  • Skeleton -- Skeleton is a CLI module to bootstrap a Node/Express project with a skeleton template via any git repository, with an included default repo.
  • Lemmy -- 49% Motherfucker | 51% Son of a Bitch Node.js + Express + Mocha flexible project boilerplate for Javascript/Coffee-Script coders.
  • Alice -- Killer Node.js + Mocha Boilerplate for creating NPM packages for both Javascript and Coffee-Script coders.

Continuous Integration Tools

  • nestor -- Jenkins Node.js CLI
  • Jenkins API -- An API written in Node for Jenkins, allowing you to trigger jobs, delete jobs, copy jobs, etc.
  • Concrete -- Simple continuous integration server written with NodeJS and CoffeeScript

DDD, CQRS, EventSourcing

  • nodeEventStore -- EventStore (Events and Snapshots) supporting MongoDb, CouchDb, Redis
  • nodeEventedCommand -- provides simple command/event handling for evented systems like cqrs
  • cloudjs -- provides a network distributed event system and a realtime balancing for live objects

Desktop application related

  • clipboard -- Easy to use utility for reading and writing to the system clipboard.

JavaScript threads

  • Threads A GoGo -- Run cpu-bound JavaScript tasks non-blockingly in background kernel threads. With EventEmitter and continuation passing style APIs.

JavaScript threads

  • Nervous - Pluggable monitoring system with support for Graphite.
  • Response - Pluggable alerting system and Graphite proxy.

Other

  • append -- Append properties from one object to another.
  • chat.io -- A simple chat solution build on socket.io
  • audience-meter -- A simple audience meter based on Socket.IO, perfect for live events tracking
  • file-utils -- File and directory utilities.
  • node-browserify -- Browser-side require() for your node modules and npm packages
  • nova -- Node.js libraries ported to the browser. Write once, run everywhere.
  • node-talib -- Technical Analysis Library with 100+ indicators and candlestick pattern recognition
  • behaviors -- A simple way to check a module's exports, useful for 3rd party plugins and extensions
  • box2dnode -- Port of the box2d physics simulation library
  • node-bullet -- Bullet Physics for node.js
  • node-stem -- Bindings to the libstemmer library
  • numpad -- Pad numbers with leading zeros to any number of digits
  • Amanda -- JSON Schema validator
  • node.packer -- An assets combine and minify tool
  • version -- NodeJS package.json version number fetcher
  • node-ast-inlining -- A small library that inline and expand function call
  • attache.js - Very basic AOP implementation
  • randexp.js - Create random strings that match a given regular expression.
  • short -- NodeJS URL Shortener backed by MongooseJS w/ Complete Example Site
  • configme -- Simplest possible configuration tool. without conflict - with defaulting!
  • sigar -- Node Binding to SIGAR (System Information Gatherer And Reporter)
  • GFMS -- Github Flavored Markdown Server. Preview your README.md (and other markdown docs) locally before committing it. Uses Github's CSS for faithful representation. Uses socket.io to automatically reload your browser upon file changes.
  • Gauss - JavaScript statistics and analytics library
  • tty.js - a terminal for your browser
  • java -- Bridge API to connect with existing Java APIs
  • ExtJS4 Chat -- ExtJS4 Chat
  • difflib.js -- Text diff library, ported from Python's difflib module
  • jsbundle -- Simple, clean, and automatic bundling of your Node modules and packages for use in the browser.
Something went wrong with that request. Please try again.