A curated list of astonishing Node.js frameworks, libraries and resources. Inspired by awesome-php and awesome-python.
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 50 commits ahead of casualuser:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
LICENSE
README.md

README.md

Awesome Node.js

A curated list of astonishing Node.js frameworks, libraries and resources. Inspired by awesome-php and awesome-python.

Your pull requests are very welcome! Let's make this the awesomest resource for Node!

Environment Management

Libraries for Node version and environment management.

  • nodeenv - Virtual environment for Node.js & integrator with virtualenv.
  • nave - Virtual Environments for Node.
  • n - Node version management.

Integrated Development Enviroments

IDEs and Editors for development

  • Enide - Node Eclipse IDE with Nodeclipse plugin.
  • InteliJIDEA - Fast Node plugin for InteliJ.
  • Webstorm - "Create great websites and applications in a great IDE. The best JavaScript IDE and HTML editor is at your service."
  • Atom - The hackable editor by GitHub
  • Brackets - An open source code editor for the web, written in JavaScript, HTML and CSS.
  • Cloud9 - Web editor with collaboration tools.
  • Notepad++ - Notepad++ is a free source code editor and Notepad replacement that supports several languages.
  • CmdEr - Not really and IDE, but a great "lovely console emulator package for Windows"

Documentation

Libraries for generating project documentation.

  • Docco - Docco is a quick-and-dirty documentation generator, written in Literate CoffeeScript.
  • Groc - Documentation generation, in the spirit of literate programming.
  • dox - JavaScript documentation generator for node using markdown and jsdoc.

Package Management

Libraries for package and dependency management.

  • Npm - Default package manager. Installs, publishes and manages node programs.

Build Tools

Libraries for building and task running

  • Gulp.js - A streaming build system which use of streams and code-over-configuration.
  • Grunt.js - A task runner to ease epetitive tasks like unit testing, compilation and so on.
  • Nodemon - A dev utility that monitor any changes in source and automatically restart server.

Communication

  • Socket.IO - Websocket framework for Node and Javascript.
  • Primus - An abstraction layer for real-time frameworks to prevent module lock-in.

Database Drivers

Libraries for connecting and operating databases

Debugging Tools

Tools for debugging Node applications

  • node-inspector - Node.js debugger based on Blink Developer Tools.
  • longjohn - Longer stack traces for Node.
  • TypesJs - Easy type checking, for Node & browsers.
  • Nodev - Tool for easier debugging based on nodemon and node-inspector.

Logging

Tools for generating and working with log files.

  • caterpillar - A logging system that can log and pipe the output off to different locations.
  • tracer - A powerful and customizable logging library for node.js.
  • Log.io - Real time logging facility on the browser.

ORM

Libraries that implement Object-Relational Mapping or datamapping techniques.

  • Sequelize - Sequelize library provides easy access to MySQL, MariaDB, SQLite or PostgreSQL databases.
  • Node-orm2 - Another Relational Object Mapper.
  • Mongoose - Almost an ORM for mongodb.

Web Frameworks

Web development frameworks.

  • Express - A minimal and flexible node.js web application framework.
  • Flatiron - An adaptable framework for building modern web applications.
  • Koa - A framework which aims to be a smaller, more expressive, and more robust foundation for web applications.
  • Totaljs - Friendly responsive design web application framework for node.
  • Meteor - A platform that has strong features such as live page update, sync and hopt code pushes.
  • Hapi - A rich framework for building applications and services.

Application Servers

Application Server is an environment to run and manage multiple applications.

  • Impress - Impressive multipurpose scalable Application Server optimized for high load API and web applications.

Content Management System

  • Calipso - Calipso is a simple CMS, built along similar themes to Drupal and Wordpress.

RESTful API

Libraries for developing RESTful APIs.

  • Sails - MVC framework which generates a RESTful JSON API.
  • Node-restify - A node.js module built specifically to build correct REST web services.
  • Heimdall - REST API Guardian for Express.

Files and MIME Type Manipulation

  • PDFKit - A JavaScript PDF generation library for Node and browser.

Authentication and OAuth

Libraries for implementing authentications schemes.

  • PassportJS - Simple authentication middleware framework.
  • ldapjs - Pure JavaScript, from-scratch framework for implementing LDAP clients and servers.

Template Engine

Libraries and tools for templating and lexing.

  • ECT - "Fastest JavaScript template engine with embedded CoffeeScript syntax" as they say (benchmark proof).
  • Jade - Handful node template engine.
  • Swig - A simple, powerful, and extendable JavaScript Template Engine.

Tools for building CLIs

Libraries and tools which support you by building Command-Line Interfaces.

  • Inquirer - A collection of common interactive command line user interfaces. Ask questions, parsing, validating answers, managing hierarchical prompts and providing error feedback.
  • commander.js - The complete solution for node.js command-line interfaces, inspired by Ruby's commander.
  • cli-table - Pretty unicode tables for the CLI with Node.JS
  • blessed - A curses-like library for node.js.
  • chalk - Terminal string styling done right
  • minimist - Simple module for command line arguments parsing.
  • read - For reading user input from stdin.
  • colors.js - get colors in your node.js console like what.
  • configstore - Easily load and persist config without having to think about where and how.
  • blessed - A curses-like library for node.js.
  • log-symbols - Colored symbols for various log levels.https://github.com/sindresorhus/log-symbols
  • terminal-menu - retro ansi terminal menus for serious 80s technicolor business.
  • cli-spinner - A simple spinner for node cli.
  • text-table - generate borderless text table strings suitable for printing to stdout.

Async Control Flow

Libraries, that help you manage asyncronous control flow and avoid callback hell.

  • Callback-based:
    • Async - Utility module which provides straight-forward, powerful functions for working with asynchronous JavaScript.
  • Promise-based (Promises/A+):
    • Q - Full-featured promise library with large API covering any situation you may encounter.
    • RSVP.js - Lightweight, but still compliant, promise library.
    • when.js - Rock solid, battle tested promise library.
    • Bluebird - Bluebird is a fully featured promise library with focus on innovative features and performance.
  • Fibers-base (node-fibers):
    • asyncawait - Inspired by C# async/await feature, implementation of the same patter using fibers.
  • Generator-based:
    • Co - Generator based flow-control goodness for nodejs and the browser.

Testing

Testing frameworks.

  • mocha - Mocha is a feature-rich JavaScript test framework running on node.js and the browser, making asynchronous testing simple and fun.
  • tape - tap-producing test harness for node and browsers.
  • should.js - BDD style assertions for node.js -- test framework agnostic.
  • chai - BDD / TDD assertion framework for node.js and the browser that can be paired with any testing framework.

Other Awesome Lists

Other amazingly awesome lists can be found in the awesome-awesomeness list.

Contributing

Your contributions are always welcome!