1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-11-20 11:25:37 +01:00
bitwarden-browser/package.json
Will Martin ec866c744e
[PM-4195] LastPass importer flow (#6541)
* Split up import/export into separate modules

* Fix routing and apply PR feedback

* Renamed OrganizationExport exports to OrganizationVaultExport

* Make import dialogs standalone and move them to libs/importer

* Make import.component re-usable

- Move functionality which was previously present on the org-import.component into import.component
- Move import.component into libs/importer
Make import.component standalone
Create import-web.component to represent Web UI
Fix module imports and routing
Remove unused org-import-files

* Enable importing on deskop

Create import-dialog
Create file-menu entry to open import-dialog
Extend messages.json to include all the necessary messages from shared components

* Renamed filenames according to export rename

* Make ImportWebComponent standalone, simplify routing

* Pass organizationId as Input to ImportComponent

* use formLoading and formDisabled outputs

* use formLoading & formDisabled in desktop

* Emit an event when the import succeeds

Remove Angular router from base-component as other clients might not have routing (i.e. desktop)
Move logic that happened on web successful import into the import-web.component

* Enable importing on deskop

Create import-dialog
Create file-menu entry to open import-dialog
Extend messages.json to include all the necessary messages from shared components

* use formLoading & formDisabled in desktop

* Add missing message for importBlockedByPolicy callout

* Remove commented code for submit button

* Implement onSuccessfulImport to close dialog on success

* fix table themes on desktop & browser

* fix fileSelector button styles

* update selectors to use tools prefix; remove unused selectors

* update selectors

* Wall off UI components in libs/importer

Create barrel-file for libs/importer/components
Remove components and dialog exports from libs/importer/index.ts
Extend libs/shared/tsconfig.libs.json to include @bitwarden/importer/ui -> libs/importer/components
Extend apps/web/tsconfig.ts to include @bitwarden/importer/ui
Update all usages

* Rename @bitwarden/importer to @bitwarden/importer/core

Create more barrel files in libs/importer/*
Update imports within libs/importer
Extend tsconfig files
Update imports in web, desktop, browser and cli

* import-lastpass wip

* Lazy-load the ImportWebComponent via both routes

* Fix import path for ImportComponent

* add validation; add shared folders field

* clean up logic

* fill fileContent on account change

* Use SharedModule as import in import-web.component

* show spinner on pending validation; properly debounce; refactor to loadCSVData func

* fix pending submit guard

* hide on web, show on desktop & browser

* reset user agent fieldset styles

* fix validation

* File selector should be displayed as secondary

* update validation

* Fix setUserTypeContext always throwing

* refactor to password dialog approach

* remove control on destroy; dont submit on enter keydown

* helper to serialize vault accounts (#6556)

* helper to serialize vault accounts

* prettier

* add prompts

* Add missing messages for file-password-prompt

* Add missing messages for import-error-dialog

* Add missing message for import-success-dialog

* Create client-info

* Separate submit and handling import, add error-handling

* Move catch and error handling into submit

* Remove AsyncValidator logic from handleImport

* Add support for filtering shared accounts

* add sso flow to lp import (#6574)

* stub out some sso flow

* use computer props

* lastpass callback

* baseOpenIDConnectAuthority

* openIDConnectAuthorityBase

* comments

* camelCase user type context model

* processSigninResponse

* Refactor handleImport

* use large dialogSize

* remove extra setUserTypeContext

* fix passwordGenerationService provider; pass all errors to ValidationErrors

* add await SSO dialog & logic

* Move lastpass related files into separate folder

* Use bitSubmit to override submit preventDefault (#6607)

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>

* Use large dialogSize

* revert jslib changes

* PM-4398 - Add missing importWarning

* make ui class methods async

* add LastPassDirectImportService

* update error handling

* add OOB methods (manual passcode only)

* fix typo

* respond to SSO callback

* localize error messages

* remove uneeded comment

* update i18n

* add await sso i18n

* add not implemented error to service

* fix getting k2

* fix k1 bugs

* null checks should not be strict

* update awaiting sso dialog

* update approveDuoWebSdk

* refactor oob login flow

* Removing fieldset due to merge of https://github.com/bitwarden/clients/pull/6626

* Refactoring to push logic into the service vs the component

Move all methods related to MFA-UI into a LastPassDirectImportUIService
Move all logic around the import into a LastPassDirectImportService
The component now only has the necessary flows but no knowledge on how to use the lastpass import lib or the need for a OIDC client

* Remove unneeded passwordGenerationService

* move all import logic to service

* apply code review: remove name attributes; use protected fields; use formGroup.value

* rename submit method and add comment

* update textarea id

* update i18n

* remove rogue todo comment

* extract helper asyncValidatorsFinished

* Remove files related to DuoUI we didn't need to differentiate for MFA via Duo

* Add missing import

* revert formGroup.value access

* add email to signInRequest

* add try again error message

* add try again i18n

* consistent clientinfo id (#6654)



---------

Co-authored-by: William Martin <contact@willmartian.com>

* hide on browser

* add lastpass prefix

* add shared i18n copy to web and browser

* rename deeplink

* use protected field

* rename el ids

* refactor: remove nested conditional

* update form ids in consuming client components

* remove unnecessary return statement

* fix file id

* use ngIf

* use hidden because of getElementById

* Remove OIDC lib logging

---------

Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>
Co-authored-by: Daniel James Smith <2670567+djsmith85@users.noreply.github.com>
Co-authored-by: Kyle Spearrin <kspearrin@users.noreply.github.com>
Co-authored-by: Kyle Spearrin <kyle.spearrin@gmail.com>
2023-10-23 17:46:49 +00:00

223 lines
6.7 KiB
JSON

{
"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": "node ./scripts/test-types.js",
"docs:json": "compodoc -p ./tsconfig.json -e json -d .",
"storybook": "ng run components:storybook",
"build-storybook": "ng run components:build-storybook",
"build-storybook:ci": "ng run components:build-storybook --webpack-stats-json",
"postinstall": "patch-package"
},
"workspaces": [
"apps/*",
"apps/desktop/desktop_native",
"libs/*"
],
"devDependencies": {
"@angular-devkit/build-angular": "15.2.9",
"@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.9",
"@angular/compiler-cli": "15.2.9",
"@angular/elements": "15.2.9",
"@compodoc/compodoc": "1.1.21",
"@electron/notarize": "1.2.4",
"@electron/rebuild": "3.2.13",
"@ngtools/webpack": "15.2.9",
"@storybook/addon-a11y": "7.3.0",
"@storybook/addon-actions": "7.3.0",
"@storybook/addon-designs": "7.0.4",
"@storybook/addon-essentials": "7.3.0",
"@storybook/addon-links": "7.3.0",
"@storybook/angular": "7.3.0",
"@types/argon2-browser": "1.18.1",
"@types/chrome": "0.0.243",
"@types/duo_web_sdk": "2.7.1",
"@types/firefox-webext-browser": "111.0.1",
"@types/inquirer": "8.2.6",
"@types/jest": "29.5.3",
"@types/jquery": "3.5.16",
"@types/jsdom": "21.1.1",
"@types/koa": "2.13.8",
"@types/koa__multer": "2.0.4",
"@types/koa__router": "12.0.0",
"@types/koa-bodyparser": "4.3.7",
"@types/koa-json": "2.0.20",
"@types/lowdb": "1.0.11",
"@types/lunr": "2.3.4",
"@types/node": "18.17.5",
"@types/node-fetch": "2.6.4",
"@types/node-forge": "1.3.4",
"@types/node-ipc": "9.2.0",
"@types/papaparse": "5.3.7",
"@types/proper-lockfile": "4.1.2",
"@types/react": "16.14.45",
"@types/retry": "0.12.2",
"@types/zxcvbn": "4.4.1",
"@typescript-eslint/eslint-plugin": "5.62.0",
"@typescript-eslint/parser": "5.62.0",
"autoprefixer": "10.4.15",
"base64-loader": "1.0.0",
"buffer": "6.0.3",
"chromatic": "6.22.0",
"clean-webpack-plugin": "4.0.0",
"concurrently": "8.2.0",
"copy-webpack-plugin": "11.0.0",
"cross-env": "7.0.3",
"css-loader": "6.8.1",
"del": "6.1.1",
"electron": "25.9.1",
"electron-builder": "23.6.0",
"electron-log": "4.4.8",
"electron-reload": "2.0.0-alpha.1",
"electron-store": "8.1.0",
"electron-updater": "5.3.0",
"eslint": "8.47.0",
"eslint-config-prettier": "8.10.0",
"eslint-import-resolver-typescript": "3.6.0",
"eslint-plugin-import": "2.28.0",
"eslint-plugin-rxjs": "5.0.3",
"eslint-plugin-rxjs-angular": "2.0.1",
"eslint-plugin-storybook": "0.6.13",
"eslint-plugin-tailwindcss": "3.13.0",
"gulp": "4.0.2",
"gulp-filter": "7.0.0",
"gulp-if": "3.0.0",
"gulp-json-editor": "2.5.7",
"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.3",
"husky": "8.0.3",
"jest-junit": "16.0.0",
"jest-mock-extended": "3.0.5",
"jest-preset-angular": "13.1.1",
"lint-staged": "13.3.0",
"mini-css-extract-plugin": "2.7.6",
"node-ipc": "9.2.1",
"pkg": "5.8.1",
"postcss": "8.4.31",
"postcss-loader": "7.3.3",
"prettier": "2.8.8",
"prettier-plugin-tailwindcss": "0.3.0",
"process": "0.11.10",
"react": "18.2.0",
"react-dom": "18.2.0",
"regedit": "^3.0.3",
"remark-gfm": "3.0.1",
"rimraf": "5.0.1",
"sass": "1.65.1",
"sass-loader": "13.3.2",
"storybook": "7.3.0",
"style-loader": "3.3.3",
"tailwindcss": "3.3.3",
"ts-jest": "29.1.1",
"ts-loader": "9.4.4",
"tsconfig-paths-webpack-plugin": "4.1.0",
"type-fest": "2.19.0",
"typescript": "4.9.5",
"url": "0.11.1",
"util": "0.12.5",
"wait-on": "7.0.1",
"webpack": "5.88.2",
"webpack-cli": "5.1.4",
"webpack-dev-server": "4.15.1",
"webpack-node-externals": "3.0.0"
},
"dependencies": {
"@angular/animations": "15.2.9",
"@angular/cdk": "15.2.9",
"@angular/common": "15.2.9",
"@angular/compiler": "15.2.9",
"@angular/core": "15.2.9",
"@angular/forms": "15.2.9",
"@angular/platform-browser": "15.2.9",
"@angular/platform-browser-dynamic": "15.2.9",
"@angular/router": "15.2.9",
"@koa/multer": "3.0.2",
"@koa/router": "12.0.0",
"@microsoft/signalr": "6.0.21",
"@microsoft/signalr-protocol-msgpack": "6.0.21",
"@ng-select/ng-select": "10.0.4",
"argon2": "0.31.0",
"argon2-browser": "1.18.0",
"big-integer": "1.6.51",
"bootstrap": "4.6.0",
"braintree-web-drop-in": "1.40.0",
"bufferutil": "4.0.7",
"chalk": "4.1.2",
"commander": "7.2.0",
"core-js": "3.32.0",
"duo_web_sdk": "github:duosecurity/duo_web_sdk",
"form-data": "4.0.0",
"https-proxy-agent": "5.0.1",
"inquirer": "8.2.6",
"jquery": "3.7.0",
"jsdom": "22.1.0",
"jszip": "3.10.1",
"koa": "2.14.2",
"koa-bodyparser": "4.4.1",
"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.2.0",
"node-fetch": "2.6.12",
"node-forge": "1.3.1",
"nord": "0.2.1",
"oidc-client-ts": "2.3.0",
"open": "8.4.2",
"papaparse": "5.4.1",
"patch-package": "6.5.1",
"popper.js": "1.16.1",
"proper-lockfile": "4.1.2",
"qrious": "4.0.2",
"rxjs": "7.8.1",
"tldts": "6.0.14",
"utf-8-validate": "5.0.10",
"zone.js": "0.12.0",
"zxcvbn": "4.4.2"
},
"overrides": {
"tailwindcss": "$tailwindcss",
"@storybook/angular": {
"zone.js": "0.12.0"
},
"replacestream": "4.0.3"
},
"resolutions": {
"@types/react": "16.14.45"
},
"lint-staged": {
"*": "prettier --cache --ignore-unknown --write",
"*.ts": "eslint --cache --cache-strategy content --fix"
},
"engines": {
"node": "~18",
"npm": "~9"
}
}