使用yarn 升级node_npm – 如何使用Yarn升级所有作用域包?

由于Yarn目前无法做到这一点,我编写了一个非常简短的Node脚本来做你想做的事情:

var fs = require('fs');

var child_process = require('child_process');

var filterRegex = /@angular\/.*/;

fs.readFile('./package.json', function(err, data) {

if (err) throw err;

var dependencies = JSON.parse(data)['dependencies'];

Object.keys(dependencies).forEach(function(dependency) {

if (filterRegex.test(dependency)) {

console.log('Upgrading ' + dependency);

child_process.execSync('yarn upgrade ' + dependency);

} else {

console.log('Skipping ' + dependency);

}

});

});

这是对它的作用的快速解释:

>它从终端当前所在的目录加载package.json

>然后我们解析package.json的JSON并获取“dependencies”键

>对于每个依赖项,我们运行指定为filterRegex的正则表达式(如果您需要更改它或想要解释正则表达式语法,我将使用RegExr进行测试.我使用@angular作为正则表达式的示例前缀)

>如果依赖项匹配,我们运行yarn upgrade [DEPENDENCY]并记录它

>否则,我们记录它被跳过了.

如果您对此有任何问题,请告诉我,但它应该解决您的问题,直到Yarn团队提出更好的方法.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值