{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "extends": [
    "config:base",
    "default:automergeMinor",
    "default:prConcurrentLimit10",
    "default:prHourlyLimitNone",
    "default:preserveSemverRanges",
    "default:rebaseStalePrs",
    "group:monorepos"
  ],
  "packageRules": [
    {
      "matchManagers": ["npm"],
      "rangeStrategy": "pin"
    },
    {
      "matchManagers": ["cargo"],
      "rangeStrategy": "update-lockfile",
      "platformAutomerge": false
    },
    {
      "groupName": "Oxc packages",
      "matchPackagePatterns": ["oxc"]
    },
    {
      "groupName": "Bundler packages",
      "matchPackagePatterns": ["vite", "unplugin"]
    },
    {
      "groupName": "Typescript packages",
      "matchPackagePatterns": ["@types", "ts-", "tsx", "typescript"]
    },
    {
      "groupName": "Lint packages",
      "matchPackagePatterns": [
        "eslint",
        "prettier",
        "commitlint",
        "stylelint",
        "husky",
        "lint-staged"
      ]
    },
    {
      "groupName": "Testing packages",
      "matchPackagePatterns": ["vitest", "cypress", "wdio"]
    }
  ]
}
