Giter VIP home page Giter VIP logo

awesome-nodejs's Introduction

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.
  • nvm - Node Version Manager (does not require prior installation of node).

Integrated Development Environments

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."
  • Visual Studio - With Node.js Tools for Visual Studio (Supports editing, IntelliSense, profiling, npm, TypeScript, debugging locally and remotely on Windows/MacOS/Linux)
  • 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"
  • Cloud Commander - Web file manager. Has editor and console. Allows you to develop web applications, sites etc.

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.
  • Browserify - Browserify lets you require('modules') in the browser by bundling up all of your dependencies.

Communication

  • Socket.IO - Websocket framework for Node and Javascript.
  • SockJS - Websocket emulation.
  • Primus - An abstraction layer for real-time frameworks to prevent module lock-in.
  • BinaryJS - BinaryJS is bidrectional realtime binary data with binary websockets

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.
  • cf-node-debug - Proxy to aid in debugging node running on a PaaS.

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.
  • Bunyan - A simple and fast JSON logging module for node.js services.

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.
  • Waterline - Datastore-agnostic tool that dramatically simplifies interaction with one or more databases.

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.
  • Derby - MVC framework making it easy to write realtime, collaborative applications that run in both Node.js and browsers.
  • HuntJS - event driven framework for building clustered webservers, telnet and background applications with mongoose or sequilize as data storage.

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.
  • KeystoneJS - Node.js CMS and web application platform built on Express and MongoDB.

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.

Forms

Libraries for deal with forms and form data

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.
  • oauth-signature-js - OAuth 1.0a signature generator
  • Lockit - Full featured authentication solution for Express.

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 - Rapidly build command line apps with node.
  • 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.
    • node-seq - Chainable asynchronous flow control for node.js with sequential and parallel primitives and pipeline-style error handling.
  • 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.

Rate Limiting

Libraries that help restrict the frequency of certain actions.

  • Bottleneck - A powerful rate limiter that makes throttling easy.

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.
  • sinon - Standalone test spies, stubs and mocks for JavaScript.
  • Jasmine - Simple Behavioral tests for Node and Javascript.
  • Expresso - TDD framework for Node.
  • NodeUnit - Simple syntax unit test tool.
  • Concrete - Continuous integration server.
  • ready.js - Continuous javascript integration tool.
  • Jezebel - A REPL and continuous test runner for Node.js Jasmine tests.

Miscellaneous

Miscellaneous Tools which doesn't fit to the other categories.

  • Github Linker - Chrome extension that linkifies dependencies in package.json on GitHub.

Other Awesome Lists

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

Contributing

Chinese awesome-nodejs version by @ueqt.

Your contributions are always welcome!

awesome-nodejs's People

Contributors

akamensky avatar bayandin avatar bettiolo avatar binarymax avatar emijrp avatar jamesmanning avatar lichunqiang avatar lltwox avatar lpinca avatar manv avatar mocheng avatar naholyr avatar pmuellr avatar qcz avatar russll avatar sergiolepore avatar sroucheray avatar tarzak avatar timoweiss avatar tshemsedinov avatar vinz243 avatar vodolaz095 avatar zemirco avatar zudochkin avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.