diff --git a/cspell.config.json b/cspell.config.json index 00b10758..b9477d2e 100644 --- a/cspell.config.json +++ b/cspell.config.json @@ -1,6 +1,16 @@ { - "ignorePaths": ["node_modules/**", "dist/**", "mage_output_file.go", "package.json", "yarn.lock"], - "ignoreRegExpList": ["import\\s*\\((.|[\r\n])*?\\)", "import\\s*.*\".*?\""], + "ignorePaths": [ + "node_modules/**", + "dist/**", + "mage_output_file.go", + "package.json", + "renovate.json", + "yarn.lock" + ], + "ignoreRegExpList": [ + "import\\s*\\((.|[\r\n])*?\\)", + "import\\s*.*\".*?\"" + ], "words": [ "araddon", "bmike", @@ -59,6 +69,6 @@ "vals", "vladimirdotk", "Wrapf", - "confg" //this is unfortunately a typo in a file name that is not easy to fix + "confg" ] -} +} \ No newline at end of file diff --git a/renovate.json b/renovate.json new file mode 100644 index 00000000..afe6c48e --- /dev/null +++ b/renovate.json @@ -0,0 +1,65 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": ["github>grafana/grafana-renovate-config//presets/automerge"], + "minimumReleaseAge": "7 days", + "platformAutomerge": true, + "timezone": "UTC", + "prConcurrentLimit": 3, + "dependencyDashboard": true, + "vulnerabilityAlerts": { + "enabled": true, + "labels": ["security"], + "schedule": ["at any time"], + "additionalBranchPrefix": "security-" + }, + "packageRules": [ + { + "description": "Bundle all frontend dependency updates into a single weekly PR", + "matchManagers": ["npm"], + "groupName": "Frontend dependencies", + "groupSlug": "frontend-dependencies", + "extends": ["schedule:earlyMondays"] + }, + { + "description": "Bundle all backend dependency updates into a single weekly PR", + "matchManagers": ["gomod"], + "groupName": "Backend dependencies", + "groupSlug": "backend-dependencies", + "extends": ["schedule:earlyMondays"] + }, + { + "description": "Bundle all Docker image updates into a single weekly PR", + "matchManagers": ["dockerfile", "docker-compose"], + "groupName": "Docker dependencies", + "groupSlug": "docker-dependencies", + "extends": ["schedule:earlyMondays"] + }, + { + "description": "Ignore major updates for dependencies that need to be kept in sync with Grafana", + "enabled": false, + "matchDatasources": ["npm"], + "matchPackageNames": [ + "react", + "react-dom", + "react-router-dom", + "react-router-dom-v5-compat", + "@types/react", + "@types/react-dom" + ], + "matchUpdateTypes": ["major"] + }, + { + "description": "Ignore major updates for dependencies that need to be kept in sync with the Node version defined in .nvmrc", + "enabled": false, + "matchDatasources": ["npm", "node-version"], + "matchPackageNames": ["@types/node", "node"], + "matchUpdateTypes": ["major"] + }, + { + "description": "Automerge minor dependencies", + "automerge": true, + "matchUpdateTypes": ["minor", "patch", "pin", "pinDigest"], + "labels": ["automerge-minor"] + } + ] +}