Tag Archives: API clients

nodejs or node modules

original:https://github.com/joyent/node/wiki/modules#database

Modules

Web frameworks

Routers

  • beeline — A laughably simplistic router for node.js
  • biggie-router — Router for the biggie framework. Inspired by Sinatra and JQuery.
  • 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
  • dispatch — Regular expression URL dispatcher for Connect
  • escort — High-performance, advanced routing and URL generation
  • 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

Static file servers

  • Lightnode — Easy to understand. Fast. Provides simple framework. (heirarchical servers, delegation, caching, virtual hosts).
  • Nitrode — A lightweight, super fast HTTP 1.1 with internal JS API
  • antinode — A simple static web server
  • 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

Microframeworks

  • 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
  • Nerve — Microframework with simple array-based syntax for defining an app on top of node. (node.JS 0.1.30)
  • Prick – tiny web framework
  • restmvc.js — A simple library to help you quickly create RESTful webservices using Express, Mongoose, and MongoDB.
  • rowan — A hierarchical microframework of reusable controllers and modular app logic.
  • 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 — Razor-sharp DSL for modern web apps. (node 0.2.3)

Frameworks

  • archetype — A web framework leveraging Node.js
  • broke — A porting of the most famous Django Web Framework
  • chain — An evented convention for building Node Applications (Stopped Development, for ejsgi)
  • coltrane — A try at a higher level library/framework for node.js web development (July 2009, node.JS 0.1.1)
  • 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)
  • Express — A robust feature rich web development framework inspired by Sinatra
  • Grasshopper — A feature-rich and flexible MVC framework for web applications and services, with integrated dependency injection.
  • Geddy — A hackable Web-app development framework similar to Merb/Rails/Pylons/Django
  • GenJi — A low-level loosely coupled web framework for nodejs
  • jimi — A framework for writing modular web applications in node.js (tutorial)
  • js.io — JavaScript Networking Library for building real-time web applications. Also see JS.io
  • PieJS — A rapid development MVC framework. Inspired and similar in style/convention to CakePHP. In very active development.
  • RailwayJS — An MVC web framework, similar to Ruby on Rails, Express/Connect-compatible. Also see here and here
  • josi — An MVC web framework that’s easy to pick up but doesn’t get in the way. Also see here.
  • 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
  • pintura — REST-based web framework/middleware stack built for Ajax-style JSON-driven applications.
  • spludo — A full featured web framework. Fully Async + MVC with DI, AOP and Storages. (tutorial + user-guide)
  • Seek — Small Javascript Web framework – mostly for learning purpose
  • WIN — A simple page centric framework designed around CouchDB+Mustache
  • Zeppelin — An early stage, low friction cloud development framework

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.
    • 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-assetmanager – Asset manager for Connect for handling CSS/JS files
    • connect-force-domain — force all visitors onto a single domain
    • connect-rpx – Use RPX with Node.js and Connect
    • connect_facebook – Facebook session support for Connect
    • 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
    • form2json — Decoder for form-urlencoded data that supports arrays of nested objects
    • formaline – full-featured module for handling form POSTs/PUTs and fast parsing of file uploads, ready for use with connect middleware
    • 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
  • Other
    • 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

Other

  • Alligator — Application Server on top of NodeJS (JSSP and SSJS support)
  • 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, Binary, 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
  • node-cgi — CGI adapter kludge (replaces Node’s fast and famous event-based HTTP library)
  • node.ly — A simple URL shortener
  • multi-node — Launch multiple node processes for HTTP servers
  • node-http-digest — Provides HTTP Digest authentication for HTTP servers
  • 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

Database

  • 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.
    • 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 – -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.
    • node-orm — Basic ORM for multiple drivers (still in development, only MySQL driver for now)
    • persistence.js — An object-relational mapper (ORM) for node. Backends: MySQL.
    • sequelize – An easy-to-use MySQL Object-Relational-Mapper (ORM) for Node.JS
    • moose – An ORM for node (Currently only MySQL). Based on node-mysql
  • Sql Lite
    • 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
  • NoSQL and Key Value
    • Mongo
      • node-mongodb — Basic MongoDB client implementation in JS/C++
      • node-mongodb-native — A pure JavaScript driver for MongoDB.
      • node-mongolian — Mongolian DeadBeef is an awesome Mongo DB node.js driver that attempts to closely approximate the mongodb shell
      • mongoq — Use mongoDB like this: db(‘testdb’).collection(‘users’).find(function(err, cursor){}).
      • mongolia — Flexible wrapper for the nodejs Mongo driver. Lighter than a ORM but easier to use than the driver.
      • mongoose — Mongoose is a JavaScript library that makes working with MongoDB a breeze.
      • mongous — Mongous is a dead simple MongoDB driver that uses a jQuery styled syntax.
      • nosql-thin – Makes easier to work with MongoDB. Not an ORM. Not production ready.
    • 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)
    • CouchDB
      • node-couch — a CouchDB connector
      • node-couchdb – -A full API implementation [obsolete]
      • 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
      • data.js — Graph persistence for Node.js with CouchDB
      • couchtato — CouchDB document iterator
    • NoSQL Misc
      • 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
  • DB Misc and Cross DB
    • db-drizzle – Binary driver for Drizzle (using libdrizzle). Part of the Node.js DB effort
    • 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-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
    • memcached — Memcached, membase client with support for memcached clusters using consistent hashing.
    • node-memcache — a memcache client base on libmemcached
    • 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
    • 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.

Templating

  • asyncEJS — Asynchronous implementation of embedded JavaScript
  • bind-js — a simple templating engine for node.js that smiles back.
  • blue — A streamed template engine. Support for asynchronous loading of partials
  • dust — Async, streaming & composable templates for the browser and node
  • CoffeeKup — Markup as CoffeeScript. Live demo. Zappa, Meryl and Express support (node 0.2.4/0.3.0)
  • 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.
  • 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.
  • 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.
  • minimal.js — a fast HTML+JSON template engine (both browser and Node.js compatible)
  • Mu — 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.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
  • template.node.js — A light, fast, cached template module for node.
  • tmpl-node — a feature-rich template module for node.js
  • weld — unobtrusive. portable. ANTI-TEMPLATING.
  • 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
  • weld — Weld binds data to markup, and can generate markup based on your data.

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.

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.
  • 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

Build and Deployment

  • 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)
  • 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 — Runtime configuration for node.js deployment – 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.
  • 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.
  • 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
  • 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
  • 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

Package Management Systems

  • npm — A node package manager that uses CommonJS-compatible package.json files, written in asynchronous JavaScript.
  • 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 .

Module Loader

  • 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)

OpenSSL / Crypto / Hashing

  • 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
  • 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
  • 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-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.
  • sasljsGsasl wrapper to performs server-side SASL authentication.
  • Hash — md5, sha1, sha256, sha512, ripemd160 algorithms in JavaScript. Can be used with node.js and browsers.
  • 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.

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

TCP / IP

  • node-httpclient — Node HTTP Client (gzip, https, cookies etc.)
  • node-imap — A module for interacting with IMAP mail servers
  • node-ftp — An FTP client module for node.js
  • node-nntp — An NNTP (usenet/newsgroups) client module for node.js
  • NodeFTPd — Node FTP Server
  • node-ftpclient — Node FTP Client
  • node-get — Moderately higher-level HTTP client library.
  • xmpp.js — Library for implementing XMPP server components with Node
  • node-http-digest — Node HTTP Client with support for Digest Authentication
  • node-http-status — Interact with HTTP status code (just a set of constants)
  • request — Simple HTTP client library.
  • open-uri — A very simple HTTP/FTP client library similar to Rubys Open-URI lib.
  • superagent — High-level HTTP client sporting a progressive API
  • node-xmpp — Node XMPP library
  • node-snpp — Node SNPP server library
  • mdns — mdns/zeroconf/bonjour service discovery add-on
  • macaddr — Obtain MAC addresses for current machine from Node
  • n3 — Experimental POP3 server to send arbitrary data to e-mail clients (including e-mails)
  • node-radio-stream — An interface for connecting to, parsing metadata, and reading from SHOUTcast/Icecast radio streams.
  • “ndns”:https://github.com/skampler/ndns – -DNS client/server library and parser (broken link)
  • 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-xmpp-bosh — An XMPP BOSH server running on node.js
  • node-snmp — SNMP v1 client
  • node-socksified — HTTP SOCKS5 proxy support
  • http-sync — Synchronous http(s) client

RPC

  • rpc-socket — Multi socket support for JSON-RPC NOTE: still under development.
  • bertrpc
  • jsonrpc
  • xmlrpc — A pure JavaScript XML-RPC server and client
  • xmlrpc-c — Simple XMLRPC Client
  • dnode — Asynchronous remote method calls with transparently wrapped callbacks. Works with regular network streams or socket.io.
  • node-jsonrpc — Another JSON-RPC 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

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 tracks the latest protocol draft versions released by the IETF HyBi working group, currently draft-07. Experimental. Mainstream browsers do not yet support this draft of the protocol.
  • Beseda — Fast, well designed and featured Node.js Pub/Sub server. Beseda offers multiple platform API to develop realtime web applications.

Message Queues

  • gearman-nodeGearman client.
  • gearnodeGearman client and worker.
  • 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.

Class systems

  • joose — complete modern class system for JavaScript, based on concepts from many programming languages
  • Klass — An expressive, cross platform JavaScript Class provider with a slick, classical interface to prototypal inheritance. Includes extends, implements, and the ability to call super classes/methods
  • 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..).

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.
  • cucumis — A cucumber nodejs implementation. Run plain text gherkin stories with full asynchronous support in native node.js JavaScript.
  • databasecleaner — Clean your database after each test. Supports MongoDB, Redis and CouchDB. Will support MySQL and others.
  • fragile — Lightweight command line unit testing tool for nodejs.
  • Gently — A node.js module that helps with mocking and behavior verification.
  • 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.
  • foounit — client/server side BDD testing framework
  • httpmock — A RESTful web API for stubbing out network dependencies.
  • jasmine-node — integration with Pivotal’s Jasmine Spec framework
  • Jody — A descriptive BDD Testing framework
  • jspec — Feature Rich BDD Testing Framework (no longer supported)
  • 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.
  • node-assert-extras — Additional high level asserts
  • node-async-testing — Simple, fast, extendable unit testing.
  • node-qunit — QUnit port for nodejs. Very simple API, async testing, good tested testing framework.
  • node-stories — Given/When/Then integration awesomeness for Node.
  • 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
  • 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
  • soda-runner — Provides a command line interface, runner, and selenium ide adapter for for soda.
  • Speks — A specification framework for your node-code
  • 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.
  • twerp — Simple test framework which is suited to Coffeescript users. Synchronous, simple and easy.
  • uubench — A tiny asynchronous JavaScript benchmarking library
  • Vows — asynchronous behaviour-driven development for node.js
  • zap — a tiny testing tool for node.js
  • zombie.js — Insanely fast, full-stack, headless testing using node.js

Wrappers

  • bdog-node — haXe wrappers for node.
  • bdog-redis — haXe wrappers for Fictorial’s redis client
  • bdog-gtk — haXe wrappers for node and Gtk-Server
  • bdog-pstore — haXe object server using bdog-node and bdog-redis
  • bdog-mongo — haXe wrappers for native-mongo driver
  • SQLiteHaxeWrapper — haXe wrappers for Orlandov’s SQLite high level driver
  • hxnodejs — another haXe wrappers for node

Parsers

JSON

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
  • node-xml — An xml parser for node.js
  • sax-js — SAX-like parser in pure 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.
  • 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

Command Line Option Parsers

  • cli — Rapidly build command line apps. Full featured opts/args parser + plugin support
  • 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.

Parser Generators

  • canopy — PEG parser compiler for JavaScript
  • jison — A parser generator written in JavaScript; similar to Bison for C
  • PEG.js — Parser Generator for JavaScript
  • 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

  • benejson — Includes pure JavaScript incremental JSON parser
  • 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.
  • ya-csv — Evented CSV parser and writer with configurable separator, escape and quote characters
  • node-csv-parser — Full featured CSV parser with simple api and tested against large datasets.
  • querystring.node.js — Robust query string parsing for node.
  • yajl-js — SAX-like evented JSON parsing using yajl
  • node-yajl — SAX-like evented JSON stream parser using yajl version 2 (fork of yajl-js)
  • 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
  • ometa-js , ometajs — A JavaScript OMeta implementation
  • protobuf_for_node — Protocol buffer parsing and serialization
  • node-markdown — Easy to use Markdown parser
  • highlight — Code highlighter for Markdown 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)
  • formaline – full-featured module for handling form POSTs/PUTs and fast parsing of file uploads, ready for use with connect middleware
  • 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.
  • CSSOM – CSS parser and CSS Object Model implementation.
  • 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.

Debugging / Console Utilities

  • ain — Brain-free syslog logging
  • cfdump.js — a more visually inspiring way to dump your objects to a browser
  • 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
  • Eclipse debugger pluginUsing Eclipse as Node Applications Debugger
  • eyes.js — A better, customizable value inspector for node.js
  • 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.
  • nlogger — Logging lib that can print also module names and line numbers, optionally in color
  • monitor — Runtime monitoring for node.js applications – npm install monitor
  • 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-inspector — browser based node debugger
  • node-cli — cli.clear().move(20,20).color(‘green’).write(‘Node-cli’).down(1).back(7).color(‘yellow’).write(‘Rocks!’)
  • spine — Dynamic runtime monitoring for node.js applications inspired by lorenwest’s monitor.
  • spruce — configurable node.js logging module
  • strack — bug tracking/tickets system
  • 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

Compression

  • 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
  • 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-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)

Graphics

  • 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 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 .
  • 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)
  • ffmpeg-node — Node.js driver for ffmpeg library
  • Face.js — Node.js module for detecting faces in images

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

API clients

  • aws-lib — An extensible library for Amazon Web Services including EC2, SimpleDB and the Product Advertising API
  • calais — Semantically analyze text using the Calais web service
  • dropbox-node — A wrapper for the Dropbox API
  • dribbble-node — A wrapper for the Dribbble API
  • evented-twitter — asynchronous twitter client, supports streaming api
  • facebook-js — Easy peasy facebook client for connect.
  • facebook-api — offers high level and low level calls against the facebook graph API
  • fitbit-js — Simple FitBit API wrapper
  • flickr-reflection — A flickr client that uses their reflection API (supports auth)
  • flickrnode — A library to enable use of the flickr api (not as complete as node-flickr, but 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
  • hipchat-js — Simple HipChat API wrapper
  • 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
  • linkedin-js — Easy peasy linkedin client for connect.
  • mixpanel-node — A simple Mixpanel API library for server-side analytics.
  • madmimi-node — Client library for the MadMimi email api http://www.madmimi.com.
  • node-mixpanel-api — A simple client for the Mixpanel Data API (not event tracking! see above)
  • node-apn — A library to send messages using the Apple Push Notification Service.
  • node-c2dm — A library to send messages using the Android Cloud to Device Messaging (C2DM) service.
  • node-bitly — A bit.ly API library for node.js – provides URL shortening/expanding. Features full API.
  • node-cloudfiles — A client implementation for Rackspace CloudFiles in node.js
  • node-cloudservers — A client implementation for Rackspace CloudServers in node.js
  • node-flickr — A simple library to enable easy use of the flickr api
  • node-foursquare — A wrapper for the Foursquare v2 API.
  • node-github — A wrapper for the GitHub API
  • node-gitteh — Async, stable, feature-complete bindings for the libgit2 library.
  • nodegit — Asynchronous native Node.js libgit2 bindings with a convenient api
  • node-gdata — A generic Google Data API client library
  • node-googleanalytics — Google Analytics GData export library
  • node-googlemaps — A wrapper for the Google Maps API
  • node-loggly —A client implementation for Loggly in node.js
  • node-ostatus — An implementation of the OStatus protocol (Webfinger, Push, Hcard, Salmon, etc.)
  • 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
  • nodefm — So far just a util for consuming last.fm recent tracks history for a user
  • nodestalker — A beanstalkd client for node
  • nodestagram — Instagram client for node
  • nodevore — Convore API wrapper
  • node-twilio — A helper library for the Twilio API
  • node-twitter — Asynchronous Twitter REST/stream/search client for node.js
  • pingdom — A module for accessing the Pingdom JSON API
  • tropo-webapi-node — A library for building multi-channel communication apps with the Tropo WebAPI.
  • SMSified-node — A module for sending and receiving SMS messages (text messages) with the SMSified API.
  • 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.
  • node-gravatar — Node.js Gravatar URL generator, can be used with Node.js blogging frameworks
  • node-spore — Node.js implementation of spore Generate api client with a json file.
  • akismet-js — A client for the Akismet spam detection API
  • spotify — Spotify api wrapper. Metadata lookup and search. Works with Spotify and http uris
  • node-mailchimp — A wrapper for the MailChimp API, MailChimp Export API and MailChimp Webhooks
  • ranger — A simple library which wraps Campfire’s API
  • node-notifo — Real-time notifications pushed to your mobile phone (and more).
  • node-beaconpush — Client for the Beaconpush REST API. A real-time push service for browsers supporting WebSockets and Comet.
  • node-neoip — binding for neoip
  • node-pdfcrowd — A wrapper for the Pdfcrowd API. It lets you convert web pages and raw HTML code to PDF.
  • node-yelp — A wrapper for the Yelp’s APIv2. Let’s you search for businesses and get specific business information.
  • sailthru-client — A wrapper for Sailthru API
  • yammer-js — Simple Yammer API wrapper
  • node-wikimapia — Node.js wrapper for the Wikimapia API

Flow control / 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 flow control (parallel, series, waterfall, auto…) module that works in node and the browser
  • atbar — Async callback manager for javascript in nodejs and browser
  • chainsaw — Build chainable fluent interfaces the easy way in node.js
  • Cinch — Write async code in sync form.
  • 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.
  • flow-js — Continuation-esque contruct for expressing multi-step asynchronous logic
  • funk — Asynchronous parallel functions made funky!
  • futures – Asynchronous Method Queueing, Futures, Promises, Subscriptions, and other async goodies
  • groupie — A simple flow control library for executing multiple functions as a group or in a chain, calling back when complete.
  • $N — Simple flow control with pretty syntax.
  • 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
  • observer — An alternative observer implementation, for both ss&cs.
  • poolr — A lightweight resource pooling/serialization library
  • Pulsar — Event emitter abstraction class, allowing reuse of custom-emitter logic across JavaScript environments.
  • seq — Chainable asynchronous flow control 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
  • Slide — A flow control 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 Flow Controller for NodeJS
  • zo.js — Async-friendly versions of the usual list processing functions: `map`, `select`, `reduce` and friends.

I18n and L10n modules

  • Lingo — Inflection, transformation and more
  • 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.

Boilerplates

  • node-boilerplate — Everything you need to get started on a Node.js website with express and socket.IO
  • transsiberian — 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.

Other

  • audience-meter — A simple audience meter based on Socket.IO, perfect for live events tracking
  • node-browserify — Browser-side require() for your node modules and npm packages
  • 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-bulletBullet Physics for node.js
  • node-stem — Bindings to the libstemmer library
  • chess — library for checking legal chess moves
  • chess.js — library for chess move generation, validation, and mate/draw detection
  • closure — Google closure library wrapper for node.js
  • cookies — Signed and unsigned cookies based on Keygrip
  • node-cuda — NVIDIA CUDA bindings for node.js
  • Curator.js — A flexible process monitoring and management framework
  • node-cookiejar — repetitive use cookie jar construction / cookie functionality
  • daemon.node — Unix/Linux Daemons with node.js
  • datejs — DateJS wrapped up as an NPM package for node.js
  • dateformat — A node.js package for Steven Levithan’s excellent dateFormat() function
  • relative-date — JavaScript module for outputting relative dates.
  • deja — CLI utility for managing git versioning of dotfiles and such
  • daemonchk.js — Daemon Monitor (with HTTP interface)
  • dir2html — Render a directory as HTML
  • dust — OO way to fill your database with not totally random content
  • dox — Documentation generator using JSdoc and markdown comments
  • express-chat — A chat application demo for testing node.js + MongoDB scalability
  • express-resource — Resourceful routing for express
  • express-configure — Async configuration for express
  • express-namespace — Namespaced routing for express
  • express-expose — Expose server-side modules, methods, and values to the client-side
  • express-helpers — Express view helpers
  • ext — High quality / performance JavaScript extensions specifically for node.js
  • Faker.js — generate massive amounts of fake data in Node.js and the browser
  • GeoIP — Get geolocation information based on domain or IP address
  • gex — Glob expressions for JavaScript
  • Grillode — Chat server with various modes such as customer support queues, fixed rooms or Chatroulette random matchups. Written in CoffeeScript and uses express, socket.io and Coffeekup.
  • goog — Server-side Google Closure with Node.js
  • gss — Golden Section Search for JavaScript. A line search technique used to minimize or maximize the output of a function.
  • hub.js — in-memory and in progress PubSubHubBub server
  • IRC-js — An IRC library for node.js
  • ip2cc — Efficiently convert IP addresses to two-letter country codes
  • ircbot — An IRC bot with plugin support
  • Jefe — Jefe is a safe sandbox for running user scripts in Node.js
  • Jerk — A fun little IRC bot library for node.js.
  • JSONPath — An XPath-like expression evaluator for JSON.
  • json-streamify — Streaming version of JSON.stringify for node.js
  • koala — Code syntax highlighting library
  • kohai — I am kohai. I am a pluggable irc bot for managing real-time data events.
  • knox — Amazon S3 client from the team at LearnBoost
  • LDAP — LDAP search/authenticate binding
  • lepote — XMPP bot
  • Lingo — Inflection, transformation and more
  • limestone — Sphinx search server connector
  • mimelib — MIME encoded text encoder/decoder etc.
  • nDistro — Node distribution toolkit. Create and install distributions in seconds without GIT or npm
  • Nodaphone — Use a phone to talk to your webapp or any other internet-enabled device. See the example.
  • Node.io — A distributed data scraping and processing framework.
  • NodeQ — A module for Background Processing using Node.js (still Alpha).
  • node-applescript — A module to easily execute arbitrary AppleScript code on OS X through NodeJS.
  • node-date-utils — Date extensions for NodeJS and client side.
  • node-discount — C markdown parser “discount” bindings
  • node-downloader — Downloader module for node.js
  • node-http-proxy — A full-featured http proxy for node.j
  • node-radclient — RADIUS client wrapper
  • node-amf — AMF library and web service gateway for Flash remoting
  • node-amqp — AMQP client
  • node-amqp — Basic AMQP client
  • node-asterisk — Listen to events in realtime and issue commands on Asterisk servers
  • node-bittorrent — A library for handling the bittorrent protocol
  • node-chat — A simple web-based chat server
  • node-control — System admin and code deployment via ssh (similar to Capistrano/Vlad)
  • node-email — A simple wrapper around sendmail
  • node-init — Turn your node daemon into an LSB-compatible init script
  • nodejs-phpmailer — enables to send emails with inline images with phpmailer from nodejs.
  • node-validator — String validation, sanitization and filtering – support for user input validation with your chosen web framework
  • node-Daemon — Restart node script after each change in main script or its dependencies
  • node-daemon — Node daemon is a simple way to start, stop and restart your node based application without having to manage external scripts.
  • node-iconv — iconv bindings, character encoding conversion made easy.
  • node-fork — C bindings to fork or daemonize the process.
  • node-genx — XML generation via the Genx C libary
  • node-geoip — geoip city lookup module (uses libgeoip)
  • node-gnomenotify — C++ bindings for GNOME libnotify on-screen notifications
  • node-growl — unobtrusive notification system (growlnotify “bindings”)
  • node-libnotify — unobtrusive notification system (libnotify “bindings”)
  • node-logger — Simple logging like Ruby’s logger.rb and console.log
  • node-hammer — Simple load testing tool similar to AB but with less features.
  • node-hash-ring — A consistent hashing module
  • node-irc-server — An extensible IRC server implementation (only supports one server in a network, still in development)
  • node-maxmind — maxmind/geoip module (using libgeoip)
  • node-maxmind-native — maxmind/geoip module written in native node.js
  • node-memstream — MemStream is a memory-based Stream implementation
  • node-multivariate — Application and framework for conducting A/B or Multivariate webpage testing (similar to mixpanel but with less features).
  • node-oscar – An OSCAR (AIM/ICQ) protocol implementation for node.js
  • node_pcap — Network packet capture and analysis using libpcap
  • node-pool — Generic resource pool. Useful for pooling database connections or other precious things.
  • node-resque — Resque redis-backed job queue workers in node.js (no longer under active development)
  • node-queue — simple queueing service for node, similar model to SQS but much higher performance
  • node-s3 — App for basic Amazon Web Services S3 administration (upload files, bucket admin, etc.)
  • node.Amazon-S3 — S3 implementation with Md5 signing, upload/download progress% events, streaming, large file support.
  • node-simple-cdn — Simple Content Delivery Network host ballancing for node
  • node-sissy: — S3 Upload & Download, Supports 100 continue, Range header, and using Streams or Files.
  • node-solr — Solr module for Node
  • node-sosumi — Use Find My Phone services from your node apps
  • node-stomp — A basic STOMP client.
  • node-stomp-server — A modular STOMP server framework and server
  • RADIUS — RADIUS Auth and Accounting binding
  • stomp-js — Full featured STOMP client.
  • node-syslog — Allows sending messages to syslog.
  • node-taglib — Beginnings of bindings to taglib
  • node-twiml — Easy TwiML creation in node.js
  • node-ugly — Allows to run PHP code from within node.js
  • node-uneval — Adds uneval() support to node.js
  • node-unshortener — A simple url unshortener/expander.
  • node-url-expander — An url expander.
  • node-worker — An implementation of the WebWorker API for node.js
  • node-webworker — An implementation of the HTML5 Web Worker API.
  • node-yui3 — Use the YUI 3 JS library from node.js
  • node-yql — A YQL (Yahoo Query Language) module for Node.js
  • node-zoneinfo — A wrapper around Date to be able to use zoneinfo file timezone information
  • node-zookeeper – Apache Zookeeper client API for node.js
  • NormAndVal — Data normalization and validation for Node.js and the browser
  • nshtools — a high level shell scripting library for file and operating system chores
  • odot – persistent, code reloading, interactive object space
  • require-analyzer — Determine the set of requirements for a given node.js file, directory tree, or module
  • sh.js — library for Unix shell scripting, replace Bash scripts with JavaScript
  • simplesets — Set data type, with API similar to Python’s sets module. Supports any data type, with equality tested by ===.
  • Task.node Simple task manager similar to Rake, Scons and others.
  • tasks.js Tasks for Node (like Rake!) with a very JavaScripty API.
  • temp — Temporary files and directories
  • tictoc — A simple timer just like the one from matlab. tic() dowork() toc();
  • user-agent — user agent string parser
  • uuidjs — Simple, fast UUID generation (uses native binding to libuuid)
  • node-uuid — Simple, fast(er?) UUID generation (pure JS, works in node + browsers)
  • vargs — practical variable argument handling.
  • Wheres Waldo — track locations of users in redis
  • Wrench-JS — Useful Node.js operations (recursive directory operations, etc)
  • yaml — CommonJS YAML parser
  • node-ncurses — An ncurses binding for node.js
  • node-terminal — A simple terminal module for ansi control codes. (broken link)
  • swirl-node — A simple EC2 client
  • node-hoptoad-notifier — Report exceptions to Hoptoad.
  • html filtre – A proxy that filters Html requests and give you an opportunity to add custom content into the response
  • pokenode – A push notification utility to make HTML/CSS development faster.
  • Set implementation – built on the object hash
  • forms — An easy way to create, parse and validate forms
  • promised-io — Cross-platform promise-based I/O provides composibility on evented I/O.
  • node-inotify — Bindings to GNU/Linux Inotify API
  • node-inotify++ — Thin, high-level wrapper around `node-inotify`
  • sneaker — Helps you observing objects if any attribute changes
  • node-proxy — Object Overloading and catch-all property interceptors using Harmony Proxies
  • node-ldapauth — Authenticates users against an LDAP server
  • nodejs-clone-extend — a versatile clone and extend like underline.js, to clone JavaScript objects, enables DRY.
  • node-search — An asynchronous full text search engine for node
  • printf — Write formatted data (complete implementation of printf and sprintf)
  • sandbox — A nifty JavaScript sandbox for use with node.js
  • Sibilant — A lispy language that compiles to js
  • pdf.js — A pdf renderer for node
  • node-recaptcha — Display and verify Recaptcha captchas
  • jsinc — Include non-module JavaScript file in node js, for example jslinq
  • sprintf — Sprintf() functionality
  • hrtime — Simple high resolution time POSIX-based functions providing nanosecond resolution, realtime clock, system uptime, process cputime, process runtime.
  • simplewhois — Retrieve Whois information for hostnames
  • nodepal — A Drupal integration layer for Node.js developers
  • node-usb — USB asynchronous bindings based on libusb-1.0
  • stem — English, French & German Porter2 stemming algorithm & basic tokenizer
  • functools — A library for functional programming
  • node-srs — Bindings to libosr for handling spatial references in node
  • node-i3 — inter-process communication with i3 using node.js’ asynchronous programming style
  • node_pickle — A Python pickled object <→ JSON transport. Writing/reading Python pickled objects to JavaScript objects.
  • algorithm-js — Data Structures & Algorithms in JavaScript
  • magic — Magic Getters/Setters to write better Promise implementations similar to PHP’s __get and __set methods.
  • gsl — GNU Scientific Library (GSL) for NodeJS (Focusing on random at the moment)
  • youtube-dl — A youtube-dl driver for node.
  • inflect — A port of the Rails / ActiveSupport inflector to JavaScript.

Node Management Utilities

  • n — node version manager
  • neco — Nodejs Ecosystem COordinator

CommonJS compatible modules that can be used with node.

  • abbrev-js — Like Ruby’s Abbrev module.
  • async.js — Idiomatic Functional programming lib adapted for asynchronous programming (ie. callbacks)
  • commonjs-geoUtils — Geographic Formulas for CommonJS
  • commonjs-utilsJSON Schema, AOP, XML-RPC, lazy arrays, and other utilities
  • data.js — A JavaScript data manipulation library (features Graph and Collection data abstraction formats)
  • datatypes-js — Byte encoding/decoding for typical datatypes in JS.
  • Dojo Toolkit — The Dojo library for Node
  • dojo-node — runs dojo, dojox and dijit (special requirements) on node
  • email.js — Email generation and parsing in JavaScript.
  • inflection — A port of the Rails/ActiveSupport inflector to JavaScript
  • match-js — Simple pattern matching (functional style) in JS.
  • qxoo — port of the qooxdoo OO system to commonJS
  • schema.js — Sophisticated JSON schema based data validation and adaptation
  • underscore — Unobtrusive functional programming utility library.
  • wu.js — A lazy, functional JavaScript library that ain’t nuthin’ ta f*ck wit.

Project Generators

  • ngen — Package generator with best-practices baked in

CoffeeScript modules

  • coffeemate — the coffee creamer! Push coffeescript into web development.
  • herodot — cross-server and cross-process event emitter 2 implementation using redis pub/sub protocol in backyards
  • simple-geoip — Simple native maxmind GeoIP lookup. 4-6 times faster than node-maxmind-native. See wiki for details. Compiled database of countries geo.json is available
  • NodeBase — A node base class for JavaScript and Coffeescript (logging, options, defaults and EventEmitter)