This module list is taken directly from the official Node.js wiki on github . While there are "no bad modules", for those newcomers to Node, the modules that give the easiest entry path into basic website/mobile app construction include Express.js, Socket.io and Mongoose. Whether independantly or as a component of Express, Jade and EJS are some of the most popular templating engines.
Modules
Edit
Web frameworks
Edit
ROUTERS
Edit
- biggie-router — Router for the biggie framework. Inspired by Sinatra and JQuery.
- choreographer — Your server is my stage — dirt simple URL routing for Node.js. Easy to use, easy to understand. Sinatra-style API.
- clutch — no-frills web request router, supporting nested routes, regexp parameters
- connect — Robust high performance middleware framework
- dispatch — Regular expression URL dispatcher for Connect
- escort — High-performance, advanced routing and URL generation
- journey — liberal JSON-only HTTP request router
- node-router — Simple Sinatra-like http server based on fu.js from the original node-chat demo.
- node.routes.js — A simple url router
- nozzle — web app/service framework
- sherpa —HTTP router/generator with support for regex and parameters
STATIC FILE SERVERS
Edit
- 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
MICROFRAMEWORKS
Edit
- Ni — A minimalistic Node module / framework that makes setting up an MVC project a breeze
- (fab) — A modular and concise async web framework for node.js
- kaph — Not framework
- Nerve — Microframework with simple array-based syntax for defining an app on top of node. (node.JS 0.1.30)
- Prick – tiny web framework
- restmvc.js — A simple library to help you quickly create RESTful webservices using Express, Mongoose, and MongoDB.
- rowan — A hierarchical microframework of reusable controllers and modular app logic.
- vroom — A simple resource oriented web framework built on top of Node.js (November 2009, node.JS 0.1.16)
- Picard
- simplex (October 2009, node.JS 0.1.14)
- Pipe-Layer — Asynchronous HTTP router.
- frank — yet another sinatra-like microframework for node
- zappa — Razor-sharp DSL for modern web apps. (node 0.2.3)
FRAMEWORKS
Edit
- archetype — A web framework leveraging Node.js
- broke — A porting of the most famous Django Web Framework
- chain — An evented convention for building Node Applications (Stopped Development, for ejsgi)
- coltrane — A try at a higher level library/framework for node.js web development (July 2009, node.JS 0.1.1)
- djangode — A framework that borrows some useful concepts from Django. (March 2010, node.JS 0.1.30)
- drty — A Django port to NodeJS. Many Django features, still under heavy development. (January, 2011, 0.2.6)
- Express — A robust feature rich web development framework inspired by Sinatra
- Grasshopper — A feature-rich and flexible MVC framework for web applications and services, with integrated dependency injection.
- Geddy — A hackable Web-app development framework similar to Merb/Rails/Pylons/Django
- 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 wiki
- nCombo — Full featured framework for building rich cloud applications.
- 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
MIDDLEWARE
Edit
- JSGI
- cascade — Sequentially attempts multiple middleware apps.
- compress – Gzip compresses (using node-compress) the response when appropriate based on request headers.
- media – Performs content type negotiation (per RFC2616) delegating to appropriate media handler.
- csrf – Checks HTTP request for possible cross-site request forgery, flags dangerous requests.
- xsite – Handles JSONP, window.name, and cross-origin XHR (CORS).
- rewriter – Rewrites defined paths to other paths.
- static – Static file handler using asynchronous streaming.
- error – Catches uncaught errors and converts to appropriate HTTP error responses.
- conditional – Handles conditional HTTP requests (If-Modified-Since, etc.)
- http-params – Converts HTTP parameters http- to headers.
- auth – Handles Authentication (HTTP and cookie based).
- commonlogger – A logger of HTTP requests.
- contentlength – Sets Content-Length header.
- head – Handles HEAD requests (stripping body).
- redirect – Redirects to other URLs
- urlmap – Maps to different apps by path/URL
- extension – Transforms .extension to a RESTful Accept header
- transporter – Share modules with browser, works RequireJS and Yabble
- routes – Simple RegExp based router
- session – Session manager with pluggable storage handling
- Connect
- connect-assetmanager – Asset manager for Connect for handling CSS/JS files
- connect-force-domain — force all visitors onto a single domain
- connect-rpx – Use RPX with Node.js and Connect
- connect_facebook – Facebook session support for Connect
- connect_json – Support for parsing JSON requests and sending JSON responses in Connect
- cookie-sessions — Secure cookie-based session store
- dispatch — Regular expression URL dispatcher
- form2json — Decoder for form-urlencoded data that supports arrays of nested objects
- monomi — Provides tools for handling tablet, touch, and mobile browsers
- node-facebook-session-cookie — eats facebook cookies from client FB.login() and makes the session available as req.fb_session
- quip — Chainable HTTP response API
- resource-router — A resource-oriented router to replace the default routing in express
- session-web-sockets — Pass session to (Socket.IO-node) in a secure manner. Originally forked from bmeck/session-web-sockets
- trust-reverse-proxy – Trust (SSL) connections coming from (a) specific reverse prox(y)(ies)
- node_signedcookies — Extends Express’s cookieParser() to read/write signed cookies.
- Other
- node-file-cache – Very small file cache for node.js http server.
- protobuf_for_node — In-process JS-to-C++ communication using protocol buffer services
- socket-logger —JSON-parsable logs for Socket.IO that can push log messages to a client over Socket.IO.
- node-evented — Extended EventEmitter
- http-proxy-selective — Proxy server replace some remote static files with local ones
- proxy-tamper — A proxy server that allows for the tampering of requests and responses.
- googleclientlogin — Log in to Google services using CllientLogin method
OTHER
Edit
- 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.
- Stereo — A simple drop-in multi-core node application controller
- node-elf-logger — Configurable HTTP logging library following the W3C Extended Log File Format specification
- JSGI-Node — Asynchronous JSGI 0.3 Adapter for Node, for standards-based middleware
- node-mime — Utility module for mime-type lookups
- node-cgi —CGI adapter kludge (replaces Node’s fast and famous event-based HTTP library)
- node.ly — A simple URL shortener
- multi-node — Launch multiple node processes for HTTP servers
- node-http-digest — Provides HTTP Digest authentication for HTTP servers
- solder — Combines and minifies JavaScript and CSS at runtime and build time
- fugue — Unicorn for Node.js – Multiple node server instance manager with Unicorn-like features
- what — What – A Node.JS Web Container/Application Server
- mongrel2 — mongrel2 – Mongrel2 handler for node
- node-flags — node-flags – Flag handling library
Database
Edit
- 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.
- node-mongoskin — A future layer for node-mongodb-native.
- node-mongolian — Mongolian DeadBeef is an awesome Mongo DB node.js driver that attempts to closely approximate the mongodb shell
- node-orm — Basic ORM for multiple drivers (still in development, only MySQL driver for now)
- 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-mysql-pool — connection pool for node.js on top of Felix Geisendörfer’s MySQL client node-mysql.
- 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-tiny — An experimental in-process database similar to nStore.
- 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
- FastLegS – PostgreSQL ORM on top of node-postgres.
- 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
Templating
Edit
- 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.
- node-tmpl — basic templating system in node.js based on shorttag
CSS Engines
Edit
- 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.
Content Management Systems
Edit
Build and Deployment
Edit
- nodejs-autorestart — It is a way to watch all .js files if they have been changed and to restart nodejs. It allows easy development and stable production.
- config — Runtime configuration for node.js deployment – npm install config
- node-config — Lightweight configuration engine for Node.js
- node-dev — Automatically restarts node when a source-file is modified. Displays notifications via Growl.
- run — Rerun your js file whenever there’s a change in the current directory: npm install run, runjs yourcode.js. Never alt-tab to your terminal again.
- node-settings — Simple, hierarchical environment-based app settings.
- Jake — JavaScript build tool similar to Make or Rake.
- Masson — Build system and rule management similar to tools like Make, Ant or Rake
- Ready.js — Continuous JavaScript integration using JSLint, Google Compiler, Node.js and Git
- nodemon — Monitors all source files, restarts node on changes. Command-line usage, code-passive with ignore list.
- node-linter — generic lint wrapper for JSLint, closure-linter, closure-compiler, and JavaScript Lint.
- nib.js — package and minify JavaScript/coffeescript projects to be embedded in the browser as a single .js file
- nclosure — Compiler, Style Checker, Utility Library, Unit Testing Framework, JSDoc Documentation Tool. Built on top of Google Closure tools.
- quickcheck — Port of the Haskell QuickCheck unit testing framework
Package Management Systems
Edit
- npm — A node package manager that uses CommonJS-compatible package.json files, written in asynchronous JavaScript.
- nmod — nmod is a node_modules manager. able to install from npm and git
Module Loader
Edit
- 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)
OpenSSL / Crypto / Hashing
Edit
- 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_nibbler — Base32/base64 encoder/decoder.
SMTP
Edit
- Haraka — Full Featured SMTP Server
- node-smtpclient — Simple SMTP that uses AUTH and TLS/SSL (2.4)
- node-smtp-client — Implementation of the SMTP protocol in Node
- node-smtp — Implementation of an SMTP server (and soon, client)
- node_mailer — send emails from node.js to an smtp server, simple as cake
- Nodemailer – Easy to use module to send e-mails with Node.JS, unicode friendly
- emailjs – send emails, html and attachments from node.js to any smtp server (ex: gmail)
TCP / IP
Edit
- 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
- node-http-status — Interact with HTTP status code (just a set of constants)
- 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)
- NodeSSH — a lightweight SSH client
- node-xmpp-bosh — An XMPP BOSH server running on node.js
RPC
Edit
- 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).
Web Sockets & Ajax
Edit
- 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
- easywebsocket — WebSocket to broadcast messages to webpages
Message Queues
Edit
- websocket.MQ — Reliable message queue server accessible via websockets, socket.IO, etc
Class systems
Edit
- joose — complete modern class system for JavaScript, based on concepts from many programming languages
- Klass — An expressive, cross platform JavaScript Class provider with a slick, classical interface to prototypal inheritance. Includes extends, implements, and the ability to call super classes/methods
Testing / Spec Frameworks
Edit
- Benchmark.js — A benchmarking library that works on nearly all JavaScript platforms, supports high-resolution timers, and returns statistically significant results.
- cucumis — A cucumber nodejs implementation. Run plain text gherkin stories with full asynchronous support in native node.js JavaScript.
- databasecleaner — Clean your database after each test. Supports MongoDB, Redis and CouchDB. Will support MySQL and others.
- fragile — Lightweight command line unit testing tool for nodejs.
- Gently — A node.js module that helps with mocking and behavior verification.
- espionage — A mock/stub framework using the test spy pattern.
- expresso —TDD framework by the author of JSpec
- exemplor.js — A port of exemplor with Node goodness.
- 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.
- nodemock — Simple Yet Powerful Mocking Framework for NodeJs
- nodeunit — Simple syntax, powerful tools. Based on the assert module. Available for node.js and the browser!
- 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
- zap — a tiny testing tool for node.js
- zombie.js — Insanely fast, full-stack, headless testing using node.js
Wrappers
Edit
- bdog-node — haXe wrappers for node.
- bdog-redis — haXe wrappers for Fictorial’s redis client
- bdog-gtk — haXe wrappers for node and Gtk-Server
- bdog-pstore — haXe object server using bdog-node and bdog-redis
- bdog-mongo — haXe wrappers for native-mongo driver
- SQLiteHaxeWrapper — haXe wrappers for Orlandov’s SQLite high level driver
- hxnodejs — another haXe wrappers for node
Parsers
Edit
XML
Edit
- 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.
COMMAND LINE OPTION PARSERS
Edit
- 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!
- lineparser — A meta driven command line parser with subcommands, usage patterns
PARSER GENERATORS
Edit
- 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
OTHER PARSERS
Edit
- 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
- formaline – module for handling simple form posts and fast parsing of file uploads
Debugging / Console Utilities
Edit
- 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
- Replica — Repl to exec JavaScript code on browser
Compression
Edit
- gzip — simple compression using default linux “gzip” utility
- node-compress — streaming compression / gzip library
- node-compress by egorich239 — asynchronous streaming (de)compression library with gzip and bzip2 support, originally forked fromwaveto’s
- node-snappy — compression using Google’s snappy library.
- node-zipfile — inspect and uncompress zipfile archives (C++ around libzip)
Graphics
Edit
- 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
- Face.js — Node.js module for detecting faces in images
Payment Gateways
Edit
- paynode – library for integrating with various payment gateways
- braintree — library for integrating with Braintree
- node-fortumo — bindings for Fortumo SMS payment API
API clients
Edit
- 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.
- facebook-api — offers high level and low level calls against the facebook graph API
- 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)
- geo — A very basic, but simple, geocode library, currently using Google Geocode API (v3)
- gist — A gist creator. Create GISTs and use the generated URI.
- gravatar — Well tested Node.JS Gravatar URL generator
- 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-gitteh — Async, stable, feature-complete bindings for the libgit2 library.
- nodegit — Asynchronous native Node.js libgit2 bindings with a convenient api
- node-gdata — A generic Google Data API client library
- node-googleanalytics — Google Analytics GData export library
- node-googlemaps — A wrapper for the Google Maps API
- node-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
- nodestagram — Instagram client for node
- node-twilio — A helper library for the Twilio API
- node-twitter — Asynchronous Twitter REST/stream/search client for node.js
- pingdom — A module for accessing the Pingdom JSON API
- tropo-webapi-node — A library for building multi-channel communication apps with the Tropo WebAPI.
- tumblrrr — A wrapper for Tumblr’s API
- tweetstream — Stream like API for twitter’s HTTP streaming interface.
- TwitScript — A port of Twython to Node.js (Twitter API Library)
- twitter-js — Easy peasy twitter client for connect.
- node-gravatar — Node.js Gravatar URL generator, can be used with Node.js blogging frameworks
- node-spore — Node.js implementation of spore Generate api client with a json file.
- akismet-js — A client for the Akismet spam detection API
- spotify — Spotify api wrapper. Metadata lookup and search. Works with Spotify and http uris
- node-mailchimp — A wrapper for the MailChimp API, MailChimp Export API and MailChimp Webhooks
- ranger — A simple library which wraps Campfire’s API
- node-notifo — Real-time notifications pushed to your mobile phone (and more).
- node-beaconpush — Client for the Beaconpush REST API. A real-time push service for browsers supporting WebSockets and Comet.
- node-neoip — binding for neoip
Flow control / Async goodies
Edit
- 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.
- sync — Write simple and readable synchronous code in nodejs using fibers (based on node-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
- narrow — Shrinks a given callback parallel execution concurrency in a limited number of threads, receiving a big bunch of data (array of tasks)
- observer — An alternative observer implementation, for both ss&cs.
- poolr — A lightweight resource pooling/serialization library
- Pulsar — Event emitter abstraction class, allowing reuse of custom-emitter logic across JavaScript environments.
- seq — Chainable asynchronous flow control for node.js with sequential and parallel primitives and pipeline-style error handling
- sexy — Proxy (ES5) for writing sequential asynchronous code in a synchronous style
- Signals — Custom Event/Messaging system
- Slide — A flow control library that fits in a slide presentation
- soda.js — Asynchonous JavaScript module loader for client-side and Node.js
- Step — Tool for grouping and chaining asynchronous callbacks, based on flow-js
- streamline.js — Tool that transforms synchronous code into asynchronous code with callbacks.
- zo.js — Async-friendly versions of the usual list processing functions: `map`, `select`, `reduce` and friends.
I18n and L10n modules
Edit
- 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
Boilerplates
Edit
- node-boilerplate — Everything you need to get started on a Node.js website with express and socket.IO
- transsiberian — nodejs boilerplate built upon Express and Mongolia
- NodeBase — A node base class for JavaScript and CoffeeScript (logging, options, defaults and EventEmitter)
Other
Edit
- audience-meter — A simple audience meter based on Socket.IO, perfect for live events tracking
- 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
- Curator.js — A flexible process monitoring and management framework
- node-cookiejar — repetitive use cookie jar construction / cookie functionality
- daemon.node — Unix/Linux Daemons with node.js
- datejs — DateJS wrapped up as an NPM package for node.js
- dateformat — A node.js package for Steven Levithan’s excellent dateFormat() function
- relative-date — JavaScript module for outputting relative dates.
- deja —CLI utility for managing git versioning of dotfiles and such
- daemonchk.js — Daemon Monitor (with HTTP interface)
- dir2html — Render a directory as HTML
- dust — OO way to fill your database with not totally random content
- dox — Documentation generator using JSdoc and markdown comments
- express-chat — A chat application demo for testing node.js + MongoDB scalability
- express-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
- gex — Glob expressions for JavaScript
- Grillode — Chat server with various modes such as customer support queues, fixed rooms or Chatroulette random matchups. Written in CoffeeScript and uses express, socket.io and Coffeekup.
- goog — Server-side Google Closure with Node.js
- gss — Golden Section Search for JavaScript. A line search technique used to minimize or maximize the output of a function.
- hub.js — in-memory and in progress PubSubHubBub server
- IRC-js — An IRC library for node.js
- ircbot — An IRC bot with plugin support
- Jefe — Jefe is a safe sandbox for running user scripts in Node.js
- Jerk — A fun little IRC bot library for node.js.
- json-streamify — Streaming version of JSON.stringify 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-radclient —RADIUS client wrapper
- node-amf —AMF library and web service gateway for Flash remoting
- node-amqp —AMQP client
- node-amqp — Basic AMQP client
- node-asterisk — Listen to events in realtime and issue commands on Asterisk servers
- node-bittorrent — A library for handling the bittorrent protocol
- node-chat — A simple web-based chat server
- node-control — System admin and code deployment via ssh (similar to Capistrano/Vlad)
- node-email — A simple wrapper around sendmail
- nodejs-phpmailer — enables to send emails with inline images with phpmailer from nodejs.
- node-validator — String validation, sanitization and filtering – support for user input validation with your chosen web framework
- node-Daemon — Restart node script after each change in main script or its dependencies
- node-daemon — Node daemon is a simple way to start, stop and restart your node based application without having to manage external scripts.
- node-iconv — iconv bindings, character encoding conversion made easy.
- node-fork — C bindings to fork or daemonize the process.
- node-genx —XML generation via the Genx C libary
- node-geoip — geoip city lookup module (uses libgeoip)
- node-gnomenotify — C++ bindings for GNOME libnotify on-screen notifications
- node-growl — unobtrusive notification system (growlnotify “bindings”)
- node-libnotify — unobtrusive notification system (libnotify “bindings”)
- node-logger — Simple logging like Ruby’s logger.rb and console.log
- node-hammer — Simple load testing tool similar to AB but with less features.
- node-hash-ring — A consistent hashing module
- node-irc-server — An extensible IRC server implementation (only supports one server in a network, still in development)
- node-maxmind — maxmind/geoip module (using libgeoip)
- node-maxmind-native — maxmind/geoip module written in native node.js
- node-memstream — MemStream is a memory-based Stream implementation
- node-multivariate — Application and framework for conducting A/B or Multivariate webpage testing (similar to mixpanel but with less features).
- node-oscar – An OSCAR (AIM/ICQ) protocol implementation for node.js
- node_pcap — Network packet capture and analysis using libpcap
- node-pool — Generic resource pool. Useful for pooling database connections or other precious things.
- node-resque — Resque redis-backed job queue workers in node.js (no longer under active development)
- node-queue — simple queueing service for node, similar model to SQS but much higher performance
- node-s3 — App for basic Amazon Web Services S3 administration (upload files, bucket admin, etc.)
- node.Amazon-S3 — S3 implementation with Md5 signing, upload/download progress% events, streaming, large file support.
- node-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
- printf — Write formatted data (complete implementation of printf and sprintf)
- sandbox — A nifty JavaScript sandbox for use with node.js
- Sibilant — A lispy language that compiles to js
- pdf.js — A pdf renderer for node
- node-recaptcha — Display and verify Recaptcha captchas
- jsinc — Include non-module JavaScript file in node js, for example jslinq
- sprintf — Sprintf() functionality
- hrtime — Simple high resolution time POSIX-based functions providing nanosecond resolution, realtime clock, system uptime, process cputime, process runtime.
- simplewhois — Retrieve Whois information for hostnames
- nodepal — A Drupal integration layer for Node.js developers
- node-usb —USB asynchronous bindings based on libusb-1.0
- stem — English, French & German Porter2 stemming algorithm & basic tokenizer
- functools — A library for functional programming
- node-srs — Bindings to libosr for handling spatial references in node
- node-i3 — inter-process communication with i3 using node.js’ asynchronous programming style
- node_pickle — A Python pickled object <→JSON transport. Writing/reading Python pickled objects to JavaScript objects.
- algorithm-js — Data Structures & Algorithms in JavaScript
- magic — Magic Getters/Setters to write better Promise implementations similar to PHP’s __get and __set methods.
Node Management Utilities
Edit
CommonJS compatible modules that can be used with node.
Edit
- 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
- dojo-node — runs dojo, dojox and dijit (special requirements) on node
- email.js — Email generation and parsing in JavaScript.
- inflection — A port of the Rails/ActiveSupport inflector to JavaScript
- match-js — Simple pattern matching (functional style) in JS.
- qxoo — port of the qooxdoo OO system to commonJS
- schema.js — 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.
Project Generators
Edit
- ngen — Package generator with best-practices baked in
CoffeeScript modules
Edit
- simple-geoip — Simple native maxmind GeoIP lookup. 4-6 times faster than node-maxmind-native. See wiki for details. Compiled database of countries geo.json is available
- NodeBase — A node base class for JavaScript and Coffeescript (logging, options, defaults and EventEmitter)
----------------------------------
f you are a newcomer, it can be handy to at least get a starting point. However, note that there are many tens of thousands of modules in the npm registry, and only just under 2,000 modules here.
So, this list is long enough to be intimidating, but still only captures a tiny sliver of the Node.js modules you can use with your program. What's worse, it's almost never updated, and cannot hope to highlight the changes that are happening in this busy ecosystem.
Search for modules with npmjs.org, node-modules, node-toolbox and nipster.