diff --git a/.eslintrc.json b/.eslintrc.json index 2b52485689a..ce9c4a33426 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 99ce80376d3..45d9df649bc 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 e1bf2b7211c..eb2c02fd3fd 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 a62d494f294..eb054ba80ba 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 07d244ee602..f6ea012c368 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 6b40d447419..afe66845c6a 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 27095e1da91..05517df57c8 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 452a565c9e4..517b2a4d164 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 00000000000..a8bd7029830 --- /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 00000000000..100075fc7a7 --- /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 00000000000..81bbbde4358 --- /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 00000000000..e69de29bb2d diff --git a/libs/tools/send/send-ui/tsconfig.json b/libs/tools/send/send-ui/tsconfig.json new file mode 100644 index 00000000000..c52bfd7b0df --- /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 00000000000..fc8520e7376 --- /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 7d4aee3fb36..ccb483f9b6f 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 0a519a5b7e4..6b9e3d960ee 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"],