{"id":18673093,"url":"https://github.com/vicanso/npm-trend","last_synced_at":"2025-06-25T13:33:45.553Z","repository":{"id":144986324,"uuid":"89247235","full_name":"vicanso/npm-trend","owner":"vicanso","description":"Get the trend of npm","archived":false,"fork":false,"pushed_at":"2018-04-29T00:23:22.000Z","size":1651,"stargazers_count":17,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-12T01:51:48.083Z","etag":null,"topics":["npm","trend"],"latest_commit_sha":null,"homepage":"http://npmtrend.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/vicanso.png","metadata":{"files":{"readme":"README-zh.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2017-04-24T14:01:35.000Z","updated_at":"2022-06-09T09:07:40.000Z","dependencies_parsed_at":"2023-04-14T02:33:43.863Z","dependency_job_id":null,"html_url":"https://github.com/vicanso/npm-trend","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vicanso/npm-trend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vicanso%2Fnpm-trend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vicanso%2Fnpm-trend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vicanso%2Fnpm-trend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vicanso%2Fnpm-trend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vicanso","download_url":"https://codeload.github.com/vicanso/npm-trend/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vicanso%2Fnpm-trend/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261883217,"owners_count":23224455,"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":["npm","trend"],"created_at":"2024-11-07T09:13:57.903Z","updated_at":"2025-06-25T13:33:45.541Z","avatar_url":"https://github.com/vicanso.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# npm-trend\n\n从我开始接触`node.js`以来，最开始选择`module`都是通过别人推荐的文章或者去`github`中的`trending`中刚好发现好用的模块。对于`npmjs.org`仅能说一直只当它来查询一下模块有没有更新，它的`Most depended-upon packages`(前面部分）已经翻过不少次，但是一直前面的模块都是已经了解过的，一直没有想到好的方式来筛选一下`module`，自己无聊的时候不知道怎么打发，所以决定自己将`npmjs.org`的模块同步，自己做个筛选的网站[http://npmtrend.com/](http://npmtrend.com/)\n\n## 简介\n\n`node.js`大家都觉得很火，40多万的模块，`github`上3万多的star，这些都能说明大家对它的关注度很高。那怎么去衡量是不是热度在持续增长呢？趋势，我们需要关注的是增长的趋势，看下面两张图：\n\n![](screen-shoot/npm-trends.jpeg)\n\n![](screen-shoot/npm-created-updated.jpeg)\n\n图一展示的是npm模块的总数，从图中可以看到，模块数量从一年前的28万增长到现在的46万，增长速度是很快，不过从曲线上也看出，增长率并没有很大的变化。而图二展示的是当天创建与更新的模块数，模块创建基本稳定，模块更新的数量有稳定上升的趋势（考虑到模块总数的增长，该数量的增长也算是正常范围）。更新与创建的最大值都是在2017-04-22那一周期中（7天），创建了1万多的模块，有4万多的模块发布了更新。\n\n\n## 筛选\n\n在`npmjs.org`中，由于一些模块的够简单，通用，一直以来都是热门模块，但是这些模块都是大家耳熟能详，`express`从我开始使用`node.js 0.8`的时候已经是大家使用较多的`web framework`，现在还是很火。诸如此类的模块，都是在一直排在前面，想自己慢慢去浏览发现新的模块还真的是很吃力。因此更多的排序，更多的筛选，则是我所希望的。\n\n- 按下载排行（最新、7天、30天、90天）\n- 按`depended`的量排行（npmjs的api没有提供每天新增的depended量）\n- 按最新版本更新时间排序、筛选最近（1天、7天、30天、90天、180天、360天）更新的模块\n- 按模块创建时间排序、筛选最近（1天、7天、30天、90天、180天、360天）\n\n通过组合查询，我就可以得到一些热度的模块。\n\n- 最近3个月内有更新，按下载排行（主要避免一些模块几年不更新，但是下载量很高）\n\n![](screen-shoot/updated-90d-donwloads-latest.jpeg)\n\n- 最近3个月内创建，按下载排行（查找一些较新的模块，但感觉有些模块有虚假下载量）\n\n![](screen-shoot/created-90d-downloads-latest.jpeg)\n\n- 按关键字查询\n\n![](screen-shoot/search-by-keyword.jpeg)\n\n- 按作者查询(TJ大神)\n\n![](screen-shoot/search-by-author.jpeg)\n\n## 模块比较\n\n可以选择我们希望对比的模块，添加进对比列表，选择完成之后进行比较\n\n- lodash vs undersocre\n\n![](screen-shoot/lodash-underscore.jpeg)\n\n## 关注模块\n\n对于我们常用的模块，添加到我的关注，可以实时获取其更新信息\n\n![](screen-shoot/stars.jpeg)\n\n后续我会继续收集各类的数据，提供更多的筛选方式给大家使用\n\n注：每个模块的分数来自`npms.io`\n\n## Docker\n\ndocker build -t vicanso/npm-trend .\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvicanso%2Fnpm-trend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvicanso%2Fnpm-trend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvicanso%2Fnpm-trend/lists"}