diff --git a/.github/renovate/base.json5 b/.github/renovate/base.json5 new file mode 100644 index 0000000..b1ce845 --- /dev/null +++ b/.github/renovate/base.json5 @@ -0,0 +1,27 @@ +{ + $schema: "https://docs.renovatebot.com/renovate-schema.json", + extends: [ + "config:recommended", + ":approveMajorUpdates", + ":semanticCommitScopeDisabled", + ], + ignorePresets: [":semanticPrefixFixDepsChoreOthers"], + labels: ["dependencies"], + + // Wait well over npm's three day window for any new package as a precaution against malicious publishes + // https://docs.npmjs.com/policies/unpublish/#packages-published-less-than-72-hours-ago + minimumReleaseAge: "7 days", + + packageRules: [ + { + description: "Use the deps:actions label for github-action manager updates (this means Renovate's github-action manager).", + addLabels: ["deps:actions"], + matchManagers: ["github-actions"], + }, + { + description: "Use the deps:npm label for npm manager packages (this means Renovate's npm manager).", + addLabels: ["deps:npm"], + matchManagers: ["npm"], + }, + ], +} diff --git a/.github/renovate/eslint-base.json5 b/.github/renovate/eslint-base.json5 new file mode 100644 index 0000000..aaa6206 --- /dev/null +++ b/.github/renovate/eslint-base.json5 @@ -0,0 +1,19 @@ +{ + $schema: "https://docs.renovatebot.com/renovate-schema.json", + extends: ["github>eslint/workflows//.github/renovate/base.json5"], + packageRules: [ + { + description: "Update ESLint packages together.", + groupName: "eslint", + matchPackagePrefixes: ["@eslint/"], + matchPackageNames: ["espree", "eslint-scope", "eslint-visitor-keys"], + minimumReleaseAge: null, // Don't wait for these packages + }, + { + description: "Update ESLint dev dependencies together.", + groupName: "eslint-dev", + matchPackageNames: ["eslint", "eslint-config-eslint"], + minimumReleaseAge: null, // Don't wait for these packages + }, + ], +}