- Use Ctrl + F or command + F to search for a module.
- Contributions are welcome.
Other awesome lists,
Packages for development
List of packages needed for development.
Frameworks
API Framework
Actionhero
- Multi-transport Node.js API server with integrated cluster capabilities and delayed tasks.Restify
- A Node.js web service framework optimized for building semantically correct RESTful web services ready for production use at scale.FeathersJS
- An open source REST and realtime API layer for modern applications.Loopback
- Node.js framework for creating APIs and easily connecting to backend data sources.
Web Framework
Express
- Fast, unopinionated, minimalist web framework for Node.jsSails.js
- Sails is the most popular MVC framework for Node.js.Hapi
- A rich framework for building applications and services.Koa
- Next generation web framework for Node.jsNestJS
- A progressive Node.js framework for building efficient and scalable server-side applications, heavily inspired by Angular.
tinyhttp
- 0-legacy, tiny & fast web framework as a replacement of Express
Microservice Framework
Micro
- Asynchronous HTTP microservices.Micro Panda
- Node.js toolkit to help build microservices.Micro-Whalla
- A simple, fast framework for writing microservices in Node.js communicate using RPC / IPC.Moleculer
- Fast & powerful microservices framework for NodeJS.Seneca
- A microservices toolkit for Node.jsServerless
- Build and maintain web, mobile and IoT applications running on AWS Lambda and API Gateway (formerly known as JAWS).StdLib
- Standard library for microservices.zeronode
- A minimal building block for NodeJS microservices.
Machine Learning Framework
TensorFlow JS
- a JavaScript library for training and deploying models in the browser and on Node.js.
Database
MongoDB & Helpers
Mongoose
- Mongoose is a MongoDB object modeling tool designed to work in an asynchronous environment.Mongoose Paginate v2
- A customizable cursor based pagination plugin for Mongoose.
MySQL & Helpers
MySQL
- A node.js driver for mysql. It is written in JavaScript, does not require compiling.Sequelize
- Sequelize is a promise-based Node.js ORM for Postgres, MySQL, SQLite and Microsoft SQL Server.Knex.js
Knex.js is a "batteries included" SQL query builder for Postgres, MSSQL, MySQL, MariaDB, SQLite3, Oracle, and Amazon Redshift designed to be flexible, portable, and fun to use.
Development
Async
- Async is a utility module which provides straight-forward, powerful functions for working with asynchronous JavaScript.Cheerio
- jQuery for Server side. Fast, flexible, and lean implementation of core jQuery designed specifically for the server.PDFKit
- A JavaScript PDF generation library for Node and the browser.Faker
- Generate massive amounts of fake data in the browser and node.jsThrough
- simple way to create a ReadableWritable stream that worksbrowserify
- browser-side require() the node.js way
File System
fs-extra
- Node.js: extra methods for the fs object like copy(), remove(), mkdirs()
Command Line
Inquirer.js
- A collection of common interactive command line user interfaces.Commander.js
- The complete solution for node.js command-line interfaces, inspired by Ruby's commander.
Parser
NodeCSV
- Full featured CSV parser with simple api and tested against large datasets.ShowdownJS
- Markdown to HTML converter JS library
Image Processing
GM
- GraphicsMagick and ImageMagick for nodeSharp
- High performance Node.js image processing, the fastest module to resize JPEG, PNG, WebP and TIFF images. Uses the libvips library.
Utility Library
Lodash
- a JavaScript library which provides utility functions for common programming tasks using the functional programming paradigm.Underscore.js
- A JavaScript library that provides a whole mess of useful functional programming helpers without extending any built-in objects.
Validation and Formatting
Validator.js
- A library of string validators and sanitizers.MomentJs
- A lightweight JavaScript date library for parsing, validating, manipulating, and formatting dates.express-validator
- An express.js middleware for validator.js.
Minifiers
HTML Minifier
- Javascript-based HTML compressor/minifier (with Node.js support)CleanCSS
- Fast and efficient CSS optimizer for node.js and the WebUglifyJS2
- UglifyJS is a JavaScript parser, minifier, compressor and beautifier toolkit.SVGO
- SVG Optimizer is a Nodejs-based tool for optimizing SVG vector graphics files.
Templates
Authentication
PassportJS
- Passport is authentication middleware for Node.js and Express . A comprehensive set of strategies support authentication using a username and password, Facebook, Twitter, and more.JSON Web Token
- Implementation of JSON Web Tokens
Upload Files
express-fileupload
- Simple express middleware for uploading files.Multer-JS
- Multer is a node.js middleware for handling multipart/form-data, which is primarily used for uploading files. It is written on top of busboy for maximum efficiency.
Form Information
Body-parser
- Node.js body parsing middleware - Parse incoming request bodies in a middleware before your handlers, available under the req.body property.
Flash Messages
connect-flash
- The flash is a special area of the session used for storing messages. Messages are written to the flash and cleared after being displayed to the user. The flash is typically used in combination with redirects, ensuring that the message is available to the next page that is to be rendered.
Nodemailer
- Send e-mails with Node.JS – easy as cake!Express-Mailer
- Send Emails from your application and response object.
HTTP REST Client
Axios
- Promise based HTTP client for the browser and node.jsRequest
- Request is designed to be the simplest way possible to make http calls. It supports HTTPS and follows redirects by default.method-override
- Lets you use HTTP verbs such as PUT or DELETE in places where the client doesn't support it.
Realtime Tasks
Socket.IO
- Socket.IO enables real-time bidirectional event-based communication.
Job Scheduler & Queueing
CRON
- Cron is a tool that allows you to execute something on a schedule.Agenda
- A light-weight job scheduling library for Node.js.Node Schedule
- A flexible job scheduler for Node.js that can perform different types of scheduling: Cron-style, Data-based and Recurrence Rule.
Robotic Process Automation & Desktop Automation
ROBOTJS
Node.js Desktop Automation. Control the mouse, keyboard, and read the screen.Puppeteer
Puppeteer is a Node library which provides a high-level API to control Chrome or Chromium over the DevTools Protocol.
Automation
Grunt
- Grunt is a JavaScript task runner, a tool used to automatically perform frequent tasks such as minification, compilation, unit testing, and linting.Gulp
- Gulp is a task runner used for automation of time-consuming and repetitive tasks involved in web development like minification, concatenation, cache busting, unit testing, linting, optimization, etc.
Terminal / Command Line
Commander
- The complete solution for node.js command-line interfaces, inspired by Ruby's commander.Colors
- Easily add ANSI colors to your text and symbols in the terminal.Chalk
- Terminal string styling done right.
Game
ox
- tiny 2D game framework for the webSelfish
- class-free, pure prototypal inheritanceMibbu
- Javascript game microframeworkjAllegro
- JavaScript port of a game programming libraryOcelot
- minimalist HTML5 2D game engine, Ocelot aims for simplicity and small filesizejs13k-boilerplate
- js13kGames boilerplatejs13k-toolkit
- starter repository for js13kGames, a set of tools for developing a JS game and keeping it under 13kbjs13k-requirejs
- require.js-powered application template with build toolsjs13k-rollup
- gulp/rollup.js powered template with support for ES2015 modules and build toolsjs13k-starter
- sample js13k project structure, example and Gulp build processTiny-Canvas
- lightweight minimal implementation of a batched and stack matrix based Canvas with WebGL backendGa
- tiny, cute and friendly system for making HTML5 gamesplatform-engine
- 2D platform engine that handles collisions, slopes, rotations, etc.js13kGames-boilerplate
- includes game loop, utility functions and webpack config to package game with just one commandjs13k-webpack-starter
- build with a single command, dev server, es2015 supportjs13k-base
- simple commands, a server, and a sample game + frameworkjs13kgames-parcel-starter
- starter repo to build, zip, and check the file size of your game with a single commandresponsiveTouchGameFramework
- responsive canvas game framework with unified mouse / tactile inputsTweetwork
- a 140b canvas game frameworkKontra
- a lightweight JavaScript gaming micro-library, optimized for js13kGamesJS13K 2017 Kit
- a pico-8 like graphics engine and game boilerplate
Testing
Mocha
- Simple, flexible, fun JavaScript test framework for Node.js & The BrowserChai
- Chai is a BDD / TDD assertion library for node and the browser that can be delightfully paired with any javascript testing framework.Jest
- Jest is a delightful JavaScript Testing Framework with a focus on simplicity..Enzyme
- Enzyme is a JavaScript Testing utility for React that makes it easier to test your React Components' output. You can also manipulate, traverse, and in some ways simulate runtime given the outputcucumber Gherkin
- JCucumber is a tool that supports Behaviour-Driven Development(BDD).React Testing Library
- The React Testing Library is a very light-weight solution for testing React components. The more your tests resemble the way your software is used, the more confidence they can give you.
Code Quality
Linting
ESLint
- The pluggable linting utility for JavaScript and JSXJSHint
- A Static Code Analysis Tool for Javascript.
Packages for Management & Operations
List of packages needed for management and operations.
Loggers/Logging
Monitoring
PM2
- It allows you to keep applications alive forever, to reload them without downtime and facilitate common Devops tasks.Forever
- A simple CLI tool for ensuring that a given script runs continuously (i.e. forever).nodemon
- Monitor for any changes in your node.js application and automatically restart the server - perfect for developmentTrace
- A visualised stack trace platform designed for microservices.
Code Quality Analysis
Plato
- JavaScript source code visualization, static analysis, and complexity tool.
Boost Productivity
ProjectMan
- A Project Manager to add projects to favorites and open them from your command-line.