Skip to content

Distribute common dependencies#18323

Merged
komret merged 5 commits intodevelopfrom
chore/move-common-dependencies-responsibilities
Apr 22, 2025
Merged

Distribute common dependencies#18323
komret merged 5 commits intodevelopfrom
chore/move-common-dependencies-responsibilities

Conversation

@komret
Copy link
Copy Markdown
Contributor

@komret komret commented Apr 11, 2025

We must distribute responsibility for common dependencies now that no one maintains them. Some of those packages are so general that there is no indication as to what team should own them. So I did my best attempt to distribute them evenly.

Engagement:

  • react etc.
  • typescript etc.

Foundation:

  • dependencies related to scripts and desktop app
  • routing

Trends:

  • app compilation, i.e. babel, webpack etc.
  • redux etc.
  • dependencies related to unit tests

I did not add much to mobile and connect as they already have long lists and QA should only worry about e2e tests.

@komret komret added dependencies Pull requests that update a dependency file no-project This label is used to specify that PR doesn't need to be added to a project labels Apr 11, 2025
@komret komret force-pushed the chore/move-common-dependencies-responsibilities branch 3 times, most recently from d99a52a to cb85827 Compare April 14, 2025 10:29
@trezor-ci
Copy link
Copy Markdown
Contributor

trezor-ci commented Apr 14, 2025

✅ Previously successful run of [Test] PR Suite Web e2e tests workflow has been found.
⏭️ Skipping tests for this run.
💡 If you are unsure about your latest changes, please rerun the workflow manually. (Use the Re-run all jobs option)

@trezor-ci
Copy link
Copy Markdown
Contributor

trezor-ci commented Apr 14, 2025

✅ Previously successful run of [Test] PR Suite Desktop e2e tests workflow has been found.
⏭️ Skipping tests for this run.
💡 If you are unsure about your latest changes, please rerun the workflow manually. (Use the Re-run all jobs option)

@komret komret force-pushed the chore/move-common-dependencies-responsibilities branch from cb85827 to 3466460 Compare April 14, 2025 10:32
@trezor-ci
Copy link
Copy Markdown
Contributor

✅ Previously successful run of [Test] PR Suite Web e2e tests workflow has been found.
⏭️ Skipping tests for this run.
💡 If you are unsure about your latest changes, please rerun the workflow manually. (Use the Re-run all jobs option)

@trezor-ci
Copy link
Copy Markdown
Contributor

✅ Previously successful run of [Test] PR Suite Desktop e2e tests workflow has been found.
⏭️ Skipping tests for this run.
💡 If you are unsure about your latest changes, please rerun the workflow manually. (Use the Re-run all jobs option)

@komret komret marked this pull request as ready for review April 14, 2025 10:34
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 14, 2025

Walkthrough

The pull request updates multiple areas of the project. The CODEOWNERS file has been modified to reassign and simplify ownership for various directories and specific files, establishing a more granular structure. In the suite-web package.json, the "yargs" dependency has been removed from devDependencies. Several scripts responsible for managing outdated dependencies have been updated: dependency lists in files for "connect," "engagement," "foundation," "mobile," "qa," and "trends" now reflect added and removed entries, and the previously maintained "common-dependencies.txt" has been deleted. Additionally, the domains arrays in the CI script and the list-outdated-dependencies script have been adjusted to exclude the "common" domain, ensuring that only the specified domains are processed.


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0901c43 and 6ed377b.

📒 Files selected for processing (2)
  • CODEOWNERS (3 hunks)
  • packages/suite-web/package.json (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • CODEOWNERS
🚧 Files skipped from review as they are similar to previous changes (1)
  • packages/suite-web/package.json
⏰ Context from checks skipped due to timeout of 90000ms (12)
  • GitHub Check: PR-check / node-authorizeCoinjoin cancelCoinjoinAuthorization passphrase unlockPath setBusy checkFirmwareAuthenticity keepSession cancel.test info.test resetDevice-api
  • GitHub Check: PR-check / web-override init-api-flaky
  • GitHub Check: PR-check / node-override init-api-flaky
  • GitHub Check: PR-check / web-authorizeCoinjoin cancelCoinjoinAuthorization passphrase unlockPath setBusy checkFirmwareAuthenticity keepSession cancel.test info.test resetDevice-api
  • GitHub Check: build-deploy
  • GitHub Check: build-deploy
  • GitHub Check: transport-e2e-test
  • GitHub Check: test
  • GitHub Check: connect-web-e2e
  • GitHub Check: Analyze with CodeQL (javascript)
  • GitHub Check: Setup and Cache Dependencies
  • GitHub Check: Socket Security: Pull Request Alerts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (41)
scripts/list-outdated-dependencies/engagement-dependencies.txt (6)

3-9: New Internationalization and Storybook Dependency Updates.
Adding @formatjs/cli and @formatjs/intl improves internationalization support, while the update of @storybook/addon-docs enhances documentation integration. Please verify that these new dependencies are in sync with the rest of your dependency strategy.


18-28: Enhanced TypeScript Definitions.
Multiple type dependencies (e.g., @types/pako, @types/pdfmake, @types/prettier, etc.) have been updated. Ensure that these definitions accurately reflect usage patterns within the codebase and do not introduce conflicts.


35-46: Modernized Build Tooling Dependencies.
Updates to modules such as date-fns, pako, pdfmake, polished, and various PostCSS plugins indicate a push to modernize the build process and CSS handling. It is advisable to cross-check that these versions are compatible with your current build configuration.


47-51: Check for Potential Duplicate Dependency Entries.
The static analysis hints at a possible duplicate with react (notably around the appearance of qrcode.react followed by a standalone react). Please confirm that these entries are intentional and required.

🧰 Tools
🪛 LanguageTool

[duplication] ~47-~47: Possible typo: you repeated a word.
Context: ...les-values postcss-styled-syntax qrcode.react react react-date-range react-dom react-focus-...

(ENGLISH_WORD_REPEAT_RULE)


59-71: Final Dependency Updates for UI and Core Build Tools.
Updates such as those for react-toastify, sharp, and core utility packages (svgo, tslib, tsx, and typescript) should be validated for compatibility with your project’s requirements.


75-77: Enhanced Vite and Security-Related Dependencies.
The modifications to vite-plugin-wasm and zxcvbn appear geared toward performance and security improvements. Please validate these changes with your current configuration.

scripts/list-outdated-dependencies/foundation-dependencies.txt (5)

1-6: Refined Foundation Dependency Types and Tools.
The update introduces or revises dependencies like @braintree/sanitize-url, @electron/fuses, and @eslint/js alongside new type definitions (e.g., @types/bn.js). Verify that these additions are well aligned with the required functionality in the foundation domain.


7-16: Improved TypeScript Definition Consistency.
Changes to type packages (such as @types/cors, @types/electron-localshortcut, etc.) enhance type safety. Make sure these revisions conform to the existing codebase usage.


23-30: Updated Core Libraries for Cryptography and Data Handling.
Revisions in libraries like bn.js, bs58, chalk, and others indicate an effort to modernize cryptographic and utility support. Double-check that these updates are deliberate and compatible with dependent modules.


33-34: Duplicated Dependency Detected: "electron-localshortcut".
It appears that electron-localshortcut is listed twice (once modified on line 33 and once unchanged on line 34). Please remove the redundant entry to avoid potential confusion or version conflicts.


45-76: Comprehensive Update of Remaining Foundation Dependencies.
An extensive revision is performed for a wide range of libraries—from Express to various utility modules. It is recommended to verify version compatibility and remove any inadvertent duplicates beyond the already noted instance.

scripts/list-outdated-dependencies/mobile-dependencies.txt (8)

3-6: Core Mobile Dependency Enhancements.
Updates for packages like @gorhom/bottom-sheet, @mobily/ts-belt, @react-native-async-storage/async-storage, and @react-native-community/cli are introduced. Confirm that these changes yield expected improvements in mobile performance and API compatibility.


8-9: Improved React Native Build Tools.
The updated @react-native/babel-preset and @react-native/metro-config should contribute to a smoother build process. Ensure they align with your current React Native version and toolchain.


16-16: Updated Shopify Skia Integration.
The update to @shopify/react-native-skia may enhance graphic rendering. Please validate its integration with your existing mobile interface components.


18-27: Revamped Testing and Polyfill Dependencies.
The modifications to type definitions (@types/fast-text-encoding), polyfills (abortcontroller-polyfill), and testing utilities like detox and event-target-shim suggest a significant improvement in the testing environment. Please ensure that these components are consistent with your mobile testing framework.


28-42: Enhanced Expo Ecosystem Dependencies.
Several Expo packages—including expo, expo-camera, expo-image-picker, expo-linking, and expo-localization—have been updated. Double-check that these new versions are aligned with your targeted Expo SDK version and that their combined effect meets your application requirements.


50-62: Refined Styling and Localization Tools Update.
The comprehensive update to Fela-related packages (from fela itself to multiple associated plugins), along with intl-pluralrules and jest-expo, should modernize styling and localization solutions. Ensure that these dependencies integrate smoothly with your layout and testing strategies.


65-70: Core Runtime and Duplicate Dependency Notice.
Updates to metro, node-gyp, and instances of react-fela are observed. Notably, react-fela appears twice (lines 67 and 68). Please consolidate these entries to maintain a clean dependency list.

🧰 Tools
🪛 LanguageTool

[duplication] ~66-~66: Possible typo: you repeated a word.
Context: ...otai lottie-react-native metro node-gyp react-fela react-fela react-native react-native-edge-to-edge ...

(ENGLISH_WORD_REPEAT_RULE)


75-75: Improved Animation Support.
The update to react-native-reanimated should enhance animation performance on mobile. Confirm that it works well with your current gesture and interaction setups.

scripts/list-outdated-dependencies/trends-dependencies.txt (13)

1-10: Babel Toolchain Modernization.
A series of Babel packages (from @babel/cli to @babel/runtime) have been updated to enhance transpilation and build performance. Verify that these changes satisfy your JavaScript/TypeScript compilation requirements.


11-14: Ethereum and Wallet Dependencies Update.
Dependencies such as @ethereumjs/common, @ethereumjs/tx, and @everstake/wallet-sdk remain present. Ensure that these are still required and correctly configured following your dependency restructuring.


15-17: State Management and Refresh Plugin Enhancements.
Upgrades including @metamask/eth-sig-util, @pmmmwh/react-refresh-webpack-plugin, and @reduxjs/toolkit should improve state handling and development experience. Confirm that they integrate seamlessly into your toolchain.


18-22: Solana Program Dependency Adjustments.
The revisions in Solana-related packages (such as @solana-program/compute-budget and @solana-program/stake) require verification against your blockchain integration features.


23-27: Further Solana Dependency Revisions.
Updates to @solana/buffer-layout, @solana/kit, and related Solana tools must be validated to ensure continued correct functionality within your blockchain modules.


28-29: Additional Blockchain and Stellar Dependencies.
Ensure that @solana/rpc-api, @solana/rpc-types, and @stellar/stellar-sdk are integrated properly with your overarching blockchain workflows.


30-32: Enhanced Testing Library Integration.
Updates to @testing-library/jest-dom, @testing-library/react, and @testing-library/user-event should improve frontend testing practices—please adjust test cases if necessary.


33-41: Improved TypeScript and Webpack Plugin Definitions.
The numerous type definitions and plugin-related updates (e.g., @types/react-test-renderer, @types/redux-logger) underscore an emphasis on type safety and robust bundling. Verify that these changes match the versions of the corresponding libraries used elsewhere in the project.


42-44: Bundler and Testing Utility Enhancements.
Upgrades to tools such as ajv, babel-jest, and babel-loader are expected to streamline your build and test processes. Ensure these align with the current CI/CD configurations.


45-49: Security and Optimization Updates in the Webpack Ecosystem.
Revisions like the update of eth-phishing-detect and changes in copy-webpack-plugin along with html-webpack-plugin are crucial for security and asset handling—reconfirm that no unintended removals occurred.


50-57: Enhanced Testing Environment.
Updates to Jest and related packages (e.g., jest-canvas-mock, jest-watch-typeahead, jsdom) should provide a more stable testing environment. Validate these changes with your test suites.


58-67: State Management and React Tooling Adjustments.
The updates to packages like react-refresh, react-test-renderer, and several Redux-related libraries suggest improvements to state management and UI rendering. Please ensure that these revisions do not conflict with your existing state workflows.


68-77: Webpack and Blockchain Integration Updates.
A broad range of updates—from web3-utils through to xrpl—have been made. It is important to verify that your bundling process via Webpack still produces optimal outcomes and that blockchain interactions are unaffected.

scripts/list-outdated-dependencies/connect-dependencies.txt (9)

2-7: Dependency Additions: Testing & Wallet Tools
The new dependencies from @hbsnow/rehype-sectionize through @scure/bip39 add useful testing utilities, hashing capabilities, and wallet tool integrations. Please verify that these additions align with your dependency strategy (including license and version compatibility) and are documented accordingly.


14-14: Review @tailwindcss/nesting Addition
The inclusion of @tailwindcss/nesting may impact your styling build pipeline. Ensure your PostCSS or Tailwind configuration is updated to support this feature.


17-29: Review Type Definitions & CodeMirror Dependency
This group—from @types/events to @uiw/react-codemirror—updates several type definitions and adds a CodeMirror-related package. Confirm that these type definitions do not conflict with existing ones and that they are consistent with other dependency manifests in the project.


69-69: Review Addition: 'long' Dependency
The long dependency has been added on line 69. Please verify its necessity and ensure it is compatible with your existing packages.


71-76: Review Next.js & Related Additions
This group adds next, next-seo, next-themes, nextra, nextra-theme-docs, and node-fetch. Given that Next.js is a major framework, confirm that these inclusions are intentional in this context and that version conflicts with other parts of the project are resolved.


94-94: Review Addition: swr Dependency
Please verify that adding swr aligns with your data fetching strategy and that it does not introduce conflicts with existing solutions.


95-95: Consistency Check: tailwindcss Dependency
Although the overall PR summary mentioned removal of tailwindcss in some contexts, it is included here. Confirm that its inclusion in this dependency file is intentional and consistent with your distribution strategy.


97-97: Review tiny-worker Dependency
Verify that tiny-worker is necessary for your use case and that it does not duplicate functionality available in other parts of your project.


99-99: Review ts-node Dependency Addition
Ensure that adding ts-node is intentional for runtime TypeScript execution and does not conflict with your build-time processes.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 1105d8c and 3466460.

⛔ Files ignored due to path filters (1)
  • yarn.lock is excluded by !**/yarn.lock, !**/*.lock
📒 Files selected for processing (11)
  • CODEOWNERS (3 hunks)
  • packages/suite-web/package.json (1 hunks)
  • scripts/ci/list-missing-dependencies.sh (1 hunks)
  • scripts/list-outdated-dependencies/common-dependencies.txt (0 hunks)
  • scripts/list-outdated-dependencies/connect-dependencies.txt (1 hunks)
  • scripts/list-outdated-dependencies/engagement-dependencies.txt (1 hunks)
  • scripts/list-outdated-dependencies/foundation-dependencies.txt (1 hunks)
  • scripts/list-outdated-dependencies/list-outdated-dependencies.sh (1 hunks)
  • scripts/list-outdated-dependencies/mobile-dependencies.txt (1 hunks)
  • scripts/list-outdated-dependencies/qa-dependencies.txt (1 hunks)
  • scripts/list-outdated-dependencies/trends-dependencies.txt (1 hunks)
💤 Files with no reviewable changes (1)
  • scripts/list-outdated-dependencies/common-dependencies.txt
🧰 Additional context used
🪛 LanguageTool
scripts/list-outdated-dependencies/engagement-dependencies.txt

[duplication] ~47-~47: Possible typo: you repeated a word.
Context: ...les-values postcss-styled-syntax qrcode.react react react-date-range react-dom react-focus-...

(ENGLISH_WORD_REPEAT_RULE)

scripts/list-outdated-dependencies/foundation-dependencies.txt

[duplication] ~32-~32: Possible typo: you repeated a word.
Context: ...check dropbox electron electron-builder electron-localshortcut electron-localshortcut electron-store electron-updater eslint ...

(ENGLISH_WORD_REPEAT_RULE)

scripts/list-outdated-dependencies/mobile-dependencies.txt

[duplication] ~66-~66: Possible typo: you repeated a word.
Context: ...otai lottie-react-native metro node-gyp react-fela react-fela react-native react-native-edge-to-edge ...

(ENGLISH_WORD_REPEAT_RULE)

scripts/list-outdated-dependencies/connect-dependencies.txt

[duplication] ~56-~56: Possible typo: you repeated a word.
Context: ...ver jest-environment-node jest-extended json-stable-stringify json-stable-stringify json5 jssha karma karma-babel-preproces...

(ENGLISH_WORD_REPEAT_RULE)


[duplication] ~87-~87: Possible typo: you repeated a word.
Context: ...eact-inspector remark-gemoji remark-gfm scroll-into-view-if-needed scroll-into-view-if-needed selfsigned semver socks-proxy-agent str...

(ENGLISH_WORD_REPEAT_RULE)

⏰ Context from checks skipped due to timeout of 90000ms (13)
  • GitHub Check: Releases revision Checks
  • GitHub Check: Other Checks
  • GitHub Check: Type Checking
  • GitHub Check: Build libs for publishing
  • GitHub Check: Linting and formatting
  • GitHub Check: Unit Tests
  • GitHub Check: PR-check / node-authorizeCoinjoin cancelCoinjoinAuthorization passphrase unlockPath setBusy checkFirmwareAuthenticity keepSession cancel.test info.test resetDevice-api
  • GitHub Check: PR-check / node-override init-api-flaky
  • GitHub Check: PR-check / web-override init-api-flaky
  • GitHub Check: PR-check / web-authorizeCoinjoin cancelCoinjoinAuthorization passphrase unlockPath setBusy checkFirmwareAuthenticity keepSession cancel.test info.test resetDevice-api
  • GitHub Check: build-deploy
  • GitHub Check: test
  • GitHub Check: Analyze with CodeQL (javascript)
🔇 Additional comments (17)
packages/suite-web/package.json (1)

52-52: LGTM! Dependency cleanup looks good.

The removal of the yargs dependency from devDependencies aligns with the PR's objective of redistributing common dependencies.

CODEOWNERS (4)

5-11: Great ownership structure for dependency files.

The addition of specific owners for each dependency file in the list-outdated-dependencies directory establishes clear accountability and aligns perfectly with the PR's objective of distributing responsibilities.


81-81: LGTM! Ownership simplification.

Simplifying the ownership structure for the theme package to only include the engagement team.


91-91: LGTM! Ownership simplification.

Simplifying the ownership structure for the styles package to only include the engagement team.


95-95: LGTM! Ownership simplification.

Simplifying the ownership structure for the graph package to only include the mobile team.

scripts/ci/list-missing-dependencies.sh (1)

4-4:

Details

❓ Verification inconclusive

Domain array update aligns with dependency restructuring.

Removing "common" from the domains array is consistent with the deletion of the common-dependencies.txt file mentioned in the PR summary.

Let's verify that all the dependencies previously in common-dependencies.txt have been properly distributed to domain-specific files:


🏁 Script executed:

#!/bin/bash
# Check if all dependencies are accounted for

# Find any commits that removed common-dependencies.txt
git log --all --full-history -- scripts/list-outdated-dependencies/common-dependencies.txt | head -n 20

# Look at the last version of common-dependencies.txt before deletion
git show $(git rev-list -n 1 HEAD -- scripts/list-outdated-dependencies/common-dependencies.txt):scripts/list-outdated-dependencies/common-dependencies.txt

Length of output: 332


Dependency restructure verified but requires manual confirmation.

  • The removal of "common" from the domains array in scripts/ci/list-missing-dependencies.sh aligns with the intended deletion of common-dependencies.txt.
  • The executed command confirms that common-dependencies.txt no longer exists (as indicated by the error message), which is expected after its removal.
  • Action: Please manually verify that all dependencies previously maintained in common-dependencies.txt have been appropriately redistributed among the domain-specific dependency files.
scripts/list-outdated-dependencies/qa-dependencies.txt (1)

1-9: LGTM! Dependency reorganization.

The reordering of the @Currents dependencies to the beginning of the file and the repositioning of jest-junit maintains the same dependencies while establishing a more logical order.

scripts/list-outdated-dependencies/list-outdated-dependencies.sh (1)

5-7: Updated Domain List: Removed "common".
The domains array now excludes "common", which aligns with the broader dependency management changes across the repository. The helper message (valid_arguments_hint) is updated accordingly.

scripts/list-outdated-dependencies/foundation-dependencies.txt (1)

35-44: Standardization of Electron and ESLint Tooling Dependencies.
The segment managing Electron modules (electron-store, electron-updater) and ESLint packages seems routine. Ensure that the mixture of updated and legacy plugins is intentional and that all are required for your linting setup.

scripts/list-outdated-dependencies/connect-dependencies.txt (8)

31-46: Review WalletConnect & Utility Dependencies
Dependencies added from @walletconnect/core to escape-string-regexp include various WalletConnect packages and utility libraries. Please double-check that each is necessary and that version alignment is maintained with any other related modules.


78-81: Review PostCSS Toolchain Additions
The addition of postcss, postcss-cli, postcss-import, and postcss-lightningcss requires a review of your CSS build configuration. Ensure these tools do not conflict with any previously removed or updated PostCSS dependencies.


82-85: Review Protobufjs & React Inspector Additions
This block adds protobufjs, protobufjs-cli, pushdata-bitcoin, and react-inspector. Notably, since other parts of the PR indicate removals for protobufjs, please verify that its inclusion here is intentional and consistent across the project.


91-92: Review Dependencies: semver & socks-proxy-agent
The additions of semver and socks-proxy-agent appear straightforward. Confirm that their versions and intended use match current project requirements.


96-96: Review terser-webpack-plugin Addition
The terser-webpack-plugin dependency appears correctly added. Ensure its configuration in your webpack build process is appropriate.


98-98: Review ts-mixer Dependency
The addition of ts-mixer should be validated for its role in providing mixin support. Confirm no alternative solution is already in use.


100-100: Review usb Dependency Addition
The usb dependency has been added; please verify that its inclusion is necessary given the project's native module requirements and deployment constraints.


102-104: Review Miscellaneous Dependencies: ws, xvfb-maybe, & zod
This final group adds ws, xvfb-maybe, and zod. Ensure that these dependencies are not redundant with those in other parts of the project and that they adhere to your overall dependency management strategy.

Comment thread scripts/list-outdated-dependencies/connect-dependencies.txt
Comment thread scripts/list-outdated-dependencies/connect-dependencies.txt Outdated
@komret komret force-pushed the chore/move-common-dependencies-responsibilities branch from 3466460 to 6343193 Compare April 14, 2025 10:45
@trezor-ci
Copy link
Copy Markdown
Contributor

✅ Previously successful run of [Test] PR Suite Desktop e2e tests workflow has been found.
⏭️ Skipping tests for this run.
💡 If you are unsure about your latest changes, please rerun the workflow manually. (Use the Re-run all jobs option)

@trezor-ci
Copy link
Copy Markdown
Contributor

✅ Previously successful run of [Test] PR Suite Web e2e tests workflow has been found.
⏭️ Skipping tests for this run.
💡 If you are unsure about your latest changes, please rerun the workflow manually. (Use the Re-run all jobs option)

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (3)
scripts/list-outdated-dependencies/foundation-dependencies.txt (1)

33-34: Duplicate Dependency Entry Detected.
The dependency "electron-localshortcut" is listed twice (lines 33 and 34). Please remove one of the duplicate entries to avoid redundancy in the dependency list.

scripts/list-outdated-dependencies/engagement-dependencies.txt (1)

47-48: Review Dependency Ordering for Clarity.
The dependency "qrcode.react" on line 47 is immediately followed by "react" on line 48. While these are distinct packages, please verify that their placement is intentional and not a result of an inadvertent copy‐paste.

🧰 Tools
🪛 LanguageTool

[duplication] ~47-~47: Possible typo: you repeated a word.
Context: ...les-values postcss-styled-syntax qrcode.react react react-date-range react-dom react-focus-...

(ENGLISH_WORD_REPEAT_RULE)

scripts/list-outdated-dependencies/mobile-dependencies.txt (1)

67-68: Duplicate Dependency Entry Detected.
The dependency "react-fela" is listed twice (lines 67 and 68). Removing the duplicate entry will help maintain a clean and accurate dependency list.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3466460 and 6343193.

📒 Files selected for processing (7)
  • CODEOWNERS (3 hunks)
  • scripts/list-outdated-dependencies/connect-dependencies.txt (1 hunks)
  • scripts/list-outdated-dependencies/engagement-dependencies.txt (1 hunks)
  • scripts/list-outdated-dependencies/foundation-dependencies.txt (1 hunks)
  • scripts/list-outdated-dependencies/mobile-dependencies.txt (1 hunks)
  • scripts/list-outdated-dependencies/qa-dependencies.txt (1 hunks)
  • scripts/list-outdated-dependencies/trends-dependencies.txt (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (3)
  • scripts/list-outdated-dependencies/qa-dependencies.txt
  • CODEOWNERS
  • scripts/list-outdated-dependencies/connect-dependencies.txt
🧰 Additional context used
🪛 LanguageTool
scripts/list-outdated-dependencies/engagement-dependencies.txt

[duplication] ~47-~47: Possible typo: you repeated a word.
Context: ...les-values postcss-styled-syntax qrcode.react react react-date-range react-dom react-focus-...

(ENGLISH_WORD_REPEAT_RULE)

scripts/list-outdated-dependencies/mobile-dependencies.txt

[duplication] ~66-~66: Possible typo: you repeated a word.
Context: ...otai lottie-react-native metro node-gyp react-fela react-fela react-native react-native-edge-to-edge ...

(ENGLISH_WORD_REPEAT_RULE)

scripts/list-outdated-dependencies/foundation-dependencies.txt

[duplication] ~32-~32: Possible typo: you repeated a word.
Context: ...check dropbox electron electron-builder electron-localshortcut electron-localshortcut electron-store electron-updater eslint ...

(ENGLISH_WORD_REPEAT_RULE)

⏰ Context from checks skipped due to timeout of 90000ms (11)
  • GitHub Check: PR-check / node-authorizeCoinjoin cancelCoinjoinAuthorization passphrase unlockPath setBusy checkFirmwareAuthenticity keepSession cancel.test info.test resetDevice-api
  • GitHub Check: PR-check / web-override init-api-flaky
  • GitHub Check: PR-check / node-override init-api-flaky
  • GitHub Check: PR-check / web-authorizeCoinjoin cancelCoinjoinAuthorization passphrase unlockPath setBusy checkFirmwareAuthenticity keepSession cancel.test info.test resetDevice-api
  • GitHub Check: build-deploy
  • GitHub Check: Setup and Cache Dependencies
  • GitHub Check: build-deploy
  • GitHub Check: transport-e2e-test
  • GitHub Check: test
  • GitHub Check: Analyze with CodeQL (javascript)
  • GitHub Check: connect-web-e2e
🔇 Additional comments (2)
scripts/list-outdated-dependencies/trends-dependencies.txt (2)

18-19: Confirm Dependency Reinstatement.
The dependency "@solana-program/stake" (line 19) is marked as changed. Given the evolving dependency strategy outlined in the PR objectives, please verify that its inclusion is intentional and aligns with the overall strategy for distributed responsibility.


47-47: Verify Dependency Inclusion "eth-phishing-detect".
The dependency "eth-phishing-detect" appears at line 47. According to the PR objectives, some common dependencies were slated for removal. Please confirm whether this dependency is meant to be retained or if its inclusion needs to be revisited.

@komret komret force-pushed the chore/move-common-dependencies-responsibilities branch from 6343193 to 59d89cf Compare April 14, 2025 10:50
@trezor-ci
Copy link
Copy Markdown
Contributor

✅ Previously successful run of [Test] PR Suite Web e2e tests workflow has been found.
⏭️ Skipping tests for this run.
💡 If you are unsure about your latest changes, please rerun the workflow manually. (Use the Re-run all jobs option)

@trezor-ci
Copy link
Copy Markdown
Contributor

✅ Previously successful run of [Test] PR Suite Desktop e2e tests workflow has been found.
⏭️ Skipping tests for this run.
💡 If you are unsure about your latest changes, please rerun the workflow manually. (Use the Re-run all jobs option)

@komret komret force-pushed the chore/move-common-dependencies-responsibilities branch from 59d89cf to 2124e36 Compare April 14, 2025 15:18
@trezor-ci
Copy link
Copy Markdown
Contributor

✅ Previously successful run of [Test] PR Suite Web e2e tests workflow has been found.
⏭️ Skipping tests for this run.
💡 If you are unsure about your latest changes, please rerun the workflow manually. (Use the Re-run all jobs option)

@trezor-ci
Copy link
Copy Markdown
Contributor

✅ Previously successful run of [Test] PR Suite Desktop e2e tests workflow has been found.
⏭️ Skipping tests for this run.
💡 If you are unsure about your latest changes, please rerun the workflow manually. (Use the Re-run all jobs option)

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🔭 Outside diff range comments (1)
scripts/ci/list-missing-dependencies.sh (1)

26-28: 💡 Verification agent

🧩 Analysis chain

Dependencies validation consistency

This script now only validates dependencies against specific domain files. Make sure no dependencies are accidentally overlooked during this transition from common to domain-specific management.


🏁 Script executed:

#!/bin/bash
# Check if the previous common-dependencies.txt file existed and what it contained
if [ -f "./scripts/list-outdated-dependencies/common-dependencies.txt.bak" ]; then
  echo "Backup of common dependencies exists. Contents:"
  cat "./scripts/list-outdated-dependencies/common-dependencies.txt.bak"
elif [ -f "./scripts/list-outdated-dependencies/common-dependencies.txt" ]; then
  echo "Common dependencies file still exists. Contents:"
  cat "./scripts/list-outdated-dependencies/common-dependencies.txt"
else
  echo "No common dependencies file found."
fi

# Run the script to check if any dependencies are now missing
bash ./scripts/ci/list-missing-dependencies.sh

Length of output: 7489


Dependency Validation: Address 'yarn' Error and Uninstalled Domain Dependencies

  • The transition to domain-specific dependency files is reflected correctly—the absence of a common-dependencies file is expected.
  • However, the CI run produced a "yarn: command not found" error on line 31 in scripts/ci/list-missing-dependencies.sh. Please verify whether invoking yarn is necessary (e.g., if its usage is a holdover from the common dependencies check) or if it should be replaced with the proper tool/command for the current environment.
  • Additionally, the script output lists numerous dependencies from the domain-specific files that are not installed. Ensure that you review each entry and either install the missing dependencies or remove them from the corresponding files in scripts/list-outdated-dependencies/.
♻️ Duplicate comments (3)
scripts/list-outdated-dependencies/connect-dependencies.txt (3)

17-28: Comprehensive Update for @types Packages

A large contiguous block (lines 17–28) updates several type definitions (e.g. @types/events, @types/flexsearch, …, @types/ws).
It is crucial to ensure these type versions are compatible with their corresponding libraries, and to remove any potential duplicate entries as highlighted in previous reviews.


48-59: ⚠️ Potential issue

Testing & Core Utility Enhancements

The block from events through jssha (lines 48–59) includes updates to testing environments (jest-environment-node, jest-extended) and utilities (including json-stable-stringify).
Given previous reviews mentioning duplication issues with json-stable-stringify, please verify that duplicates have been removed and that this update is deliberate.


87-87: ⚠️ Potential issue

Remove Duplicate Scroll Entry?

scroll-into-view-if-needed (line 87) has been flagged with a change marker.
Be cautious of duplications as noted in past reviews. If this is a duplicate entry, consider eliminating the redundancy.

🧹 Nitpick comments (10)
scripts/list-outdated-dependencies/trends-dependencies.txt (5)

1-10: Babel Dependencies Update

The addition of a comprehensive set of Babel-related packages (e.g. @babel/cli, @babel/core, @babel/node, etc.) is noted.
Please ensure these changes align with your current Babel configuration and that version pinning (if needed) is addressed elsewhere in the project.


19-19: Re-Addition of @solana-program/stake

The change at line 19 re-introduces @solana-program/stake.
Since the summary notes that this dependency was removed and later re-added, please verify that this re-addition is intentional and document the rationale if necessary.


33-34: Addition of Type Definitions (Partial)

The new type definitions like @types/bchaddrjs and @types/copy-webpack-plugin (lines 33–34) have been introduced.
Verify that these types are consistent and compatible with their corresponding libraries.


37-41: Extended @types Package Updates

A block update from @types/react-test-renderer to @types/webpack-plugin-serve (lines 37–41) is observed.
Make sure these type definitions are up-to-date and do not conflict with any duplicate entries elsewhere.


46-47: Webpack Plugin & Security-Related Dependency Adjustments

The updates to copy-webpack-plugin and eth-phishing-detect (lines 46–47) should be reviewed for any security or build process impacts.
If these changes were made to address a specific vulnerability or technical debt, consider adding that context in the commit message.

scripts/list-outdated-dependencies/mobile-dependencies.txt (3)

21-22: Polyfill and Event Handling Libraries

The additions of @whatwg-node/events and abortcontroller-polyfill (lines 21–22) provide necessary polyfills for cross-platform consistency.
Confirm that these do not conflict with any native implementations on device.


49-51: Multimedia and Font Handling Additions

The new entries expo-video (line 49), fantasticon (line 50), and fast-text-encoding (line 51) add multimedia and encoding support.
Double-check that the runtime and build configurations account for these libraries.


52-60: Fela and Styling Enhancements

The block from fela to fela-sort-media-query-mobile-first (lines 52–60) modernizes your styling approach.
Ensure that the CSS-in-JS strategy remains consistent between mobile and other platforms, and that there is no redundancy with web styling dependencies.

scripts/list-outdated-dependencies/connect-dependencies.txt (2)

34-46: Build and Utility Library Refresh

The contiguous changes from base-x through escape-string-regexp (lines 34–46) update several build-related and utility libraries.
This broad update should be tested across the build pipeline to guarantee that no regressions occur.


92-98: Combined Update: SWR, Tailwind, Terser, and Others

A series of dependencies from swr through usb (lines 92–98) are updated.
Given the diversity (state fetching, CSS framework, minification, worker threads, TypeScript tooling, etc.), please ensure that each component is individually tested as well as in integration.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 59d89cf and 2124e36.

📒 Files selected for processing (11)
  • CODEOWNERS (3 hunks)
  • packages/suite-web/package.json (1 hunks)
  • scripts/ci/list-missing-dependencies.sh (1 hunks)
  • scripts/list-outdated-dependencies/common-dependencies.txt (0 hunks)
  • scripts/list-outdated-dependencies/connect-dependencies.txt (1 hunks)
  • scripts/list-outdated-dependencies/engagement-dependencies.txt (1 hunks)
  • scripts/list-outdated-dependencies/foundation-dependencies.txt (1 hunks)
  • scripts/list-outdated-dependencies/list-outdated-dependencies.sh (1 hunks)
  • scripts/list-outdated-dependencies/mobile-dependencies.txt (1 hunks)
  • scripts/list-outdated-dependencies/qa-dependencies.txt (1 hunks)
  • scripts/list-outdated-dependencies/trends-dependencies.txt (1 hunks)
💤 Files with no reviewable changes (1)
  • scripts/list-outdated-dependencies/common-dependencies.txt
🚧 Files skipped from review as they are similar to previous changes (3)
  • packages/suite-web/package.json
  • scripts/list-outdated-dependencies/list-outdated-dependencies.sh
  • scripts/list-outdated-dependencies/qa-dependencies.txt
🧰 Additional context used
🪛 LanguageTool
scripts/list-outdated-dependencies/engagement-dependencies.txt

[duplication] ~47-~47: Possible typo: you repeated a word.
Context: ...les-values postcss-styled-syntax qrcode.react react react-date-range react-dom react-focus-...

(ENGLISH_WORD_REPEAT_RULE)

⏰ Context from checks skipped due to timeout of 90000ms (12)
  • GitHub Check: PR-check / node-authorizeCoinjoin cancelCoinjoinAuthorization passphrase unlockPath setBusy checkFirmwareAuthenticity keepSession cancel.test info.test resetDevice-api
  • GitHub Check: PR-check / node-override init-api-flaky
  • GitHub Check: PR-check / web-override init-api-flaky
  • GitHub Check: PR-check / web-authorizeCoinjoin cancelCoinjoinAuthorization passphrase unlockPath setBusy checkFirmwareAuthenticity keepSession cancel.test info.test resetDevice-api
  • GitHub Check: build-deploy
  • GitHub Check: build-deploy
  • GitHub Check: Setup and Cache Dependencies
  • GitHub Check: connect-web-e2e
  • GitHub Check: transport-e2e-test
  • GitHub Check: test
  • GitHub Check: Analyze with CodeQL (javascript)
  • GitHub Check: Socket Security: Pull Request Alerts
🔇 Additional comments (37)
CODEOWNERS (3)

5-10: Ownership restructured with appropriate domain specialists

The changes assign specific owners to each dependency domain file, distributing responsibility across team members rather than having a single person own all scripts. This aligns well with the PR objective of distributing responsibility for common dependencies.


81-81: Simplified ownership structure for UI components

The changes to ownership for theme, styles, and graph packages streamline responsibility by removing the previous co-owner and leaving only team ownership. This creates clearer lines of responsibility aligned with the functional teams.

Also applies to: 91-91, 95-95


11-11:

Details

❓ Verification inconclusive

Verify scripts directory ownership

The change from specific file assignments back to general /scripts @karliatto ownership might create confusion. Double-check that this won't conflict with the specific ownership assignments above.


🏁 Script executed:

#!/bin/bash
# Verify how many files exist in the scripts directory vs the specific files assigned
echo "Files in scripts directory:"
find ./scripts -type f | wc -l
echo "Specifically assigned files:"
grep -c "^/scripts/" CODEOWNERS

Length of output: 203


Action: Confirm CODEOWNERS ordering for /scripts ownership

The verification shows that the /scripts directory contains 58 files while there are 6 CODEOWNERS entries using /scripts/. Please double-check that the new general assignment (/scripts @karliatto) is correctly ordered so that it does not unintentionally override any more specific file assignments defined above.

scripts/ci/list-missing-dependencies.sh (1)

4-4: Common domain removed from dependency verification

Removal of "common" from the domains array aligns with the PR objective of distributing common dependencies to specific domains. This change ensures the script will now only look for dependencies in the specific domain files.

Verify that this change is consistent with other scripts by running:

#!/bin/bash
# Check if other scripts also no longer reference common dependencies
grep -r "common-dependencies" --include="*.sh" ./scripts/
scripts/list-outdated-dependencies/engagement-dependencies.txt (2)

3-4: React ecosystem dependencies appropriately assigned to engagement domain

The changes move core UI dependencies (React, React DOM, TypeScript, formatting libraries, etc.) to the engagement domain, which aligns with the PR description categorizing these as "Engagement" dependencies. This includes essential React-related packages and their type definitions.

Also applies to: 6-6, 9-9, 18-28, 35-35, 38-41, 47-60, 69-77


75-75:

Details

❓ Verification inconclusive

Consider adding WebAssembly plugin to match imports

The file has added vite-plugin-wasm as a dependency. If your project is using WebAssembly modules with Vite, verify that the corresponding imports are working correctly in the codebase.


🏁 Script executed:

#!/bin/bash
# Check for WebAssembly usage in the codebase
echo "Checking for .wasm file imports or WebAssembly usage:"
rg -l "wasm|WebAssembly" --type js --type ts

Length of output: 363


Verify WebAssembly Plugin Integration in Vite and Related Configurations

Several parts of the codebase reference WebAssembly usage (e.g., in packages/suite-build/vite.config.ts, among others). Please ensure that the new vite-plugin-wasm dependency is correctly imported and integrated into your Vite configuration. Specifically, review the following:

  • packages/suite-build/vite.config.ts: Confirm that the plugin is added to the Vite plugins list.
  • Other configuration files (such as packages/suite-desktop/electron-builder-config.js and packages/connect-iframe/webpack/base.webpack.config.ts): Verify that any WebAssembly-related settings remain consistent and do not conflict with this integration.
scripts/list-outdated-dependencies/foundation-dependencies.txt (3)

1-16: Core infrastructure dependencies moved to foundation domain

The changes appropriately assign infrastructure dependencies to the foundation domain, including Electron-related packages, crypto libraries, and utility packages. This aligns with the PR description of foundation covering "dependencies related to scripts and the desktop application."

Also applies to: 18-18, 23-46


62-66: Router and form libraries now assigned to foundation

React Router and React Hook Form have been moved to the foundation domain. This is consistent with the PR description mentioning routing as part of foundation dependencies.


75-75:

Details

❓ Verification inconclusive

Verify yargs removal impact on scripts

The yargs package has been moved to foundation dependencies. Since this is a command-line argument parser, verify that all scripts depending on it still have access to this dependency.


🏁 Script executed:

#!/bin/bash
# Check for yargs usage in the codebase
echo "Scripts possibly using yargs:"
grep -r "require('yargs')" --include="*.js" ./scripts/
grep -r "from 'yargs'" --include="*.ts" --include="*.js" ./

Length of output: 323


Action: Confirm yargs Integration in Affected Scripts

The yargs package is now listed in the foundation dependencies. However, our scan found that it is still actively imported in the following files:

  • ./scripts/convertFigmaPalette.ts
  • ./scripts/updateProjectReferences.ts

Please verify that these scripts correctly resolve and use the yargs package from the foundation dependencies setup. Ensure that the dependency is properly installed and accessible during runtime to prevent any potential breakage in command-line operations.

scripts/list-outdated-dependencies/trends-dependencies.txt (8)

16-17: React-Refresh and Redux Toolkit Additions

Dependencies such as @pmmmwh/react-refresh-webpack-plugin (line 16) and @reduxjs/toolkit (line 17) are being added.
These look appropriate for enhancing the development and state management workflow.


30-32: Testing Library Additions

The additions of @testing-library/jest-dom, @testing-library/react, and @testing-library/user-event (lines 30–32) enhance testing capabilities.
This update seems beneficial; ensure that any relevant test configurations are updated as well.


42-44: Babel-Jest and Build Tool Updates

The inclusion of ajv, babel-jest, and babel-loader (lines 42–44) supports testing and build processes.
Double-check that their versions and configurations meet project requirements.


48-50: HTML & Core Library Updates

The additions of html-webpack-plugin, immer, and jest (lines 48–50) look standard.
Ensure that these are integrated with your current build and testing setups without causing conflicts.


51-57: Testing Utilities and Patch Management

The updates from jest-canvas-mock to raw-loader (lines 51–57) enrich the testing infrastructure.
All these additions seem appropriate—please verify that none of these utilities duplicate functionality available elsewhere.


58-67: Redux and React Ecosystem Enhancements

The updates covering react-redux to reselect (lines 58–67) will improve state management and development ergonomics.
Confirm that these versions tie in well with your existing React setup.


68-76: Webpack and Build Process Refinements

The modifications from web3-utils to worker-loader (lines 68–76) update many core dependencies related to building the project.
It is recommended to verify that these libraries integrate seamlessly with your application’s bundling and deployment strategy.


77-77: XRPL Dependency Inclusion

The addition of xrpl (line 77) should be cross-checked against your blockchain-related functionality to ensure compatibility.

scripts/list-outdated-dependencies/mobile-dependencies.txt (12)

3-6: Initial Mobile Dependency Updates

The addition of dependencies such as @gorhom/bottom-sheet, @mobily/ts-belt, @react-native-async-storage/async-storage, and @react-native-community/cli (lines 3–6) appears to target improved UI components and async storage handling on mobile.
Verify that these are not duplicative with other mobile modules and that any required native configurations are updated.


8-9: React Native Build Tool Enhancements

The updates to @react-native/babel-preset and @react-native/metro-config (lines 8–9) should be coordinated with your build configuration.
Make sure that your Metro bundler and Babel configurations are adapted to these dependency changes.


16-16: React Native Skia Update

The addition of @shopify/react-native-skia (line 16) is a notable change for graphical performance.
Ensure that its integration is thoroughly tested across your mobile platforms.


18-18: Type Definitions for Fast Text Encoding

The inclusion of @types/fast-text-encoding (line 18) is a positive addition—please verify that it’s kept in sync with the library itself if version mismatches occur.


26-28: Detox, Event-Target Shim, and Expo Inclusion

The updates on lines 26–28 introduce detox (for testing), event-target-shim (for robust event handling), and expo (which is central to many mobile apps).
Ensure that any end-to-end test configurations and Expo settings reflect these changes.


31-31: Expo-Camera Update

The update to expo-camera (line 31) should be cross-checked with your application’s permissions and native module linking.


38-38: Expo-Image-Picker Update

The change at line 38 (updating expo-image-picker) requires validation against usage in your image handling flows.


40-40: Expo-Linking Update

The update to expo-linking (line 40) should be verified to ensure that deep linking configurations remain intact.


42-42: Expo-Localization Enhancement

The update at line 42 for expo-localization (and its seamless integration with Expo’s APIs) is a welcome addition for international support.


61-62: Localization and Testing Tool Updates

The additions of intl-pluralrules (line 61) and jest-expo (line 62) will aid internationalization and testing on mobile.
These changes appear well targeted.


65-69: Core Mobile Framework Enhancements

Updates to metro, node-gyp, react-fela, react-native, and react-native-edge-to-edge (lines 65–69) are critical.
Review these carefully to verify that native builds and runtime edge-case handling are unaffected.


74-74: React Native Reanimated Update

The update to react-native-reanimated (line 74) is significant given its impact on animations.
Confirm that any associated configuration (e.g., Babel plugins or reanimated’s worklets configuration) is updated accordingly.

scripts/list-outdated-dependencies/connect-dependencies.txt (8)

2-7: Wallet and Testing Utility Enhancements

The additions between lines 2 and 7 (including @hbsnow/rehype-sectionize, @jest/globals, @jest/types, @noble/hashes, @reown/walletkit, and @scure/bip39) significantly expand the dependency list for parsing, wallet utilities, and testing.
Please ensure that each of these is necessary and justified for the improvements in dependency management.


14-14: Tailwind CSS Nesting Support

The addition of @tailwindcss/nesting (line 14) should be verified against your existing Tailwind configuration to avoid conflicts.


29-33: WalletConnect Module Updates

The updates for WalletConnect libraries (lines 31–33: @walletconnect/core, @walletconnect/react-native-compat, and @walletconnect/utils) indicate a refreshed integration.
Please confirm that these changes are coordinated with your wallet connection flows.


68-68: Long Dependency Update

The update to long (line 68) should be reviewed to ensure compatibility with any libraries that rely on precise arithmetic operations or bit-level computations.


70-75: Next.js Ecosystem Dependencies Update

The set of dependencies from next to node-fetch (lines 70–75) updates your Next.js ecosystem components (e.g. next-seo, next-themes, nextra, etc.).
Ensure that these changes are in line with your web framework configurations and that there are no conflicts with other parts of the system.


77-84: PostCSS and Protobuf Updates

The changes from postcss to react-inspector (lines 77–84) update CSS processing tools and protobuf-related packages.
It is important to confirm that CSS builds and any protobuf compilation steps remain stable after these updates.


89-90: Semver & Socks-Proxy-Agent Updates

The updates to semver and socks-proxy-agent (lines 89–90) are critical for version management and network proxy handling.
Verify that these updates do not introduce breaking changes in scripts or tooling that rely on version comparisons.


100-102: Final Updates: WS, Xvfb, and Zod

The final dependency updates for ws, xvfb-maybe, and zod (lines 100–102) appear to round out the dependency refresh.
Ensure that these libraries, especially zod for schema validation, are compatible with your other validation mechanisms.

Comment thread scripts/list-outdated-dependencies/trends-dependencies.txt
Comment thread scripts/list-outdated-dependencies/trends-dependencies.txt
@komret komret force-pushed the chore/move-common-dependencies-responsibilities branch from 2124e36 to 0901c43 Compare April 14, 2025 15:53
@trezor-ci
Copy link
Copy Markdown
Contributor

✅ Previously successful run of [Test] PR Suite Desktop e2e tests workflow has been found.
⏭️ Skipping tests for this run.
💡 If you are unsure about your latest changes, please rerun the workflow manually. (Use the Re-run all jobs option)

@trezor-ci
Copy link
Copy Markdown
Contributor

✅ Previously successful run of [Test] PR Suite Web e2e tests workflow has been found.
⏭️ Skipping tests for this run.
💡 If you are unsure about your latest changes, please rerun the workflow manually. (Use the Re-run all jobs option)

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (5)
scripts/list-outdated-dependencies/engagement-dependencies.txt (1)

9-9: Inconsistency with PR Objectives: @storybook/addon-docs.
The dependency @storybook/addon-docs is present on this line, yet the PR summary mentions its removal. Please verify whether it should remain or be removed to match the intended dependency distribution.

Likely an incorrect or invalid review comment.

scripts/list-outdated-dependencies/trends-dependencies.txt (3)

15-15: Inconsistent Dependency: @metamask/eth-sig-util.
Despite the PR summary’s indication of removal, this dependency still exists. Please verify its intended status.


18-24: Solana Dependencies Check.
Within this group, updates such as @solana-program/stake (line 19) and @solana/buffer-layout (line 24) are present. Prior feedback suggested removal for some Solana packages—please confirm these entries against your intended blockchain support.


25-26: Potential Removal Alert: @solana/kit.
The update on line 26 for @solana/kit is unexpected given previous instructions aiming for its removal. Please recheck its necessity.

scripts/list-outdated-dependencies/connect-dependencies.txt (1)

87-87: Duplicate Check – scroll-into-view-if-needed.
Although earlier reviews flagged duplicate entries for scroll-into-view-if-needed, here it appears as a single entry. Confirm that any unintended duplications have been resolved.

🧹 Nitpick comments (16)
scripts/list-outdated-dependencies/foundation-dependencies.txt (3)

9-16: Updated Type Definitions.
Several type definitions (e.g. @types/cors, @types/electron-localshortcut, @types/file-saver, @types/fs-extra, @types/prettier, @types/tar, and @types/wif) have been introduced or updated. Verify that these versions are compatible with their corresponding runtime packages.


18-18: New Dependency Addition: bignumber.js.
Ensure that this package meets your precision and performance needs, and consider if it consolidates functionality available in other numeric libraries currently used.


65-75: Final Segment Dependency Updates.
Critical utilities such as rimraf, sort-package-json, systeminformation, tar, tiny-secp256k1, typeforce, typescript-eslint, uuid, varuint-bitcoin, wif, and yargs have been updated. Ensure that these align with your build, linting, and CLI requirements.

scripts/list-outdated-dependencies/engagement-dependencies.txt (3)

18-21: Updated Type Definitions for Engagement.
Several type definition packages (including @types/pako, @types/pdfmake, @types/prettier, @types/react, @types/react-dom, @types/react-router, @types/react-router-dom, and @types/zxcvbn) have been modified. Double-check these updates for compatibility with their runtime counterparts.

Also applies to: 23-23, 25-26, 28-28


38-46: CSS & Build Pipeline Restructuring.
Updates to pako, pdfmake, polished, and a suite of PostCSS-related packages suggest a revamped asset and style processing flow. Ensure these new dependencies integrate seamlessly with your existing build configuration.


67-70: TypeScript & Related Tooling Update.
Enhancements to svgo, tslib, tsx, and typescript will affect both asset optimization and type checking. Validate that your development tools and configurations are updated accordingly.

scripts/list-outdated-dependencies/trends-dependencies.txt (3)

1-10: Babel Toolchain Overhaul.
The complete Babel suite (from CLI to runtime) has been updated. Ensure that your Babel configuration is adjusted to utilize these new versions for an optimal transpilation process.


33-41: Type Definitions & Build Tool Updates.
Updates to multiple type definitions (e.g. for bchaddrjs and copy-webpack-plugin) and related build tools need a thorough verification to maintain consistency with your development environment.


68-77: Webpack & Blockchain Utils Update.
Updates to Webpack (and related analyzing and CLI tools) alongside web3-utils and xrpl indicate an effort to modernize both bundling and blockchain integration. Testing for bundle size and runtime behavior is advised.

scripts/list-outdated-dependencies/mobile-dependencies.txt (1)

18-22: Type Definitions & Polyfills.
Updates including @types/fast-text-encoding, @whatwg-node/events, and abortcontroller-polyfill are key for ensuring cross-platform consistency on mobile. Review these for compatibility across your target devices.

scripts/list-outdated-dependencies/connect-dependencies.txt (6)

17-21: Type Definitions Enhancement.
The revisions in type definitions (covering @types/events, @types/flexsearch, @types/git-url-parse, @types/json-stable-stringify, and @types/karma) are important for type safety. Verify their compatibility with your codebase.


34-40: Utility Libraries Overhaul.
Several utility packages (including base-x, browserify-bignum, cbor-js, clsx, codemirror-json-schema, codemirror-json5, and concurrently) have been updated. Check that these low-level utilities do not negatively impact performance or bundle size.


48-56: Event Handling & Testing Environment Enhancements.
Modules including updated events, flexsearch, focus-visible, git-url-parse, groestl-hash-js, html-inline-script-webpack-plugin, intersection-observer, jest-environment-node, and jest-extended need validation against your current event and testing setups.


75-80: PostCSS & Node Fetch Enhancements.
Changes to node-fetch and several PostCSS packages (including postcss, postcss-cli, postcss-import, and postcss-lightningcss) need to be tested to ensure there is no adverse effect on styling or network functionality.


88-92: Security & Networking Utilities.
Revisions to semver, socks-proxy-agent, and swr must be verified for potential impacts on security and network performance.


93-102: Final Build & Utility Updates.
The updates to tailwindcss, terser-webpack-plugin, tiny-worker, ts-mixer, ts-node, usb, ws, xvfb-maybe, and zod reflect an overall refinement of your build and utility processes. A full integration test is recommended.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2124e36 and 0901c43.

📒 Files selected for processing (7)
  • CODEOWNERS (3 hunks)
  • scripts/list-outdated-dependencies/connect-dependencies.txt (1 hunks)
  • scripts/list-outdated-dependencies/engagement-dependencies.txt (1 hunks)
  • scripts/list-outdated-dependencies/foundation-dependencies.txt (1 hunks)
  • scripts/list-outdated-dependencies/mobile-dependencies.txt (1 hunks)
  • scripts/list-outdated-dependencies/qa-dependencies.txt (1 hunks)
  • scripts/list-outdated-dependencies/trends-dependencies.txt (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
  • scripts/list-outdated-dependencies/qa-dependencies.txt
  • CODEOWNERS
🧰 Additional context used
🪛 LanguageTool
scripts/list-outdated-dependencies/engagement-dependencies.txt

[duplication] ~47-~47: Possible typo: you repeated a word.
Context: ...les-values postcss-styled-syntax qrcode.react react react-date-range react-dom react-focus-...

(ENGLISH_WORD_REPEAT_RULE)

⏰ Context from checks skipped due to timeout of 90000ms (5)
  • GitHub Check: PR-check / node-authorizeCoinjoin cancelCoinjoinAuthorization passphrase unlockPath setBusy checkFirmwareAuthenticity keepSession cancel.test info.test resetDevice-api
  • GitHub Check: PR-check / web-authorizeCoinjoin cancelCoinjoinAuthorization passphrase unlockPath setBusy checkFirmwareAuthenticity keepSession cancel.test info.test resetDevice-api
  • GitHub Check: build-deploy
  • GitHub Check: Analyze with CodeQL (javascript)
  • GitHub Check: test
🔇 Additional comments (42)
scripts/list-outdated-dependencies/foundation-dependencies.txt (4)

1-6: New Foundational Dependencies Added.
The additions such as @braintree/sanitize-url, @electron/fuses, and @electron/notarize signal an update to your core dependency set. Please ensure these packages meet both the security and functionality requirements of your foundation layer.


23-30: Runtime Dependency Updates Review.
The segment introducing updates like bn.js, bs58, bs58check, chalk, cors, create-hmac, depcheck, and dropbox can affect the runtime behavior. Please verify that these packages do not create conflicts and that they’re necessary following the dependency restructuring.


44-48: Tooling & Runtime Package Adjustments.
Updates to packages such as eslint-plugin-react-hooks, express, fake-indexeddb, file-saver, and fs-extra need to be carefully verified—especially the addition of express if it impacts server-side functionality.


54-64: Additional Dependency Updates.
This block (including idb, int64-buffer, minimaldata, minimatch, n64, nx, openpgp, prettier, react-hook-form, react-router, and react-router-dom) appears to modernize several utility and UI support libraries. Confirm that these changes integrate well into your overall architecture.

scripts/list-outdated-dependencies/engagement-dependencies.txt (6)

3-4: @formatjs Packages Update.
The addition of @formatjs/cli and @formatjs/intl suggests new or updated internationalization functionality. Ensure that these changes are consistent with your localization strategy.


6-6: New Plugin for Vite.
The inclusion of @originjs/vite-plugin-commonjs improves compatibility with CommonJS modules in a Vite environment.


35-35: Utility Update: date-fns.
The update to date-fns should be validated for any breaking changes, especially if date manipulation plays a critical role in the app.


48-48: React Core Update Verification.
The upgrade to react on this line should be cross-checked for compatibility across the project’s various packages.


50-51: UI Library Enhancements.
The updated react-dom and react-focus-lock are key for rendering and accessibility. Confirm that their upgraded versions work well with your existing UI framework.


74-76: Final Engagement Dependencies Adjustments.
The updates to vite-plugin-wasm and zxcvbn should be confirmed to align with the intended WebAssembly integration and password-strength checking features.

scripts/list-outdated-dependencies/trends-dependencies.txt (9)

11-14: Ethereum & Wallet SDK Dependencies.
Dependencies such as @ethereumjs/common, @ethereumjs/tx, @everstake/wallet-sdk, and @fivebinaries/coin-selection remain; please confirm that their versions are in sync with your overall blockchain-integrated features.


16-17: React Refresh & Redux Toolkit Integration.
The additions of @pmmmwh/react-refresh-webpack-plugin and @reduxjs/toolkit modernize the development workflow. Ensure proper integration and testing with your existing setup.


27-29: Remaining Blockchain Dependencies.
The entries for @solana/rpc-api, @solana/rpc-types, and @stellar/stellar-sdk are standard; ensure they are consistent with your blockchain integration strategy.


30-32: Testing Libraries Update.
The upgrades to @testing-library/jest-dom, @testing-library/react, and @testing-library/user-event should be validated within your test suites to capture any breaking changes.


42-44: Validation & Build Pipeline Enhancements.
The updates for ajv, babel-jest, and babel-loader signal improvements in validation and testing. Ensure these changes are reflected in your build and test configurations.


45-50: Bundling and Security Enhancements.
Updated dependencies like copy-webpack-plugin, eth-phishing-detect, html-webpack-plugin, immer, and jest should be carefully tested to ensure there are no negative side effects in your bundling process or security posture.


51-59: Testing & State Management Tools Update.
A broad set of updates (from jest-canvas-mock to react-refresh) could impact your testing environment and state management. It’s crucial to re-run your test suites to confirm no regressions.


60-67: Redux and Related State Management Updates.
The modifications to Redux, its devtools, logging, and associated middleware might change state behavior. Verify that your Redux state flows remain correct post-update.


78-78: Final Dependency Entry.
The final line appears unmodified. Ensure that its presence is intentional and that it fits within the overall dependency strategy.

scripts/list-outdated-dependencies/mobile-dependencies.txt (8)

3-6: Mobile Dependencies Update – Part 1.
New additions like @gorhom/bottom-sheet, @mobily/ts-belt, @react-native-async-storage/async-storage, and @react-native-community/cli enhance UI components and tooling. Confirm these meet your mobile development needs.


8-9: Build Configuration for React Native.
The updates to @react-native/babel-preset and @react-native/metro-config are pivotal for your build process in React Native. Validate their integration with your current build setup.


16-16: Shopify Skia Update.
The update to @shopify/react-native-skia may improve graphics rendering. Ensure its usage is consistent with your rendering and performance requirements.


26-28: Detox and Expo Adjustments.
Changes to detox, event-target-shim, and expo suggest significant updates in your testing and runtime environment. It is advisable to perform comprehensive end-to-end tests following these changes.


31-31: Expo Modules Update.
Upgrades to expo-camera, expo-image-picker, expo-linking, and expo-localization are crucial. Verify these are fully compatible with your current Expo SDK and that they address any previous issues.

Also applies to: 38-42


49-51: Multimedia & Performance Enhancements.
The introduction of expo-video along with updates to fantasticon and fast-text-encoding should be validated to ensure smooth multimedia functionality and performance.


65-69: Development Tools and Core React Native.
Updates to metro, node-gyp, react-fela, react-native, and react-native-edge-to-edge are central to your development environment. Please confirm cross-device compatibility and build stability.


74-74: React Native Reanimated Update.
The upgrade to react-native-reanimated can improve animation performance. Verify that this new version is fully compatible with your current animation implementations.

scripts/list-outdated-dependencies/connect-dependencies.txt (15)

2-7: Markdown and Wallet Tools Update.
The additions such as @hbsnow/rehype-sectionize, @jest/globals, @jest/types, @noble/hashes, @reown/walletkit, and @scure/bip39 enhance document processing and wallet functionality. Confirm that these meet the intended feature requirements.


8-11: Sentry Integrations.
The Sentry packages (@sentry/browser, @sentry/core, @sentry/electron, and @sentry/webpack-plugin) remain unchanged. Ensure that your error monitoring configuration fully leverages these tools.


12-14: Tailwind CSS Nesting Update.
The update to @tailwindcss/nesting (line 14) necessitates a review of your Tailwind configuration to ensure nested CSS is correctly processed.


22-28: Further Type Definitions Update.
Updates to type definitions for lodash, node-fetch, semver, sharedworker, w3c-web-usb, web, and ws should be validated to ensure consistent type behavior across your modules.


29-29: React CodeMirror Integration.
The addition of @uiw/react-codemirror can enhance your code editor capabilities. Confirm its configuration and styling are correctly set up.


31-33: WalletConnect Suite Update.
The introduction of @walletconnect/core, @walletconnect/react-native-compat, and @walletconnect/utils reinforces blockchain wallet connectivity. Validate these with your current API integrations.


41-47: Build Tools & Security Modules.
Updates for tools such as crc, cross-fetch, crypto-browserify, es6-promise, esbuild, and escape-string-regexp should be verified to maintain both build efficiency and a strong security profile.


57-59: JSON and Hashing Utilities.
The updates to json-stable-stringify, json5, and jssha should be reviewed to ensure they provide consistent formatting and secure hashing functions.


60-66: Karma Test Runner Suite Consistency.
The Karma-related dependencies remain unchanged, indicating stability in your test runner configuration. Confirm that your Karma setup continues to function as expected.


67-67: Lodash Version Confirmation.
Ensure that the version of lodash meets your application's requirements and that no breaking changes have been introduced.


68-68: Utility Update: long.
The update to the long package should be tested to ensure proper handling of 64-bit integer operations.


70-74: Next.js Ecosystem Overhaul.
The updates to next, next-seo, next-themes, nextra, and nextra-theme-docs are substantial. Please verify that your Next.js configuration, routing, and theming are compatible with these revised packages.


81-83: Blockchain & Serialization Tools.
Updates in protobufjs, protobufjs-cli, and pushdata-bitcoin are key for data serialization and blockchain processing. Confirm that these work as intended with your blockchain modules.


84-84: React Inspector Update.
The upgraded react-inspector should be reviewed to ensure it enhances your debugging experience without introducing regressions.


103-103: End of Dependency List Verification.
The final dependency entry appears unmodified. Ensure that this entry is intentional and aligns with your overall dependency management strategy.

Comment on lines +52 to +62
fela
fela-enforce-longhands
fela-native
fela-plugin-embedded
fela-plugin-extend
fela-plugin-multiple-selectors
fela-plugin-placeholder-prefixer
fela-plugin-unit
fela-sort-media-query-mobile-first
intl-pluralrules
jest-expo
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Styling & Plugin Framework Revamp.
The extensive updates to Fela-related packages (including plugins for enforcing longhands, embedded theming, placeholder prefixing, etc.) along with intl-pluralrules and jest-expo are significant. Consider a thorough integration test to ensure that your styling engine and tests work as intended.

@komret komret force-pushed the chore/move-common-dependencies-responsibilities branch from 0901c43 to 6ed377b Compare April 22, 2025 13:31
@komret komret enabled auto-merge (rebase) April 22, 2025 13:32
@komret komret merged commit 52618c5 into develop Apr 22, 2025
47 of 48 checks passed
@komret komret deleted the chore/move-common-dependencies-responsibilities branch April 22, 2025 13:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file no-project This label is used to specify that PR doesn't need to be added to a project

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants