From 86d6be318716c0ce08160ee9548b1afce90f764a Mon Sep 17 00:00:00 2001 From: Daniel James Smith <2670567+djsmith85@users.noreply.github.com> Date: Wed, 29 May 2024 12:26:40 +0200 Subject: [PATCH] [PM-8448] Create BItwarden Send UI library package (#9402) * Create the send-ui library package Create folder Create package.json Create jest config Create tsconfig and tsconfig.spec.json Create README Add empty barrel file for exporting future members * Register @bitwarden/send-ui with all clients and libs * Register with eslint * Fix linting issue with README --------- Co-authored-by: Daniel James Smith --- .eslintrc.json | 6 ++++++ .github/whitelist-capital-letters.txt | 1 + apps/browser/tsconfig.json | 1 + apps/desktop/tsconfig.json | 1 + apps/web/tsconfig.json | 1 + bitwarden_license/bit-common/tsconfig.json | 1 + bitwarden_license/bit-web/tsconfig.json | 1 + libs/shared/tsconfig.libs.json | 1 + libs/tools/send/README.md | 17 ++++++++++++++++ libs/tools/send/send-ui/jest.config.js | 13 ++++++++++++ libs/tools/send/send-ui/package.json | 23 ++++++++++++++++++++++ libs/tools/send/send-ui/src/index.ts | 0 libs/tools/send/send-ui/tsconfig.json | 5 +++++ libs/tools/send/send-ui/tsconfig.spec.json | 3 +++ tsconfig.eslint.json | 1 + tsconfig.json | 1 + 16 files changed, 76 insertions(+) create mode 100644 libs/tools/send/README.md create mode 100644 libs/tools/send/send-ui/jest.config.js create mode 100644 libs/tools/send/send-ui/package.json create mode 100644 libs/tools/send/send-ui/src/index.ts create mode 100644 libs/tools/send/send-ui/tsconfig.json create mode 100644 libs/tools/send/send-ui/tsconfig.spec.json diff --git a/.eslintrc.json b/.eslintrc.json index 2b52485689..ce9c4a3342 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -218,6 +218,12 @@ "no-restricted-imports": ["error", { "patterns": ["@bitwarden/platform/*", "src/**/*"] }] } }, + { + "files": ["libs/tools/send/send-ui/src/**/*.ts"], + "rules": { + "no-restricted-imports": ["error", { "patterns": ["@bitwarden/send-ui/*", "src/**/*"] }] + } + }, { "files": ["libs/vault/src/**/*.ts"], "rules": { diff --git a/.github/whitelist-capital-letters.txt b/.github/whitelist-capital-letters.txt index 99ce80376d..45d9df649b 100644 --- a/.github/whitelist-capital-letters.txt +++ b/.github/whitelist-capital-letters.txt @@ -21,6 +21,7 @@ ./libs/platform/README.md ./libs/tools/README.md ./libs/tools/export/vault-export/README.md +./libs/tools/send/README.md ./libs/vault/README.md ./README.md ./LICENSE_BITWARDEN.txt diff --git a/apps/browser/tsconfig.json b/apps/browser/tsconfig.json index e1bf2b7211..eb2c02fd3f 100644 --- a/apps/browser/tsconfig.json +++ b/apps/browser/tsconfig.json @@ -26,6 +26,7 @@ "@bitwarden/importer/core": ["../../libs/importer/src"], "@bitwarden/importer/ui": ["../../libs/importer/src/components"], "@bitwarden/platform": ["../../libs/platform/src"], + "@bitwarden/send-ui": ["../../libs/tools/send/send-ui/src"], "@bitwarden/vault": ["../../libs/vault/src"] }, "useDefineForClassFields": false diff --git a/apps/desktop/tsconfig.json b/apps/desktop/tsconfig.json index a62d494f29..eb054ba80b 100644 --- a/apps/desktop/tsconfig.json +++ b/apps/desktop/tsconfig.json @@ -25,6 +25,7 @@ "@bitwarden/importer/ui": ["../../libs/importer/src/components"], "@bitwarden/node/*": ["../../libs/node/src/*"], "@bitwarden/platform": ["../../libs/platform/src"], + "@bitwarden/send-ui": ["../../libs/tools/send/send-ui/src"], "@bitwarden/vault": ["../../libs/vault/src"] }, "useDefineForClassFields": false diff --git a/apps/web/tsconfig.json b/apps/web/tsconfig.json index 07d244ee60..f6ea012c36 100644 --- a/apps/web/tsconfig.json +++ b/apps/web/tsconfig.json @@ -19,6 +19,7 @@ "@bitwarden/importer/core": ["../../libs/importer/src"], "@bitwarden/importer/ui": ["../../libs/importer/src/components"], "@bitwarden/platform": ["../../libs/platform/src"], + "@bitwarden/send-ui": ["../../libs/tools/send/send-ui/src"], "@bitwarden/vault": ["../../libs/vault/src"], "@bitwarden/web-vault/*": ["src/*"] } diff --git a/bitwarden_license/bit-common/tsconfig.json b/bitwarden_license/bit-common/tsconfig.json index 6b40d44741..afe66845c6 100644 --- a/bitwarden_license/bit-common/tsconfig.json +++ b/bitwarden_license/bit-common/tsconfig.json @@ -15,6 +15,7 @@ "../../libs/tools/export/vault-export/vault-export-core/src" ], "@bitwarden/vault-export-ui": ["../../libs/tools/export/vault-export/vault-export-core/src"], + "@bitwarden/send-ui": ["../../libs/tools/send/send-ui/src"], "@bitwarden/platform": ["../../libs/platform/src"], "@bitwarden/vault": ["../../libs/vault/src"], "@bitwarden/web-vault/*": ["../../apps/web/src/*"], diff --git a/bitwarden_license/bit-web/tsconfig.json b/bitwarden_license/bit-web/tsconfig.json index 27095e1da9..05517df57c 100644 --- a/bitwarden_license/bit-web/tsconfig.json +++ b/bitwarden_license/bit-web/tsconfig.json @@ -19,6 +19,7 @@ "@bitwarden/importer/core": ["../../libs/importer/src"], "@bitwarden/importer/ui": ["../../libs/importer/src/components"], "@bitwarden/platform": ["../../libs/platform/src"], + "@bitwarden/send-ui": ["../../libs/tools/send/send-ui/src"], "@bitwarden/vault": ["../../libs/vault/src"], "@bitwarden/web-vault/*": ["../../apps/web/src/*"], diff --git a/libs/shared/tsconfig.libs.json b/libs/shared/tsconfig.libs.json index 452a565c9e..517b2a4d16 100644 --- a/libs/shared/tsconfig.libs.json +++ b/libs/shared/tsconfig.libs.json @@ -15,6 +15,7 @@ "@bitwarden/importer/core": ["../importer/src"], "@bitwarden/importer/ui": ["../importer/src/components"], "@bitwarden/platform": ["../platform/src"], + "@bitwarden/send-ui": ["../tools/send/send-ui/src"], "@bitwarden/node/*": ["../node/src/*"], "@bitwarden/vault": ["../vault/src"] } diff --git a/libs/tools/send/README.md b/libs/tools/send/README.md new file mode 100644 index 0000000000..a8bd702983 --- /dev/null +++ b/libs/tools/send/README.md @@ -0,0 +1,17 @@ +# Bitwarden Send + +This folder contains 2 packages that can be used to create and modify Sends. + +## semd-core + +Package name: `@bitwarden/send-core` + +Contains all types, models, and services for Bitwarden Send + +Currently in use by the Bitwarden Web Vault, CLI, desktop app and browser extension + +## send-ui + +Package name: `@bitwarden/send-ui` + +Contains all UI components used for Bitwarden Send diff --git a/libs/tools/send/send-ui/jest.config.js b/libs/tools/send/send-ui/jest.config.js new file mode 100644 index 0000000000..100075fc7a --- /dev/null +++ b/libs/tools/send/send-ui/jest.config.js @@ -0,0 +1,13 @@ +const { pathsToModuleNameMapper } = require("ts-jest"); + +const { compilerOptions } = require("../../../shared/tsconfig.libs"); + +/** @type {import('jest').Config} */ +module.exports = { + testMatch: ["**/+(*.)+(spec).+(ts)"], + preset: "ts-jest", + testEnvironment: "jsdom", + moduleNameMapper: pathsToModuleNameMapper(compilerOptions?.paths || {}, { + prefix: "/../../../", + }), +}; diff --git a/libs/tools/send/send-ui/package.json b/libs/tools/send/send-ui/package.json new file mode 100644 index 0000000000..81bbbde435 --- /dev/null +++ b/libs/tools/send/send-ui/package.json @@ -0,0 +1,23 @@ +{ + "name": "@bitwarden/send-ui", + "version": "0.0.0", + "description": "Angular components for Bitwarden Send", + "keywords": [ + "bitwarden" + ], + "author": "Bitwarden Inc.", + "homepage": "https://bitwarden.com", + "repository": { + "type": "git", + "url": "https://github.com/bitwarden/clients" + }, + "license": "GPL-3.0", + "scripts": { + "clean": "rimraf dist", + "build": "npm run clean && tsc", + "build:watch": "npm run clean && tsc -watch" + }, + "dependencies": { + "@bitwarden/common": "file:../../../common" + } +} diff --git a/libs/tools/send/send-ui/src/index.ts b/libs/tools/send/send-ui/src/index.ts new file mode 100644 index 0000000000..e69de29bb2 diff --git a/libs/tools/send/send-ui/tsconfig.json b/libs/tools/send/send-ui/tsconfig.json new file mode 100644 index 0000000000..c52bfd7b0d --- /dev/null +++ b/libs/tools/send/send-ui/tsconfig.json @@ -0,0 +1,5 @@ +{ + "extends": "../../../shared/tsconfig.libs", + "include": ["src"], + "exclude": ["node_modules", "dist"] +} diff --git a/libs/tools/send/send-ui/tsconfig.spec.json b/libs/tools/send/send-ui/tsconfig.spec.json new file mode 100644 index 0000000000..fc8520e737 --- /dev/null +++ b/libs/tools/send/send-ui/tsconfig.spec.json @@ -0,0 +1,3 @@ +{ + "extends": "./tsconfig.json" +} diff --git a/tsconfig.eslint.json b/tsconfig.eslint.json index 7d4aee3fb3..ccb483f9b6 100644 --- a/tsconfig.eslint.json +++ b/tsconfig.eslint.json @@ -25,6 +25,7 @@ "@bitwarden/vault-export-ui": [".libs/tools/export/vault-export/vault-export-ui/src"], "@bitwarden/importer/core": ["./libs/importer/src"], "@bitwarden/importer/ui": ["./libs/importer/src/components"], + "@bitwarden/send-ui": [".libs/tools/send/send-ui/src"], "@bitwarden/platform": ["./libs/platform/src"], "@bitwarden/node/*": ["./libs/node/src/*"], "@bitwarden/vault": ["./libs/vault/src"], diff --git a/tsconfig.json b/tsconfig.json index 0a519a5b7e..6b9e3d960e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -27,6 +27,7 @@ "@bitwarden/importer/core": ["./libs/importer/src"], "@bitwarden/importer/ui": ["./libs/importer/src/components"], "@bitwarden/platform": ["./libs/platform/src"], + "@bitwarden/send-ui": ["./libs/tools/send/send-ui/src"], "@bitwarden/node/*": ["./libs/node/src/*"], "@bitwarden/web-vault/*": ["./apps/web/src/*"], "@bitwarden/vault": ["./libs/vault/src"],