Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
fix: Ensure peer dependencies reflect latest breaking changes
Our constraints for `peerDependencies` previously only required the
major version to match. However, this was problematic for pre-1.0
packages because it allowed for situations where we cannot update a
package without introducing a peer dependency error, since pre-1.0
packages can have breaking changes in minor or patch releases.

The constraint has been updated to require the most significant part
of the version to be synchronized for peer dependencies, and all
resulting constraint errors have been auto-fixed.
  • Loading branch information
Gudahtt committed Sep 22, 2025
commit 7ccd814b2942621bec14960b8feaad988dd8bb64
2 changes: 1 addition & 1 deletion packages/account-tree-controller/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@
"@metamask/account-api": "^0.12.0",
"@metamask/accounts-controller": "^33.0.0",
"@metamask/keyring-controller": "^23.0.0",
"@metamask/multichain-account-service": "^0.8.0",
"@metamask/multichain-account-service": "^0.9.0",
"@metamask/profile-sync-controller": "^25.0.0",
"@metamask/providers": "^22.0.0",
"@metamask/snaps-controllers": "^14.0.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/assets-controllers/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@
"webextension-polyfill": "^0.12.0"
},
"peerDependencies": {
"@metamask/account-tree-controller": "^0.7.0",
"@metamask/account-tree-controller": "^0.16.0",
"@metamask/accounts-controller": "^33.0.0",
"@metamask/approval-controller": "^7.0.0",
"@metamask/keyring-controller": "^23.0.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/earn-controller/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@
"typescript": "~5.2.2"
},
"peerDependencies": {
"@metamask/account-tree-controller": "^0.12.1",
"@metamask/account-tree-controller": "^0.16.0",
"@metamask/network-controller": "^24.0.0"
},
"engines": {
Expand Down
2 changes: 1 addition & 1 deletion packages/network-enablement-controller/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@
"reselect": "^5.1.1"
},
"peerDependencies": {
"@metamask/multichain-network-controller": "^0.11.0",
"@metamask/multichain-network-controller": "^0.12.0",
"@metamask/network-controller": "^24.0.0",
"@metamask/transaction-controller": "^60.0.0"
},
Expand Down
10 changes: 8 additions & 2 deletions yarn.config.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -663,10 +663,16 @@ function expectUpToDateWorkspacePeerDependencies(Yarn, workspace) {
dependency.range,
)
) {
// We allow "non-stable" peer dependency to be set to any range
// until they are being "stable" (^1.0.0).
// Ensure peer dependency includes latest breaking changes.
//
// Technically pre-1.0 versions can make breaking changes in patch releases, but
// conventionally we always bump the most significant digit for breaking changes.
if (dependencyWorkspaceVersion.major > 0) {
dependency.update(`^${dependencyWorkspaceVersion.major}.0.0`);
} else if (dependencyWorkspaceVersion.minor > 0) {
dependency.update(`^0.${dependencyWorkspaceVersion.minor}.0`);
} else {
dependency.update(`^0.0.${dependencyWorkspaceVersion.patch}`);
}
}
}
Expand Down