mirror of
https://github.com/bitwarden/browser
synced 2025-12-11 13:53:34 +00:00
* fix(nx): add rootDir to existing project.json files
The @nx/js:tsc executor was creating builds with a structural mismatch where TypeScript
output files lived in a nested src/ directory, but package.json pointed to non-existent
dist/ paths. This caused "Cannot find module" errors throughout the dependency chain.
This fix adds the rootDir configuration to flatten the build output structure and updates
all package.json main/types fields to match the actual file locations.
Changes applied systematically across all affected libraries:
• Added "rootDir": "libs/{name}/src" to project.json build options
• Updated package.json "main" from "dist/index.js" to "index.js"
• Updated package.json "types" from "dist/index.d.ts" to "index.d.ts"
* fix(nx-plugin): set rootDir for any newly generated libs
The basic-lib generator was creating new libraries with the same package.json path bugs
that we just fixed in existing libraries. Without this template fix, any newly generated
library would inherit the broken configuration pattern.
Updated the generator templates to include:
• Added rootDir configuration to project.json template
• Fixed package.json template paths to use flattened structure
• Corrected template syntax bug (missing space in <%= name %>)
This ensures all future libraries created with "nx generate @bitwarden/nx-plugin:basic-lib"
will have proper build configuration from the start, preventing regression of the
systematic rootDir issue.
Assets
Owned by: ui-foundation
This lib contains assets used by the Bitwarden clients. Unused assets are tree-shaken from client bundles. This means that all exports from this library must not have any side effects.
Usage
SVGs
SVGs intended to be used with the bit-icon component live in src/svgs. These SVGs are built with the icon-service for security reasons. These SVGs can be viewed in our Component Library Icon Story.
When adding a new SVG, follow the instructions in our Component Library: SVG Icon Docs
When importing an SVG in one of the clients:
import { ExampleSvg } from "@bitwarden/assets/svg";