Are you happy with your logging solution? Would you help us out by taking a 30-second survey? Click here


A regularly updating survey of the npm community

Subscribe to updates I use understanding-npm

Statistics on understanding-npm

Number of watchers on Github 397
Number of open issues 1
Average time to close an issue 17 days
Main language JavaScript
Average time to merge a PR about 1 hour
Open pull requests 2+
Closed pull requests 1+
Last commit over 2 years ago
Repo Created over 4 years ago
Repo Last Updated over 1 year ago
Size 3.42 MB
Homepage https://unpm.node...
Organization / Authornodesource
Page Updated
Do you use understanding-npm? Leave a review!
View understanding-npm activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating understanding-npm for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

Understanding npm

A regularly updating survey of the npm community.

Designed with love by NodeSource for our Node.js family.


The project itself makes extensive use of npm. Once installed, there's a total of 406 unique packages in the dependency tree. Most notably:

Running the Site Locally

Getting Started

Before you can run the site on your machine, you'll need to ensure that you have the latest version of Node installed (especially important is npm@2, which we use for scoped module support).

When you're ready, clone the repository from GitHub and install the visualisation's dependencies from npm:

git clone
cd understanding-npm
npm install

Now, you should be ready to start the server up like so:

npm start

Updating the Registry Data

This is all done from the @unpm/dat package, and requires you to download >1GB of metadata from the npm registry, npm downloads API and GitHub API. Depending on your location and connectivity, this could take anywhere from a day to a week (requests have to be throttled to avoid hitting any rate limits).

A sample dataset has been prepared and included in the repository for everybody's convenience, so you most likely won't have to deal with this directly. If, however, you'd still like to update the data locally you should check out the documentation in @unpm/dat's

Local Subpackages

The site is split out into smaller local packages that are installed with npm. When developing, we use linklocal to make this process easier.

Each package should have its own independent documenting its purpose and usage. Some notes on the packages included in this project:

  • @unpm-scoped packages are part of the final project.
  • @nsight-scoped packages are part of the final project, but likely to be reused in future N|Sight projects.
  • @x-scoped packages are experiments, which are interesting for process documentation but not otherwise used in the final product.
  • gooey is the only package unscoped package remaining (pending some reorganisation, and sorting out a new name).

Some other packages that were born from this project include:

Authors and Contributors

Hugh Kennedy GitHub/hughsk Twitter/@hughskennedy
Paul DeVay GitHub/pauldevay Twitter/@pdevay

Contributions are welcomed from anyone wanting to improve this project!

License & Copyright

understanding-npm is Copyright (c) 2015 NodeSource and licensed under the MIT licence. All rights not explicitly granted in the MIT license are reserved. See the included file for more details.

understanding-npm open issues Ask a question     (View All Issues)
  • over 4 years It doesn't seem to be working on Safari.
  • over 4 years Selector error in (Chrome 43, Ubuntu 14.04)
understanding-npm open pull requests (View All Pulls)
  • Dockerfile
  • Fix grammar
understanding-npm questions on Stackoverflow (View All Questions)
  • Understanding npm and Node.js install location for modules
understanding-npm list of languages used
Other projects in JavaScript