{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "extends": ["github>bitwarden/renovate-config"],
  "enabledManagers": ["cargo", "github-actions", "npm"],
  "packageRules": [
    {
      "groupName": "gh minor",
      "matchManagers": ["github-actions"],
      "matchUpdateTypes": ["minor", "patch"]
    },
    {
      "matchManagers": ["github-actions"],
      "commitMessagePrefix": "[deps] DevOps:"
    },
    {
      "matchManagers": ["cargo"],
      "commitMessagePrefix": "[deps] Platform:"
    },
    {
      "groupName": "napi",
      "matchPackageNames": ["napi", "napi-build", "napi-derive"]
    },
    {
      "matchPackageNames": ["typescript", "zone.js"],
      "matchUpdateTypes": ["major", "minor"],
      "description": "Determined by Angular",
      "enabled": false
    },
    {
      "matchPackageNames": ["typescript", "zone.js"],
      "matchUpdateTypes": "patch"
    },
    {
      "groupName": "jest",
      "matchPackageNames": ["@types/jest", "jest", "ts-jest", "jest-preset-angular"],
      "matchUpdateTypes": "major"
    },
    {
      "matchPackageNames": [
        "@ngtools/webpack",
        "base64-loader",
        "buffer",
        "bufferutil",
        "copy-webpack-plugin",
        "core-js",
        "css-loader",
        "html-loader",
        "html-webpack-injector",
        "html-webpack-plugin",
        "mini-css-extract-plugin",
        "ngx-infinite-scroll",
        "postcss",
        "postcss-loader",
        "process",
        "sass",
        "sass-loader",
        "style-loader",
        "ts-loader",
        "tsconfig-paths-webpack-plugin",
        "url",
        "util",
        "webpack",
        "webpack-cli",
        "webpack-dev-server",
        "webpack-node-externals"
      ],
      "description": "Admin Console owned dependencies",
      "commitMessagePrefix": "[deps] AC:",
      "reviewers": ["team:team-admin-console-dev"]
    },
    {
      "matchPackageNames": ["@types/node-ipc", "node-ipc", "qrious", "regedit"],
      "description": "Auth owned dependencies",
      "commitMessagePrefix": "[deps] Auth:",
      "reviewers": ["team:team-auth-dev"]
    },
    {
      "matchPackageNames": [
        "@webcomponents/custom-elements",
        "concurrently",
        "cross-env",
        "del",
        "gulp",
        "gulp-filter",
        "gulp-if",
        "gulp-json-editor",
        "gulp-replace",
        "gulp-zip",
        "nord",
        "patch-package",
        "prettier",
        "prettier-plugin-tailwindcss",
        "rimraf",
        "tabbable",
        "tldts",
        "wait-on"
      ],
      "description": "Autofill owned dependencies",
      "commitMessagePrefix": "[deps] Autofill:",
      "reviewers": ["team:team-autofill-dev"]
    },
    {
      "matchPackageNames": ["braintree-web-drop-in"],
      "description": "Billing owned dependencies",
      "commitMessagePrefix": "[deps] Billing:",
      "reviewers": ["team:team-billing-dev"]
    },
    {
      "matchPackageNames": [
        "@types/argon2-browser",
        "@types/chrome",
        "@types/firefox-webext-browser",
        "@types/jquery",
        "@types/node",
        "@types/node-forge",
        "argon2",
        "argon2-browser",
        "big-integer",
        "node-forge",
        "rxjs",
        "type-fest",
        "typescript"
      ],
      "description": "Platform owned dependencies",
      "commitMessagePrefix": "[deps] Platform:",
      "reviewers": ["team:team-platform-dev"]
    },
    {
      "matchPackageNames": [
        "@angular-devkit/build-angular",
        "@angular/animations",
        "@angular/cdk",
        "@angular/cli",
        "@angular/common",
        "@angular/compiler",
        "@angular/compiler-cli",
        "@angular/core",
        "@angular/forms",
        "@angular/platform",
        "@angular/compiler",
        "@angular/router",
        "@compodoc/compodoc",
        "@ng-select/ng-select",
        "@storybook/addon-a11y",
        "@storybook/addon-actions",
        "@storybook/addon-designs",
        "@storybook/addon-essentials",
        "@storybook/addon-links",
        "@storybook/angular",
        "@types/react",
        "autoprefixer",
        "bootstrap",
        "chromatic",
        "jquery",
        "ngx-toastr",
        "popper.js",
        "react",
        "react-dom",
        "remark-gfm",
        "storybook",
        "tailwindcss",
        "zone.js"
      ],
      "description": "Component library owned dependencies",
      "commitMessagePrefix": "[deps] Design System:",
      "reviewers": ["team:team-design-system"]
    },
    {
      "matchPackageNames": [
        "@angular-eslint/eslint-plugin",
        "@angular-eslint/eslint-plugin-template",
        "@angular-eslint/template-parser",
        "@types/jest",
        "@typescript-eslint/eslint-plugin",
        "@typescript-eslint/parser",
        "eslint",
        "eslint-config-prettier",
        "eslint-import-resolver-typescript",
        "eslint-plugin-import",
        "eslint-plugin-rxjs",
        "eslint-plugin-rxjs-angular",
        "eslint-plugin-storybook",
        "eslint-plugin-tailwindcss",
        "husky",
        "jest-junit",
        "jest-mock-extended",
        "jest-preset-angular",
        "lint-staged",
        "ts-jest"
      ],
      "description": "Secrets Manager owned dependencies",
      "commitMessagePrefix": "[deps] SM:",
      "reviewers": ["team:team-secrets-manager-dev"]
    },
    {
      "matchPackageNames": [
        "@electron/notarize",
        "@electron/rebuild",
        "@microsoft/signalr-protocol-msgpack",
        "@microsoft/signalr",
        "@types/jsdom",
        "@types/papaparse",
        "@types/zxcvbn",
        "electron-builder",
        "electron-log",
        "electron-reload",
        "electron-store",
        "electron-updater",
        "electron",
        "jsdom",
        "jszip",
        "oidc-client-ts",
        "papaparse",
        "utf-8-validate",
        "zxcvbn"
      ],
      "description": "Tools owned dependencies",
      "commitMessagePrefix": "[deps] Tools:",
      "reviewers": ["team:team-tools-dev"]
    },
    {
      "matchPackageNames": [
        "@koa/multer",
        "@koa/router",
        "@types/inquirer",
        "@types/koa",
        "@types/koa__multer",
        "@types/koa__router",
        "@types/koa-bodyparser",
        "@types/koa-json",
        "@types/lowdb",
        "@types/lunr",
        "@types/node-fetch",
        "@types/proper-lockfile",
        "@types/retry",
        "chalk",
        "commander",
        "form-data",
        "https-proxy-agent",
        "inquirer",
        "koa",
        "koa-bodyparser",
        "koa-json",
        "lowdb",
        "lunr",
        "multer",
        "node-fetch",
        "open",
        "pkg",
        "proper-lockfile",
        "qrcode-parser"
      ],
      "description": "Vault owned dependencies",
      "commitMessagePrefix": "[deps] Vault:",
      "reviewers": ["team:team-vault-dev"]
    }
  ],
  "ignoreDeps": ["@types/koa-bodyparser", "bootstrap", "node-ipc", "node", "npm", "regedit"]
}