Skip to content

Reusable renovate config #13

@aladdin-add

Description

@aladdin-add

I propose moving the reusable renovate configurations from eslint/eslint to this repo for easier adoption by other repos.

  1. the base config (applied to all repos):
{
  $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"],
    },
  ],
}
  1. the config for eslint/eslint (100% equal to the current configuration):
{
  $schema: "https://docs.renovatebot.com/renovate-schema.json",
  extends: ["github>eslint/workflows//.github/renovate.json5"],
  ignoreDeps: ["jiti-v2.0", "jiti-v2.1"],
  packageRules:[
    {
      description: "Group Babel packages into a single PR.",
      groupName: "babel",
      matchPackagePrefixes: ["@babel", "babel-"],
    },
    {
      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: "Group metascraper packages into a single PR.",
      groupName: "metascraper",
      matchPackagePrefixes: ["metascraper"],
    },
  ],
}
  1. other eslint repos (Additional configs can be added as needed):
{
  $schema: "https://docs.renovatebot.com/renovate-schema.json",
  extends: ["github>eslint/workflows//.github/renovate.json5"],
}

@lumirlumir @nzakas, please let me know what you think. 😄

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

Complete

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions