Skip to content

Commit 561db3c

Browse files
committed
feat: extract generate-action-types CLI into @metamask/messenger-cli
1 parent 7da05ef commit 561db3c

File tree

82 files changed

+2572
-152
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+2572
-152
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@
8686
/packages/controller-utils @MetaMask/core-platform
8787
/packages/eth-json-rpc-middleware @MetaMask/core-platform
8888
/packages/messenger @MetaMask/core-platform
89+
/packages/messenger-cli @MetaMask/core-platform
8990
/packages/sample-controllers @MetaMask/core-platform
9091
/packages/polling-controller @MetaMask/core-platform
9192
/packages/preferences-controller @MetaMask/core-platform

.github/workflows/lint-build-test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
- constraints
3939
- lint:dependencies
4040
- lint:teams
41-
- generate-method-action-types:check
41+
- messenger-generate-action-types:check
4242
steps:
4343
- name: Checkout and setup environment
4444
uses: MetaMask/action-checkout-and-setup@v2

README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ Each package in this repository has its own README where you can find installati
6464
- [`@metamask/logging-controller`](packages/logging-controller)
6565
- [`@metamask/message-manager`](packages/message-manager)
6666
- [`@metamask/messenger`](packages/messenger)
67+
- [`@metamask/messenger-cli`](packages/messenger-cli)
6768
- [`@metamask/money-account-controller`](packages/money-account-controller)
6869
- [`@metamask/multichain-account-service`](packages/multichain-account-service)
6970
- [`@metamask/multichain-api-middleware`](packages/multichain-api-middleware)
@@ -149,6 +150,7 @@ linkStyle default opacity:0.5
149150
logging_controller(["@metamask/logging-controller"]);
150151
message_manager(["@metamask/message-manager"]);
151152
messenger(["@metamask/messenger"]);
153+
messenger_cli(["@metamask/messenger-cli"]);
152154
money_account_controller(["@metamask/money-account-controller"]);
153155
multichain_account_service(["@metamask/multichain-account-service"]);
154156
multichain_api_middleware(["@metamask/multichain-api-middleware"]);
@@ -219,6 +221,7 @@ linkStyle default opacity:0.5
219221
assets_controller --> network_controller;
220222
assets_controller --> network_enablement_controller;
221223
assets_controller --> permission_controller;
224+
assets_controller --> phishing_controller;
222225
assets_controller --> polling_controller;
223226
assets_controller --> preferences_controller;
224227
assets_controller --> transaction_controller;
@@ -264,6 +267,7 @@ linkStyle default opacity:0.5
264267
bridge_status_controller --> controller_utils;
265268
bridge_status_controller --> gas_fee_controller;
266269
bridge_status_controller --> keyring_controller;
270+
bridge_status_controller --> messenger;
267271
bridge_status_controller --> network_controller;
268272
bridge_status_controller --> polling_controller;
269273
bridge_status_controller --> profile_sync_controller;
@@ -329,6 +333,7 @@ linkStyle default opacity:0.5
329333
eth_json_rpc_provider --> json_rpc_engine;
330334
gas_fee_controller --> base_controller;
331335
gas_fee_controller --> controller_utils;
336+
gas_fee_controller --> messenger;
332337
gas_fee_controller --> network_controller;
333338
gas_fee_controller --> polling_controller;
334339
gator_permissions_controller --> base_controller;
@@ -346,6 +351,10 @@ linkStyle default opacity:0.5
346351
message_manager --> base_controller;
347352
message_manager --> controller_utils;
348353
message_manager --> messenger;
354+
money_account_controller --> accounts_controller;
355+
money_account_controller --> base_controller;
356+
money_account_controller --> keyring_controller;
357+
money_account_controller --> messenger;
349358
multichain_account_service --> accounts_controller;
350359
multichain_account_service --> base_controller;
351360
multichain_account_service --> keyring_controller;
@@ -415,6 +424,7 @@ linkStyle default opacity:0.5
415424
polling_controller --> base_controller;
416425
polling_controller --> controller_utils;
417426
polling_controller --> network_controller;
427+
polling_controller --> messenger;
418428
preferences_controller --> base_controller;
419429
preferences_controller --> messenger;
420430
profile_metrics_controller --> accounts_controller;
@@ -439,6 +449,7 @@ linkStyle default opacity:0.5
439449
remote_feature_flag_controller --> controller_utils;
440450
remote_feature_flag_controller --> messenger;
441451
sample_controllers --> base_controller;
452+
sample_controllers --> base_data_service;
442453
sample_controllers --> messenger;
443454
sample_controllers --> network_controller;
444455
sample_controllers --> controller_utils;
@@ -464,6 +475,10 @@ linkStyle default opacity:0.5
464475
signature_controller --> logging_controller;
465476
signature_controller --> messenger;
466477
signature_controller --> network_controller;
478+
social_controllers --> base_controller;
479+
social_controllers --> base_data_service;
480+
social_controllers --> controller_utils;
481+
social_controllers --> messenger;
467482
storage_service --> messenger;
468483
subscription_controller --> base_controller;
469484
subscription_controller --> controller_utils;
@@ -480,6 +495,7 @@ linkStyle default opacity:0.5
480495
transaction_controller --> messenger;
481496
transaction_controller --> network_controller;
482497
transaction_controller --> remote_feature_flag_controller;
498+
transaction_controller --> connectivity_controller;
483499
transaction_controller --> eth_block_tracker;
484500
transaction_controller --> eth_json_rpc_provider;
485501
transaction_pay_controller --> assets_controller;

docs/code-guidelines/controller-guidelines.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -457,7 +457,7 @@ Instead, you can follow this process:
457457

458458
1. Define a constant in your controller file called `MESSENGER_EXPOSED_METHODS`, listing the methods you want to expose.
459459
2. Remove manual action registrations; instead, call `registerMethodActionHandlers` and pass `MESSENGER_EXPOSED_METHODS`.
460-
3. Remove messenger action types; instead, run `yarn generate-method-action-types`. This will create a file called `${ControllerName}-method-action-types.ts`, which exports a type called `${ControllerName}MethodActions`.
460+
3. Remove messenger action types; instead, run `yarn messenger-generate-action-types`. This will create a file called `${ControllerName}-method-action-types.ts`, which exports a type called `${ControllerName}MethodActions`.
461461
4. Import `${ControllerName}-method-action-types.ts` in your controller file, and add `${ControllerName}MethodActions` to `${ControllerName}Actions`.
462462
5. Export the action types from `${ControllerName}-method-action-types.ts` in your package's `index.ts` file. Do **not** export the `${ControllerName}MethodActions` type.
463463

eslint.config.mjs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,12 @@ const config = createConfig([
293293
'import-x/no-nodejs-modules': 'off',
294294
},
295295
},
296+
{
297+
files: ['packages/messenger-cli/src/**/*.{js,ts}'],
298+
rules: {
299+
'import-x/no-nodejs-modules': 'off',
300+
},
301+
},
296302
{
297303
files: [
298304
'packages/notification-services-controller/src/NotificationServicesPushController/services/push/*-web.ts',

package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@
2121
"changelog:update": "yarn workspaces foreach --all --no-private --parallel --interlaced --verbose run changelog:update",
2222
"changelog:validate": "yarn workspaces foreach --all --no-private --parallel --interlaced --verbose run changelog:validate",
2323
"create-package": "tsx scripts/create-package",
24-
"generate-method-action-types": "yarn workspaces foreach --all --parallel --interlaced --verbose run generate-method-action-types",
25-
"generate-method-action-types:check": "yarn generate-method-action-types --check",
26-
"lint": "yarn lint:eslint && echo && yarn lint:misc --check && yarn constraints && yarn lint:dependencies && yarn lint:teams && yarn generate-method-action-types --check",
24+
"messenger-generate-action-types": "yarn workspaces foreach --all --no-private --parallel --interlaced --verbose exec tsx ../../packages/messenger-cli/src/cli.ts",
25+
"messenger-generate-action-types:check": "yarn messenger-generate-action-types --check",
26+
"lint": "yarn lint:eslint && echo && yarn lint:misc --check && yarn constraints && yarn lint:dependencies && yarn lint:teams && yarn messenger-generate-action-types --check",
2727
"lint:dependencies": "depcheck && yarn dedupe --check",
2828
"lint:dependencies:fix": "depcheck && yarn dedupe",
2929
"lint:eslint": "yarn build:only-clean && NODE_OPTIONS='--max-old-space-size=6144' yarn eslint",
30-
"lint:fix": "yarn lint:eslint --fix --prune-suppressions && echo && yarn lint:misc --write && yarn constraints --fix && yarn lint:dependencies:fix && yarn generate-method-action-types --fix",
30+
"lint:fix": "yarn lint:eslint --fix --prune-suppressions && echo && yarn lint:misc --write && yarn constraints --fix && yarn lint:dependencies:fix && yarn messenger-generate-action-types --fix",
3131
"lint:misc": "prettier --no-error-on-unmatched-pattern '**/*.json' '**/*.md' '**/*.yml' '!.yarnrc.yml' '!merged-packages/**' --ignore-path .gitignore",
3232
"lint:misc:check": "yarn lint:misc --check",
3333
"lint:teams": "tsx scripts/lint-teams-json.ts",

packages/account-tree-controller/package.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
"build:docs": "typedoc",
4141
"changelog:update": "../../scripts/update-changelog.sh @metamask/account-tree-controller",
4242
"changelog:validate": "../../scripts/validate-changelog.sh @metamask/account-tree-controller",
43-
"generate-method-action-types": "tsx ../../packages/messenger/src/generate-action-types/cli.ts",
4443
"since-latest-release": "../../scripts/since-latest-release.sh",
4544
"test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter",
4645
"test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache",
@@ -72,7 +71,6 @@
7271
"deepmerge": "^4.2.2",
7372
"jest": "^29.7.0",
7473
"ts-jest": "^29.2.5",
75-
"tsx": "^4.20.5",
7674
"typedoc": "^0.25.13",
7775
"typedoc-plugin-missing-exports": "^2.0.0",
7876
"typescript": "~5.3.3",

packages/accounts-controller/package.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
"build:docs": "typedoc",
4141
"changelog:update": "../../scripts/update-changelog.sh @metamask/accounts-controller",
4242
"changelog:validate": "../../scripts/validate-changelog.sh @metamask/accounts-controller",
43-
"generate-method-action-types": "tsx ../../packages/messenger/src/generate-action-types/cli.ts",
4443
"since-latest-release": "../../scripts/since-latest-release.sh",
4544
"test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter",
4645
"test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache",
@@ -77,7 +76,6 @@
7776
"@types/readable-stream": "^2.3.0",
7877
"jest": "^29.7.0",
7978
"ts-jest": "^29.2.5",
80-
"tsx": "^4.20.5",
8179
"typedoc": "^0.25.13",
8280
"typedoc-plugin-missing-exports": "^2.0.0",
8381
"typescript": "~5.3.3",

packages/address-book-controller/package.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
"build:docs": "typedoc",
4141
"changelog:update": "../../scripts/update-changelog.sh @metamask/address-book-controller",
4242
"changelog:validate": "../../scripts/validate-changelog.sh @metamask/address-book-controller",
43-
"generate-method-action-types": "tsx ../../packages/messenger/src/generate-action-types/cli.ts",
4443
"since-latest-release": "../../scripts/since-latest-release.sh",
4544
"test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter",
4645
"test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache",
@@ -60,7 +59,6 @@
6059
"deepmerge": "^4.2.2",
6160
"jest": "^29.7.0",
6261
"ts-jest": "^29.2.5",
63-
"tsx": "^4.20.5",
6462
"typedoc": "^0.25.13",
6563
"typedoc-plugin-missing-exports": "^2.0.0",
6664
"typescript": "~5.3.3"

packages/analytics-controller/package.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
"build:docs": "typedoc",
4141
"changelog:update": "../../scripts/update-changelog.sh @metamask/analytics-controller",
4242
"changelog:validate": "../../scripts/validate-changelog.sh @metamask/analytics-controller",
43-
"generate-method-action-types": "tsx ../../packages/messenger/src/generate-action-types/cli.ts",
4443
"since-latest-release": "../../scripts/since-latest-release.sh",
4544
"test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter",
4645
"test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache",
@@ -59,7 +58,6 @@
5958
"deepmerge": "^4.2.2",
6059
"jest": "^29.7.0",
6160
"ts-jest": "^29.2.5",
62-
"tsx": "^4.20.5",
6361
"typedoc": "^0.25.13",
6462
"typedoc-plugin-missing-exports": "^2.0.0",
6563
"typescript": "~5.3.3"

0 commit comments

Comments
 (0)