Files
ionic-framework/renovate.json5
Brandy Smith 91937f84a7 chore(renovate): group playwright npm packages and docker (#30483)
Groups all of the Playwright dependencies together so we don't have the
Docker one opened on its own like this:
https://github.com/ionic-team/ionic-framework/pull/30472

Co-authored-by: Brandy Smith <6577830+brandyscarney@users.noreply.github.com>
2025-06-23 13:53:28 +00:00

116 lines
3.6 KiB
Plaintext

{
$schema: "https://docs.renovatebot.com/renovate-schema.json",
extends: ["config:base", ":semanticCommitTypeAll(chore)"],
packageRules: [
{
// Group these two as they may rely on one another during major version bumps
matchPackageNames: ["actions/download-artifact", "actions/upload-artifact"],
groupName: "Download + Upload Artifacts"
},
{
matchPackagePatterns: ["@stencil/core", "@stencil/angular-output-target", "@stencil/react-output-target", "@stencil/sass", "@stencil/vue-output-target"],
groupName: "stencil",
matchFileNames: [
"core/package.json"
]
},
// TODO(ROU-11172): unpin React output target version
{
matchPackageNames: ["@stencil/react-output-target"],
matchFileNames: [
"core/package.json"
],
allowedVersions: ["<=0.5.3"]
},
// TODO(ROU-11173): unpin Stencil version
{
matchPackageNames: ["@stencil/core"],
matchFileNames: [
"core/package.json"
],
allowedVersions: ["<=4.20.0"]
},
{
matchPackagePatterns: ["@capacitor/core", "@capacitor/keyboard", "@capacitor/haptics", "@capacitor/status-bar"],
groupName: "capacitor",
matchFileNames: [
"core/package.json"
]
},
{
groupName: "playwright",
matchPackageNames: [
"@playwright/test",
"@axe-core/playwright",
"mcr.microsoft.com/playwright"
],
matchDatasources: ["npm", "docker"],
matchFileNames: ["core/package.json", "core/Dockerfile"],
allowedVersions: "/^\\d+\\.\\d+\\.\\d+$/",
rangeStrategy: "bump",
versioning: "semver"
},
{
matchPackagePatterns: ["ionicons"],
groupName: "ionicons",
matchFileNames: [
"core/package.json"
]
},
/**
* While we update dependencies in certain directories, we currently
* do not want to update every single dependency. Some of the dependencies are
* very out of date, and the team needs to schedule work to account for
* breaking changes in some of these updates. To potentially avoid a large number of
* failing PRs the team has chosen to selectively enable dependencies to be updated
* as we have capacity to account for breaking changes.
*/
{
matchPackagePatterns: ["tslib", "@ionic/", "@rollup/", "@types/", "@typescript-eslint/", "clean-css-cli", "domino", "eslint", "eslint-config-prettier", "execa", "fs-extra", "jest", "jest-cli", "prettier", "puppeteer", "rollup", "sass", "serve", "stylelint", "stylelint-order"],
groupName: "core-disabled",
matchFileNames: [
"core/package.json"
],
enabled: false
},
/**
* Local Ionic dependencies are managed by the
* workspace to ensure the correct local version is used.
*/
{
matchPackagePatterns: ["@ionic/", "ionicons"],
groupName: "ignore-local-ionic-deps",
matchFileNames: [
"**/package.json"
],
enabled: false
},
{
matchPackagePatterns: ["lerna", "semver"],
groupName: "root-disabled",
matchFileNames: [
"package.json"
],
enabled: false
}
],
dependencyDashboard: false,
minimumReleaseAge: "3 days",
rebaseWhen: "never",
schedule: ["every weekday before 11am"],
semanticCommits: "enabled",
ignorePaths: [
// Ionic Packages
"packages/angular",
"packages/angular-server",
"packages/react",
"packages/react-router",
"packages/vue",
"packages/vue-router",
"docs",
// Local Development Scripts
"core/custom-rules",
"core/scripts"
]
}