{"id":15413446,"url":"https://github.com/wooorm/npm-high-impact","last_synced_at":"2025-04-05T10:07:39.509Z","repository":{"id":62655914,"uuid":"561448086","full_name":"wooorm/npm-high-impact","owner":"wooorm","description":"The high-impact (popular) packages of npm","archived":false,"fork":false,"pushed_at":"2025-02-28T12:12:06.000Z","size":681,"stargazers_count":87,"open_issues_count":0,"forks_count":4,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-03-29T09:08:24.666Z","etag":null,"topics":["high","impact","npm","popular"],"latest_commit_sha":null,"homepage":"","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/wooorm.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":"funding.yml","license":"license","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},"funding":{"github":"wooorm"}},"created_at":"2022-11-03T17:58:50.000Z","updated_at":"2025-03-09T18:53:54.000Z","dependencies_parsed_at":"2023-11-22T16:07:17.349Z","dependency_job_id":"1128172e-934d-4566-ad00-74348042a48e","html_url":"https://github.com/wooorm/npm-high-impact","commit_stats":{"total_commits":48,"total_committers":1,"mean_commits":48.0,"dds":0.0,"last_synced_commit":"2d124c4f57928c3b2a8a597a40368ee4900a704f"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wooorm%2Fnpm-high-impact","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wooorm%2Fnpm-high-impact/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wooorm%2Fnpm-high-impact/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wooorm%2Fnpm-high-impact/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wooorm","download_url":"https://codeload.github.com/wooorm/npm-high-impact/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247318744,"owners_count":20919484,"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","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":["high","impact","npm","popular"],"created_at":"2024-10-01T16:57:08.083Z","updated_at":"2025-04-05T10:07:39.489Z","avatar_url":"https://github.com/wooorm.png","language":"JavaScript","funding_links":["https://github.com/sponsors/wooorm"],"categories":[],"sub_categories":[],"readme":"# npm-high-impact\n\n[![Build][badge-build-image]][badge-build-url]\n[![Coverage][badge-coverage-image]][badge-coverage-url]\n[![Downloads][badge-downloads-image]][badge-downloads-url]\n[![Size][badge-size-image]][badge-size-url]\n\nThe high-impact (popular) packages of npm.\n\n## Contents\n\n* [What is this?](#what-is-this)\n* [When should I use this?](#when-should-i-use-this)\n* [Install](#install)\n* [Use](#use)\n* [API](#api)\n  * [`npmHighImpact`](#npmhighimpact)\n  * [`npmTopDependents`](#npmtopdependents)\n  * [`npmTopDownloads`](#npmtopdownloads)\n* [Data](#data)\n* [Scripts](#scripts)\n* [Types](#types)\n* [Compatibility](#compatibility)\n* [Related](#related)\n* [Contribute](#contribute)\n* [Security](#security)\n* [License](#license)\n\n## What is this?\n\nThis package exposes the names of popular packages on the public npm registry.\nThe definition of the term *popular* here is the same as what npm itself calls\n*high-impact*.\nThey classify packages as having a high impact on the ecosystem when a package\nmeets one or more of the following conditions:\n\n* download count of 1 000 000 or more per week\n* depended on by 500 or more other packages\n\n## When should I use this?\n\nPlease use this for fun experiments when researching the npm registry.\n\n## Install\n\nThis package is [ESM only][github-gist-esm].\nIn Node.js (version 16+),\ninstall with [npm][npmjs-install]:\n\n```sh\nnpm install npm-high-impact\n```\n\nIn Deno with [`esm.sh`][esmsh]:\n\n```js\nimport {npmHighImpact} from 'https://esm.sh/npm-high-impact@1'\n```\n\nIn browsers with [`esm.sh`][esmsh]:\n\n```html\n\u003cscript type=\"module\"\u003e\n  import {npmHighImpact} from 'https://esm.sh/npm-high-impact@1?bundle'\n\u003c/script\u003e\n```\n\n## Use\n\n```js\nimport {npmHighImpact} from 'npm-high-impact'\n\nconsole.log(npmHighImpact.length)\nconsole.log(npmHighImpact)\n```\n\n```js\n9294\n[\n  'semver',\n  'ansi-styles',\n  'debug',\n  'supports-color',\n  'chalk',\n  'tslib',\n  'ms',\n  'minimatch',\n  'strip-ansi',\n  'has-flag',\n  // …\n]\n```\n\n## API\n\nThis package exports the identifiers [`npmHighImpact`][api-npm-high-impact],\n[`npmTopDependents`][api-npm-top-dependents],\nand [`npmTopDownloads`][api-npm-top-downloads].\nThere is no default export.\n\n### `npmHighImpact`\n\nList of top package names (`Array\u003cstring\u003e`).\n\nSorted by most downloaded first.\nIncludes (unique) packages from `npmTopDependents` and `npmTopDownloads`.\n\n### `npmTopDependents`\n\nList of package names that are depended on a lot (`Array\u003cstring\u003e`).\n\nSorted by most dependents first.\n\n### `npmTopDownloads`\n\nList of package names that are downloaded a lot (`Array\u003cstring\u003e`).\n\nSorted by most downloaded first.\n\n## Data\n\n\u003e 👉 **Note**:\n\u003e not all of these packages are popular.\n\u003e There are some false-positives,\n\u003e such that download counts can be gamed,\n\u003e and that `libraries.io` sometimes thinks that a fork of webpack or so is\n\u003e actually webpack.\n\n## Scripts\n\nThis repo includes several scripts to crawl different services.\n\n###### All packages\n\n```sh\nnode script/crawl-packages.js\n```\n\n…follows an append-only database to find all the changes to things in the npm\nregistry.\nWe filter duplicates out,\nbut still end up with ±2.5m “things”,\nwhich aren’t all proper packages.\nLater scripts will have to deal with them being missing.\n\nThe script takes like 12-18 hours to run (it finished somewhere at night).\nBut the good news is that it’s additive:\nso the next time you run it,\nit’ll only pull in everything that changed since you last ran in,\nwhich could be as little as 15 minutes for 3 months.\n\nIt crawls [`replicate.npmjs.com`][github-npm-replicate].\n\n###### Top downloads\n\n```sh\nnode script/crawl-top-download-unscoped.js\nnode script/crawl-top-download-scoped.js\n```\n\n…look for download counts of all ±4.1m packages on the registry.\nLater scripts can filter the complete list to get the top packages.\nThe script takes like 30 hours to run.\nAbout 10 hours is spent on ±4m unscoped packages.\nAnother 20 or so on ±1.2m scoped packages (yes,\nsad).\nAfter filtering,\nthe interesting data would result in about 6k packages.\n\nIt crawls the npm [package download count API][github-npm-api].\nUnscoped packages are crawled using the batch API to get 128 per request.\nScoped packages are crawled with 20 HTTP requests at a time,\nas there is no batch API,\nand higher rates are limited by npm.\n\n###### Top dependents\n\n```sh\nnode script/crawl-top-dependent.js\n```\n\n…looks for packages that are depended on by 500 or more other packages.\nThe script takes like 30 minutes to run and currently gets about 3 000\npackages.\n\nIt crawls the `libraries.io` [project search API][libraries-io-api],\nwhose results can also [be browsed on the web][libraries-io-web].\nCrawling stops paginating when a package is seen that is depended on by less\nthan 500 other packages.\n\nYou need an API key for `libraries.io`,\nsee their API docs for more info.\n\n## Types\n\nThis package is fully typed with [TypeScript][].\nIt exports no additional types.\n\n## Compatibility\n\nThis package is at least compatible with all maintained versions of Node.js.\nAs of now,\nthat is Node.js 16+.\nIt also works in Deno and modern browsers.\n\n## Related\n\n* [`npm-high-impact-cli`](https://github.com/rexxars/npm-high-impact-cli)\n  — find the popular npm packages someone maintains\n* [`npm-esm-vs-cjs`](https://github.com/wooorm/npm-esm-vs-cjs)\n  — data on the share of ESM vs CJS on the public npm registry\n\n## Contribute\n\nYes please!\nSee [*How to Contribute to Open Source*][opensource-guide-contribute].\n\n## Security\n\nThis package is safe.\n\n## License\n\n[MIT][file-license] © [Titus Wormer][wooorm]\n\n\u003c!-- Definitions --\u003e\n\n[api-npm-high-impact]: #npmhighimpact\n\n[api-npm-top-dependents]: #npmtopdependents\n\n[api-npm-top-downloads]: #npmtopdownloads\n\n[badge-build-image]: https://github.com/wooorm/npm-high-impact/workflows/main/badge.svg\n\n[badge-build-url]: https://github.com/wooorm/npm-high-impact/actions\n\n[badge-coverage-image]: https://img.shields.io/codecov/c/github/wooorm/npm-high-impact.svg\n\n[badge-coverage-url]: https://codecov.io/github/wooorm/npm-high-impact\n\n[badge-downloads-image]: https://img.shields.io/npm/dm/npm-high-impact.svg\n\n[badge-downloads-url]: https://www.npmjs.com/package/npm-high-impact\n\n[badge-size-image]: https://img.shields.io/bundlejs/size/npm-high-impact\n\n[badge-size-url]: https://bundlejs.com/?q=npm-high-impact\n\n[esmsh]: https://esm.sh\n\n[file-license]: license\n\n[github-gist-esm]: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c\n\n[github-npm-api]: https://github.com/npm/registry/blob/master/docs/download-counts.md\n\n[github-npm-replicate]: https://github.com/npm/registry-follower-tutorial/blob/master/README.md\n\n[libraries-io-api]: https://libraries.io/api#project-search\n\n[libraries-io-web]: https://libraries.io/search?platforms=npm\u0026sort=dependents_count\u0026order=desc\n\n[npmjs-install]: https://docs.npmjs.com/cli/install\n\n[opensource-guide-contribute]: https://opensource.guide/how-to-contribute/\n\n[typescript]: https://www.typescriptlang.org\n\n[wooorm]: https://wooorm.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwooorm%2Fnpm-high-impact","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwooorm%2Fnpm-high-impact","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwooorm%2Fnpm-high-impact/lists"}