{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "extends": ["github>bitwarden/renovate-config"],
  "enabledManagers": ["cargo", "github-actions", "npm"],
  "packageRules": [
    {
      "groupName": "github-action minor",
      "matchManagers": ["github-actions"],
      "matchUpdateTypes": ["minor"]
    },
    {
      "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"
    },
    {
      "groupName": "macOS/iOS bindings",
      "matchPackageNames": ["core-foundation", "security-framework", "security-framework-sys"]
    },
    {
      "groupName": "zbus",
      "matchPackageNames": ["zbus", "zbus_polkit"]
    },
    {
      "matchPackageNames": [
        "base64-loader",
        "buffer",
        "bufferutil",
        "core-js",
        "css-loader",
        "html-loader",
        "mini-css-extract-plugin",
        "postcss",
        "postcss-loader",
        "process",
        "sass",
        "sass-loader",
        "style-loader",
        "ts-loader",
        "url",
        "util"
      ],
      "description": "Admin Console owned dependencies",
      "commitMessagePrefix": "[deps] AC:",
      "reviewers": ["team:team-admin-console-dev"]
    },
    {
      "matchPackageNames": ["qrious"],
      "description": "Auth owned dependencies",
      "commitMessagePrefix": "[deps] Auth:",
      "reviewers": ["team:team-auth-dev"]
    },
    {
      "matchPackageNames": [
        "@angular-eslint/schematics",
        "angular-eslint",
        "eslint-config-prettier",
        "eslint-import-resolver-typescript",
        "eslint-plugin-import",
        "eslint-plugin-rxjs-angular",
        "eslint-plugin-rxjs",
        "eslint-plugin-storybook",
        "eslint-plugin-tailwindcss",
        "eslint",
        "husky",
        "lint-staged",
        "typescript-eslint"
      ],
      "description": "Architecture owned dependencies",
      "commitMessagePrefix": "[deps] Architecture:",
      "reviewers": ["team:dept-architecture"]
    },
    {
      "matchPackageNames": [
        "@angular-eslint/eslint-plugin-template",
        "@angular-eslint/eslint-plugin",
        "@angular-eslint/schematics",
        "@angular-eslint/template-parser",
        "@typescript-eslint/eslint-plugin",
        "@typescript-eslint/parser",
        "eslint-config-prettier",
        "eslint-import-resolver-typescript",
        "eslint-plugin-import",
        "eslint-plugin-rxjs-angular",
        "eslint-plugin-rxjs",
        "eslint-plugin-storybook",
        "eslint-plugin-tailwindcss",
        "eslint",
        "husky",
        "lint-staged"
      ],
      "groupName": "Linting minor-patch",
      "matchUpdateTypes": ["minor", "patch"]
    },
    {
      "matchPackageNames": [
        "@emotion/css",
        "@webcomponents/custom-elements",
        "concurrently",
        "cross-env",
        "del",
        "lit",
        "nord",
        "patch-package",
        "prettier",
        "prettier-plugin-tailwindcss",
        "rimraf",
        "@storybook/web-components-webpack5",
        "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": [
        "@babel/core",
        "@babel/preset-env",
        "@bitwarden/sdk-internal",
        "@electron/fuses",
        "@electron/notarize",
        "@electron/rebuild",
        "@ngtools/webpack",
        "@types/chrome",
        "@types/firefox-webext-browser",
        "@types/glob",
        "@types/jquery",
        "@types/lowdb",
        "@types/node",
        "@types/node-forge",
        "@types/node-ipc",
        "@yao-pkg/pkg",
        "babel-loader",
        "browserslist",
        "copy-webpack-plugin",
        "electron",
        "electron-builder",
        "electron-log",
        "electron-reload",
        "electron-store",
        "electron-updater",
        "html-webpack-injector",
        "html-webpack-plugin",
        "lowdb",
        "node-forge",
        "node-ipc",
        "pkg",
        "rxjs",
        "tsconfig-paths-webpack-plugin",
        "type-fest",
        "typescript",
        "typescript-strict-plugin",
        "webpack",
        "webpack-cli",
        "webpack-dev-server",
        "webpack-node-externals"
      ],
      "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-cli",
        "@angular/compiler",
        "@angular/core",
        "@angular/forms",
        "@angular/platform-browser-dynamic",
        "@angular/platform-browser",
        "@angular/platform",
        "@angular/router",
        "@compodoc/compodoc",
        "@ng-select/ng-select",
        "@storybook/addon-a11y",
        "@storybook/addon-actions",
        "@storybook/addon-designs",
        "@storybook/addon-essentials",
        "@storybook/addon-interactions",
        "@storybook/addon-links",
        "@storybook/angular",
        "@storybook/manager-api",
        "@storybook/theming",
        "@typescript-eslint/utils",
        "@typescript-eslint/rule-tester",
        "@types/react",
        "autoprefixer",
        "bootstrap",
        "chromatic",
        "jquery",
        "ngx-toastr",
        "popper.js",
        "react",
        "react-dom",
        "remark-gfm",
        "storybook",
        "tailwindcss",
        "zone.js"
      ],
      "description": "UI Foundation owned dependencies",
      "commitMessagePrefix": "[deps] UI Foundation:",
      "reviewers": ["team:team-ui-foundation"]
    },
    {
      "matchPackageNames": [
        "@types/jest",
        "jest-junit",
        "jest-mock-extended",
        "jest-preset-angular",
        "jest-diff",
        "ts-jest"
      ],
      "description": "Secrets Manager owned dependencies",
      "commitMessagePrefix": "[deps] SM:",
      "reviewers": ["team:team-secrets-manager-dev"]
    },
    {
      "matchPackageNames": [
        "@microsoft/signalr-protocol-msgpack",
        "@microsoft/signalr",
        "@types/jsdom",
        "@types/papaparse",
        "@types/zxcvbn",
        "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/lunr",
        "@types/node-fetch",
        "@types/proper-lockfile",
        "@types/retry",
        "chalk",
        "commander",
        "form-data",
        "https-proxy-agent",
        "inquirer",
        "koa",
        "koa-bodyparser",
        "koa-json",
        "lunr",
        "multer",
        "node-fetch",
        "open",
        "proper-lockfile",
        "qrcode-parser"
      ],
      "description": "Vault owned dependencies",
      "commitMessagePrefix": "[deps] Vault:",
      "reviewers": ["team:team-vault-dev"]
    },
    {
      "matchPackageNames": ["@types/argon2-browser", "argon2", "argon2-browser", "big-integer"],
      "description": "Key Management owned dependencies",
      "commitMessagePrefix": "[deps] KM:",
      "reviewers": ["team:team-key-management-dev"]
    }
  ],
  "ignoreDeps": ["@types/koa-bodyparser", "bootstrap", "node-ipc", "node", "npm"]
}
