Skip to content
pguillory edited this page Mar 2, 2011 · 874 revisions

Check out search.npmjs.org too

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.

  • 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
  • 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
  • sherpaHTTP router/generator with support for regex and parameters

  • 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
  • protos – Static file server with JSON configuration, similar to Apache
  • static-resource – Static resource handling for node.js

  • 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
  • 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
  • zappa — Razor-sharp DSL for modern web apps. (node 0.2.3)

  • 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
  • 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
  • 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 homepage
  • nodemachine — A port of WebMachine to Node.js
  • pinturaREST-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)
  • WIN — A simple page centric framework designed around CouchDB+Mustache
  • Zeppelin — An early stage, low friction cloud development framework

  • cascade — Sequentially attempts multiple middleware apps (JSGI).
  • compress – Gzip compresses (using node-compress) the response when appropriate based on request headers. (JSGI)
  • media – Performs content type negotiation (per RFC2616) delegating to appropriate media handler. (JSGI)
  • csrf – Checks HTTP request for possible cross-site request forgery, flags dangerous requests. (JSGI)
  • xsite – Handles JSONP, window.name, and cross-origin XHR (CORS). (JSGI)
  • rewriter – Rewrites defined paths to other paths. (JSGI)
  • static – Static file handler using asynchronous streaming. (JSGI)
  • error – Catches uncaught errors and converts to appropriate HTTP error responses. (JSGI)
  • conditional – Handles conditional HTTP requests (If-Modified-Since, etc.) (JSGI)
  • http-params – Converts HTTP parameters http- to headers. (JSGI)
  • auth – Handles Authentication (HTTP and cookie based). (JSGI)
  • commonlogger – A logger of HTTP requests. (JSGI)
  • contentlength – Sets Content-Length header. (JSGI)
  • head – Handles HEAD requests (stripping body). (JSGI)
  • redirect – Redirects to other URLs (JSGI)
  • urlmap – Maps to different apps by path/URL (JSGI)
  • extension – Transforms .extension to a RESTful Accept header (JSGI)
  • transporter – Share modules with browser, works RequireJS and Yabble (JSGI)
  • routes – Simple RegExp based router (JSGI)
  • node-file-cache – Very small file cache for node.js http server.
  • connect-rpx – Use RPX with Node.js and Connect (Connect)
  • connect-assetmanager – Asset manager for Connect for handling CSS/JS files (Connect)
  • session – Session manager with pluggable storage handling (JSGI)
  • dispatch — Regular expression URL dispatcher (Connect)
  • quip — Chainable HTTP response API (Connect)
  • cookie-sessions — Secure cookie-based session store (Connect)
  • protobuf_for_node — In-process JS-to-C++ communication using protocol buffer services
  • socket-loggerJSON-parsable logs for Socket.IO that can push log messages to a client over Socket.IO.
  • monomi — Provides tools for handling tablet, touch, and mobile browsers (Connect)
  • trust-reverse-proxy – Trust (SSL) connections coming from (a) specific reverse prox(y)(ies) (Connect)
  • node-evented — Extended EventEmitter
  • form2json — Decoder for form-urlencoded data that supports arrays of nested objects (Connect)
  • http-proxy-selective — Proxy server replace some remote static files with local ones
  • resource-router — A resource-oriented router to replace the default routing in express (Connect)
  • session-web-sockets — Pass session to (Socket.IO-node) in a secure manner (Connect) Originally forked from bmeck/session-web-sockets
  • proxy-tamper — A proxy server that allows for the tampering of requests and responses.
  • node-facebook-session-cookie — eats facebook cookies from client FB.login() and makes the session available as req.fb_session (Connect)
  • connect-force-domain — force all visitors onto a single domain (Connect)
  • googleclientlogin — Log in to Google services using CllientLogin method

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

  • alfred — a fast in-process key-value store for node.js that has functional indexes, streams, replication, …
  • awesome — a Redis clone in node.js
  • barricane-db — a transparent object persistence mechanism
  • couch-ar — a active record implementation for couchDB (uses cradle)
  • couch-client — a simple wrapper around CouchDB’s http interface
  • cradle — a high-level, caching, CouchDB client
  • chaos — Chaos is a Node.js database
  • data.js — Graph persistence for Node.js with CouchDB
  • JSLINQ — Clean and simple port of Microsoft’s LINQ to node.js (and the browser)
  • keys — Unified interface for key/value store clients
  • kyoto-client — A client for the Kyoto Tycoon key-value store
  • node-cask — A 140 loc mmap-ed key/value store, based on bitcask
  • 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.
  • 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-handlersocket — Pure JavaScript client for HandlerSocket
  • 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-memcache — a memcache client base on libmemcached
  • node-mongodb — Basic MongoDB client implementation in JS/C++
  • node-mongodb-native — A pure javascript driver for MongoDB.
  • 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.
  • node-poormansmysql — Asynchronous MySQL driver for node.js using the mysql command-line tool
  • node-mwire — a client for GT.M & Cache, based on the Redis protocol, with connection pooling (includes web server log to database)
  • node-mysql — A node.js module implementing the MySQL protocol
  • 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
  • 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
  • node-tyrant — An implementation of the Tokyo Tyrant network protocol for the Node.js
  • node.dbslayer.js – Interface to DBSlayer (MySQL)
  • node_postgres — Beginning of bindings to libpg
  • node-postgres — Heavily tested, heavily documented, working Postgres client
  • nosql-thin – Makes easier to work with MongoDB. Not an ORM. Not production ready.
  • persistence — Multi-backend database/nosql system. Backends: Sqlite3, Postgres and Memory.
  • persistence.js — An object-relational mapper (ORM) for node. Backends: MySQL.
  • perstore — JavaScript persistence/object store with pluggable storage based on the W3C DB API
  • postgres-js — Postgres protocol implemented in pure JS
  • postgres-js — Fork of postgres-js, adds parameterized queries and prepared statements.
  • rapid – Redis ORM-like abstraction layer with query support, type coercion and validations
  • RDX – An object-relational mapper (ORM) for node. Backends: node-mysql-libmysqlclient.
  • 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)
  • riak-js — Riak Javascript client (works on node v0.1.30+)
  • node-tokyocabinet — Tokyo Cabinet binding
  • 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
  • sequelize – An easy-to-use MySQL Object-Relational-Mapper (ORM) for Node.JS

  • asyncEJS — Asynchronous implementation of embedded JavaScript
  • bind-js — a simple templating engine for node.js that smiles back.
  • 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.
  • 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
  • strobe-templates — An asynchronous templating engine with syntax like Django’s
  • 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.

  • Stylus — Expressive, dynamic, robust CSS language written by the author of Express, Connect, Jade and more
  • 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.

  • Nodepad — A nice basic web-based notepad.

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

  • npm — A node package manager that uses CommonJS-compatible package.json files, written in asynchronous javascript.

  • nodules — Async module loader with dep resolution/downloading and module reloading w/o server restart
  • 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)

  • 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-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-httpclient — Node HTTP Client (gzip, https, cookies etc.)
  • node-imap — A module for interacting with IMAP mail servers
  • 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
  • request — Simple HTTP client library.
  • 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.
  • ndnsDNS client/server library and parser
  • 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)

  • bertrpc
  • jsonrpc
  • 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).

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

  • websocket.MQ — Reliable message queue server accessible via websockets, socket.IO, etc

  • joose — complete modern class system for JavaScript, based on concepts from many programming languages

  • 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.
  • 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.
  • expressoTDD framework by the author of JSpec
  • exemplor.js — A port of exemplor with Node goodness.
  • jasmine-node — integration with Pivotal’s Jasmine Spec framework
  • Jody — A descriptive BDD Testing framework
  • jspec — Feature Rich BDD Testing Framework (no longer supported)
  • 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.
  • nodeunit — Simple syntax, powerful tools. Based on the assert module. Available for node.js and the browser!
  • ntest — another unit testing framework
  • 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
  • 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
  • zombie.js — Insanely fast, full-stack, headless testing using node.js

  • 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

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

  • 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
  • nomnomargs — Option parser with defaults, positional args, usage
  • tav — Brain-free command-line options parser for node.js
  • Operetta — A Node Option Parser That Sings!

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

  • 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-jsSAX-like evented JSON parsing using yajl
  • 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)
  • 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.
  • CSSOMCSS parser and CSS Object Model implementation.
  • glossy – Syslog message parser and producer
  • UglifyJS – JavaScript parser and compressor/beautifier

  • ain — Brain-free syslog logging
  • cfdump.js — a more visually inspiring way to dump your objects to a browser
  • 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.
  • node-logger — 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_debugHTTP 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!’)
  • 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

  • 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
  • gzip — simple compression using default linux “gzip” utility
  • node-zipfile — inspect and uncompress zipfile archives (C++ around libzip)

  • 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
  • ffmpeg-node — Node.js driver for ffmpeg library

  • paynode – library for integrating with various payment gateways
  • braintree — library for integrating with Braintree
  • node-fortumo — bindings for Fortumo SMS payment API

  • 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
  • evented-twitter — asynchronous twitter client, supports streaming api
  • facebook-js — Easy peasy facebook client for connect.
  • 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)
  • 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-flickr — A simple library to enable easy use of the flickr api
  • node-github — A wrapper for the GitHub 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-ostatus — An implementation of the OStatus protocol (Webfinger, Push, Hcard, Salmon, etc.)
  • 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
  • node-twilio — A helper library for the Twilio API
  • node-twitter — Asynchronous Twitter REST/stream/search client for node.js
  • tropo-webapi-node — A library for building multi-channel communication apps with the Tropo WebAPI.
  • 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.

  • 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
  • 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.
  • 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 — Asynchronous 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
  • observer — An alternative observer implementation, for both ss&cs.
  • 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
  • streamline.js — Tool that transforms synchronous code into asynchronous code with callbacks.

  • Lingo — Inflection, transformation and more
  • Dialect — Dialect is a painless nodejs module that deals with i18n, and L10n.
  • express-dialect — ExpressDialect is a “pluggable” express application that deals with i18n.
  • node-i18n — node-i18n is a minimalistic internationalization module with templating

  • 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

  • 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
  • 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-cudaNVIDIA CUDA bindings for node.js
  • 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
  • dejaCLI 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-contrib — Express utilities that do not belong in core, but are still awesome :)
  • 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
  • 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
  • Jefe — Jefe is a safe sandbox for running user scripts in Node.js
  • Jerk — A fun little IRC bot library for node.js.
  • koala — Code syntax highlighting library
  • knox — Amazon S3 client from the team at LearnBoost
  • LDAPLDAP search/authenticate binding
  • lepoteXMPP bot
  • Lingo — Inflection, transformation and more
  • limestone — Sphinx search server connector
  • 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-amfAMF library and web service gateway for Flash remoting
  • node-amqpAMQP 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
  • 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-genxXML 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_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-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
  • 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-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
  • 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
  • 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-usbUSB 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

  • n — node version manager

  • 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
  • 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 — Modular data schema validation and adaptation according to JSON Schema for JavaScript
  • underscore — Unobtrusive functional programming utility library.
  • wu.js — A lazy, functional Javascript library that ain’t nuthin’ ta f*ck wit.

  • simple — Simple JSON REST/RPC server secured by Object Capability
  • 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
Clone this wiki locally