Skip to content

Latest commit

 

History

History
480 lines (266 loc) · 9.96 KB

File metadata and controls

480 lines (266 loc) · 9.96 KB

Useful NPM modules

Tools

Simple monitor script for use during development of a node.js app.

npm install -g nodemon

A simple CLI tool for ensuring that a given node script runs continuously (i.e. forever)

npm install -g forever

PM2 is a production process manager for Node.js applications with a built-in load balancer. It allows you to keep applications alive forever, to reload them without downtime and to facilitate common system admin tasks.

npm install -g pm2 

Tasks Runners

The streaming build system

npm install -g gulp-cli 
npm install gulp --save-dev

The JavaScript Task Runner

npm install -g grunt-cli
npm install grunt --save-dev

Helpers

A modern JavaScript utility library delivering modularity, performance, & extras.

npm install lodash --save

Underscore.js is a utility-belt library for JavaScript that provides support for the usual functional suspects (each, map, reduce, filter...) without extending any core JavaScript objects.

npm install underscore --save

Parse, validate, manipulate, and display dates

npm install moment --save

Rigorous implementation of RFC4122 (v1 and v4) UUIDs.

npm install uuid --save

The semantic version parser used by npm.

npm install semver --save

Tiny, fast, and elegant implementation of core jQuery designed specifically for the server

npm install cheerio --save

CLI

The complete solution for node.js command-line programs

npm install commander --save

This module is the guts of optimist's argument parser without all the fanciful decoration.

npm install minimist --save

Get colors in your Node.js console

npm install colors --save

Terminal string styling done right. Much color.

npm install chalk --save

Flexible ascii progress bar

npm install progress --save

HTTP / WebSocket

Fast, unopinionated, minimalist web framework for Node.js

npm install express --save

Connect is an extensible HTTP server framework for node using "plugins" known as middleware.

npm install connect --save

hapi is a simple to use configuration-centric framework with built-in support for input validation, caching, authentication, and other essential facilities for building web and services applications. hapi enables developers to focus on writing reusable application logic in a highly modular and prescriptive approach.

npm install hapi --save

koa middleware framework for nodejs

Expressive HTTP middleware for node.js to make web applications and APIs more enjoyable to write. Koa's middleware stack flows in a stack-like manner, allowing you to perform actions downstream then filter and manipulate the response upstream. Koa's use of generators also greatly increases the readability and robustness of your application.

npm install koa --save

Restify is a smallish framework, similar to express for building REST APIs.

npm install restify --save

Simplified HTTP request client.

npm install request --save

WS is a simple to use WebSocket implementation, up-to-date against RFC-6455, and probably the fastest WebSocket library for Node.js.

npm install ws --save

Node.js realtime framework server

npm install socket.io --save

http-server is a simple, zero-configuration command-line HTTP server. It is powerful enough for production usage, but it's simple and hackable enough to be used for testing, local development, and learning.

npm install -g http-server

node-http-proxy is an HTTP programmable proxying library that supports websockets. It is suitable for implementing components such as reverse proxies and load balancers.

npm install http-proxy --save

Emails

Easy as cake e-mail sending from your Node.js applications

npm install nodemailer --save

DB Drivers

MongoDB legacy driver emulation layer on top of mongodb-core

npm install mongodb --save

This is a complete and feature rich Redis client for node.js. It supports all Redis commands and focuses on high performance.

npm install redis --save

PostgreSQL client for Node.js. Pure JavaScript and optional native libpq bindings.

npm install pg pg-native --save

A node.js driver for MySQL. It is written in JavaScript, does not require compiling, and is 100% MIT licensed.

npm install mysql --save

Asynchronous, non-blocking SQLite3 bindings

npm install mysql --save

ODM / ORM

Mongoose (use only for projects with small load!)

Mongoose is a MongoDB object modeling tool designed to work in an asynchronous environment.

npm install mongoose --save

Loggers

A JSON logging library for Node.js services

npm install bunyan --save

A multi-transport async logging library for Node.js

npm install winston --save

Configuration

Unruly configuration management for Node.js

npm install convict --save

Hierarchical node.js configuration with files, environment variables, command-line arguments, and atomic object merging.

npm install nconf --save

Testing and Code Linting

Mocha is a simple, flexible, fun JavaScript test framework for node.js and the browser

npm install mocha --save-dev

Test framework agnostic BDD-style assertions

npm install should --save-dev

Chai is a BDD / TDD assertion library for node and the browser that can be delightfully paired with any javascript testing framework.

npm install chai --save-dev

Super-agent driven library for testing HTTP servers

npm install supertest --save-dev

Nock is an HTTP mocking and expectations library for Node.js Nock can be used to test modules that perform HTTP requests in isolation.

npm install nock --save-dev

Yet another JS code coverage tool that computes statement, line, function and branch coverage with module loader hooks to transparently add coverage when running tests. Supports all JS coverage use cases including unit tests, server side functional tests.

npm install istanbul --save-dev

JSHint is a community-driven tool to detect errors and potential problems in JavaScript code and to enforce your team's coding conventions. It is very flexible so you can easily adjust it to your particular coding guidelines and the environment you expect your code to execute in.

npm install -g jshint
npm install jshint --save-dev

JSCS is a code style linter/formatter for programmatically enforcing your style guide. You can configure JSCS for your project/company using over 150 validation rules, including presets from popular style guides like jQuery, Airbnb, Google, and more.

npm install jscs --save-dev

A benchmarking library that supports high-resolution timers and returns statistically significant results.

npm install benchmark --save-dev