1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-09-27 04:03:00 +02:00

[PM-3587] create @bitwarden/vault lib (#6083)

* add libs/vault

* update configs

* update package lock

* fix typo
This commit is contained in:
Will Martin 2023-08-22 10:02:48 -04:00 committed by GitHub
parent 019d4c2932
commit 5c576fd19e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
20 changed files with 107 additions and 6 deletions

View File

@ -179,6 +179,12 @@
"rules": { "rules": {
"no-restricted-imports": ["error", { "patterns": ["@bitwarden/node/*", "src/**/*"] }] "no-restricted-imports": ["error", { "patterns": ["@bitwarden/node/*", "src/**/*"] }]
} }
},
{
"files": ["libs/vault/src/**/*.ts"],
"rules": {
"no-restricted-imports": ["error", { "patterns": ["@bitwarden/vault/*", "src/**/*"] }]
}
} }
] ]
} }

1
.github/CODEOWNERS vendored
View File

@ -39,6 +39,7 @@ apps/desktop/src/vault @bitwarden/team-vault-dev
apps/web/src/app/vault @bitwarden/team-vault-dev apps/web/src/app/vault @bitwarden/team-vault-dev
libs/angular/src/vault @bitwarden/team-vault-dev libs/angular/src/vault @bitwarden/team-vault-dev
libs/common/src/vault @bitwarden/team-vault-dev libs/common/src/vault @bitwarden/team-vault-dev
libs/vault @bitwarden/team-vault-dev
## Admin Console team files ## ## Admin Console team files ##
apps/browser/src/admin-console @bitwarden/team-admin-console-dev apps/browser/src/admin-console @bitwarden/team-admin-console-dev

View File

@ -25,6 +25,7 @@
./libs/common/src/abstractions/anonymousHub.service.ts ./libs/common/src/abstractions/anonymousHub.service.ts
./libs/common/src/services/anonymousHub.service.ts ./libs/common/src/services/anonymousHub.service.ts
./libs/auth/README.md ./libs/auth/README.md
./libs/vault/README.md
./README.md ./README.md
./LICENSE_BITWARDEN.txt ./LICENSE_BITWARDEN.txt
./CONTRIBUTING.md ./CONTRIBUTING.md

View File

@ -14,7 +14,8 @@
"@bitwarden/auth": ["../../libs/auth/src"], "@bitwarden/auth": ["../../libs/auth/src"],
"@bitwarden/common/*": ["../../libs/common/src/*"], "@bitwarden/common/*": ["../../libs/common/src/*"],
"@bitwarden/components": ["../../libs/components/src"], "@bitwarden/components": ["../../libs/components/src"],
"@bitwarden/exporter/*": ["../../libs/exporter/src/*"] "@bitwarden/exporter/*": ["../../libs/exporter/src/*"],
"@bitwarden/vault": ["../../libs/auth/src"]
}, },
"useDefineForClassFields": false "useDefineForClassFields": false
}, },

View File

@ -14,7 +14,8 @@
"@bitwarden/auth": ["../../libs/auth/src"], "@bitwarden/auth": ["../../libs/auth/src"],
"@bitwarden/common/*": ["../../libs/common/src/*"], "@bitwarden/common/*": ["../../libs/common/src/*"],
"@bitwarden/components": ["../../libs/components/src"], "@bitwarden/components": ["../../libs/components/src"],
"@bitwarden/exporter/*": ["../../libs/exporter/src/*"] "@bitwarden/exporter/*": ["../../libs/exporter/src/*"],
"@bitwarden/vault": ["../../libs/vault/src"]
}, },
"useDefineForClassFields": false "useDefineForClassFields": false
}, },

View File

@ -11,6 +11,7 @@
"@bitwarden/components": ["../../libs/components/src"], "@bitwarden/components": ["../../libs/components/src"],
"@bitwarden/exporter/*": ["../../libs/exporter/src/*"], "@bitwarden/exporter/*": ["../../libs/exporter/src/*"],
"@bitwarden/importer": ["../../libs/importer/src"], "@bitwarden/importer": ["../../libs/importer/src"],
"@bitwarden/vault": ["../../libs/vault/src"],
"@bitwarden/web-vault/*": ["src/*"] "@bitwarden/web-vault/*": ["src/*"]
} }
}, },

View File

@ -7,6 +7,7 @@
"@bitwarden/common/*": ["../../libs/common/src/*"], "@bitwarden/common/*": ["../../libs/common/src/*"],
"@bitwarden/components": ["../../libs/components/src"], "@bitwarden/components": ["../../libs/components/src"],
"@bitwarden/exporter/*": ["../../libs/exporter/src/*"], "@bitwarden/exporter/*": ["../../libs/exporter/src/*"],
"@bitwarden/vault": ["../../libs/vault/src"],
"@bitwarden/web-vault/*": ["../../apps/web/src/*"] "@bitwarden/web-vault/*": ["../../apps/web/src/*"]
} }
}, },

View File

@ -27,6 +27,7 @@ module.exports = {
"<rootDir>/libs/exporter/jest.config.js", "<rootDir>/libs/exporter/jest.config.js",
"<rootDir>/libs/importer/jest.config.js", "<rootDir>/libs/importer/jest.config.js",
"<rootDir>/libs/node/jest.config.js", "<rootDir>/libs/node/jest.config.js",
"<rootDir>/libs/vault/jest.config.js",
], ],
// Workaround for a memory leak that crashes tests in CI: // Workaround for a memory leak that crashes tests in CI:

View File

@ -3,12 +3,13 @@
"compilerOptions": { "compilerOptions": {
"paths": { "paths": {
"@bitwarden/angular/*": ["../angular/src/*"], "@bitwarden/angular/*": ["../angular/src/*"],
"@bitwarden/auth": ["../auth/src/*"], "@bitwarden/auth": ["../auth/src"],
"@bitwarden/common/*": ["../common/src/*"], "@bitwarden/common/*": ["../common/src/*"],
"@bitwarden/components": ["../components/src"], "@bitwarden/components": ["../components/src"],
"@bitwarden/exporter/*": ["../exporter/src/*"], "@bitwarden/exporter/*": ["../exporter/src/*"],
"@bitwarden/importer": ["../importer/src"], "@bitwarden/importer": ["../importer/src"],
"@bitwarden/node/*": ["../node/src/*"] "@bitwarden/node/*": ["../node/src/*"],
"@bitwarden/vault": ["../vault/src"]
} }
} }
} }

3
libs/vault/README.md Normal file
View File

@ -0,0 +1,3 @@
# Vault
This lib represents the public API of the Vault team at Bitwarden. Modules are imported using `@bitwarden/vault`.

16
libs/vault/jest.config.js Normal file
View File

@ -0,0 +1,16 @@
const { pathsToModuleNameMapper } = require("ts-jest");
const { compilerOptions } = require("../shared/tsconfig.libs");
const sharedConfig = require("../../libs/shared/jest.config.angular");
/** @type {import('jest').Config} */
module.exports = {
...sharedConfig,
displayName: "libs/vault tests",
preset: "jest-preset-angular",
setupFilesAfterEnv: ["<rootDir>/test.setup.ts"],
moduleNameMapper: pathsToModuleNameMapper(compilerOptions?.paths || {}, {
prefix: "<rootDir>/",
}),
};

20
libs/vault/package.json Normal file
View File

@ -0,0 +1,20 @@
{
"name": "@bitwarden/vault",
"version": "0.0.0",
"description": "Common code used across Bitwarden JavaScript projects.",
"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"
}
}

0
libs/vault/src/index.ts Normal file
View File

28
libs/vault/test.setup.ts Normal file
View File

@ -0,0 +1,28 @@
import { webcrypto } from "crypto";
import "jest-preset-angular/setup-jest";
Object.defineProperty(window, "CSS", { value: null });
Object.defineProperty(window, "getComputedStyle", {
value: () => {
return {
display: "none",
appearance: ["-webkit-appearance"],
};
},
});
Object.defineProperty(document, "doctype", {
value: "<!DOCTYPE html>",
});
Object.defineProperty(document.body.style, "transform", {
value: () => {
return {
enumerable: true,
configurable: true,
};
},
});
Object.defineProperty(window, "crypto", {
value: webcrypto,
});

5
libs/vault/tsconfig.json Normal file
View File

@ -0,0 +1,5 @@
{
"extends": "../shared/tsconfig.libs",
"include": ["src", "spec"],
"exclude": ["node_modules", "dist"]
}

View File

@ -0,0 +1,4 @@
{
"extends": "./tsconfig.json",
"files": ["./test.setup.ts"]
}

8
package-lock.json generated
View File

@ -307,6 +307,10 @@
"@bitwarden/common": "file:../common" "@bitwarden/common": "file:../common"
} }
}, },
"libs/vault": {
"version": "0.0.0",
"license": "GPL-3.0"
},
"node_modules/@aashutoshrathi/word-wrap": { "node_modules/@aashutoshrathi/word-wrap": {
"version": "1.2.6", "version": "1.2.6",
"resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz",
@ -4592,6 +4596,10 @@
"resolved": "libs/node", "resolved": "libs/node",
"link": true "link": true
}, },
"node_modules/@bitwarden/vault": {
"resolved": "libs/vault",
"link": true
},
"node_modules/@bitwarden/web-vault": { "node_modules/@bitwarden/web-vault": {
"resolved": "apps/web", "resolved": "apps/web",
"link": true "link": true

View File

@ -4,6 +4,7 @@ const config = require("./libs/components/tailwind.config.base");
config.content = [ config.content = [
"./libs/components/src/**/*.{html,ts,mdx}", "./libs/components/src/**/*.{html,ts,mdx}",
"./libs/auth/src/**/*.{html,ts,mdx}", "./libs/auth/src/**/*.{html,ts,mdx}",
"./libs/vault/src/**/*.{html,ts,mdx}",
"./apps/web/src/**/*.{html,ts,mdx}", "./apps/web/src/**/*.{html,ts,mdx}",
"./bitwarden_license/bit-web/src/**/*.{html,ts,mdx}", "./bitwarden_license/bit-web/src/**/*.{html,ts,mdx}",
"./.storybook/preview.js", "./.storybook/preview.js",

View File

@ -20,7 +20,8 @@
"@bitwarden/common/*": ["./libs/common/src/*"], "@bitwarden/common/*": ["./libs/common/src/*"],
"@bitwarden/components": ["./libs/components/src"], "@bitwarden/components": ["./libs/components/src"],
"@bitwarden/exporter/*": ["./libs/exporter/src/*"], "@bitwarden/exporter/*": ["./libs/exporter/src/*"],
"@bitwarden/node/*": ["./libs/node/src/*"] "@bitwarden/node/*": ["./libs/node/src/*"],
"@bitwarden/vault": ["./libs/vault/src"]
}, },
"plugins": [ "plugins": [
{ {

View File

@ -22,7 +22,8 @@
"@bitwarden/exporter/*": ["./libs/exporter/src/*"], "@bitwarden/exporter/*": ["./libs/exporter/src/*"],
"@bitwarden/importer": ["./libs/importer/src"], "@bitwarden/importer": ["./libs/importer/src"],
"@bitwarden/node/*": ["./libs/node/src/*"], "@bitwarden/node/*": ["./libs/node/src/*"],
"@bitwarden/web-vault/*": ["./apps/web/src/*"] "@bitwarden/web-vault/*": ["./apps/web/src/*"],
"@bitwarden/vault": ["./libs/vault/src"]
}, },
"plugins": [ "plugins": [
{ {