renovate.json5 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. {
  2. $schema: "https://docs.renovatebot.com/renovate-schema.json",
  3. extends: [
  4. "config:recommended",
  5. ":labels(dependencies)",
  6. ":prConcurrentLimitNone", // Remove limit for open PRs at any time.
  7. ],
  8. minimumReleaseAge: "3", // Wait 3 days after the package has been published before upgrading it
  9. packageRules: [
  10. {
  11. // Update Github Actions and Docker images weekly
  12. matchManagers: ["github-actions", "dockerfile", "docker-compose"],
  13. extends: ["schedule:weekly"],
  14. },
  15. {
  16. // Update devDependencies every week, with one grouped PR
  17. matchDepTypes: "devDependencies",
  18. matchUpdateTypes: ["patch", "minor"],
  19. groupName: "devDependencies (non-major)",
  20. extends: ["schedule:weekly"],
  21. },
  22. {
  23. // Group all eslint-related packages with `eslint` in the same PR
  24. matchManagers: ["npm"],
  25. matchPackageNames: ["eslint"],
  26. matchPackagePrefixes: ["eslint-", "@typescript-eslint/"],
  27. matchUpdateTypes: ["patch", "minor"],
  28. groupName: "eslint (non-major)",
  29. },
  30. {
  31. // Update @types/* packages every week, with one grouped PR
  32. matchPackagePrefixes: "@types/",
  33. matchUpdateTypes: ["patch", "minor"],
  34. groupName: "DefinitelyTyped types (non-major)",
  35. extends: ["schedule:weekly"],
  36. addLabels: ["typescript"],
  37. },
  38. {
  39. // We want those packages to always have their own PR
  40. matchManagers: ["npm"],
  41. matchPackageNames: [
  42. "typescript", // Typescript has code-impacting changes in minor versions
  43. ],
  44. groupName: null, // We dont want them to belong to any group
  45. },
  46. ],
  47. }