{"id":20806328,"url":"https://github.com/nodesource/understanding-npm","last_synced_at":"2025-10-22T03:31:30.503Z","repository":{"id":147579983,"uuid":"37605159","full_name":"nodesource/understanding-npm","owner":"nodesource","description":"A regularly updating survey of the npm community","archived":true,"fork":false,"pushed_at":"2017-09-28T03:12:40.000Z","size":3499,"stargazers_count":400,"open_issues_count":0,"forks_count":35,"subscribers_count":20,"default_branch":"master","last_synced_at":"2025-04-09T03:35:52.345Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://unpm.nodesource.com/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nodesource.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-06-17T15:57:00.000Z","updated_at":"2025-04-06T14:03:17.000Z","dependencies_parsed_at":"2023-05-31T16:30:42.419Z","dependency_job_id":null,"html_url":"https://github.com/nodesource/understanding-npm","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nodesource/understanding-npm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodesource%2Funderstanding-npm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodesource%2Funderstanding-npm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodesource%2Funderstanding-npm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodesource%2Funderstanding-npm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nodesource","download_url":"https://codeload.github.com/nodesource/understanding-npm/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodesource%2Funderstanding-npm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280374326,"owners_count":26320017,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-22T02:00:06.515Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-17T19:19:20.735Z","updated_at":"2025-10-22T03:31:30.017Z","avatar_url":"https://github.com/nodesource.png","language":"JavaScript","readme":"# [Understanding npm](https://unpm.nodesource.com)\n\nA regularly updating survey of the [npm](http://npmjs.com/) community.\n\n_Designed with love by [NodeSource](https://nodesource.com/) for our Node.js family._\n\n[![understanding-npm](http://i.imgur.com/eD51eK0.jpg)](https://unpm.nodesource.com)\n\nThe project itself makes extensive use of npm. Once installed, there's a total of 406 unique packages in the dependency tree. Most notably:\n\n* The visualisation is rendered using WebGL and [stack.gl](http://stack.gl) components.\n* GLSL shaders are being managed using [glslify](http://github.com/stackgl/glslify).\n* The frontend JavaScript is bundled using [browserify](http://browserify.org/).\n* The data is aggregated using [dat](http://dat-data.com/), [dat-npm](https://github.com/mafintosh/dat-npm) and a [collection of other packages](https://github.com/nodesource/understanding-npm/tree/master/unpm-dat).\n\n## Running the Site Locally\n\n### Getting Started\n\nBefore you can run the site on your machine, you'll need to ensure that you\nhave the latest version of Node installed (especially important is `npm@2`,\nwhich we use for scoped module support).\n\nWhen you're ready, clone the repository from GitHub and install the\nvisualisation's dependencies from npm:\n\n``` bash\ngit clone git@github.com:nodesource/understanding-npm.git\ncd understanding-npm\nnpm install\n```\n\nNow, you should be ready to start the server up like so:\n\n``` bash\nnpm start\n```\n\n### Updating the Registry Data\n\nThis is all done from the [`@unpm/dat`](./unpm-dat/) package, and requires you to\ndownload \u003e1GB of metadata from the npm registry, npm downloads API and GitHub API.\nDepending on your location and connectivity, this could take anywhere from a day to\na week (requests have to be throttled to avoid hitting any rate limits).\n\nA sample dataset has been prepared and included in the repository for everybody's\nconvenience, so you most likely won't have to deal with\nthis directly. If, however, you'd still like to update the\ndata locally you should check out the documentation in\n[`@unpm/dat`'s README.md](./unpm-dat/README.md).\n\n## Local Subpackages\n\nThe site is split out into smaller local packages that are installed with npm.\nWhen developing, we use [`linklocal`](http://github.com/timoxley/linklocal) to\nmake this process easier.\n\nEach package should have its own independent `README.md` documenting its purpose\nand usage. Some notes on the packages included in this project:\n\n* `@unpm`-scoped packages are part of the final project.\n* `@nsight`-scoped packages are part of the final project, but likely to be reused in future N|Sight projects.\n* `@x`-scoped packages are experiments, which are interesting for process documentation but not otherwise used in the final product.\n* `gooey` is the only package unscoped package remaining (pending some reorganisation, and sorting out [a new name](http://npmjs.com/package/gooey)).\n\nSome other packages that were born from this project include:\n\n* [`index-list`](http://github.com/nodesource/index-list)\n* [`rapid-stream`](http://github.com/nodesource/rapid-stream)\n* [`lookat-camera`](http://github.com/stackgl/lookat-camera)\n* [`glsl-scale-log`](http://github.com/stackgl/glsl-scale-log)\n* [`glsl-scale-linear`](http://github.com/stackgl/glsl-scale-linear)\n* [`md5ify`](http://github.com/hughsk/md5ify)\n\n## Authors and Contributors\n\n\u003ctable\u003e\u003ctbody\u003e\n\u003ctr\u003e\u003cth align=\"left\"\u003eHugh Kennedy\u003c/th\u003e\u003ctd\u003e\u003ca href=\"https://github.com/hughsk\"\u003eGitHub/hughsk\u003c/a\u003e\u003c/td\u003e\u003ctd\u003e\u003ca href=\"http://twitter.com/hughskennedy\"\u003eTwitter/@hughskennedy\u003c/a\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003ctr\u003e\u003cth align=\"left\"\u003e Paul DeVay\u003c/th\u003e\u003ctd\u003e\u003ca href=\"https://github.com/pauldevay\"\u003eGitHub/pauldevay\u003c/a\u003e\u003c/td\u003e\u003ctd\u003e\u003ca href=\"http://twitter.com/pauldevay\"\u003eTwitter/@pdevay\u003c/a\u003e\u003c/td\u003e\u003c/tr\u003e\n\u003c/tbody\u003e\u003c/table\u003e\n\nContributions are welcomed from anyone wanting to improve this project!\n\n## License \u0026 Copyright\n\n**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.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnodesource%2Funderstanding-npm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnodesource%2Funderstanding-npm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnodesource%2Funderstanding-npm/lists"}