是否可以package.json使用Yarn包管理器升级我的依赖项部分中的所有特定范围包?
例如:
yarn upgrade @scope/*
Run Code Online (Sandbox Code Playgroud)
这将升级yarn.lock和package.json文件中的所有作用域包.
由于目前无法使用 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);
}
});
});
Run Code Online (Sandbox Code Playgroud)
这是对它的作用的快速解释:
它package.json从终端当前所在的目录加载
然后我们解析 JSONpackage.json并获取"dependencies"密钥
对于每个依赖项,我们运行指定为的正则表达式filterRegex(如果您需要更改它或想要解释正则表达式语法,我将使用RegExr 进行测试。我用作@angular正则表达式的示例前缀)
如果依赖匹配,我们运行yarn upgrade [DEPENDENCY]并记录它
如果您对此有任何问题,请告诉我,但它应该可以解决您的问题,直到 Yarn 团队提出更好的方法。
| 归档时间: |
|
| 查看次数: |
7808 次 |
| 最近记录: |