Skip to content

Commit b7434cb

Browse files
committed
Categorize type-only and controller-messaged deps correctly
There are two special kinds of dependencies that have been frequently miscategorized: - Type-only dependencies: These are dependencies from which no runtime code is used, but only TypeScript types. Since consumers need these types in order to write TypeScript code, these should be listed under `dependencies` (not `devDependencies`). - Controller-messaged dependencies. Say that controller A talks to controller B. Controller B in this case needs to be a dependency of A. Furthermore, a project that wants to use controller A needs to instantiate B before A. Because of the intercommunication between these controllers, in order to prevent runtime errors, the version of controller B that A relies on must match the version of B that the _project_ relies on. To enforce this, B must be listed under A's `peerDependencies`, even if it is also listed under its `dependencies`. This commit corrects dependencies for each package in the monorepo such that they follow the rules above. In rare cases dependencies that were completely used in production code were listed under `devDependencies`. These have been corrected as well.
1 parent ca683e8 commit b7434cb

File tree

27 files changed

+76
-20
lines changed

27 files changed

+76
-20
lines changed

packages/accounts-controller/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
### Fixed
11+
12+
- Add `@metamask/snaps-controller` as a dependency ([#4449](https://github.com/MetaMask/core/pull/4449))
13+
1014
## [17.0.0]
1115

1216
### Changed

packages/accounts-controller/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
"@metamask/eth-snap-keyring": "^4.3.1",
4747
"@metamask/keyring-api": "^8.0.0",
4848
"@metamask/keyring-controller": "^17.1.0",
49+
"@metamask/snaps-controllers": "^8.1.1",
4950
"@metamask/snaps-sdk": "^4.2.0",
5051
"@metamask/snaps-utils": "^7.4.0",
5152
"@metamask/utils": "^8.3.0",
@@ -56,7 +57,6 @@
5657
},
5758
"devDependencies": {
5859
"@metamask/auto-changelog": "^3.4.4",
59-
"@metamask/snaps-controllers": "^8.1.1",
6060
"@types/jest": "^27.4.1",
6161
"@types/readable-stream": "^2.3.0",
6262
"jest": "^27.5.1",

packages/assets-controllers/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
### Fixed
11+
12+
- Add `@metamask/keyring-api` as a dependency ([#4449](https://github.com/MetaMask/core/pull/4449))
13+
- Add `@types/lodash` as a dependency ([#4449](https://github.com/MetaMask/core/pull/4449))
14+
1015
## [33.0.0]
1116

1217
### Added

packages/assets-controllers/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
"@metamask/contract-metadata": "^2.4.0",
5454
"@metamask/controller-utils": "^11.0.0",
5555
"@metamask/eth-query": "^4.0.0",
56+
"@metamask/keyring-api": "^8.0.0",
5657
"@metamask/keyring-controller": "^17.1.0",
5758
"@metamask/metamask-eth-abis": "^3.1.1",
5859
"@metamask/network-controller": "^19.0.0",
@@ -61,6 +62,7 @@
6162
"@metamask/rpc-errors": "^6.2.1",
6263
"@metamask/utils": "^8.3.0",
6364
"@types/bn.js": "^5.1.5",
65+
"@types/lodash": "^4.14.191",
6466
"@types/uuid": "^8.3.0",
6567
"async-mutex": "^0.5.0",
6668
"bn.js": "^5.2.1",
@@ -73,9 +75,7 @@
7375
"devDependencies": {
7476
"@metamask/auto-changelog": "^3.4.4",
7577
"@metamask/ethjs-provider-http": "^0.3.0",
76-
"@metamask/keyring-api": "^8.0.0",
7778
"@types/jest": "^27.4.1",
78-
"@types/lodash": "^4.14.191",
7979
"@types/node": "^16.18.54",
8080
"deepmerge": "^4.2.2",
8181
"jest": "^27.5.1",

packages/chain-controller/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
### Fixed
11+
12+
- **BREAKING:** Add `@metamask/snaps-controllers` as a peer dependency ([#4449](https://github.com/MetaMask/core/pull/4449))
13+
- Remove `@types/readable-stream` as a dependency ([#4449](https://github.com/MetaMask/core/pull/4449))
14+
1015
## [0.1.0]
1116

1217
### Changed

packages/chain-controller/package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,14 +53,16 @@
5353
"devDependencies": {
5454
"@metamask/auto-changelog": "^3.4.4",
5555
"@types/jest": "^27.4.1",
56-
"@types/readable-stream": "^2.3.0",
5756
"deepmerge": "^4.2.2",
5857
"jest": "^27.5.1",
5958
"ts-jest": "^27.1.4",
6059
"typedoc": "^0.24.8",
6160
"typedoc-plugin-missing-exports": "^2.0.0",
6261
"typescript": "~4.9.5"
6362
},
63+
"peerDependencies": {
64+
"@metamask/snaps-controllers": "^8.1.1"
65+
},
6466
"engines": {
6567
"node": "^18.18 || >=20"
6668
},

packages/composable-controller/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
### Fixed
11+
12+
- Add `immer` as a dependency ([#4449](https://github.com/MetaMask/core/pull/4449))
13+
1014
## [7.0.0]
1115

1216
### Changed

packages/composable-controller/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,14 @@
4141
"test:watch": "jest --watch"
4242
},
4343
"dependencies": {
44-
"@metamask/base-controller": "^6.0.0"
44+
"@metamask/base-controller": "^6.0.0",
45+
"immer": "^9.0.6"
4546
},
4647
"devDependencies": {
4748
"@metamask/auto-changelog": "^3.4.4",
4849
"@metamask/json-rpc-engine": "^9.0.0",
4950
"@types/jest": "^27.4.1",
5051
"deepmerge": "^4.2.2",
51-
"immer": "^9.0.6",
5252
"jest": "^27.5.1",
5353
"sinon": "^9.2.4",
5454
"ts-jest": "^27.1.4",

packages/ens-controller/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
### Fixed
11+
12+
- Add `@metamask/network-controller` as a dependency ([#4449](https://github.com/MetaMask/core/pull/4449))
13+
1014
## [12.0.0]
1115

1216
### Changed

packages/ens-controller/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,12 @@
4444
"@ethersproject/providers": "^5.7.0",
4545
"@metamask/base-controller": "^6.0.0",
4646
"@metamask/controller-utils": "^11.0.0",
47+
"@metamask/network-controller": "^19.0.0",
4748
"@metamask/utils": "^8.3.0",
4849
"punycode": "^2.1.1"
4950
},
5051
"devDependencies": {
5152
"@metamask/auto-changelog": "^3.4.4",
52-
"@metamask/network-controller": "^19.0.0",
5353
"@types/jest": "^27.4.1",
5454
"deepmerge": "^4.2.2",
5555
"jest": "^27.5.1",

0 commit comments

Comments
 (0)