clients/libs
Addison Beck e8224fdbe3
feat(nx): add basic-lib generator for streamlined library creation (#14992)
* feat(nx): add basic-lib generator for streamlined library creation

This adds a new nx-plugin library with a generator for creating "common" type
Bitwarden libs. It is set up to accept a lib name, description, team, and
directory. It then
- Creates a folder in the directory (default to libs)
- Sets up complete library scaffolding:
  - README with team ownership
  - Build, lint and test task configuration
  - Test infrastructure
- Configures TypeScript path mapping
- Updates CODEOWNERS with team ownership
- Runs npm i

This will make library creation more consistent and reduce manual boilerplate setup.

The plugin design itself was generated by `npx nx g plugin`. This means we
used a plugin to generate a plugin that exports generators. To create our
generator generator, we first needed a generator.

* fix(dirt/card): correct tsconfig path in jest configuration

Fix the relative path to tsconfig.base in the dirt/card library's Jest config.
The path was incorrectly using four parent directory traversals (../../../../)
when only three (../../../) were needed to reach the project root.

* chore(codeowners): clarify some nx ownership stuff
2025-06-05 14:20:23 -04:00
..
.vscode Multi root workspace tweaks (#2858) 2022-06-13 21:39:36 -05:00
admin-console Implement and extend tsconfig.base across projects (#14554) 2025-06-02 20:38:17 +00:00
angular rework logic for empty vault nudge (#15013) 2025-06-05 09:18:43 -05:00
auth [PM-20235] Disable login with device masterpasswordhash flow (#14236) 2025-06-05 16:52:48 +00:00
billing Implement and extend tsconfig.base across projects (#14554) 2025-06-02 20:38:17 +00:00
common [PM-21546] Migrate from enum to constant object (#14975) 2025-06-05 08:45:52 -05:00
components Migrate remaining components to standalone in libs/components (#15053) 2025-06-05 09:52:53 +02:00
dirt/card feat(nx): add basic-lib generator for streamlined library creation (#14992) 2025-06-05 14:20:23 -04:00
eslint Implement and extend tsconfig.base across projects (#14554) 2025-06-02 20:38:17 +00:00
importer [PM-21546] Migrate from enum to constant object (#14975) 2025-06-05 08:45:52 -05:00
key-management fix(eslint): extend tsconfig.base in tsconfig.eslint (#15082) 2025-06-05 11:08:03 -04:00
key-management-ui [PM-21147] User key transferred over ipc within desktop app without its prototype (#15047) 2025-06-03 22:12:11 +02:00
node Implement and extend tsconfig.base across projects (#14554) 2025-06-02 20:38:17 +00:00
nx-plugin feat(nx): add basic-lib generator for streamlined library creation (#14992) 2025-06-05 14:20:23 -04:00
platform Implement and extend tsconfig.base across projects (#14554) 2025-06-02 20:38:17 +00:00
shared Implement and extend tsconfig.base across projects (#14554) 2025-06-02 20:38:17 +00:00
tools [PM-22269] Generator/Send Nudge Updates (#15049) 2025-06-03 14:04:29 +00:00
ui Implement and extend tsconfig.base across projects (#14554) 2025-06-02 20:38:17 +00:00
vault [PM-21546] Migrate from enum to constant object (#14975) 2025-06-05 08:45:52 -05:00