Node Package List
Click ★ if you like the project. Your contributions are heartily ♡ welcome.
Web Framework
- Express - It is designed for building web applications and APIs.
- Meteor - Meteor allows for rapid prototyping and produces cross-platform code.
- Sails.js - It is designed to make it easy to build custom, enterprise-grade Node.js web applications and APIs.
- Hapi - A rich framework for building applications and services.
- Koa - A Koa application is an object containing an array of middleware functions which are composed and executed in a stack-like manner upon request.
- NestJS - A progressive Node.js framework for building efficient and scalable server-side applications, heavily inspired by Angular.
- Derby.js - DerbyJS is a full-stack framework for writing modern web applications.
- Total.js - Total.js framework is a framework for Node.js platfrom written in pure JavaScript similar to PHP's Laravel or Python's Django or ASP.NET MVC.
- Adonis - AdonisJs is a Node.js web framework with breath of fresh air and drizzle of elegant syntax on top of it.
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.
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.js
- Serverless - 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
- ml.js - ml5.js aims to make machine learning approachable for a broad audience of artists, creative coders, and students.
- Brain.js - GPU accelerated Neural Networks in JavaScript, for Browsers and Node.js.
- Synaptic - Synaptic is an alternative data platform that helps financial firms and investors get actionable insights from vast amounts of data.
- stdlib - stdlib is a standard library for JavaScript and Node.js, with an emphasis on numerical and scientific computing.
- TensorFlow JS - a JavaScript library for training and deploying models in the browser and on Node.js.
- KerasJS - Keras is an open-source neural-network library written in Python. It is capable of running on top of TensorFlow, Microsoft Cognitive Toolkit, R, Theano, or PlaidML.
Database
- Mongoose - Mongoose is a MongoDB object modeling tool designed to work in an asynchronous environment.
- 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.js
- Through - simple way to create a ReadableWritable stream that works
- browserify - 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 node
- Sharp - 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 Web
- UglifyJS2 - 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 & Security
- 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.
- JWT - Implementation of JSON Web Tokens
- dotenv - Dotenv is a zero-dependency module that loads environment variables from a . env file into process.
- cors - CORS is a node.js package for providing a Connect/Express middleware that can be used to enable CORS with various options.
- express-session - A session management library to makes storing session details simple.
- Auth0 - Rapidly integrate authentication and authorization for web, mobile, and legacy applications.
- bcrypt - bcrypt is a password-hashing function.
- md5 - A simple
MD5()
hash function for JavaScript supports UTF-8 encoding. - Helmet - Helmet helps you secure your Express apps by setting various HTTP headers.
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.js
- Request - 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
- Webpack - Webpack is an open-source JavaScript module bundler.
- 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.
Testing Tools
- 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 output
- Mocha - Simple, flexible, fun JavaScript test framework for Node.js & The Browser
- Chai - Chai is a BDD / TDD assertion library for node and the browser that can be delightfully paired with any javascript testing framework.
- Jasmine - Jasmine is an open-source testing framework for JavaScript.
- Cucumber Gherkin - JCucumber is a tool that supports Behaviour-Driven Development(BDD).
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 development
- Trace - A visualised stack trace platform designed for microservices.
Code Quality Analysis
- Plato - JavaScript source code visualization, static analysis, and complexity tool.
- ESLint - The pluggable linting utility for JavaScript and JSX
- JSHint - A Static Code Analysis Tool for Javascript.
CSS Framework
- Sass - It allows to use variables, nested rules, mixins, functions, and more, all with a fully CSS-compatible syntax.
- Less.js - Less is a dynamic preprocessor style sheet language that can be compiled into Cascading Style Sheets and run on the client side or server side.
Documentation
- JSDoc - JSDoc is a markup language used to annotate JavaScript source code files.
- ESDoc - JavaScript documentation generator
- docsify - It generates your documentation website on the fly. Unlike GitBook, it does not generate static html files.
- documentation - Documentation for modern JavaScript.
Boost Productivity
- ProjectMan - A Project Manager to add projects to favorites and open them from your command-line.