mirror of
https://github.com/angular/angular.git
synced 2026-09-14 13:54:52 +08:00
7243564499
All docs examples share the same `node_modules/` (symlinked into each example from `aio/tools/examples/shared/node_modules/`). However, each example type has a different `package.json`, which comes from `aio/tools/examples/shared/boilerplate/*`). In order to ensure that the dependencies in each example's `package.json` are the same as the ones in the symlinked `node_modules/` (i.e. the ones that CI tests are run with), we have a script (`yarn run sync-deps`) that can sync dependencies from `shared/package.json` into the boilerplate `package.json` files. Previously, this script had to be run manually, which was easy to forget/not know about and resulted in the boilerplate dependencies often being out-of-sync with the ones in `shared/package.json` (and by extension, the ones that were actually installed in `node_modules/`). This commit helps keep the boilerplate dependencies up-to-date in the following ways: - Adds the `sync-deps` script to the `postinstall` scripts. This ensures that dependencies remain in sync whenever someone manually updates dependencies in `shared/package.json`. - Runs the `sync-deps` script as a Renovate post-upgrade task. This ensures that the depenencies remain in sync whenever Renovate updates dependencies in `shared/package.json`. For more info on configuring post-upgrade tasks in Renovate, see: - [postUpgradeTasks][1] - [allowedPostUpgradeCommands][2] - [allowPostUpgradeCommandTemplating][3] NOTE: For the Renovate change to take effect, the [global config][4] in `angular/dev-infra` also needs to be updated. This will be done in a separate PR. [1]: https://docs.renovatebot.com/configuration-options/#postupgradetasks [2]: https://docs.renovatebot.com/self-hosted-configuration/#allowedpostupgradecommands [3]: https://docs.renovatebot.com/self-hosted-configuration/#allowpostupgradecommandtemplating [4]: https://github.com/angular/dev-infra/blob/22d3067021130271afcfd02d063828c5bdd9c2d7/.github/ng-renovate/runner-config.js PR Close #47009
105 lines
2.9 KiB
JSON
105 lines
2.9 KiB
JSON
{
|
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
|
"baseBranches": ["main"],
|
|
"enabledManagers": ["npm", "bazel", "github-actions"],
|
|
"stopUpdatingLabel": "action: merge",
|
|
"rangeStrategy": "replace",
|
|
"pinDigests": true,
|
|
"semanticCommits": "enabled",
|
|
"semanticCommitScope": "",
|
|
"semanticCommitType": "build",
|
|
"dependencyDashboard": true,
|
|
"commitBody": "See associated pull request for more information.",
|
|
"separateMajorMinor": false,
|
|
"prHourlyLimit": 3,
|
|
"timezone": "America/Tijuana",
|
|
"lockFileMaintenance": {"enabled": true},
|
|
"labels": ["target: patch", "comp: build & ci", "action: review"],
|
|
"ignoreDeps": [
|
|
"@angular/animations-12",
|
|
"@angular/common-12",
|
|
"@angular/core-12",
|
|
"@angular/forms-12",
|
|
"@angular/platform-browser-12",
|
|
"@angular/platform-browser-dynamic-12",
|
|
"@angular/platform-server-12",
|
|
"@angular/router-12",
|
|
"@types/node",
|
|
"@types/selenium-webdriver",
|
|
"angular-1.5",
|
|
"angular-1.6",
|
|
"angular-1.7",
|
|
"angular-1.8",
|
|
"angular-mocks-1.5",
|
|
"angular-mocks-1.6",
|
|
"angular-mocks-1.7",
|
|
"angular-mocks-1.8",
|
|
"puppeteer",
|
|
"remark",
|
|
"remark-html",
|
|
"selenium-webdriver",
|
|
"watchr"
|
|
],
|
|
"packageRules": [
|
|
{
|
|
"matchPackagePatterns": ["*"],
|
|
"matchUpdateTypes": ["minor", "patch"],
|
|
"groupName": "all non-major dependencies",
|
|
"schedule": ["after 10:00pm on monday", "before 04:00am on tuesday"]
|
|
},
|
|
|
|
{
|
|
"matchPackagePatterns": ["^@bazel/.*", "^build_bazel.*"],
|
|
"groupName": "bazel setup",
|
|
"schedule": ["at any time"]
|
|
},
|
|
|
|
{
|
|
"matchPackagePrefixes": ["@angular/", "angular/", "@angular-devkit", "@schematics/"],
|
|
"followTag": "next",
|
|
"groupName": "cross-repo Angular dependencies",
|
|
"schedule": ["at any time"]
|
|
},
|
|
|
|
{
|
|
"matchPackagePrefixes": ["@angular/", "angular/", "@angular-devkit", "@schematics/"],
|
|
"matchPaths": ["packages/**"],
|
|
"followTag": null
|
|
},
|
|
|
|
{
|
|
"matchPackagePrefixes": ["@babel/"],
|
|
"groupName": "babel dependencies"
|
|
},
|
|
|
|
{
|
|
"matchPackagePrefixes": ["@angular-eslint/", "@typescript-eslint/"],
|
|
"groupName": "eslint dependencies"
|
|
},
|
|
|
|
{
|
|
"matchPackageNames": ["typescript", "tslib"],
|
|
"groupName": "typescript dependencies"
|
|
},
|
|
|
|
{
|
|
"matchPaths": [".github/workflows/scorecard.yml"],
|
|
"groupName": "scorecard action dependencies",
|
|
"groupSlug": "scorecard-action"
|
|
},
|
|
|
|
{
|
|
"matchPaths": ["aio/tools/examples/shared/*"],
|
|
"postUpgradeTasks": {
|
|
"commands": ["yarn run sync-deps"],
|
|
"fileFilters": ["aio/tools/examples/shared/boilerplate/**"]
|
|
}
|
|
},
|
|
|
|
{"matchCurrentVersion": "0.0.0-PLACEHOLDER", "enabled": false},
|
|
|
|
{"matchPaths": ["integration/**"], "enabled": false},
|
|
{"matchPaths": ["integration/bazel_workspace_tests/**/WORKSPACE"], "enabled": true}
|
|
]
|
|
}
|