{ "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. (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", "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", "build-storybook": "ng run components:build-storybook", "build-storybook:ci": "ng run components:build-storybook --webpack-stats-json", "test-stories": "test-storybook --url http://localhost:6006", "test-stories:watch": "test-stories --watch" }, "workspaces": [ "apps/*", "apps/desktop/desktop_native/napi", "libs/**/*" ], "devDependencies": { "@angular-devkit/build-angular": "19.2.14", "@angular-eslint/schematics": "19.6.0", "@angular/cli": "19.2.14", "@angular/compiler-cli": "19.2.14", "@babel/core": "7.24.9", "@babel/preset-env": "7.24.8", "@compodoc/compodoc": "1.1.26", "@electron/notarize": "3.0.1", "@electron/rebuild": "4.0.1", "@eslint/compat": "1.2.9", "@lit-labs/signals": "0.1.2", "@ngtools/webpack": "19.2.14", "@storybook/addon-a11y": "8.6.12", "@storybook/addon-actions": "8.6.12", "@storybook/addon-designs": "8.2.1", "@storybook/addon-essentials": "8.6.12", "@storybook/addon-interactions": "8.6.12", "@storybook/addon-links": "8.6.12", "@storybook/addon-themes": "8.6.12", "@storybook/angular": "8.6.12", "@storybook/manager-api": "8.6.12", "@storybook/test-runner": "0.22.0", "@storybook/theming": "8.6.12", "@storybook/web-components-webpack5": "8.6.12", "@tailwindcss/container-queries": "0.1.1", "@types/chrome": "0.1.12", "@types/firefox-webext-browser": "120.0.4", "@types/inquirer": "8.2.10", "@types/jest": "29.5.14", "@types/jsdom": "21.1.7", "@types/koa": "3.0.0", "@types/koa__multer": "2.0.7", "@types/koa__router": "12.0.4", "@types/koa-bodyparser": "4.3.7", "@types/koa-json": "2.0.23", "@types/lowdb": "1.0.15", "@types/lunr": "2.3.7", "@types/node": "22.18.11", "@types/node-fetch": "2.6.4", "@types/node-forge": "1.3.11", "@types/papaparse": "5.3.16", "@types/proper-lockfile": "4.1.4", "@types/retry": "0.12.5", "@types/zxcvbn": "4.4.5", "@typescript-eslint/rule-tester": "8.31.0", "@typescript-eslint/utils": "8.31.0", "@webcomponents/custom-elements": "1.6.0", "@yao-pkg/pkg": "6.5.1", "angular-eslint": "19.6.0", "autoprefixer": "10.4.21", "axe-playwright": "2.2.2", "babel-loader": "9.2.1", "base64-loader": "1.0.0", "browserslist": "4.23.2", "chromatic": "13.3.1", "concurrently": "9.2.0", "copy-webpack-plugin": "13.0.0", "cross-env": "10.1.0", "css-loader": "7.1.2", "electron": "37.7.0", "electron-builder": "26.0.12", "electron-log": "5.4.0", "electron-reload": "2.0.0-alpha.1", "electron-store": "8.2.0", "electron-updater": "6.6.4", "eslint": "9.26.0", "eslint-config-prettier": "10.1.2", "eslint-import-resolver-typescript": "4.3.4", "eslint-plugin-import": "2.31.0", "eslint-plugin-rxjs": "5.0.3", "eslint-plugin-rxjs-angular": "2.0.1", "eslint-plugin-storybook": "0.12.0", "eslint-plugin-tailwindcss": "3.18.0", "html-loader": "5.1.0", "html-webpack-injector": "1.1.4", "html-webpack-plugin": "5.6.3", "husky": "9.1.7", "jest-diff": "29.7.0", "jest-junit": "16.0.0", "jest-mock-extended": "3.0.7", "jest-preset-angular": "14.6.1", "json5": "2.2.3", "lint-staged": "16.0.0", "mini-css-extract-plugin": "2.9.2", "nx": "21.3.11", "postcss": "8.5.3", "postcss-loader": "8.1.1", "prettier": "3.6.2", "prettier-plugin-tailwindcss": "0.6.11", "process": "0.11.10", "remark-gfm": "4.0.1", "rimraf": "6.0.1", "sass": "1.88.0", "sass-loader": "16.0.4", "storybook": "8.6.12", "style-loader": "4.0.0", "tailwindcss": "3.4.17", "ts-jest": "29.4.5", "ts-loader": "9.5.2", "tsconfig-paths-webpack-plugin": "4.2.0", "type-fest": "2.19.0", "typescript": "5.8.3", "typescript-eslint": "8.31.0", "typescript-strict-plugin": "2.4.4", "url": "0.11.4", "util": "0.12.5", "wait-on": "9.0.1", "webpack": "5.99.7", "webpack-cli": "6.0.1", "webpack-dev-server": "5.2.1", "webpack-node-externals": "3.0.0" }, "dependencies": { "@angular/animations": "19.2.14", "@angular/cdk": "19.2.18", "@angular/common": "19.2.14", "@angular/compiler": "19.2.14", "@angular/core": "19.2.14", "@angular/forms": "19.2.14", "@angular/platform-browser": "19.2.14", "@angular/platform-browser-dynamic": "19.2.14", "@angular/router": "19.2.14", "@bitwarden/sdk-internal": "0.2.0-main.365", "@bitwarden/commercial-sdk-internal": "0.2.0-main.365", "@electron/fuses": "1.8.0", "@emotion/css": "11.13.5", "@koa/multer": "4.0.0", "@koa/router": "14.0.0", "@microsoft/signalr": "8.0.7", "@microsoft/signalr-protocol-msgpack": "8.0.7", "@ng-select/ng-select": "14.9.0", "@nx/devkit": "21.3.11", "@nx/eslint": "21.3.11", "@nx/jest": "21.3.11", "@nx/js": "21.3.11", "@nx/webpack": "21.3.11", "big-integer": "1.6.52", "braintree-web-drop-in": "1.44.0", "buffer": "6.0.3", "bufferutil": "4.0.9", "chalk": "4.1.2", "commander": "14.0.0", "core-js": "3.45.0", "form-data": "4.0.4", "https-proxy-agent": "7.0.6", "inquirer": "8.2.6", "jsdom": "26.1.0", "jszip": "3.10.1", "koa": "2.16.1", "koa-bodyparser": "4.4.1", "koa-json": "2.0.2", "lit": "3.3.0", "lowdb": "1.0.0", "lunr": "2.3.9", "multer": "2.0.2", "ngx-toastr": "19.1.0", "node-fetch": "2.6.12", "node-forge": "1.3.1", "oidc-client-ts": "2.4.1", "open": "10.1.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.2", "tabbable": "6.2.0", "tldts": "7.0.1", "ts-node": "10.9.2", "utf-8-validate": "6.0.5", "zone.js": "0.15.1", "zxcvbn": "4.4.2" }, "overrides": { "eslint-plugin-rxjs": { "eslint": "$eslint" }, "eslint-plugin-rxjs-angular": { "eslint": "$eslint" }, "tailwindcss": "$tailwindcss", "parse5": "7.2.1", "react": "18.3.1", "react-dom": "18.3.1", "@types/react": "18.3.20" }, "lint-staged": { "*": "prettier --cache --ignore-unknown --write", "*.ts": "eslint --cache --cache-strategy content --fix" }, "engines": { "node": "~22", "npm": "~10" } }