{ "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 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.231", "@types/duo_web_sdk": "2.7.1", "@types/firefox-webext-browser": "82.0.1", "@types/inquirer": "8.2.6", "@types/jest": "27.5.2", "@types/jquery": "3.5.16", "@types/jsdom": "21.1.0", "@types/koa": "2.13.5", "@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.2", "@types/node-forge": "1.3.1", "@types/node-ipc": "9.2.0", "@types/papaparse": "5.3.7", "@types/proper-lockfile": "4.1.2", "@types/retry": "0.12.2", "@types/zxcvbn": "4.4.1", "@typescript-eslint/eslint-plugin": "5.54.1", "@typescript-eslint/parser": "5.54.1", "autoprefixer": "10.4.14", "base64-loader": "1.0.0", "buffer": "6.0.3", "chromatic": "6.17.1", "clean-webpack-plugin": "4.0.0", "concurrently": "7.6.0", "copy-webpack-plugin": "11.0.0", "cross-env": "7.0.3", "css-loader": "6.7.3", "del": "6.1.1", "electron": "24.1.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.36.0", "eslint-config-prettier": "8.7.0", "eslint-import-resolver-typescript": "2.7.1", "eslint-plugin-import": "2.27.5", "eslint-plugin-rxjs": "5.0.2", "eslint-plugin-rxjs-angular": "2.0.0", "eslint-plugin-tailwindcss": "3.10.1", "gulp": "4.0.2", "gulp-filter": "7.0.0", "gulp-if": "3.0.0", "gulp-json-editor": "2.5.6", "gulp-replace": "1.1.4", "gulp-zip": "5.1.0", "html-loader": "4.2.0", "html-webpack-injector": "1.1.4", "html-webpack-plugin": "5.5.0", "husky": "8.0.3", "jest-junit": "15.0.0", "jest-mock-extended": "2.0.9", "jest-preset-angular": "12.2.6", "lint-staged": "13.2.0", "mini-css-extract-plugin": "2.7.3", "node-ipc": "9.2.1", "pkg": "5.8.1", "postcss": "8.4.21", "postcss-loader": "7.0.2", "prettier": "2.8.7", "prettier-plugin-tailwindcss": "0.2.8", "process": "0.11.10", "regedit": "^3.0.3", "rimraf": "3.0.2", "sass": "1.59.2", "sass-loader": "13.2.0", "storybook-addon-designs": "6.3.1", "style-loader": "3.3.1", "tailwindcss": "3.3.2", "tapable": "1.1.3", "ts-jest": "28.0.8", "ts-loader": "9.4.2", "tsconfig-paths-webpack-plugin": "3.5.2", "type-fest": "2.19.0", "typescript": "4.9.5", "url": "0.11.0", "util": "0.12.5", "wait-on": "6.0.1", "webpack": "5.76.1", "webpack-cli": "4.10.0", "webpack-dev-server": "4.11.1", "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.2", "@koa/router": "10.1.1", "@microsoft/signalr": "6.0.14", "@microsoft/signalr-protocol-msgpack": "6.0.14", "@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.36.0", "bufferutil": "4.0.7", "chalk": "4.1.2", "commander": "7.2.0", "core-js": "3.29.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.1", "inquirer": "8.2.5", "jquery": "3.6.4", "jsdom": "16.7.0", "jszip": "3.10.1", "koa": "2.14.1", "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.1.0", "node-fetch": "2.6.9", "node-forge": "1.3.1", "nord": "0.2.1", "open": "8.4.2", "papaparse": "5.4.0", "popper.js": "1.16.1", "proper-lockfile": "4.1.2", "qrious": "4.0.2", "rxjs": "7.8.0", "sweetalert2": "10.16.11", "tldts": "5.7.111", "utf-8-validate": "5.0.10", "zone.js": "0.12.0", "zxcvbn": "4.4.2" }, "overrides": { "tailwindcss": "$tailwindcss", "react": "18.2.0", "@storybook/angular": { "zone.js": "0.12.0" } }, "lint-staged": { "*": "prettier --cache --ignore-unknown --write", "*.ts": "eslint --cache --cache-strategy content --fix" }, "engines": { "node": "~18", "npm": "~9" } }