{ "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 install", "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": "for p in libs/**/tsconfig.spec.json; do echo \"Typechecking $p\"; tsc --noEmit --project $p; done", "docs:json": "compodoc -p ./tsconfig.json -e json -d .", "storybook": "npm run docs:json && start-storybook -p 6006", "build-storybook": "npm run docs:json && build-storybook", "chromatic": "chromatic --exit-zero-on-changes" }, "workspaces": [ "apps/*", "apps/desktop/desktop_native", "libs/*" ], "devDependencies": { "@angular-devkit/build-angular": "^15.2.2", "@angular-eslint/eslint-plugin": "^15.2.1", "@angular-eslint/eslint-plugin-template": "^15.2.1", "@angular-eslint/template-parser": "^15.2.1", "@angular/cli": "^15.2.2", "@angular/compiler-cli": "^15.2.2", "@angular/elements": "^15.2.2", "@compodoc/compodoc": "^1.1.19", "@electron/notarize": "^1.2.3", "@electron/rebuild": "^3.2.10", "@fluffy-spoon/substitute": "^1.208.0", "@ngtools/webpack": "^15.2.2", "@storybook/addon-a11y": "^6.5.16", "@storybook/addon-actions": "^6.5.16", "@storybook/addon-essentials": "^6.5.16", "@storybook/addon-links": "^6.5.16", "@storybook/angular": "^6.5.16", "@storybook/builder-webpack5": "^6.5.16", "@storybook/manager-webpack5": "^6.5.16", "@types/argon2-browser": "^1.18.1", "@types/chrome": "^0.0.190", "@types/duo_web_sdk": "^2.7.1", "@types/firefox-webext-browser": "^82.0.0", "@types/inquirer": "^8.2.1", "@types/jest": "^27.5.0", "@types/jquery": "^3.5.14", "@types/jsdom": "^21.1.0", "@types/koa": "^2.13.4", "@types/koa__multer": "^2.0.4", "@types/koa__router": "^8.0.11", "@types/koa-bodyparser": "4.3.7", "@types/koa-json": "^2.0.20", "@types/lowdb": "^1.0.11", "@types/lunr": "^2.3.4", "@types/node": "^16.18.14", "@types/node-fetch": "^2.6.1", "@types/node-forge": "^1.0.2", "@types/node-ipc": "^9.2.0", "@types/papaparse": "^5.3.2", "@types/proper-lockfile": "^4.1.2", "@types/retry": "^0.12.2", "@types/zxcvbn": "^4.4.1", "@typescript-eslint/eslint-plugin": "^5.51.0", "@typescript-eslint/parser": "^5.51.0", "autoprefixer": "^10.4.7", "base64-loader": "^1.0.0", "buffer": "^6.0.3", "chromatic": "^6.5.6", "clean-webpack-plugin": "^4.0.0", "concurrently": "^7.2.1", "copy-webpack-plugin": "^11.0.0", "cross-env": "^7.0.3", "css-loader": "^6.5.1", "del": "^6.0.0", "electron": "21.3.1", "electron-builder": "^23.6.0", "electron-log": "^4.4.8", "electron-notarize": "^1.2.2", "electron-rebuild": "^3.2.9", "electron-reload": "^2.0.0-alpha.1", "electron-store": "^8.1.0", "electron-updater": "^5.3.0", "eslint": "^8.14.0", "eslint-config-prettier": "^8.5.0", "eslint-import-resolver-typescript": "^2.7.1", "eslint-plugin-import": "2.26.0", "eslint-plugin-rxjs": "^5.0.2", "eslint-plugin-rxjs-angular": "^2.0.0", "eslint-plugin-tailwindcss": "^3.8.3", "gulp": "^4.0.2", "gulp-filter": "^7.0.0", "gulp-if": "^3.0.0", "gulp-json-editor": "^2.5.5", "gulp-replace": "^1.1.0", "gulp-zip": "^5.1.0", "html-loader": "^4.1.0", "html-webpack-injector": "^1.1.4", "html-webpack-plugin": "^5.5.0", "husky": "^8.0.1", "jest-junit": "^15.0.0", "jest-mock-extended": "2.0.6", "jest-preset-angular": "^12.2.6", "lint-staged": "^13.0.3", "mini-css-extract-plugin": "^2.4.5", "node-ipc": "9.2.1", "pkg": "5.8.0", "postcss": "^8.4.14", "postcss-loader": "^7.0.1", "prettier": "2.8.4", "prettier-plugin-tailwindcss": "^0.2.5", "process": "^0.11.10", "regedit": "^3.0.3", "rimraf": "^3.0.2", "sass": "^1.34.1", "sass-loader": "^13.0.2", "storybook-addon-designs": "^6.2.1", "style-loader": "^3.3.1", "tailwindcss": "^3.0.24", "tapable": "^1.1.3", "ts-jest": "^28.0.6", "ts-loader": "^9.2.5", "tsconfig-paths-webpack-plugin": "^3.5.2", "type-fest": "^2.18.0", "typescript": "4.9.5", "url": "^0.11.0", "util": "^0.12.4", "wait-on": "^6.0.1", "webpack": "^5.64.4", "webpack-cli": "^4.9.1", "webpack-dev-server": "^4.9.3", "webpack-node-externals": "^3.0.0" }, "dependencies": { "@angular/animations": "^15.2.2", "@angular/cdk": "^15.2.2", "@angular/common": "^15.2.2", "@angular/compiler": "^15.2.2", "@angular/core": "^15.2.2", "@angular/forms": "^15.2.2", "@angular/platform-browser": "^15.2.2", "@angular/platform-browser-dynamic": "^15.2.2", "@angular/router": "^15.2.2", "@koa/multer": "^3.0.0", "@koa/router": "^10.1.1", "@microsoft/signalr": "^6.0.7", "@microsoft/signalr-protocol-msgpack": "^6.0.7", "@ng-select/ng-select": "^10.0.3", "argon2": "^0.30.3", "argon2-browser": "^1.18.0", "big-integer": "^1.6.51", "bootstrap": "4.6.0", "braintree-web-drop-in": "^1.33.1", "bufferutil": "^4.0.6", "chalk": "^4.1.0", "commander": "^7.2.0", "core-js": "^3.11.0", "date-input-polyfill": "^2.14.0", "duo_web_sdk": "github:duosecurity/duo_web_sdk", "form-data": "4.0.0", "https-proxy-agent": "5.0.0", "inquirer": "8.0.0", "jquery": "3.6.0", "jsdom": "^16.7.0", "jszip": "^3.10.0", "koa": "^2.13.4", "koa-bodyparser": "^4.3.0", "koa-json": "^2.0.2", "lowdb": "^1.0.0", "lunr": "^2.3.9", "multer": "^1.4.5-lts.1", "ngx-infinite-scroll": "^15.0.0", "ngx-toastr": "^16.0.2", "node-fetch": "^2.6.7", "node-forge": "^1.3.1", "nord": "0.2.1", "open": "^8.4.0", "papaparse": "^5.3.2", "popper.js": "^1.16.1", "proper-lockfile": "^4.1.2", "qrious": "4.0.2", "rxjs": "^7.5.5", "sweetalert2": "10.16.9", "tldts": "^5.7.84", "utf-8-validate": "^5.0.9", "zone.js": "0.12.0", "zxcvbn": "^4.4.2" }, "overrides": { "tailwindcss": "$tailwindcss", "react": "^18.0.0", "@storybook/angular": { "zone.js": "$zone.js" } }, "lint-staged": { "*": "prettier --cache --ignore-unknown --write", "*.ts": "eslint --cache --cache-strategy content --fix" }, "engines": { "node": "~16", "npm": "~8" } }