gpt4 book ai didi

javascript - 获取最近更新的包

转载 作者:搜寻专家 更新时间:2023-11-01 00:32:00 24 4
gpt4 key购买 nike

用例:

假设有以下 package.json:

{
"version": "0.0.1",
"private": true,
"name": "my-app",
"devDependencies": {
"connect-modrewrite": "*",
"csslint": "~0.10.0",
"eslint": "*",
...
}

eslint 维护者发布了一个新的软件包更新,我的日常构建任务已通过 npm install 安装了其他软件包。突然构建任务失败。

现在,在研究构建失败的原因时,我想知道是否存在可能导致日常构建失败的依赖包更新。

期望的结果/输出:

eslint             0.15.0 02/15/2015
connect-modrewrite 0.2.0 01/15/2015
...

基本上,我需要一个带有版本日期的项目依赖项列表。是否可以使用 npmnpm-check 等第三方工具获取此类元信息?


有一个Recently updated packages这正是我正在寻找的页面,但在我的 package.json 依赖项列表的上下文中。


我知道“避免意外”最佳实践建议为每个依赖项列出一个确切的版本号,并谨慎地按需升级包。

最佳答案

您可以使用 view npm command 查询 npm 注册表以获取有关包的信息.您甚至可以传入您感兴趣的 json 字段(看起来 time.modified 会对您的情况有所帮助)。

将它与一些 shell 管道和实用程序结合起来,例如 jq你会得到你需要的。

$ npm view --json eslint | jq ".name, .version, .time.modified" | paste -s
"eslint" "0.17.1" "2015-03-18T00:31:26.357Z"

像这样的东西会给你每个依赖项的结果(你可能猜想我对 bash 不是很好):

#!/bin/bash

function trimQuotes {
echo $@ | cut -c 2- | rev | cut -c 2- | rev
}

function deps {
trimQuotes `cat package.json | jq '.dependencies | keys | join(" ")'`
}

function info {
npm view --json $1 | jq '.name, .version, .time.modified' | paste -s
}

function printInfo {
for word in $@; do
echo -en "$(trimQuotes $word)\t"
done;

echo
}

function main {
for pkg in $(deps); do
echo "$(info $pkg)" | while read line; do
printInfo $line
done;
done;
}

main

关于javascript - 获取最近更新的包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28732670/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com