claims-controller: Move {keyring,profile-sync}-controller to deps#8236
Open
claims-controller: Move {keyring,profile-sync}-controller to deps#8236
Conversation
`claims-controller` lists `keyring-controller` and `profile-sync-controller` as dev dependencies, but they need to be listed as dependencies, even if they are only being used for types. Without this fix, the types from these packages will resolve to `any`, which then propagates upward (e.g. `MessengerActions<ClaimsControllerMessenger>` also resolves to `any`).
Contributor
Author
|
@metamaskbot publish-preview |
Contributor
|
Preview builds have been published. Learn how to use preview builds in other projects. Expand for full list of packages and versions. |
Contributor
Author
|
I have tested this within the extension and the preview build posted above:
|
cryptodev-2s
approved these changes
Mar 18, 2026
chaitanyapotti
approved these changes
Mar 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Explanation
claims-controllerlistskeyring-controllerandprofile-sync-controlleras dev dependencies, but they need to be listed as dependencies, even if they are only being used for types. Without this fix, the types from these packages will resolve toany, which then propagates through the messenger type upward (e.g.MessengerActions<ClaimsControllerMessenger>also resolves toany). This ultimately impacts type-safety in clients and other projects.References
(Noticed this problem when working on some changes in the extension involving messengers)
Manual testing steps
Unfortunately there is no way to test this in an automated fashion. You have to test this within the context of a client.
For instance you can open the extension repo, install a preview build for
claims-controller, and then follow these steps:claims-service-messenger.tsin your IDE. Mouse overAllowedActions. You should not getany.claims-controller-messenger.tsin your IDE. Mouse overAllowedActions. You should not getany.Checklist
Note
Low Risk
Low risk dependency metadata change; it affects package installation/typing but not runtime logic, though it could alter downstream dependency resolution.
Overview
Updates
@metamask/claims-controllerpackage metadata so@metamask/keyring-controllerand@metamask/profile-sync-controllerare runtime dependencies (moved fromdevDependencies).This ensures exported messenger/action types (e.g.,
ClaimsControllerMessenger/ClaimsServiceMessenger) no longer degrade toanyin downstream consumers, and records the change in theCHANGELOGunder Changed/Fixed.Written by Cursor Bugbot for commit e5ae353. This will update automatically on new commits. Configure here.