developmint / npm-stats-api
获取您的NPM包的统计信息
v2.0.0
2020-09-10 13:00 UTC
Requires
- php: ^7.2
- guzzlehttp/guzzle: ^7.0
Requires (Dev)
- phpunit/phpunit: ^8.0.0
README
此包可以轻松获取npmjs.com上托管包的统计信息
PS:它受到了Spatie的packagist-api包的极大启发
安装
您可以通过Composer安装此包
composer require developmint/npm-stats-api
使用方法
您必须将Guzzle客户端传递给Developmint\NpmStats\NpmStats
的构造函数。
$client = new \GuzzleHttp\Client(); $npmStats = new \Developmint\NpmStats\NpmStats($client);
获取您选择的包的统计信息
$npmStats->getStats('jquery');
获取您选择的期间的统计信息
使用NpmStats类提供的常量来获取最后一天、一周、一个月、一年或总体的统计信息。
$npmStats->getStats('jquery', NpmStats::LAST_DAY);
您也可以传入特定的日期
$npmStats->getStats('jquery', '2017-01-01');
或者甚至范围
$npmStats->getStats('jquery', '2014-02-07:2014-02-14');
输出将已从json解码
array(4) { ["downloads"]=> int(198672) ["start"]=> string(10) "2017-10-10" ["end"]=> string(10) "2017-10-10" ["package"]=> string(6) "jquery" }
以范围获取您选择的期间的统计信息
您还可以将统计信息作为范围获取,即按每天分割的下载量
$npmStats->getStats('jquery', NpmStats::LAST_WEEK, true);
这将是该调用的结果
array(4) { ["start"]=> string(10) "2017-10-04" ["end"]=> string(10) "2017-10-10" ["package"]=> string(6) "jquery" ["downloads"]=> array(7) { [0]=> array(2) { ["downloads"]=> int(200678) ["day"]=> string(10) "2017-10-04" } [1]=> array(2) { ["downloads"]=> int(195593) ["day"]=> string(10) "2017-10-05" } [2]=> array(2) { ["downloads"]=> int(172132) ["day"]=> string(10) "2017-10-06" } [3]=> array(2) { ["downloads"]=> int(51068) ["day"]=> string(10) "2017-10-07" } [4]=> array(2) { ["downloads"]=> int(46892) ["day"]=> string(10) "2017-10-08" } [5]=> array(2) { ["downloads"]=> int(171920) ["day"]=> string(10) "2017-10-09" } [6]=> array(2) { ["downloads"]=> int(198672) ["day"]=> string(10) "2017-10-10" } } }
获取批量统计信息
当然,您可以一次性检索多达128个包的批量查询。只需用命令分隔它们,即可开始使用。
$npmStats->getStats('vue,express', NpmStats::LAST_WEEK);
但请注意!这仅在点模式下有效,不在范围模式下。
$npmStats->getStats('vue,express', NpmStats::LAST_WEEK, true); //Won't work
无论如何,输出将与正常的点模式输出相似
array(2) { ["vue"]=> array(4) { ["downloads"]=> int(3980980980098089080980983) ["package"]=> string(5) "vue" ["start"]=> string(10) "2017-10-10" ["end"]=> string(10) "2017-10-10" } ["express"]=> array(4) { ["downloads"]=> int(818264) ["package"]=> string(7) "express" ["start"]=> string(10) "2017-10-10" ["end"]=> string(10) "2017-10-10" } }
关于NPM统计API的更多信息
您可以在存储库README文件中找到有关NPM统计API如何工作的详细说明
API的限制
官方限制如下
- 批量查询:一次最多128个包和最多365天的数据
- 所有其他查询:最多限制18个月的数据
- 最早可用日期:2015年1月10日
变更日志
请参阅CHANGELOG以获取有关最近更改的更多信息。
测试
$ composer test
贡献
有关详细信息,请参阅CONTRIBUTING。
安全
如果您发现任何安全问题,请通过support@developmint.de发送电子邮件,而不是使用问题跟踪器。
鸣谢
许可
MIT许可(MIT)。有关更多信息,请参阅许可文件。