从 npm 注册表 api 获取版本

问题描述 投票:0回答:4

我正在寻找一种从 npm 注册表 api 查询 npm 包版本的方法。 到目前为止我发现的是我需要查询整个包元数据并从那里过滤版本,示例:https://registry.npmjs.org/react-chuck/

版本少的包还可以,版本多的话查询时间就太长了

我想也许有类似 dist-tags api 的东西只查询 dist-tags,示例: https://registry.npmjs.org/-/package/react-chuck/dist-tags , dist -标签与版本的范围相同...

我也不介意在 cli 中执行此操作

npm view react-chuck versions
但这会返回数组作为字符串和字符串数组。

我查看了这两个链接:

有人可能有冠军秘诀吗?

node.js npm npm-registry
4个回答
8
投票
npm show react-chunk time --json

3
投票

检查https://github.com/npm/registry/blob/master/docs/responses/package-metadata.md

您需要更改

Accept
标头以返回缩写的包元数据。直接请求 NPM 注册表,而不是使用 npm CLI。


1
投票

据我所知,没有任何命令可以仅获取部分数据。

npm view react-chunk versions
命令仍然从https://registry.npmjs.org/react-chuck获取,然后在客户端解析它。对于版本很多的包来说确实效率不高,但这就是 api。


0
投票

天哪,npm 不能提供只返回版本的 API 吗?即使启用了压缩,仍有太多不必要的数据。

curl -H "Accept: application/vnd.npm.install-v1+json" https://registry.npmjs.org/@reactuses/core
© www.soinside.com 2019 - 2024. All rights reserved.