forked from nodejs/node-v0.x-archive
-
Notifications
You must be signed in to change notification settings - Fork 12
Modules
pguillory edited this page Mar 2, 2011
·
874 revisions
Check out search.npmjs.org too
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
- sherpa — HTTP 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
- 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)
- 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-logger — JSON-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-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
- 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.
- sasljs — Gsasl 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.
- ndns — DNS 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 .
- 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
- 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.
- expresso — TDD 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-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.
- 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!
- 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
- 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-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.
- CSSOM – CSS 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 plugin — Using 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_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!’)
- 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-bullet — Bullet 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-cuda — NVIDIA 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
- 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-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
- LDAP — LDAP search/authenticate binding
- lepote — XMPP 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-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
- 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_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-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
- 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-utils — JSON 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