如何在 npm API 中查询多部分 Typescript 包?
How to query npm API for a multi-part Typescript package?
目前正在为 slidev hosted at Docker Hub 的 docker 图像开发自动构建,我需要将已构建的版本与模块的 npm 可用版本进行比较
我有这个代码:
import requests as curl
def getreleasegh():
url = "https://api.github.com/repos/slidevjs/slidev/tags"
with curl.get(url) as r:
if r.status_code == 200:
j = r.json()
release = j[0]['name']
release.replace("v", "")
return release
def getactualimage():
url = 'https://registry.hub.docker.com/v2/repositories/stig124/slidev/tags/'
with curl.get(url) as r:
if r.status_code == 200:
j = r.json()
image = j['results'][0]['name']
return image
我要查询版本的npm包是@slidev
,每个子包都是相同的版本标签
我使用了 npms.io
API question
中的建议
有没有办法查询分包?
查询任何子包的 API 端点(https://api.npms.io/v2/package/@slidev-cli
)return
{"code":"INVALID_PARAMETER","message":"name can only contain URL-friendly characters (\"@slidev-cli\")"}
正在查询 https://api.npms.io/v2/package/slidev-cli
returns
{"code":"NOT_FOUND","message":"Module not found"}
有什么办法可以吗?
经过一些修补,我通过使用搜索功能找到了解决方法
我使用 https://api.npms.io/v2/search?q=slidev
搜索 slidev
然后通过查找包 scope
是否是父包的名称(带有 [=14= 的那个)来处理第一个条目]) 如果不是,我会跳转到下一个条目,依此类推,效果很好
def checknpm():
base = 'https://api.npms.io/v2/search?q='
package = 'slidev'
url = base + package
with curl.get(url) as r:
if r.status_code == 200:
j = r.json()
for i in range(5):
if package in str(j['results'][i]['package']['scope']):
npm = str(j['results'][i]['package']['version'])
break
目前正在为 slidev hosted at Docker Hub 的 docker 图像开发自动构建,我需要将已构建的版本与模块的 npm 可用版本进行比较
我有这个代码:
import requests as curl
def getreleasegh():
url = "https://api.github.com/repos/slidevjs/slidev/tags"
with curl.get(url) as r:
if r.status_code == 200:
j = r.json()
release = j[0]['name']
release.replace("v", "")
return release
def getactualimage():
url = 'https://registry.hub.docker.com/v2/repositories/stig124/slidev/tags/'
with curl.get(url) as r:
if r.status_code == 200:
j = r.json()
image = j['results'][0]['name']
return image
我要查询版本的npm包是@slidev
,每个子包都是相同的版本标签
我使用了 npms.io
API question
有没有办法查询分包?
查询任何子包的 API 端点(https://api.npms.io/v2/package/@slidev-cli
)return
{"code":"INVALID_PARAMETER","message":"name can only contain URL-friendly characters (\"@slidev-cli\")"}
正在查询 https://api.npms.io/v2/package/slidev-cli
returns
{"code":"NOT_FOUND","message":"Module not found"}
有什么办法可以吗?
经过一些修补,我通过使用搜索功能找到了解决方法
我使用 https://api.npms.io/v2/search?q=slidev
搜索 slidev
然后通过查找包 scope
是否是父包的名称(带有 [=14= 的那个)来处理第一个条目]) 如果不是,我会跳转到下一个条目,依此类推,效果很好
def checknpm():
base = 'https://api.npms.io/v2/search?q='
package = 'slidev'
url = base + package
with curl.get(url) as r:
if r.status_code == 200:
j = r.json()
for i in range(5):
if package in str(j['results'][i]['package']['scope']):
npm = str(j['results'][i]['package']['version'])
break