* build(firefox): check file size
if building `firefox` or `firefox-mv3`
* check if any file(s) exceeds 4M (megabytes)
- If true, fail and provide basic message.
* style: add clarity
sytle: add error message
* fix: relocate step
ensure final step of source files before validating
* test: add failure condition
* fix: source file target directory
* fix: test for failure condition
* test: remove failure condition
remove lines used for testing
* [deps]: Update dtolnay/rust-toolchain digest to b3b07ba
* fix(build): comply with ci linter in the test workflow
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Addison Beck <github@addisonbeck.com>
* 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
* user key transferred over ipc within desktop app without its prototype.
`UserKey` object was transferred over IPC as regular `Object` type and not recreated as `SymmetricCryptoKey` type, losing its original functions and properties. As a result `inner` method did not exist and user key silently failed during decryption of encrypted client key halves during biometric unlock.
* ipc biometrics serializable user key type
* use encrypt service directly for decryption
* moving electron key service to KM
* log error when unlock via biometrics fails with exception in lock component
* bring back tech debt comment
* lock component logging prefix
Upgrades to Eslint v9. Since this is a major version there were breaking changes, but since we've previously migrated to flat configs in #12806 those were minimal.
* Add sdk-internal to ignored deps
* Grouped GH Action Minor
* Additional groupings added
* Added bitwarden-external back.
* Updated to include patch for linting.
* Removed comments on CODEOWNERS since we no longer group by file
* Tried to standardize group names
* Consolidated handling of TS and zone.js
* jest and rust coverage upload separated as one step
* wrong file paths when downloading coverage
* correct relative coverage paths with sources
* Update .github/workflows/test.yml
Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
---------
Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
Now that the last usages of ModalService is removed from the web portions we can finally remove jQuery and Popper.js. This PR also removes bootstrap js imports since it would drag in jQuery as a peer dependency.
Note: Both dependencies still exists in the lockfile as they are peer dependencies of boostrap.
* Enable Storybook test runner. Run a11y tests also
* no need to return checkA11y function
* add back decorator removed in error
* add test runner to our ownership
* add axe-playwright to our ownership
* Move access-intelligence and reports files from tools to dirt folder for new ownership. Update imports for these files
* Move bit-common/src/reports/risk-insights > dirt
* Update codeowners file for dirt team ownership
* Addressed linting issues by executing `npm run prettier`
---------
Co-authored-by: Daniel James Smith <djsmith85@users.noreply.github.com>