{
  "name": "@bitwarden/clients",
  "version": "0.0.0",
  "description": "Bitwarden Client Applications",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/bitwarden/clients.git"
  },
  "author": "Bitwarden Inc. <hello@bitwarden.com> (https://bitwarden.com)",
  "license": "GPL-3.0",
  "bugs": {
    "url": "https://github.com/bitwarden/clients/issues"
  },
  "homepage": "https://bitwarden.com",
  "scripts": {
    "prepare": "husky",
    "lint": "eslint . --cache --cache-strategy content && prettier --check .",
    "lint:fix": "eslint . --cache --cache-strategy content --fix",
    "lint:clear": "rimraf .eslintcache",
    "lint:rust": "node scripts/lint-rust.mjs",
    "lint:rust:fix": "node scripts/lint-rust.mjs --fix",
    "prettier": "prettier --cache --write .",
    "test": "jest",
    "test:watch": "jest --clearCache && jest --watch",
    "test:watch:all": "jest --watchAll",
    "test:types": "node ./scripts/test-types.js",
    "test:locales": "tsc --project ./scripts/tsconfig.json && node ./scripts/dist/test-locales.js",
    "lint:dep-ownership": "tsc --project ./scripts/tsconfig.json && node ./scripts/dist/dep-ownership.js",
    "lint:sdk-internal-versions": "tsc --project ./scripts/tsconfig.json && node ./scripts/dist/sdk-internal-versions.js",
    "docs:json": "compodoc -p ./tsconfig.json -e json -d . --disableRoutesGraph",
    "storybook": "ng run components:storybook",
    "storybook:combined": "STORYBOOK_DEV=\"combined\" concurrently \"npm run storybook\" \"npm run storybook:autofill:combined\"",
    "storybook:autofill": "cd apps/browser/src/autofill/content/components && npm run storybook:lit",
    "storybook:autofill:combined": "cd apps/browser/src/autofill/content/components && npm run storybook:lit:combined",
    "build-storybook": "ng run components:build-storybook",
    "build-storybook:ci": "ng run components:build-storybook --webpack-stats-json=storybook-static",
    "build-storybook:autofill:ci": "cd apps/browser/src/autofill/content/components && npm run storybook:build-lit:ci",
    "test-stories": "test-storybook --url http://localhost:6006 --maxWorkers=2 --testTimeout=100000 --failOnConsole",
    "test-stories:watch": "test-stories --watch",
    "icons:build": "ts-node scripts/material-icons/build-with-bwi-names.ts",
    "icons:migrate": "ts-node scripts/material-icons/migrate-icon-names.ts",
    "icons:reverse-migrate": "ts-node scripts/material-icons/reverse-migrate-icon-names.ts",
    "dev:reverse-proxy": "node --experimental-strip-types scripts/reverse-proxy-emulator/index.ts",
    "debug:desktop": "npm run debug:electron --workspace @bitwarden/desktop",
    "debug:desktop:automation": "cross-env USE_AUTOMATION_BIOMETRICS=true npm run debug:desktop",
    "debug:browser": "node apps/browser/scripts/dev-chrome.mjs --popup",
    "debug:cli": "npm run debug:cli --workspace @bitwarden/cli --"
  },
  "workspaces": [
    "apps/*",
    "apps/desktop/desktop_native/napi",
    "libs/**/*"
  ],
  "devDependencies": {
    "@angular-devkit/build-angular": "21.2.24",
    "@angular-eslint/schematics": "21.3.1",
    "@angular/cli": "21.2.24",
    "@angular/compiler-cli": "21.2.17",
    "@angular/platform-browser-dynamic": "21.2.17",
    "@babel/core": "7.29.6",
    "@babel/preset-env": "7.29.2",
    "@compodoc/compodoc": "1.2.1",
    "@electron/notarize": "3.1.1",
    "@electron/rebuild": "4.0.4",
    "@eslint/compat": "2.0.5",
    "@lit-labs/signals": "0.3.0",
    "@ngtools/webpack": "21.2.9",
    "@nx/devkit": "22.6.5",
    "@nx/eslint": "22.6.5",
    "@nx/jest": "22.6.5",
    "@nx/js": "22.6.5",
    "@nx/webpack": "22.6.5",
    "@storybook/addon-a11y": "10.6.0",
    "@storybook/addon-designs": "11.1.4",
    "@storybook/addon-docs": "10.6.0",
    "@storybook/addon-links": "10.6.0",
    "@storybook/addon-themes": "10.6.0",
    "@storybook/angular": "10.6.0",
    "@storybook/test-runner": "0.24.4",
    "@storybook/web-components-vite": "10.6.0",
    "@tailwindcss/container-queries": "0.1.1",
    "@types/chrome": "0.1.28",
    "@types/firefox-webext-browser": "143.0.0",
    "@types/inquirer": "8.2.10",
    "@types/jest": "30.0.0",
    "@types/jsdom": "28.0.1",
    "@types/koa": "3.0.1",
    "@types/koa__multer": "2.0.7",
    "@types/koa-bodyparser": "4.3.7",
    "@types/koa-json": "2.0.24",
    "@types/lowdb": "1.0.15",
    "@types/lunr": "2.3.7",
    "@types/node": "22.20.1",
    "@types/node-fetch": "2.6.13",
    "@types/node-forge": "1.3.14",
    "@types/papaparse": "5.5.2",
    "@types/proper-lockfile": "4.1.4",
    "@types/retry": "0.12.5",
    "@types/zxcvbn": "4.4.5",
    "@typescript-eslint/rule-tester": "8.59.1",
    "@typescript-eslint/utils": "8.59.1",
    "@webcomponents/custom-elements": "1.6.0",
    "@yao-pkg/pkg": "6.5.1",
    "angular-eslint": "20.7.0",
    "autoprefixer": "10.4.22",
    "axe-playwright": "2.2.2",
    "babel-loader": "10.1.1",
    "base64-loader": "1.0.0",
    "browserslist": "4.28.7",
    "chromatic": "18.0.1",
    "concurrently": "9.2.1",
    "copy-webpack-plugin": "14.0.0",
    "cross-env": "10.1.0",
    "css-loader": "7.1.4",
    "electron": "43.5.0",
    "electron-builder": "26.9.0",
    "electron-log": "5.4.3",
    "electron-reload": "2.0.0-alpha.1",
    "electron-store": "11.0.2",
    "electron-updater": "6.8.3",
    "eslint": "9.39.4",
    "eslint-config-prettier": "10.1.8",
    "eslint-import-resolver-typescript": "4.4.4",
    "eslint-plugin-import": "2.32.0",
    "eslint-plugin-jest": "29.15.2",
    "eslint-plugin-rxjs": "5.0.3",
    "eslint-plugin-rxjs-angular": "2.0.1",
    "eslint-plugin-storybook": "10.6.0",
    "eslint-plugin-tailwindcss": "3.18.3",
    "fantasticon": "4.1.0",
    "html-loader": "5.1.0",
    "html-webpack-injector": "1.1.4",
    "html-webpack-plugin": "5.6.6",
    "husky": "9.1.7",
    "jest": "30.3.0",
    "jest-diff": "30.3.0",
    "jest-environment-jsdom": "29.7.0",
    "jest-junit": "17.0.0",
    "jest-mock-extended": "4.0.1",
    "jest-preset-angular": "17.0.0",
    "json5": "2.2.3",
    "lint-staged": "17.0.5",
    "mini-css-extract-plugin": "2.10.2",
    "nx": "22.7.7",
    "path-browserify": "1.0.1",
    "postcss": "8.5.23",
    "postcss-loader": "8.2.1",
    "prettier": "3.9.5",
    "prettier-plugin-tailwindcss": "0.8.0",
    "process": "0.11.10",
    "remark-gfm": "4.0.1",
    "rimraf": "6.1.2",
    "sass": "1.99.0",
    "sass-loader": "16.0.7",
    "storybook": "10.6.0",
    "style-loader": "4.0.0",
    "svgo": "4.0.2",
    "tailwindcss": "3.4.18",
    "ts-jest": "29.4.9",
    "ts-loader": "9.5.7",
    "tsconfig-paths-webpack-plugin": "4.2.0",
    "type-fest": "2.19.0",
    "typescript": "5.9.3",
    "typescript-eslint": "8.59.1",
    "typescript-strict-plugin": "2.4.4",
    "url": "0.11.4",
    "util": "0.12.5",
    "wait-on": "9.1.0",
    "webpack": "5.106.2",
    "webpack-cli": "7.0.2",
    "webpack-dev-server": "5.2.6",
    "webpack-node-externals": "3.0.0"
  },
  "dependencies": {
    "@angular/animations": "21.2.17",
    "@angular/cdk": "21.2.9",
    "@angular/common": "21.2.17",
    "@angular/compiler": "21.2.17",
    "@angular/core": "21.2.17",
    "@angular/forms": "21.2.17",
    "@angular/platform-browser": "21.2.17",
    "@angular/router": "21.2.17",
    "@bitwarden/commercial-sdk-internal": "0.2.0-main.1075",
    "@bitwarden/desktop-napi": "file:apps/desktop/desktop_native/napi",
    "@bitwarden/sdk-internal": "0.2.0-main.1075",
    "@bufbuild/protobuf": "2.13.0",
    "@electron/fuses": "2.1.1",
    "@emotion/css": "11.13.5",
    "@koa/multer": "4.0.0",
    "@koa/router": "15.7.0",
    "@microsoft/signalr": "10.0.0",
    "@microsoft/signalr-protocol-msgpack": "10.0.0",
    "@ng-select/ng-select": "21.8.2",
    "big-integer": "1.6.52",
    "braintree-web-drop-in": "1.46.0",
    "buffer": "6.0.3",
    "bufferutil": "4.1.0",
    "chalk": "4.1.2",
    "chart.js": "4.5.1",
    "chartjs-adapter-date-fns": "3.0.0",
    "commander": "14.0.0",
    "core-js": "3.50.0",
    "form-data": "4.0.6",
    "https-proxy-agent": "9.1.0",
    "inquirer": "8.2.6",
    "jsdom": "26.1.0",
    "jszip": "3.10.1",
    "koa": "3.1.2",
    "koa-bodyparser": "4.4.1",
    "koa-json": "2.0.2",
    "lit": "3.3.1",
    "lowdb": "1.0.0",
    "lunr": "2.3.9",
    "multer": "2.3.0",
    "ngx-toastr": "19.1.0",
    "node-fetch": "2.7.0",
    "node-forge": "1.4.0",
    "oauth4webapi": "3.8.6",
    "open": "8.4.2",
    "papaparse": "5.5.3",
    "proper-lockfile": "4.1.2",
    "qrcode-parser": "2.1.3",
    "qrious": "4.0.2",
    "rxjs": "7.8.1",
    "semver": "7.7.3",
    "tabbable": "6.4.0",
    "tldts": "7.4.2",
    "ts-node": "10.9.2",
    "utf-8-validate": "6.0.5",
    "vite-tsconfig-paths": "6.1.1",
    "zone.js": "0.15.1",
    "zxcvbn": "4.4.2"
  },
  "overrides": {
    "eslint-plugin-rxjs": {
      "eslint": "$eslint"
    },
    "eslint-plugin-rxjs-angular": {
      "eslint": "$eslint"
    },
    "tailwindcss": "$tailwindcss",
    "react": "18.3.1",
    "react-dom": "18.3.1",
    "@types/react": "18.3.27",
    "@angular-devkit/build-angular": {
      "jest-environment-jsdom": "29.7.0"
    },
    "tmp": ">=0.2.4",
    "vite": "^7.3.6"
  },
  "engines": {
    "node": ">=24.17.0",
    "npm": "~11"
  }
}
