Top NPM Packages You May Have Missed
Tags: javascript, webdev
Published: 2020-08-21 00:20:52

---
title: Top NPM Packages You May Have Missed
published: true
date: 2020-08-20 22:19:33 UTC
tags: JavaScript,webdev
canonical_url: https://thewebdev.info/2020/08/20/top-npm-packages-you-may-have-missed/?utm_source=rss&utm_medium=rss&utm_campaign=top-npm-packages-you-may-have-missed
---

NPM packages are used by both browser and Node.js apps alike. NPM is the biggest repository of JavaScript libraries.

In this article, we’ll look at the top JavaScript packages on NPM.

### [lodash](https://www.npmjs.com/package/lodash)

Lodash is the most popular utility library used in JavaScript programs.

It lets us do math operations, manipulate objects, and work with arrays easily.

Some of them have plain JavaScript equivalents, but there’re many that still have no equivalent in the JavaScript standard library.

Therefore, it’s still a useful library for many JavaScript projects.

### [react](https://www.npmjs.com/package/react)

React is one most of the most popular JavaScript libraries for building browser web apps.

It has its own unique JSX syntax which lets us manipulate the DOM in an easy way.

Therefore it’s one library that we should learn how to use if we want to be a front end developer.

### [chalk](https://www.npmjs.com/package/chalk)

Chalk is a library for Node.js command-line apps to let us style text the way we want them to be displayed on the screen.

We can set colors, and compose styles easily with it.

### [request](https://www.npmjs.com/package/request)

Request is an HTTP client that can be used in Node.js apps.

We can make HTTP and HTTPS requests with it. Headers, bodies, and responses can all be processed with this library.

However, it’s deprecated so we may want to find another library like Axios for making HTTP requests.

### [commander](https://www.npmjs.com/package/commander)

Commander lets us run shell command automatically within a Node.js program.

It allows us a lot more flexibility than running with commands with `spawn` or other built-in Node.js programs for running child processes within a Node program.

### [moment](https://www.npmjs.com/package/moment)

Since the JavaScript `Date` constructor is deficient in features, many JavaScript date manipulation libraries have been made to address the issues with it.

One of them is the moment.js library. We can use it to parse date strings, add and subtract dates, get elapsed time, and do many other things that are hard with the native `Date` contructor.

### [express](https://www.npmjs.com/package/express)

Express is a micro-framework for building back end web apps.

It works by chaining together a bunch of middleware that are bound together by the Express framework.

It’s very basic. All it has is routing and abilities to listen to HTTP requests out of the box.

Anything else has to be done with its own middleware, 3rd party middleware, or we can write our own.

### [react-dom](https://www.npmjs.com/package/react-dom)

React DOM is a core library that goes with React. It lets React manipulate the DOM so that we can mount our app into a web page so that the React app can be run.

### [prop-types](https://www.npmjs.com/package/prop-types)

Prop-types is the library for validation prop types of React components.

We can watch the value of the props and validate them as they’re being passed in from parent components.

By default, we can pass in any values as props, which isn’t good since it’s error-prone as there’s no validation for data types or formats.

This library lets us do the required validation so that we can deal with props easier.

### [debug](https://www.npmjs.com/package/debug)

The debug library is used for making debugging Node apps easier.

We can just include this library and use it to add debug messages in the places that we wish to find out what’s going on with our app.

![](https://cdn-images-1.medium.com/max/800/0*JbDuvH3hhl9v87yZ)Photo by [Daily Nouri](https://unsplash.com/@dailynouri?utm_source=medium&utm_medium=referral) on [Unsplash](https://unsplash.com?utm_source=medium&utm_medium=referral)

### [fs-extra](https://www.npmjs.com/package/fs-extra)

fs-extra has file manipulation methods that aren’t present in the Node’s built-in fs module.

It includes methods for copying files, making directories, checking for empty directories, reading JSON, and more.

Both synchronous and promise-based versions of the methods are available.

### [axios](https://www.npmjs.com/package/axios)

Axios is a popular HTTP client that can be used by browser and Node apps.

We can make any kind of HTTP request with it with various HTTP headers, and bodies.

Also, it can handle different kinds of responses with ease, including text and JSON, binary responses.

It also has HTTP interceptors to let us configure requests before they’re made, thereby eliminating repetition.

### [async](https://www.npmjs.com/package/async)

The async library has methods for doing various operations asynchronously, including iteration, filtering, concatenation, mapping values, and much more.

It has many other methods for control for and error handling, all done asynchronously.

### Conclusion

We can do a lot with the top libraries.

They can be used to make full-featured front end and back end apps when we incorporate them with other supporting libraries.

We can make simple apps just with these libraries alone.

The post [Top NPM Packages You May Have Missed](https://thewebdev.info/2020/08/20/top-npm-packages-you-may-have-missed/) appeared first on [The Web Dev](https://thewebdev.info).