Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

是否有 API 支持查询 package 全部/指定时期内的版本号列表 #648

Closed
plainheart opened this issue Feb 4, 2024 · 4 comments

Comments

@plainheart
Copy link

plainheart commented Feb 4, 2024

有一些场景可能需要获取全部或指定时间范围内的版本号列表,以便切换选择。当前可以通过 https://registry.npmmirror.com/:pkgname 的方式获取一个包的注册表信息,从而提取到 versions 和 tags,但其返回数据体包含众多其他信息,如果一个包的版本很多,响应体将非常大,这可能多耗费不必要的流量和下载时间。
故而想问一下是否有可能提供类似 https://data.jsdelivr.com/v1/package/npm/echarts 这样的专用 API 并能够支持按时间范围查询,谢谢。

类似现有 downloads API
- https://registry.npmmirror.com/downloads/range/2024-01-28:2024-02-04/echarts

增加一个 versions API
- https://registry.npmmirror.com/versions/echarts - 全部
- https://registry.npmmirror.com/versions/range/2024-01-28:2024-02-04/echarts - 指定时间范围

返回值包含版本号及发布时间。

Copy link

github-actions bot commented Feb 4, 2024

我们已经看到你的反馈,如果是功能缺陷,可以提供一下重现该问题的方式;如果是新功能需求,我们会尽快加入讨论。同时我们非常期待你可以加入我们的贡献者行列,让项目可以长期可持续发展。

@hezhengxu2018
Copy link
Collaborator

hezhengxu2018 commented Feb 5, 2024

应该是指 #134

@Beace
Copy link
Contributor

Beace commented Feb 5, 2024

可以改下搜索接口,加些参数返回一些特定字段

https://github.com/cnpm/cnpmcore/blob/master/app/port/controller/package/SearchPackageController.ts#L31

@plainheart
Copy link
Author

应该是指 #134

好像未看到 #134 实现了公开接口允许仅查询版本号列表。不过根据 npm 官方 registry API 来看,可以在 package registry API 请求时传入一个 Accept: application/vnd.npm.install-v1+json 请求头,即可返回包含较少冗余内容的结果,这个还是能减少蛮多额外流量开销的(虽然相比此 PR 的提议还是多了点.... 😅

可以改下搜索接口,加些参数返回一些特定字段

搜索接口感觉条件限制好的话好像也不错,返回内容也蛮精简的,看起来比上面加 header 后的 registry API 还少些~

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants