• Stars
    star
    402
  • Rank 105,111 (Top 3 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created about 9 years ago
  • Updated almost 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A regularly updating survey of the npm community

Understanding npm

A regularly updating survey of the npm community.

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

understanding-npm

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 [email protected]:nodesource/understanding-npm.git
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 README.md.

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 README.md 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 KennedyGitHub/hughskTwitter/@hughskennedy
Paul DeVayGitHub/pauldevayTwitter/@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 LICENSE.md file for more details.

More Repositories

1

distributions

NodeSource Node.js Binary Distributions
Shell
13,213
star
2

npmsearch

blazing fast npm search utility
JavaScript
275
star
3

docker-node

Dockerfiles for building docker images with the NodeSource Node.js binaries baked in.
JavaScript
193
star
4

ansible-nodejs-role

Ansible Role for Node.js Binary Install
Python
131
star
5

nsolid-kubernetes

Using N|Solid, the Enterprise Node Platform from NodeSource with Kubernetes
JavaScript
82
star
6

docker-nsolid

The repo that powers our public N|Solid Docker images living on Docker Hub
Dockerfile
62
star
7

upgrade-ready

A tool to help with the process of upgrading modules to the latest version of Node.js (v4), it will check dependencies against a Node.js version
JavaScript
56
star
8

vs-code-for-node-js-development-pack

🏃 A VS Code Extension Pack to get up and running with Node.js Development
37
star
9

nsolid

N|Solid Runtime
JavaScript
37
star
10

docker-tutorial

For use with the accompanying blog post: https://nodesource.com/blog/dockerizing-your-nodejs-applications
JavaScript
35
star
11

nodejs-package-benchmark

Node.js benchmark for common web developer workloads. Inspired by https://github.com/v8/web-tooling-benchmark
JavaScript
29
star
12

upgrade-utils

A tool from NodeSource to help with the process of upgrading modules to the latest version of Node.js, replacing old NAN C++ bindings and adjusting for Node.js API changes.
JavaScript
22
star
13

nsuv

C++ wrapper around libuv focused on making callback arg passing safer
C++
20
star
14

ncm-cli

Command-line tool for NodeSource Certified Modules 2.0
JavaScript
19
star
15

nscm

The NodeSource Certified Modules command line utility
JavaScript
18
star
16

nsolid-gcp

Run N|Solid in Google Cloud Platform
Python
17
star
17

unpublished-dependencies

Check for Unpublished dependencies in your Node.js project
JavaScript
17
star
18

simple-nodejs-k8s

A simple, Dockerized `helloWorld` Node.js application configured for deployment in a Kubernetes cluster.
JavaScript
16
star
19

event-loop-demo

Example server demonstrating effect of processing load and response times
JavaScript
14
star
20

nsolid-aws

Run N|Solid in Amazon Web Services
Python
14
star
21

node-native-api

Low-level API for Node
13
star
22

nsolid-azure

Run N|Solid in Azure
Python
12
star
23

aws-eco-runner

Automate the management of your GitHub Actions runner on AWS to minimize costs
JavaScript
11
star
24

universal-module-tree

Get a module tree from package-lock.json / yarn.lock / node_modules
JavaScript
11
star
25

react-window-resize

Resize the browser window
JavaScript
10
star
26

homebrew-nsolid

Install N|Solid via Homebrew
Python
10
star
27

nsolid-command

A N|Solid Custom Command Helper
JavaScript
8
star
28

rapid-stream

Through stream that processes elements in parallel, with no regard for input order.
JavaScript
8
star
29

ncm-ci

NCM for CICD systems
JavaScript
8
star
30

nsolid-npm

Using N|Solid runtime without installing it officially
JavaScript
8
star
31

nodesummit2016-workshop

7
star
32

index-list

Build up an indexed list of strings. Useful for minimising the size of categorical data when transferring it over the wire.
JavaScript
7
star
33

resolve-package-json

Resolve package.json dependencies versions
JavaScript
6
star
34

ah-fs

Tracks async hook events related to file system operations.
JavaScript
6
star
35

massive-heap-snapshot-parser

small library for parsing massively massive snapshots and giving you a way to access its contents sanely
JavaScript
6
star
36

ncm-analyze-tree

Get certification data for a module's dependency tree
JavaScript
5
star
37

function-scout

Scouts all functions of a given object and provides data about their origin.
JavaScript
5
star
38

rapidjson-writable

API to rapidjson that supports writing data asynchronously. Uses libuv to block the parser thread while waiting for data.
C++
5
star
39

mkdtemp

fs.mkdtemp from node core
JavaScript
5
star
40

nsolid-buildpack-cf-v2

N|Solid v2 buildpack for Cloud Foundry
Shell
4
star
41

nsolid-statsd

a daemon that sends N|Solid metrics to statsd
JavaScript
4
star
42

certified

NodeSource Certified Modules How To
JavaScript
4
star
43

grama

Pass grama an array of nodes with parent/child relationships and ask her questions about their ancestry.
JavaScript
4
star
44

vagrant-lldb-perf

Quickly spin up a box with lldb and perf installed.
Shell
3
star
45

nsolid-cf-v2

N|Solid v2 samples for Cloud Foundry
JavaScript
3
star
46

exercise-data

Data samples to be used for Node.js exercices.
3
star
47

ncm-proxy

Local Proxy for NCM 2.0
JavaScript
3
star
48

ns-vsx-dashboard

Provides a dashboard of your running N|Solid processes right in Visual Studio Code.
HTML
3
star
49

well-tested

A Fastify application set up with a comprehensive test suite
JavaScript
2
star
50

docker-node-legacy

Docker image build scripts for Debian and Ubuntu using the NodeSource Node.js repository
Shell
2
star
51

deep-partition-layout

A fork of d3's partition layout which includes the values of inner nodes in its final sums
JavaScript
2
star
52

nsolid-openshift

Using N|Solid, the Enterprise Node Platform from NodeSource with OpenShift
Shell
2
star
53

async-worker.h

Light C++ wrapper around libuv's uv_queue_work.
C++
2
star
54

conduct

A Code of Conduct for NodeSource events, meetups, and conferences.
2
star
55

deep-hierarchy

A fork of d3's base hierarchy layout which includes the values of inner nodes in its final sums
JavaScript
2
star
56

memory-leak-example

Example for Memory Leaks Demystified blog post
JavaScript
2
star
57

university-of-colorado

This is an application made with University of Colorado
JavaScript
2
star
58

node-APMs-benchmark

JavaScript
2
star
59

ncm-ci-example

Examples for using ncm-ci with various CI systems
2
star
60

ns-vsx-deoptigate

JavaScript
2
star
61

nsolid-buildpack-cf-v3

N|Solid v3 buildpack for Cloud Foundry
JavaScript
2
star
62

nsolid-command-gc

an N|Solid custom command to request garbage collection
Shell
2
star
63

hipchat-webhook-proxy

Hipchat webhook proxy for N|Solid
JavaScript
2
star
64

ah-prune

Prune specific types of async hook resources from a collected map.
JavaScript
1
star
65

ah-demos

Demonstating how async hooks processors and visualizers work.
JavaScript
1
star
66

ah-fs.processor

Processes ah-fs data obtained from async resources related to file system opearations.
JavaScript
1
star
67

gather-dependencies

Similar in API to npm shrinkwrap producing a object structure with each type of dependency installed.
JavaScript
1
star
68

ah-deep-clone

Creates a deep clone of a map of collected async hooks activities.
JavaScript
1
star
69

poc-github-gates

1
star
70

ncm-report-github-action

GitHub Action for NCM
Shell
1
star
71

ah-viz

Visualizes ah-*.processor data.
JavaScript
1
star
72

poblado

Parses and processes JSON that is written to it in chunks on a background thread.
C++
1
star
73

ah-net

Tracks async hook events related to network operations.
JavaScript
1
star
74

ah-stack-capturer

Captures async hook stack traces for specific resource types and events.
JavaScript
1
star
75

ns-vsx-deputy

The NodeSource Deputy has your back during your every day Node.js development.
JavaScript
1
star