问题描述
我想在一个合并请求 (MR) 中对所有相关依赖项进行分组,如下例所示:
在一个 MR 中(除了 @angular/cli 之外,所有的都从 @angular/ 开始):
class _FpsPageState extends State<FpsPage> {
bool _shouldCount = false;
var _count = 0;
@override
Widget build(BuildContext context) {
if (_shouldCount) _count++;
return Scaffold(
body: Center(
child: ElevatedButton(
onpressed: () {
_shouldCount = true;
_count = 0;
Timer.periodic(Duration(milliseconds: 1),(timer) {
setState(() {
if (timer.tick >= 1000) {
timer.cancel();
_shouldCount = false;
}
});
});
},child: Text(_count != 0 ? 'FPS: $_count' : 'START'),),);
}
}
在一个 MR 中:
"@angular/animations": "10.2.5","@angular/cdk": "10.2.5","@angular/common": "10.2.5","@angular/compiler": "10.2.5","@angular/core": "10.2.5","@angular/forms": "10.2.5","@angular/localize": "10.2.5","@angular/platform-browser": "10.2.5","@angular/platform-browser-dynamic": "10.2.5","@angular/router": "10.2.5","@angular/compiler-cli": "10.2.5"
在一个 MR 中:
"@ngrx/effects": "10.1.2","@ngrx/router-store": "10.1.2","@ngrx/store": "10.1.2","@ngrx/store-devtools": "10.1.2","@ngrx/schematics": "10.1.2",
在一个 MR 中:
"ag-grid-angular": "24.1.0","ag-grid-community": "24.1.0"
如果我有这个 package.json:
"@angular-eslint/builder": "1.2.0","@angular-eslint/eslint-plugin": "1.2.0","@angular-eslint/eslint-plugin-template": "1.2.0","@angular-eslint/schematics": "1.2.0","@angular-eslint/template-parser": "1.2.0",
并且我想将一些依赖项组合到一个 MR 中(在这种情况下,将具有相同名称的依赖项组合在一起)。
测试 1:失败 -> 我只用 @angular/cdk 升级就得到了一个 MR。这里是renovate.json:
"dependencies": {
"@angular/animations": "10.2.5","@ng-bootstrap/ng-bootstrap": "7.0.0","@ng-select/ng-select": "5.1.0","@ngrx/effects": "10.1.2","@ngx-translate/core": "13.0.0","@ngx-translate/http-loader": "6.0.0","ag-grid-angular": "24.1.0","ag-grid-community": "24.1.0","bootstrap": "4.6.0","crypto-js": "4.0.0","fbc-iam-angular": "2.0.0","ngx-toastr": "13.2.1","rxjs": "6.6.7","tslib": "2.1.0","zone.js": "0.11.4"
},"devDependencies": {
"@angular-devkit/build-angular": "0.1002.1","@angular-eslint/builder": "1.2.0","@angular/cli": "10.2.3","@angular/compiler-cli": "10.2.5","@foundation/npm-oss-clearing": "2.2.0","@types/jest": "24.9.1","@typescript-eslint/eslint-plugin": "4.18.0","@typescript-eslint/parser": "4.18.0","eslint": "7.22.0","eslint-config-airbnb-typescript": "12.3.1","eslint-plugin-cypress": "2.11.2","eslint-plugin-header": "3.1.1","eslint-plugin-import": "2.22.1","eslint-plugin-jest": "24.3.6","eslint-plugin-promise": "4.3.1","eslint-plugin-rxjs": "3.1.3","eslint-plugin-unicorn": "28.0.2","https-proxy-agent": "2.2.4","jest": "24.9.0","jest-marbles": "2.5.1","jest-preset-angular": "7.1.1","jspdf": "2.3.1","ng-mocks": "11.9.1","ngx-translate-testing": "5.1.0","typescript": "4.0.3"
}
测试 2:失败 -> 我得到了一个 MR 几个更新(@angular-devkit/build-angular、@angular/cdk、@typescript-eslint/eslint-plugin、 @typescript-eslint/parser、cypress、org.apache.tika:tika-parsers、tslib 等等(npm 和 gradle 依赖项混合)
{
"gradle-lite": {
"enabled": true
},"gradle": {
"enabled": false
},"docker-compose": {
"enabled": false
},"dockerfile": {
"enabled": false
},"gitlabci": {
"enabled": false
},"packageRules": [
{
"groupName": "angular-eslint","matchPackagePatterns": [
"^@angular-eslint/"
]
},{
"groupName": "typescript-eslint","matchPackagePatterns": [
"^@typescript-eslint/"
]
},{
"groupName": "angular","matchPackagePatterns": [
"^@angular/"
],"excludePackageNames": [
"@angular/cli"
]
},{
"groupName": "ngrx","matchPackagePatterns": [
"^@ngrx/"
]
},{
"groupName": "ag-grid","matchPackagePatterns": [
"^ag-grid-"
]
},{
"groupName": "spring-boot","matchPackagePrefixes": [
"org.springframework.boot:"
]
},{
"groupName": "mapstruct","matchPackagePrefixes": [
"org.mapstruct:"
]
},{
"groupName": "springfox","matchPackagePrefixes": [
"io.springfox:"
]
}
],"prConcurrentLimit": 1
}
在第一个 renovate.json 中,我使用 matchPackagePatterns,在第二个中使用 matchPackagePrefixes,但没有人在工作。 我该怎么办?
注意:也有java依赖,但我认为有了package.json就足以理解问题了。
提前致谢