35+ Awesome NPM Packages for Productivity
Nowadays in our busy schedules and tight deadlines, it’s critical to choose tools that increase productivity. Here I have compiled a list of some of my favorite NPM packages. I’ve also sorted them into categories, so the information is more structured and it’s easier to navigate. Surely, you don’t have to install and learn them all. In most cases picking one from each category should be enough. I wanted to provide alternatives, so each reader can find something. Enjoy!
💻 Frontend frameworks
🎨 Styling frameworks
4.Bootstrap World’s most popular framework for building responsive, mobile-first sites. Intuitive and powerful, tho relatively bulky in size. Many modern UI kits are based on it like React Bootstrap or Reactstrap. 5.Tailwind A low-level, utility-first CSS framework for rapid UI development. Built from the ground-up to be super customizable. 6.Styled-components CSS-in-JS tool that bridges the gap between components and styling, offering numerous features to get you up and running in styling components in a functional and reusable way. Other great solutions include Foundation, Bulma, Materialize and Ant Design. If you prefer to write Vanilla CSS, you can use some CSS extension language like SASS, to extend its features.
🔲 Backend frameworks
7.Express Fast, unopinionated, minimalist web framework for Node.js. It is relatively minimal with many features available as plugins. Often referred to as a standard server framework for Node.js. 8.Hapi Hapi was originally used for the Express framework. With Hapi you can build powerful, scalable applications, with minimal overhead and full out-of-the-box functionality. 9.Sails Sails is the most popular MVC framework for Node.js with support for the requirements of modern apps: data-driven APIs with a scalable, service-oriented architecture. Same as for frontend frameworks, there are lots of backend alternatives as well like Adonis and Koa. Pick one that suits your needs and learn it well.
🔗 CORS and requests
10.Cors Node.js middleware for providing a Connect/Express middleware that can be used to enable cross-origin resource sharing with various options. 11.Axios A promise-based HTTP client for the browser and Node.js. It’s easy to set-up, intuitive, and simplifies a lot of stuff compared to JS built-in Fetch API. 12.Body-parser Body parsing middleware, that extracts the entire body portion of an incoming request stream and exposes it on req.body as something easier to interface with.
🧩 API services
13.Restify A Node.js web service framework optimized for building semantically correct RESTful web services ready for production use at scale. Restify optimizes for introspection and performance. 14.GraphQL A query language for APIs and a runtime for fulfilling those queries with your existing data. Provides a complete description of the data in your API, gives clients the power to ask for exactly what they need.
🤝 Web sockets
15.Socket.io Socket.IO enables real-time, bidirectional, and event-based communication. It works on every platform, browser, or device, focusing equally on reliability and speed. 16.WS Simple to use, fast, and thoroughly tested WebSocket client and server implementation. A great, less abstract, and bare alternative to Socket.io.
17.Morgan Specifically, an HTTP request logger, storing HTTP requests and giving you concise insight into how your app is being used, and where there could be potential errors. 18.Winston A logger for just about everything with support for multiple means of transport. Has been out there for longer than Morgan, it also has a bigger community of maintainers and more downloads.
💾 Database tools
19.Mongoose Mongoose is a MongoDB object modeling tool designed to work in an asynchronous environment. Mongoose supports both promises and callbacks. 20.Sequelize Sequelize is a promise-based Node.js ORM for Postgres, MySQL, MariaDB, SQLite and Microsoft SQL Server. It features solid transaction support, relations, eager and lazy loading, read replication and more.
🔓 Auth tools
21.Passport Passport’s purpose is to authenticate requests through an extensible set of plugins known as strategies. You provide Passport a request to authenticate, and Passport provides hooks for controlling what occurs when authentication succeeds or fails. 22.Bcrypt A library to help you hash passwords. Bcrypt is a password-hashing function designed by Niels Provos and David Mazières, based on the Blowfish cipher and presented at USENIX in 1999. 23.JSONWebToken JSON Web Tokens (JWT) are an open, industry-standard RFC 7519 method for representing claims securely between two parties. This package allows you to decode, verify, and generate JWT.
🔧 Config modules
24.Config Settings are stored in configuration files within your application and can be overridden and extended by environment variables, command line parameters, or external sources. 25.Dotenv Zero-dependency module that loads environment variables from a .env file into process.env.
📃 Static site generators
26.Gatsby A modern site generator that creates fast, high-quality, dynamic React apps, from blogs to e-commerce sites to user dashboards. Great plugin ecosystem and templates. 27.NextJS NextJS first and foremost supports server rendering as well as statically generated content. You can also define serverless functions as API endpoints. 28.NuxtJS NuxtJS is basically a NextJS alternative in Vue’s ecosystem. NuxtJS’s goal is to make web development powerful and performant with great developer experience in mind.
📷 Image processing
32.Sharp A great module to convert large images in common formats to smaller, web-friendly JPEG, PNG and WebP images of varying dimensions. 33.GM Thanks to the Node.js module GM you can use two popular tools for creating, editing, composing, and converting images — GraphicsMagick and ImageMagick directly from within your code. 34.Cloudinary Dedicated module to ease work with cloud service that offers a solution to a web application’s entire image management pipeline.
📅 Date formatting
35.DayJS DayJS is a fast and lightweight alternative to MomentJS (in maintenance mode since September, 2020). Uses similar API — if you have used MomentJS, you already know how to use most of DayJS. 36.Luxon If you like another light-weight alternative, with a slightly different API, Luxon might be the right choice for you.
🧙♂️ Data generators
37.Shortid Creates amazingly short non-sequential url-friendly unique ids. Perfect for url shorteners, DB ids, and any other ids. 38.Uuid Handy tiny package to quickly and easily generate more complex universally unique identifiers (UUIDs). 39.Faker Useful package for generating massive amounts of fake data in the browser and Node.js.
📧 Forms and emails
42.Formik Formik is a popular open-source form library for React and React Native. It’s easy to use, declarative, and adaptive. 43.Multer Multer is a Node.js middleware for handling multipart/form-data, which is primarily used for uploading files. 44.Nodemailer Nodemailer is a module for Node.js applications to allow easy email sending. The project got started back in 2010, today it is the solution most Node.js users turn to by default.
💫 Web scraping and automation
47.Cheerio Cheerio is widely used for web scraping work and sometimes in automating the tasks. It pretty quick and fast as it is based on jquery. Cheerio wraps around Parse5 parser and is capable enough to parse any type of HTML and XML documents. 48.Puppeteer Puppeteer is widely used for automating browser tasks and can only work with google chrome headless browser i.e chromium. Puppeteer can also be used for web scraping tasks. It is much powerful and feature-rich compared to the Cheerio module.
🌷 Linters and formaters
📦 Module bundlers and minimizers
👨💻 Process managers and runners
55.Nodemon Simple monitor script for use during the development of a Node.js app. Useful for development, since it’s incredibly easy to restart and has file-watching enabled and baked in by default 56.PM2 Production process manager for Node.JS applications with a built-in load balancer. More comprehensive and better for production. Gives you lots of parameters to tune/act on. 57.Concurrently Simple and straight to the point — useful tool for running multiple commands concurrently.
Thank you for reading! I hope this article was useful for you, have a good day and good luck!