{
  extends: ["config:base", ":disablePeerDependencies"],
  includePaths: ["package.json", "examples/**", "themes/**", "www/package.json"],
  dependencyDashboard: true,
  packageRules: [
    {
      groupName: "packages",
      paths: ["package.json", "themes/**"],
    },
    {
      groupName: "www",
      paths: ["www/package.json"],
    },
    {
      groupName: "starters",
      paths: ["examples/**"],
    },
    {
      groupName: "types",
      packagePatterns: ["^@types/"],
      // only upgrade types with approval as they can break transitives
      dependencyDashboardApproval: true,
    },
    // these rules define dependencies that we have special handling for
    {
      updateTypes: ["minor"],
      excludePackageNames: [
        // below is list of packages that use 0.X version range, any minor bump there can contain breaking changes, so we just ignore minor bumps for those packages and will need to bump them manually
        "@reach/skip-nav",
        "@theme-ui/prism",
        "@theme-ui/typography",
        "axios",
        "gatsby-plugin-theme-ui",
        "theme-ui",
      ],
    },
    // we need to replicate this so that it goes to a separate group
    {
      // minor updates in packages <1.0.0 - need master issue approval
      // not grouped
      groupName: "packages (<1.0.0 minor)",
      paths: ["package.json", "themes/**"],
      dependencyDashboardApproval: true,
      updateTypes: ["minor"],
      packageNames: [
        // below is list of packages that use 0.X version range, any minor bump there can contain breaking changes, so we just ignore minor bumps for those packages and will need to bump them manually
        "@reach/skip-nav",
        "@theme-ui/prism",
        "@theme-ui/typography",
        "axios",
        "gatsby-plugin-theme-ui",
        "theme-ui",
      ],
    },
    {
      // minor updates in packages <1.0.0 - need master issue approval
      // not grouped
      groupName: "www (<1.0.0 minor)",
      paths: ["www/package.json"],
      dependencyDashboardApproval: true,
      updateTypes: ["minor"],
      packageNames: [
        // below is list of packages that use 0.X version range, any minor bump there can contain breaking changes, so we just ignore minor bumps for those packages and will need to bump them manually
        "@reach/skip-nav",
        "@theme-ui/prism",
        "@theme-ui/typography",
        "axios",
        "gatsby-plugin-theme-ui",
        "theme-ui",
      ],
    },
    {
      // minor updates in packages <1.0.0 - need master issue approval
      // not grouped
      groupName: "starters (<1.0.0 minor)",
      paths: ["examples/**"],
      dependencyDashboardApproval: true,
      updateTypes: ["minor"],
      packageNames: [
        // below is list of packages that use 0.X version range, any minor bump there can contain breaking changes, so we just ignore minor bumps for those packages and will need to bump them manually
        "@reach/skip-nav",
        "@theme-ui/prism",
        "@theme-ui/typography",
        "axios",
        "gatsby-plugin-theme-ui",
        "theme-ui",
      ],
    },
  ],
  labels: ["renovate"],
  prHourlyLimit: 4,
  prConcurrentLimit: 15,
  rangeStrategy: "bump",
  bumpVersion: null,
  semanticCommits: true,
  timezone: "GMT",
  schedule: ["before 9am on Monday"],
  automerge: true,
  major: {
    automerge: false
  }
}
