diff --git a/.github/workflows/lint-build-test.yml b/.github/workflows/lint-build-test.yml index 4422d670ee6..90612e02ca3 100644 --- a/.github/workflows/lint-build-test.yml +++ b/.github/workflows/lint-build-test.yml @@ -40,6 +40,7 @@ jobs: - lint:teams - messenger-action-types:check - readme-content:check + - lint:tsconfigs:all steps: - name: Checkout and setup environment uses: MetaMask/action-checkout-and-setup@v2 diff --git a/README.md b/README.md index 352fec4e6ec..b3b5643bd9d 100644 --- a/README.md +++ b/README.md @@ -312,6 +312,7 @@ linkStyle default opacity:0.5 earn_controller --> network_controller; earn_controller --> transaction_controller; eip_5792_middleware --> messenger; + eip_5792_middleware --> preferences_controller; eip_5792_middleware --> transaction_controller; eip_5792_middleware --> keyring_controller; eip_7702_internal_rpc_middleware --> controller_utils; @@ -329,7 +330,6 @@ linkStyle default opacity:0.5 eth_json_rpc_middleware --> eth_json_rpc_provider; eth_json_rpc_middleware --> json_rpc_engine; eth_json_rpc_middleware --> message_manager; - eth_json_rpc_middleware --> network_controller; eth_json_rpc_provider --> json_rpc_engine; gas_fee_controller --> base_controller; gas_fee_controller --> controller_utils; @@ -344,6 +344,7 @@ linkStyle default opacity:0.5 geolocation_controller --> messenger; json_rpc_middleware_stream --> json_rpc_engine; keyring_controller --> base_controller; + keyring_controller --> controller_utils; keyring_controller --> messenger; logging_controller --> base_controller; logging_controller --> controller_utils; diff --git a/eslint.config.mjs b/eslint.config.mjs index 492f1c99c3c..fb5ec67265b 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -105,8 +105,7 @@ const config = createConfig([ '**/*.test.{js,ts}', '**/test/**/*.{js,ts}', '**/tests/**/*.{js,ts}', - 'scripts/*.ts', - 'scripts/create-package/**/*.ts', + 'scripts/**/*.ts', ], extends: [nodejs], }, diff --git a/package.json b/package.json index 3f8978d0a08..d751f02e2f7 100644 --- a/package.json +++ b/package.json @@ -21,14 +21,18 @@ "changelog:update": "yarn workspaces foreach --all --no-private --parallel --interlaced --verbose run changelog:update", "changelog:validate": "yarn workspaces foreach --all --no-private --parallel --interlaced --verbose run changelog:validate", "create-package": "tsx scripts/create-package", - "lint": "yarn lint:eslint && echo && yarn lint:misc --check && yarn constraints && yarn lint:dependencies && yarn lint:teams && yarn messenger-action-types:check && yarn readme-content:check", + "lint": "yarn lint:eslint && echo && yarn lint:misc --check && yarn constraints && yarn lint:dependencies && yarn lint:teams && yarn messenger-action-types:check && yarn readme-content:check && yarn lint:tsconfigs:all", "lint:dependencies": "depcheck && yarn dedupe --check", "lint:dependencies:fix": "depcheck && yarn dedupe", "lint:eslint": "yarn build:only-clean && NODE_OPTIONS='--max-old-space-size=6144' yarn eslint", - "lint:fix": "yarn lint:eslint --fix --prune-suppressions && echo && yarn lint:misc --write && yarn constraints --fix && yarn lint:dependencies:fix && yarn messenger-action-types:generate && yarn readme-content:update", + "lint:fix": "yarn lint:eslint --fix --prune-suppressions && echo && yarn lint:misc --write && yarn constraints --fix && yarn lint:dependencies:fix && yarn messenger-action-types:generate && yarn readme-content:update && yarn lint:tsconfigs:fix:all", "lint:misc": "prettier --no-error-on-unmatched-pattern '**/*.json' '**/*.md' '**/*.yml' '!.yarnrc.yml' '!merged-packages/**' --ignore-path .gitignore", "lint:misc:check": "yarn lint:misc --check", "lint:teams": "tsx scripts/lint-teams-json.ts", + "lint:tsconfigs": "tsx scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:all": "yarn workspaces foreach --all --parallel --interlaced --verbose run lint:tsconfigs", + "lint:tsconfigs:fix": "tsx scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", + "lint:tsconfigs:fix:all": "yarn workspaces foreach --all --parallel --interlaced --verbose run lint:tsconfigs:fix", "messenger-action-types:check": "yarn workspaces foreach --all --no-private --parallel --interlaced --verbose run messenger-action-types:check", "messenger-action-types:generate": "yarn workspaces foreach --all --no-private --parallel --interlaced --verbose run messenger-action-types:generate", "prepack": "./scripts/prepack.sh", diff --git a/packages/account-tree-controller/package.json b/packages/account-tree-controller/package.json index 8e6af493650..7548a24c2a8 100644 --- a/packages/account-tree-controller/package.json +++ b/packages/account-tree-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/account-tree-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/account-tree-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/account-tree-controller/tsconfig.build.json b/packages/account-tree-controller/tsconfig.build.json index d52110b5b4f..0ce4edba076 100644 --- a/packages/account-tree-controller/tsconfig.build.json +++ b/packages/account-tree-controller/tsconfig.build.json @@ -6,12 +6,24 @@ "rootDir": "./src" }, "references": [ - { "path": "../accounts-controller/tsconfig.build.json" }, - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../keyring-controller/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" }, - { "path": "../multichain-account-service/tsconfig.build.json" }, - { "path": "../profile-sync-controller/tsconfig.build.json" } + { + "path": "../accounts-controller/tsconfig.build.json" + }, + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../keyring-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + }, + { + "path": "../multichain-account-service/tsconfig.build.json" + }, + { + "path": "../profile-sync-controller/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/accounts-controller/package.json b/packages/accounts-controller/package.json index 4eec1f613d5..25f33010fa4 100644 --- a/packages/accounts-controller/package.json +++ b/packages/accounts-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/accounts-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/accounts-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/accounts-controller/tsconfig.build.json b/packages/accounts-controller/tsconfig.build.json index d95a2cae72e..84df510b17d 100644 --- a/packages/accounts-controller/tsconfig.build.json +++ b/packages/accounts-controller/tsconfig.build.json @@ -10,9 +10,18 @@ { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../keyring-controller/tsconfig.build.json" }, - { "path": "../network-controller/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" } + { + "path": "../keyring-controller/tsconfig.build.json" + }, + { + "path": "../network-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/accounts-controller/tsconfig.json b/packages/accounts-controller/tsconfig.json index effdcc95453..a62df830a84 100644 --- a/packages/accounts-controller/tsconfig.json +++ b/packages/accounts-controller/tsconfig.json @@ -10,8 +10,15 @@ { "path": "../keyring-controller" }, - { "path": "../network-controller" }, - { "path": "../messenger" } + { + "path": "../network-controller" + }, + { + "path": "../messenger" + }, + { + "path": "../controller-utils" + } ], "include": ["../../types", "./src", "./tests"] } diff --git a/packages/address-book-controller/package.json b/packages/address-book-controller/package.json index 3fc1d59c275..04ee12423f8 100644 --- a/packages/address-book-controller/package.json +++ b/packages/address-book-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/address-book-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/address-book-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/address-book-controller/tsconfig.build.json b/packages/address-book-controller/tsconfig.build.json index 5a5c9e2326a..df01f3c175b 100644 --- a/packages/address-book-controller/tsconfig.build.json +++ b/packages/address-book-controller/tsconfig.build.json @@ -6,9 +6,15 @@ "rootDir": "./src" }, "references": [ - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../controller-utils/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" } + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/address-book-controller/tsconfig.json b/packages/address-book-controller/tsconfig.json index dfd15011442..19c6a81ebc6 100644 --- a/packages/address-book-controller/tsconfig.json +++ b/packages/address-book-controller/tsconfig.json @@ -4,9 +4,15 @@ "baseUrl": "./" }, "references": [ - { "path": "../base-controller" }, - { "path": "../controller-utils" }, - { "path": "../messenger" } + { + "path": "../base-controller" + }, + { + "path": "../controller-utils" + }, + { + "path": "../messenger" + } ], "include": ["../../types", "./src"] } diff --git a/packages/ai-controllers/package.json b/packages/ai-controllers/package.json index 8d8b2256cee..f4d29f6ebb2 100644 --- a/packages/ai-controllers/package.json +++ b/packages/ai-controllers/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/ai-controllers", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/ai-controllers", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "since-latest-release": "../../scripts/since-latest-release.sh", "test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter", "test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache", @@ -59,6 +61,7 @@ "deepmerge": "^4.2.2", "jest": "^29.7.0", "ts-jest": "^29.2.5", + "tsx": "^4.20.5", "typedoc": "^0.25.13", "typedoc-plugin-missing-exports": "^2.0.0", "typescript": "~5.3.3" diff --git a/packages/ai-controllers/tsconfig.build.json b/packages/ai-controllers/tsconfig.build.json index 931c4d6594b..249f327913d 100644 --- a/packages/ai-controllers/tsconfig.build.json +++ b/packages/ai-controllers/tsconfig.build.json @@ -6,8 +6,12 @@ "rootDir": "./src" }, "references": [ - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" } + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/ai-controllers/tsconfig.json b/packages/ai-controllers/tsconfig.json index 68c3ddfc2cd..cb296895b28 100644 --- a/packages/ai-controllers/tsconfig.json +++ b/packages/ai-controllers/tsconfig.json @@ -3,6 +3,13 @@ "compilerOptions": { "baseUrl": "./" }, - "references": [{ "path": "../base-controller" }, { "path": "../messenger" }], + "references": [ + { + "path": "../base-controller" + }, + { + "path": "../messenger" + } + ], "include": ["../../types", "./src"] } diff --git a/packages/analytics-controller/package.json b/packages/analytics-controller/package.json index 9f3c2cd10d1..dba2814ae6a 100644 --- a/packages/analytics-controller/package.json +++ b/packages/analytics-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/analytics-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/analytics-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/analytics-controller/tsconfig.build.json b/packages/analytics-controller/tsconfig.build.json index 931c4d6594b..249f327913d 100644 --- a/packages/analytics-controller/tsconfig.build.json +++ b/packages/analytics-controller/tsconfig.build.json @@ -6,8 +6,12 @@ "rootDir": "./src" }, "references": [ - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" } + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/analytics-controller/tsconfig.json b/packages/analytics-controller/tsconfig.json index 68c3ddfc2cd..cb296895b28 100644 --- a/packages/analytics-controller/tsconfig.json +++ b/packages/analytics-controller/tsconfig.json @@ -3,6 +3,13 @@ "compilerOptions": { "baseUrl": "./" }, - "references": [{ "path": "../base-controller" }, { "path": "../messenger" }], + "references": [ + { + "path": "../base-controller" + }, + { + "path": "../messenger" + } + ], "include": ["../../types", "./src"] } diff --git a/packages/analytics-data-regulation-controller/package.json b/packages/analytics-data-regulation-controller/package.json index 42406b574b1..642675afc42 100644 --- a/packages/analytics-data-regulation-controller/package.json +++ b/packages/analytics-data-regulation-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/analytics-data-regulation-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/analytics-data-regulation-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/analytics-data-regulation-controller/tsconfig.build.json b/packages/analytics-data-regulation-controller/tsconfig.build.json index 5a5c9e2326a..df01f3c175b 100644 --- a/packages/analytics-data-regulation-controller/tsconfig.build.json +++ b/packages/analytics-data-regulation-controller/tsconfig.build.json @@ -6,9 +6,15 @@ "rootDir": "./src" }, "references": [ - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../controller-utils/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" } + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/analytics-data-regulation-controller/tsconfig.json b/packages/analytics-data-regulation-controller/tsconfig.json index dfd15011442..19c6a81ebc6 100644 --- a/packages/analytics-data-regulation-controller/tsconfig.json +++ b/packages/analytics-data-regulation-controller/tsconfig.json @@ -4,9 +4,15 @@ "baseUrl": "./" }, "references": [ - { "path": "../base-controller" }, - { "path": "../controller-utils" }, - { "path": "../messenger" } + { + "path": "../base-controller" + }, + { + "path": "../controller-utils" + }, + { + "path": "../messenger" + } ], "include": ["../../types", "./src"] } diff --git a/packages/announcement-controller/package.json b/packages/announcement-controller/package.json index d706622f94f..530c038bfad 100644 --- a/packages/announcement-controller/package.json +++ b/packages/announcement-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/announcement-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/announcement-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/announcement-controller/tsconfig.build.json b/packages/announcement-controller/tsconfig.build.json index 931c4d6594b..249f327913d 100644 --- a/packages/announcement-controller/tsconfig.build.json +++ b/packages/announcement-controller/tsconfig.build.json @@ -6,8 +6,12 @@ "rootDir": "./src" }, "references": [ - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" } + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/announcement-controller/tsconfig.json b/packages/announcement-controller/tsconfig.json index 68c3ddfc2cd..cb296895b28 100644 --- a/packages/announcement-controller/tsconfig.json +++ b/packages/announcement-controller/tsconfig.json @@ -3,6 +3,13 @@ "compilerOptions": { "baseUrl": "./" }, - "references": [{ "path": "../base-controller" }, { "path": "../messenger" }], + "references": [ + { + "path": "../base-controller" + }, + { + "path": "../messenger" + } + ], "include": ["../../types", "./src"] } diff --git a/packages/app-metadata-controller/package.json b/packages/app-metadata-controller/package.json index 643b468b32a..a131fdaa740 100644 --- a/packages/app-metadata-controller/package.json +++ b/packages/app-metadata-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/app-metadata-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/app-metadata-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "since-latest-release": "../../scripts/since-latest-release.sh", "test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter", "test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache", @@ -57,6 +59,7 @@ "deepmerge": "^4.2.2", "jest": "^29.7.0", "ts-jest": "^29.2.5", + "tsx": "^4.20.5", "typedoc": "^0.25.13", "typedoc-plugin-missing-exports": "^2.0.0", "typescript": "~5.3.3" diff --git a/packages/app-metadata-controller/tsconfig.build.json b/packages/app-metadata-controller/tsconfig.build.json index 931c4d6594b..249f327913d 100644 --- a/packages/app-metadata-controller/tsconfig.build.json +++ b/packages/app-metadata-controller/tsconfig.build.json @@ -6,8 +6,12 @@ "rootDir": "./src" }, "references": [ - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" } + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/app-metadata-controller/tsconfig.json b/packages/app-metadata-controller/tsconfig.json index 68c3ddfc2cd..cb296895b28 100644 --- a/packages/app-metadata-controller/tsconfig.json +++ b/packages/app-metadata-controller/tsconfig.json @@ -3,6 +3,13 @@ "compilerOptions": { "baseUrl": "./" }, - "references": [{ "path": "../base-controller" }, { "path": "../messenger" }], + "references": [ + { + "path": "../base-controller" + }, + { + "path": "../messenger" + } + ], "include": ["../../types", "./src"] } diff --git a/packages/approval-controller/package.json b/packages/approval-controller/package.json index caf1061ea55..b50196da000 100644 --- a/packages/approval-controller/package.json +++ b/packages/approval-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/approval-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/approval-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/assets-controller/package.json b/packages/assets-controller/package.json index 1d5e165dfcc..6f577a5dfe9 100644 --- a/packages/assets-controller/package.json +++ b/packages/assets-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/assets-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/assets-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/assets-controller/tsconfig.build.json b/packages/assets-controller/tsconfig.build.json index f7468098e50..2e22c315653 100644 --- a/packages/assets-controller/tsconfig.build.json +++ b/packages/assets-controller/tsconfig.build.json @@ -6,17 +6,51 @@ "rootDir": "./src" }, "references": [ - { "path": "../account-tree-controller/tsconfig.build.json" }, - { "path": "../assets-controllers/tsconfig.build.json" }, - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../client-controller/tsconfig.build.json" }, - { "path": "../core-backend/tsconfig.build.json" }, - { "path": "../keyring-controller/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" }, - { "path": "../network-enablement-controller/tsconfig.build.json" }, - { "path": "../permission-controller/tsconfig.build.json" }, - { "path": "../phishing-controller/tsconfig.build.json" }, - { "path": "../preferences-controller/tsconfig.build.json" } + { + "path": "../account-tree-controller/tsconfig.build.json" + }, + { + "path": "../assets-controllers/tsconfig.build.json" + }, + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../client-controller/tsconfig.build.json" + }, + { + "path": "../core-backend/tsconfig.build.json" + }, + { + "path": "../keyring-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + }, + { + "path": "../network-enablement-controller/tsconfig.build.json" + }, + { + "path": "../permission-controller/tsconfig.build.json" + }, + { + "path": "../phishing-controller/tsconfig.build.json" + }, + { + "path": "../preferences-controller/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" + }, + { + "path": "../network-controller/tsconfig.build.json" + }, + { + "path": "../polling-controller/tsconfig.build.json" + }, + { + "path": "../transaction-controller/tsconfig.build.json" + } ], "include": ["../../types", "./src"], "exclude": ["**/*.test.ts", "**/__fixtures__/"] diff --git a/packages/assets-controller/tsconfig.json b/packages/assets-controller/tsconfig.json index aa015e27290..31e22c97e56 100644 --- a/packages/assets-controller/tsconfig.json +++ b/packages/assets-controller/tsconfig.json @@ -4,16 +4,51 @@ "baseUrl": "./" }, "references": [ - { "path": "../account-tree-controller" }, - { "path": "../assets-controllers" }, - { "path": "../base-controller" }, - { "path": "../client-controller" }, - { "path": "../core-backend" }, - { "path": "../keyring-controller" }, - { "path": "../messenger" }, - { "path": "../network-enablement-controller" }, - { "path": "../phishing-controller" }, - { "path": "../preferences-controller" } + { + "path": "../account-tree-controller" + }, + { + "path": "../assets-controllers" + }, + { + "path": "../base-controller" + }, + { + "path": "../client-controller" + }, + { + "path": "../core-backend" + }, + { + "path": "../keyring-controller" + }, + { + "path": "../messenger" + }, + { + "path": "../network-enablement-controller" + }, + { + "path": "../phishing-controller" + }, + { + "path": "../preferences-controller" + }, + { + "path": "../controller-utils" + }, + { + "path": "../network-controller" + }, + { + "path": "../permission-controller" + }, + { + "path": "../polling-controller" + }, + { + "path": "../transaction-controller" + } ], "include": ["../../types", "./src"] } diff --git a/packages/assets-controllers/package.json b/packages/assets-controllers/package.json index 6411d62a090..8091bf4393f 100644 --- a/packages/assets-controllers/package.json +++ b/packages/assets-controllers/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/assets-controllers", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/assets-controllers", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/assets-controllers/tsconfig.build.json b/packages/assets-controllers/tsconfig.build.json index 5e4141f1bd2..f440265759a 100644 --- a/packages/assets-controllers/tsconfig.build.json +++ b/packages/assets-controllers/tsconfig.build.json @@ -6,22 +6,60 @@ "rootDir": "./src" }, "references": [ - { "path": "../account-tree-controller/tsconfig.build.json" }, - { "path": "../accounts-controller/tsconfig.build.json" }, - { "path": "../approval-controller/tsconfig.build.json" }, - { "path": "../core-backend/tsconfig.build.json" }, - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../controller-utils/tsconfig.build.json" }, - { "path": "../keyring-controller/tsconfig.build.json" }, - { "path": "../network-controller/tsconfig.build.json" }, - { "path": "../network-enablement-controller/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" }, - { "path": "../preferences-controller/tsconfig.build.json" }, - { "path": "../polling-controller/tsconfig.build.json" }, - { "path": "../permission-controller/tsconfig.build.json" }, - { "path": "../storage-service/tsconfig.build.json" }, - { "path": "../transaction-controller/tsconfig.build.json" }, - { "path": "../phishing-controller/tsconfig.build.json" } + { + "path": "../account-tree-controller/tsconfig.build.json" + }, + { + "path": "../accounts-controller/tsconfig.build.json" + }, + { + "path": "../approval-controller/tsconfig.build.json" + }, + { + "path": "../core-backend/tsconfig.build.json" + }, + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" + }, + { + "path": "../keyring-controller/tsconfig.build.json" + }, + { + "path": "../network-controller/tsconfig.build.json" + }, + { + "path": "../network-enablement-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + }, + { + "path": "../preferences-controller/tsconfig.build.json" + }, + { + "path": "../polling-controller/tsconfig.build.json" + }, + { + "path": "../permission-controller/tsconfig.build.json" + }, + { + "path": "../storage-service/tsconfig.build.json" + }, + { + "path": "../transaction-controller/tsconfig.build.json" + }, + { + "path": "../phishing-controller/tsconfig.build.json" + }, + { + "path": "../multichain-account-service/tsconfig.build.json" + }, + { + "path": "../profile-sync-controller/tsconfig.build.json" + } ], "include": ["../../types", "./src"], "exclude": ["**/*.test.ts", "**/__fixtures__/"] diff --git a/packages/assets-controllers/tsconfig.json b/packages/assets-controllers/tsconfig.json index 77cbe221742..695e5d7c051 100644 --- a/packages/assets-controllers/tsconfig.json +++ b/packages/assets-controllers/tsconfig.json @@ -5,22 +5,60 @@ "rootDir": "../.." }, "references": [ - { "path": "../account-tree-controller" }, - { "path": "../accounts-controller" }, - { "path": "../approval-controller" }, - { "path": "../core-backend" }, - { "path": "../base-controller" }, - { "path": "../controller-utils" }, - { "path": "../keyring-controller" }, - { "path": "../network-controller" }, - { "path": "../network-enablement-controller" }, - { "path": "../messenger" }, - { "path": "../preferences-controller" }, - { "path": "../phishing-controller" }, - { "path": "../polling-controller" }, - { "path": "../permission-controller" }, - { "path": "../storage-service" }, - { "path": "../transaction-controller" } + { + "path": "../account-tree-controller" + }, + { + "path": "../accounts-controller" + }, + { + "path": "../approval-controller" + }, + { + "path": "../core-backend" + }, + { + "path": "../base-controller" + }, + { + "path": "../controller-utils" + }, + { + "path": "../keyring-controller" + }, + { + "path": "../network-controller" + }, + { + "path": "../network-enablement-controller" + }, + { + "path": "../messenger" + }, + { + "path": "../preferences-controller" + }, + { + "path": "../phishing-controller" + }, + { + "path": "../polling-controller" + }, + { + "path": "../permission-controller" + }, + { + "path": "../storage-service" + }, + { + "path": "../transaction-controller" + }, + { + "path": "../multichain-account-service" + }, + { + "path": "../profile-sync-controller" + } ], "include": ["../../types", "./src", "../../tests"] } diff --git a/packages/base-controller/package.json b/packages/base-controller/package.json index 0f72eebe865..17f5114ac33 100644 --- a/packages/base-controller/package.json +++ b/packages/base-controller/package.json @@ -39,6 +39,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/base-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/base-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "since-latest-release": "../../scripts/since-latest-release.sh", "test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter", "test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache", @@ -58,6 +60,7 @@ "deepmerge": "^4.2.2", "jest": "^29.7.0", "ts-jest": "^29.2.5", + "tsx": "^4.20.5", "typedoc": "^0.25.13", "typedoc-plugin-missing-exports": "^2.0.0", "typescript": "~5.3.3" diff --git a/packages/base-controller/tsconfig.build.json b/packages/base-controller/tsconfig.build.json index b85456f63fc..4682dffa4e3 100644 --- a/packages/base-controller/tsconfig.build.json +++ b/packages/base-controller/tsconfig.build.json @@ -7,10 +7,10 @@ }, "references": [ { - "path": "../controller-utils/tsconfig.build.json" + "path": "../messenger/tsconfig.build.json" }, { - "path": "../messenger/tsconfig.build.json" + "path": "../json-rpc-engine/tsconfig.build.json" } ], "include": ["../../types", "./src"] diff --git a/packages/base-controller/tsconfig.json b/packages/base-controller/tsconfig.json index 2943ce27af0..3027b0239aa 100644 --- a/packages/base-controller/tsconfig.json +++ b/packages/base-controller/tsconfig.json @@ -4,9 +4,6 @@ "baseUrl": "./" }, "references": [ - { - "path": "../controller-utils" - }, { "path": "../json-rpc-engine" }, diff --git a/packages/base-data-service/package.json b/packages/base-data-service/package.json index da59d32ec6c..2122fa2238d 100644 --- a/packages/base-data-service/package.json +++ b/packages/base-data-service/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/base-data-service", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/base-data-service", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "publish:preview": "yarn npm publish --tag preview", diff --git a/packages/base-data-service/tsconfig.build.json b/packages/base-data-service/tsconfig.build.json index f83c71b4af8..c5e2b86d1bd 100644 --- a/packages/base-data-service/tsconfig.build.json +++ b/packages/base-data-service/tsconfig.build.json @@ -6,8 +6,12 @@ "rootDir": "./src" }, "references": [ - { "path": "../messenger/tsconfig.build.json" }, - { "path": "../controller-utils/tsconfig.build.json" } + { + "path": "../messenger/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/base-data-service/tsconfig.json b/packages/base-data-service/tsconfig.json index 3dbaffd259b..cd478200e02 100644 --- a/packages/base-data-service/tsconfig.json +++ b/packages/base-data-service/tsconfig.json @@ -3,6 +3,13 @@ "compilerOptions": { "baseUrl": "./" }, - "references": [{ "path": "../messenger" }, { "path": "../controller-utils" }], + "references": [ + { + "path": "../messenger" + }, + { + "path": "../controller-utils" + } + ], "include": ["../../types", "./src", "./tests"] } diff --git a/packages/bridge-controller/package.json b/packages/bridge-controller/package.json index 77cc38b90f3..dd50abf06f7 100644 --- a/packages/bridge-controller/package.json +++ b/packages/bridge-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/bridge-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/bridge-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "since-latest-release": "../../scripts/since-latest-release.sh", "test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter", "test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache", @@ -85,6 +87,7 @@ "lodash": "^4.17.21", "nock": "^13.3.1", "ts-jest": "^29.2.5", + "tsx": "^4.20.5", "typedoc": "^0.25.13", "typedoc-plugin-missing-exports": "^2.0.0", "typescript": "~5.3.3" diff --git a/packages/bridge-controller/tsconfig.build.json b/packages/bridge-controller/tsconfig.build.json index a8f7180477a..b235a6002c1 100644 --- a/packages/bridge-controller/tsconfig.build.json +++ b/packages/bridge-controller/tsconfig.build.json @@ -6,17 +6,48 @@ "rootDir": "./src" }, "references": [ - { "path": "../accounts-controller/tsconfig.build.json" }, - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../controller-utils/tsconfig.build.json" }, - { "path": "../network-controller/tsconfig.build.json" }, - { "path": "../polling-controller/tsconfig.build.json" }, - { "path": "../gas-fee-controller/tsconfig.build.json" }, - { "path": "../assets-controllers/tsconfig.build.json" }, - { "path": "../transaction-controller/tsconfig.build.json" }, - { "path": "../multichain-network-controller/tsconfig.build.json" }, - { "path": "../remote-feature-flag-controller/tsconfig.build.json" }, - { "path": "../assets-controller/tsconfig.build.json" } + { + "path": "../accounts-controller/tsconfig.build.json" + }, + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" + }, + { + "path": "../network-controller/tsconfig.build.json" + }, + { + "path": "../polling-controller/tsconfig.build.json" + }, + { + "path": "../gas-fee-controller/tsconfig.build.json" + }, + { + "path": "../assets-controllers/tsconfig.build.json" + }, + { + "path": "../transaction-controller/tsconfig.build.json" + }, + { + "path": "../multichain-network-controller/tsconfig.build.json" + }, + { + "path": "../remote-feature-flag-controller/tsconfig.build.json" + }, + { + "path": "../assets-controller/tsconfig.build.json" + }, + { + "path": "../eth-json-rpc-provider/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + }, + { + "path": "../profile-sync-controller/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/bridge-controller/tsconfig.json b/packages/bridge-controller/tsconfig.json index fd36e969bd5..906b224a0d0 100644 --- a/packages/bridge-controller/tsconfig.json +++ b/packages/bridge-controller/tsconfig.json @@ -5,18 +5,48 @@ "resolveJsonModule": true }, "references": [ - { "path": "../accounts-controller" }, - { "path": "../base-controller" }, - { "path": "../controller-utils" }, - { "path": "../network-controller" }, - { "path": "../polling-controller" }, - { "path": "../transaction-controller" }, - { "path": "../gas-fee-controller" }, - { "path": "../assets-controllers" }, - { "path": "../multichain-network-controller" }, - { "path": "../profile-sync-controller" }, - { "path": "../remote-feature-flag-controller" }, - { "path": "../assets-controller" } + { + "path": "../accounts-controller" + }, + { + "path": "../base-controller" + }, + { + "path": "../controller-utils" + }, + { + "path": "../network-controller" + }, + { + "path": "../polling-controller" + }, + { + "path": "../transaction-controller" + }, + { + "path": "../gas-fee-controller" + }, + { + "path": "../assets-controllers" + }, + { + "path": "../multichain-network-controller" + }, + { + "path": "../profile-sync-controller" + }, + { + "path": "../remote-feature-flag-controller" + }, + { + "path": "../assets-controller" + }, + { + "path": "../eth-json-rpc-provider" + }, + { + "path": "../messenger" + } ], "include": ["../../types", "./src", "./tests"] } diff --git a/packages/bridge-status-controller/package.json b/packages/bridge-status-controller/package.json index e7425c003a0..e2ab29644b5 100644 --- a/packages/bridge-status-controller/package.json +++ b/packages/bridge-status-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/bridge-status-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/bridge-status-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "since-latest-release": "../../scripts/since-latest-release.sh", "test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter", "test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache", @@ -74,6 +76,7 @@ "lodash": "^4.17.21", "nock": "^13.3.1", "ts-jest": "^29.2.5", + "tsx": "^4.20.5", "typedoc": "^0.25.13", "typedoc-plugin-missing-exports": "^2.0.0", "typescript": "~5.3.3" diff --git a/packages/bridge-status-controller/tsconfig.build.json b/packages/bridge-status-controller/tsconfig.build.json index 9de61597bcd..ab2a3480ee6 100644 --- a/packages/bridge-status-controller/tsconfig.build.json +++ b/packages/bridge-status-controller/tsconfig.build.json @@ -6,15 +6,39 @@ "rootDir": "./src" }, "references": [ - { "path": "../accounts-controller/tsconfig.build.json" }, - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../bridge-controller/tsconfig.build.json" }, - { "path": "../controller-utils/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" }, - { "path": "../network-controller/tsconfig.build.json" }, - { "path": "../gas-fee-controller/tsconfig.build.json" }, - { "path": "../polling-controller/tsconfig.build.json" }, - { "path": "../transaction-controller/tsconfig.build.json" } + { + "path": "../accounts-controller/tsconfig.build.json" + }, + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../bridge-controller/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + }, + { + "path": "../network-controller/tsconfig.build.json" + }, + { + "path": "../gas-fee-controller/tsconfig.build.json" + }, + { + "path": "../polling-controller/tsconfig.build.json" + }, + { + "path": "../transaction-controller/tsconfig.build.json" + }, + { + "path": "../keyring-controller/tsconfig.build.json" + }, + { + "path": "../profile-sync-controller/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/bridge-status-controller/tsconfig.json b/packages/bridge-status-controller/tsconfig.json index 556d2cb48c9..4e9e27ca864 100644 --- a/packages/bridge-status-controller/tsconfig.json +++ b/packages/bridge-status-controller/tsconfig.json @@ -5,16 +5,39 @@ "resolveJsonModule": true }, "references": [ - { "path": "../accounts-controller" }, - { "path": "../base-controller" }, - { "path": "../bridge-controller" }, - { "path": "../controller-utils" }, - { "path": "../messenger" }, - { "path": "../network-controller" }, - { "path": "../polling-controller" }, - { "path": "../transaction-controller" }, - { "path": "../profile-sync-controller" }, - { "path": "../gas-fee-controller" } + { + "path": "../accounts-controller" + }, + { + "path": "../base-controller" + }, + { + "path": "../bridge-controller" + }, + { + "path": "../controller-utils" + }, + { + "path": "../messenger" + }, + { + "path": "../network-controller" + }, + { + "path": "../polling-controller" + }, + { + "path": "../transaction-controller" + }, + { + "path": "../profile-sync-controller" + }, + { + "path": "../gas-fee-controller" + }, + { + "path": "../keyring-controller" + } ], "include": ["../../types", "./src"] } diff --git a/packages/build-utils/package.json b/packages/build-utils/package.json index 802414f1b63..de4ab63152d 100644 --- a/packages/build-utils/package.json +++ b/packages/build-utils/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/build-utils", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/build-utils", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "since-latest-release": "../../scripts/since-latest-release.sh", "test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter", "test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache", @@ -57,6 +59,7 @@ "deepmerge": "^4.2.2", "jest": "^29.7.0", "ts-jest": "^29.2.5", + "tsx": "^4.20.5", "typedoc": "^0.25.13", "typedoc-plugin-missing-exports": "^2.0.0", "typescript": "~5.3.3" diff --git a/packages/build-utils/tsconfig.build.json b/packages/build-utils/tsconfig.build.json index 0df910b2151..92bba33ecc5 100644 --- a/packages/build-utils/tsconfig.build.json +++ b/packages/build-utils/tsconfig.build.json @@ -5,5 +5,6 @@ "outDir": "./dist", "rootDir": "./src" }, - "include": ["../../types", "./src"] + "include": ["../../types", "./src"], + "references": [] } diff --git a/packages/build-utils/tsconfig.json b/packages/build-utils/tsconfig.json index ee9de925a21..0823d853132 100644 --- a/packages/build-utils/tsconfig.json +++ b/packages/build-utils/tsconfig.json @@ -3,5 +3,6 @@ "compilerOptions": { "baseUrl": "./" }, - "include": ["../../types", "./src"] + "include": ["../../types", "./src"], + "references": [] } diff --git a/packages/chain-agnostic-permission/package.json b/packages/chain-agnostic-permission/package.json index e307fe31ad7..cbc8dd11cc5 100644 --- a/packages/chain-agnostic-permission/package.json +++ b/packages/chain-agnostic-permission/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/chain-agnostic-permission", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/chain-agnostic-permission", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "since-latest-release": "../../scripts/since-latest-release.sh", "test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter", "test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache", @@ -62,6 +64,7 @@ "deepmerge": "^4.2.2", "jest": "^29.7.0", "ts-jest": "^29.2.5", + "tsx": "^4.20.5", "typedoc": "^0.25.13", "typedoc-plugin-missing-exports": "^2.0.0", "typescript": "~5.3.3" diff --git a/packages/chain-agnostic-permission/tsconfig.build.json b/packages/chain-agnostic-permission/tsconfig.build.json index a84422eeeb0..1a85d24557d 100644 --- a/packages/chain-agnostic-permission/tsconfig.build.json +++ b/packages/chain-agnostic-permission/tsconfig.build.json @@ -7,9 +7,12 @@ "rootDir": "./src" }, "references": [ - { "path": "../controller-utils/tsconfig.build.json" }, - { "path": "../network-controller/tsconfig.build.json" }, - { "path": "../permission-controller/tsconfig.build.json" } + { + "path": "../controller-utils/tsconfig.build.json" + }, + { + "path": "../permission-controller/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/chain-agnostic-permission/tsconfig.json b/packages/chain-agnostic-permission/tsconfig.json index fff7aab9eab..9474a899b23 100644 --- a/packages/chain-agnostic-permission/tsconfig.json +++ b/packages/chain-agnostic-permission/tsconfig.json @@ -6,9 +6,12 @@ "rootDir": "../.." }, "references": [ - { "path": "../controller-utils" }, - { "path": "../network-controller" }, - { "path": "../permission-controller" } + { + "path": "../controller-utils" + }, + { + "path": "../permission-controller" + } ], "include": ["../../types", "./src"] } diff --git a/packages/claims-controller/package.json b/packages/claims-controller/package.json index 16f0aaf26f6..013b8483adb 100644 --- a/packages/claims-controller/package.json +++ b/packages/claims-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/claims-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/claims-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/claims-controller/tsconfig.build.json b/packages/claims-controller/tsconfig.build.json index e144a55d21a..4a9745aeb55 100644 --- a/packages/claims-controller/tsconfig.build.json +++ b/packages/claims-controller/tsconfig.build.json @@ -17,6 +17,9 @@ }, { "path": "../keyring-controller/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" } ], "include": ["../../types", "./src"] diff --git a/packages/claims-controller/tsconfig.json b/packages/claims-controller/tsconfig.json index cf63460ba63..ee69ba51f8c 100644 --- a/packages/claims-controller/tsconfig.json +++ b/packages/claims-controller/tsconfig.json @@ -5,16 +5,19 @@ }, "references": [ { - "path": "../base-controller/tsconfig.json" + "path": "../base-controller" }, { - "path": "../messenger/tsconfig.json" + "path": "../messenger" }, { - "path": "../profile-sync-controller/tsconfig.json" + "path": "../profile-sync-controller" }, { - "path": "../keyring-controller/tsconfig.json" + "path": "../keyring-controller" + }, + { + "path": "../controller-utils" } ], "include": ["../../types", "./src", "./tests"] diff --git a/packages/client-controller/package.json b/packages/client-controller/package.json index 3b5dff8de45..2738774126c 100644 --- a/packages/client-controller/package.json +++ b/packages/client-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/client-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/client-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/client-controller/tsconfig.build.json b/packages/client-controller/tsconfig.build.json index 931c4d6594b..249f327913d 100644 --- a/packages/client-controller/tsconfig.build.json +++ b/packages/client-controller/tsconfig.build.json @@ -6,8 +6,12 @@ "rootDir": "./src" }, "references": [ - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" } + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/client-controller/tsconfig.json b/packages/client-controller/tsconfig.json index 3184a4bfde9..95274927209 100644 --- a/packages/client-controller/tsconfig.json +++ b/packages/client-controller/tsconfig.json @@ -1,5 +1,15 @@ { "extends": "../../tsconfig.packages.json", - "compilerOptions": { "baseUrl": "." }, - "include": ["src"] + "compilerOptions": { + "baseUrl": "." + }, + "include": ["src"], + "references": [ + { + "path": "../base-controller" + }, + { + "path": "../messenger" + } + ] } diff --git a/packages/compliance-controller/package.json b/packages/compliance-controller/package.json index e1dd2b5c2b1..6ea1469b7ce 100644 --- a/packages/compliance-controller/package.json +++ b/packages/compliance-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/compliance-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/compliance-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/compliance-controller/tsconfig.build.json b/packages/compliance-controller/tsconfig.build.json index 5a5c9e2326a..df01f3c175b 100644 --- a/packages/compliance-controller/tsconfig.build.json +++ b/packages/compliance-controller/tsconfig.build.json @@ -6,9 +6,15 @@ "rootDir": "./src" }, "references": [ - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../controller-utils/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" } + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/compliance-controller/tsconfig.json b/packages/compliance-controller/tsconfig.json index 972cb2e8c25..5927b435b96 100644 --- a/packages/compliance-controller/tsconfig.json +++ b/packages/compliance-controller/tsconfig.json @@ -5,8 +5,14 @@ }, "include": ["../../types", "./src"], "references": [ - { "path": "../base-controller" }, - { "path": "../controller-utils" }, - { "path": "../messenger" } + { + "path": "../base-controller" + }, + { + "path": "../controller-utils" + }, + { + "path": "../messenger" + } ] } diff --git a/packages/composable-controller/package.json b/packages/composable-controller/package.json index 20f2d37afa9..d2fe11730fe 100644 --- a/packages/composable-controller/package.json +++ b/packages/composable-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/composable-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/composable-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "since-latest-release": "../../scripts/since-latest-release.sh", "test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter", "test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache", @@ -59,6 +61,7 @@ "immer": "^9.0.6", "jest": "^29.7.0", "ts-jest": "^29.2.5", + "tsx": "^4.20.5", "typedoc": "^0.25.13", "typedoc-plugin-missing-exports": "^2.0.0", "typescript": "~5.3.3" diff --git a/packages/composable-controller/tsconfig.build.json b/packages/composable-controller/tsconfig.build.json index 249f327913d..a736c8ceb17 100644 --- a/packages/composable-controller/tsconfig.build.json +++ b/packages/composable-controller/tsconfig.build.json @@ -11,6 +11,9 @@ }, { "path": "../messenger/tsconfig.build.json" + }, + { + "path": "../json-rpc-engine/tsconfig.build.json" } ], "include": ["../../types", "./src"] diff --git a/packages/config-registry-controller/package.json b/packages/config-registry-controller/package.json index 1a358cd7227..adadfbaab31 100644 --- a/packages/config-registry-controller/package.json +++ b/packages/config-registry-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/config-registry-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/config-registry-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "publish:preview": "yarn npm publish --tag preview", diff --git a/packages/config-registry-controller/tsconfig.build.json b/packages/config-registry-controller/tsconfig.build.json index 08b48b2b526..f4d10b62ee9 100644 --- a/packages/config-registry-controller/tsconfig.build.json +++ b/packages/config-registry-controller/tsconfig.build.json @@ -7,13 +7,27 @@ }, "exclude": ["**/*.test.ts"], "references": [ - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../controller-utils/tsconfig.build.json" }, - { "path": "../keyring-controller/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" }, - { "path": "../polling-controller/tsconfig.build.json" }, - { "path": "../profile-sync-controller/tsconfig.build.json" }, - { "path": "../remote-feature-flag-controller/tsconfig.build.json" } + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" + }, + { + "path": "../keyring-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + }, + { + "path": "../polling-controller/tsconfig.build.json" + }, + { + "path": "../profile-sync-controller/tsconfig.build.json" + }, + { + "path": "../remote-feature-flag-controller/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/config-registry-controller/tsconfig.json b/packages/config-registry-controller/tsconfig.json index 05f86e783c9..93fadd422b8 100644 --- a/packages/config-registry-controller/tsconfig.json +++ b/packages/config-registry-controller/tsconfig.json @@ -4,13 +4,27 @@ "baseUrl": "./" }, "references": [ - { "path": "../base-controller" }, - { "path": "../controller-utils" }, - { "path": "../keyring-controller" }, - { "path": "../messenger" }, - { "path": "../polling-controller" }, - { "path": "../profile-sync-controller" }, - { "path": "../remote-feature-flag-controller" } + { + "path": "../base-controller" + }, + { + "path": "../controller-utils" + }, + { + "path": "../keyring-controller" + }, + { + "path": "../messenger" + }, + { + "path": "../polling-controller" + }, + { + "path": "../profile-sync-controller" + }, + { + "path": "../remote-feature-flag-controller" + } ], "include": ["../../types", "./src", "./tests"] } diff --git a/packages/connectivity-controller/package.json b/packages/connectivity-controller/package.json index 6ceb8dce03b..de763a5c076 100644 --- a/packages/connectivity-controller/package.json +++ b/packages/connectivity-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/connectivity-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/connectivity-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/connectivity-controller/tsconfig.build.json b/packages/connectivity-controller/tsconfig.build.json index 931c4d6594b..249f327913d 100644 --- a/packages/connectivity-controller/tsconfig.build.json +++ b/packages/connectivity-controller/tsconfig.build.json @@ -6,8 +6,12 @@ "rootDir": "./src" }, "references": [ - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" } + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/connectivity-controller/tsconfig.json b/packages/connectivity-controller/tsconfig.json index 68c3ddfc2cd..cb296895b28 100644 --- a/packages/connectivity-controller/tsconfig.json +++ b/packages/connectivity-controller/tsconfig.json @@ -3,6 +3,13 @@ "compilerOptions": { "baseUrl": "./" }, - "references": [{ "path": "../base-controller" }, { "path": "../messenger" }], + "references": [ + { + "path": "../base-controller" + }, + { + "path": "../messenger" + } + ], "include": ["../../types", "./src"] } diff --git a/packages/controller-utils/package.json b/packages/controller-utils/package.json index 584b373486d..b5f981cb533 100644 --- a/packages/controller-utils/package.json +++ b/packages/controller-utils/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/controller-utils", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/controller-utils", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "since-latest-release": "../../scripts/since-latest-release.sh", "test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter", "test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache", @@ -70,6 +72,7 @@ "jest-environment-jsdom": "^29.7.0", "nock": "^13.3.1", "ts-jest": "^29.2.5", + "tsx": "^4.20.5", "typedoc": "^0.25.13", "typedoc-plugin-missing-exports": "^2.0.0", "typescript": "~5.3.3" diff --git a/packages/controller-utils/tsconfig.build.json b/packages/controller-utils/tsconfig.build.json index 0df910b2151..92bba33ecc5 100644 --- a/packages/controller-utils/tsconfig.build.json +++ b/packages/controller-utils/tsconfig.build.json @@ -5,5 +5,6 @@ "outDir": "./dist", "rootDir": "./src" }, - "include": ["../../types", "./src"] + "include": ["../../types", "./src"], + "references": [] } diff --git a/packages/controller-utils/tsconfig.json b/packages/controller-utils/tsconfig.json index ee9de925a21..0823d853132 100644 --- a/packages/controller-utils/tsconfig.json +++ b/packages/controller-utils/tsconfig.json @@ -3,5 +3,6 @@ "compilerOptions": { "baseUrl": "./" }, - "include": ["../../types", "./src"] + "include": ["../../types", "./src"], + "references": [] } diff --git a/packages/core-backend/package.json b/packages/core-backend/package.json index 4ddf48690e5..bfbe8660b03 100644 --- a/packages/core-backend/package.json +++ b/packages/core-backend/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/core-backend", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/core-backend", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/core-backend/tsconfig.build.json b/packages/core-backend/tsconfig.build.json index e386c7a5ecc..358b6889833 100644 --- a/packages/core-backend/tsconfig.build.json +++ b/packages/core-backend/tsconfig.build.json @@ -6,11 +6,21 @@ "rootDir": "./src" }, "references": [ - { "path": "../accounts-controller/tsconfig.build.json" }, - { "path": "../controller-utils/tsconfig.build.json" }, - { "path": "../keyring-controller/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" }, - { "path": "../profile-sync-controller/tsconfig.build.json" } + { + "path": "../accounts-controller/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" + }, + { + "path": "../keyring-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + }, + { + "path": "../profile-sync-controller/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/delegation-controller/package.json b/packages/delegation-controller/package.json index 537388616c8..e402d135811 100644 --- a/packages/delegation-controller/package.json +++ b/packages/delegation-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/delegation-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/delegation-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/delegation-controller/tsconfig.build.json b/packages/delegation-controller/tsconfig.build.json index 6f7018d977e..5f676f16f33 100644 --- a/packages/delegation-controller/tsconfig.build.json +++ b/packages/delegation-controller/tsconfig.build.json @@ -6,10 +6,18 @@ "rootDir": "./src" }, "references": [ - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../keyring-controller/tsconfig.build.json" }, - { "path": "../accounts-controller/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" } + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../keyring-controller/tsconfig.build.json" + }, + { + "path": "../accounts-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/delegation-controller/tsconfig.json b/packages/delegation-controller/tsconfig.json index 2808844b345..e8391a7bcc6 100644 --- a/packages/delegation-controller/tsconfig.json +++ b/packages/delegation-controller/tsconfig.json @@ -4,10 +4,18 @@ "baseUrl": "./" }, "references": [ - { "path": "../base-controller" }, - { "path": "../keyring-controller" }, - { "path": "../accounts-controller" }, - { "path": "../messenger" } + { + "path": "../base-controller" + }, + { + "path": "../keyring-controller" + }, + { + "path": "../accounts-controller" + }, + { + "path": "../messenger" + } ], "include": ["../../types", "./src"] } diff --git a/packages/earn-controller/package.json b/packages/earn-controller/package.json index 460697228a0..ffe319a8664 100644 --- a/packages/earn-controller/package.json +++ b/packages/earn-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/earn-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/earn-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/earn-controller/tsconfig.build.json b/packages/earn-controller/tsconfig.build.json index fe81e33f321..58480d51681 100644 --- a/packages/earn-controller/tsconfig.build.json +++ b/packages/earn-controller/tsconfig.build.json @@ -20,6 +20,9 @@ }, { "path": "../messenger/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" } ], "include": ["../../types", "./src"] diff --git a/packages/earn-controller/tsconfig.json b/packages/earn-controller/tsconfig.json index 8bcc4e52ff3..e4251e06f59 100644 --- a/packages/earn-controller/tsconfig.json +++ b/packages/earn-controller/tsconfig.json @@ -19,6 +19,9 @@ }, { "path": "../messenger" + }, + { + "path": "../controller-utils" } ] } diff --git a/packages/eip-5792-middleware/CHANGELOG.md b/packages/eip-5792-middleware/CHANGELOG.md index 709ba176774..f2777021a76 100644 --- a/packages/eip-5792-middleware/CHANGELOG.md +++ b/packages/eip-5792-middleware/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Bump `@metamask/messenger` from `^1.0.0` to `^1.1.1` ([#8364](https://github.com/MetaMask/core/pull/8364), [#8373](https://github.com/MetaMask/core/pull/8373)) +- Add dependency `@metamask/preferences-controller` `^21.1.0` ([#8384](https://github.com/MetaMask/core/pull/8384)) ## [3.0.3] diff --git a/packages/eip-5792-middleware/package.json b/packages/eip-5792-middleware/package.json index 4f8fb1a1288..7502e712858 100644 --- a/packages/eip-5792-middleware/package.json +++ b/packages/eip-5792-middleware/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/eip-5792-middleware", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/eip-5792-middleware", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "since-latest-release": "../../scripts/since-latest-release.sh", "test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter", "test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache", @@ -48,6 +50,7 @@ }, "dependencies": { "@metamask/messenger": "^1.1.1", + "@metamask/preferences-controller": "^23.1.0", "@metamask/superstruct": "^3.1.0", "@metamask/transaction-controller": "^64.0.0", "@metamask/utils": "^11.9.0", @@ -64,6 +67,7 @@ "jest": "^29.7.0", "klona": "^2.0.6", "ts-jest": "^29.2.5", + "tsx": "^4.20.5", "typedoc": "^0.25.13", "typedoc-plugin-missing-exports": "^2.0.0", "typescript": "~5.3.3" diff --git a/packages/eip-5792-middleware/tsconfig.build.json b/packages/eip-5792-middleware/tsconfig.build.json index b78226eb4c0..ed2fd35e353 100644 --- a/packages/eip-5792-middleware/tsconfig.build.json +++ b/packages/eip-5792-middleware/tsconfig.build.json @@ -6,12 +6,18 @@ "rootDir": "./src" }, "references": [ - { "path": "../network-controller/tsconfig.build.json" }, - { "path": "../transaction-controller/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" }, - { "path": "../accounts-controller/tsconfig.build.json" }, - { "path": "../preferences-controller/tsconfig.build.json" }, - { "path": "../keyring-controller/tsconfig.build.json" } + { + "path": "../transaction-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + }, + { + "path": "../preferences-controller/tsconfig.build.json" + }, + { + "path": "../keyring-controller/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/eip-5792-middleware/tsconfig.json b/packages/eip-5792-middleware/tsconfig.json index e859aa4ae62..f1cf7d31477 100644 --- a/packages/eip-5792-middleware/tsconfig.json +++ b/packages/eip-5792-middleware/tsconfig.json @@ -5,12 +5,18 @@ "rootDir": "../.." }, "references": [ - { "path": "../network-controller" }, - { "path": "../transaction-controller" }, - { "path": "../messenger" }, - { "path": "../accounts-controller" }, - { "path": "../preferences-controller" }, - { "path": "../keyring-controller" } + { + "path": "../transaction-controller" + }, + { + "path": "../messenger" + }, + { + "path": "../preferences-controller" + }, + { + "path": "../keyring-controller" + } ], "include": ["../../types", "./src"] } diff --git a/packages/eip-7702-internal-rpc-middleware/package.json b/packages/eip-7702-internal-rpc-middleware/package.json index 4a609d3f28d..f6f95846475 100644 --- a/packages/eip-7702-internal-rpc-middleware/package.json +++ b/packages/eip-7702-internal-rpc-middleware/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/eip-7702-internal-rpc-middleware", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/eip-7702-internal-rpc-middleware", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "since-latest-release": "../../scripts/since-latest-release.sh", "test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter", "test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache", @@ -59,6 +61,7 @@ "deepmerge": "^4.2.2", "jest": "^29.7.0", "ts-jest": "^29.2.5", + "tsx": "^4.20.5", "typedoc": "^0.25.13", "typedoc-plugin-missing-exports": "^2.0.0", "typescript": "~5.3.3" diff --git a/packages/eip-7702-internal-rpc-middleware/tsconfig.build.json b/packages/eip-7702-internal-rpc-middleware/tsconfig.build.json index 2276f062a38..1d66e6732a3 100644 --- a/packages/eip-7702-internal-rpc-middleware/tsconfig.build.json +++ b/packages/eip-7702-internal-rpc-middleware/tsconfig.build.json @@ -6,12 +6,9 @@ "rootDir": "./src" }, "references": [ - { "path": "../network-controller/tsconfig.build.json" }, - { "path": "../transaction-controller/tsconfig.build.json" }, - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../accounts-controller/tsconfig.build.json" }, - { "path": "../preferences-controller/tsconfig.build.json" }, - { "path": "../keyring-controller/tsconfig.build.json" } + { + "path": "../controller-utils/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/eip-7702-internal-rpc-middleware/tsconfig.json b/packages/eip-7702-internal-rpc-middleware/tsconfig.json index bf46cb203e4..1479cde2c8f 100644 --- a/packages/eip-7702-internal-rpc-middleware/tsconfig.json +++ b/packages/eip-7702-internal-rpc-middleware/tsconfig.json @@ -4,6 +4,10 @@ "baseUrl": "./", "rootDir": "../.." }, - "references": [], + "references": [ + { + "path": "../controller-utils" + } + ], "include": ["../../types", "./src"] } diff --git a/packages/eip1193-permission-middleware/package.json b/packages/eip1193-permission-middleware/package.json index 985e7ad9aea..77745b5f20e 100644 --- a/packages/eip1193-permission-middleware/package.json +++ b/packages/eip1193-permission-middleware/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/eip1193-permission-middleware", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/eip1193-permission-middleware", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "since-latest-release": "../../scripts/since-latest-release.sh", "test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter", "test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache", @@ -62,6 +64,7 @@ "deepmerge": "^4.2.2", "jest": "^29.7.0", "ts-jest": "^29.2.5", + "tsx": "^4.20.5", "typedoc": "^0.25.13", "typedoc-plugin-missing-exports": "^2.0.0", "typescript": "~5.3.3" diff --git a/packages/eip1193-permission-middleware/tsconfig.build.json b/packages/eip1193-permission-middleware/tsconfig.build.json index 3dc3db532e0..263be3789e7 100644 --- a/packages/eip1193-permission-middleware/tsconfig.build.json +++ b/packages/eip1193-permission-middleware/tsconfig.build.json @@ -6,10 +6,18 @@ "rootDir": "./src" }, "references": [ - { "path": "../chain-agnostic-permission/tsconfig.build.json" }, - { "path": "../controller-utils/tsconfig.build.json" }, - { "path": "../json-rpc-engine/tsconfig.build.json" }, - { "path": "../permission-controller/tsconfig.build.json" } + { + "path": "../chain-agnostic-permission/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" + }, + { + "path": "../json-rpc-engine/tsconfig.build.json" + }, + { + "path": "../permission-controller/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/eip1193-permission-middleware/tsconfig.json b/packages/eip1193-permission-middleware/tsconfig.json index 1f32e2cb06e..006f0421404 100644 --- a/packages/eip1193-permission-middleware/tsconfig.json +++ b/packages/eip1193-permission-middleware/tsconfig.json @@ -5,10 +5,18 @@ "rootDir": "../.." }, "references": [ - { "path": "../chain-agnostic-permission" }, - { "path": "../controller-utils" }, - { "path": "../json-rpc-engine" }, - { "path": "../permission-controller" } + { + "path": "../chain-agnostic-permission" + }, + { + "path": "../controller-utils" + }, + { + "path": "../json-rpc-engine" + }, + { + "path": "../permission-controller" + } ], "include": ["../../types", "./src"] } diff --git a/packages/ens-controller/package.json b/packages/ens-controller/package.json index 5c6a53eebcf..569c109d057 100644 --- a/packages/ens-controller/package.json +++ b/packages/ens-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/ens-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/ens-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/ens-controller/tsconfig.build.json b/packages/ens-controller/tsconfig.build.json index c55f67af5af..c491c00d4a5 100644 --- a/packages/ens-controller/tsconfig.build.json +++ b/packages/ens-controller/tsconfig.build.json @@ -6,10 +6,18 @@ "rootDir": "./src" }, "references": [ - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../controller-utils/tsconfig.build.json" }, - { "path": "../network-controller/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" } + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" + }, + { + "path": "../network-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/ens-controller/tsconfig.json b/packages/ens-controller/tsconfig.json index c6a3a4c830a..15c8d677647 100644 --- a/packages/ens-controller/tsconfig.json +++ b/packages/ens-controller/tsconfig.json @@ -4,10 +4,18 @@ "baseUrl": "./" }, "references": [ - { "path": "../base-controller" }, - { "path": "../controller-utils" }, - { "path": "../network-controller" }, - { "path": "../messenger" } + { + "path": "../base-controller" + }, + { + "path": "../controller-utils" + }, + { + "path": "../network-controller" + }, + { + "path": "../messenger" + } ], "include": ["../../types", "./src"] } diff --git a/packages/eth-block-tracker/package.json b/packages/eth-block-tracker/package.json index e6e54e3ce31..8d898f1c5e6 100644 --- a/packages/eth-block-tracker/package.json +++ b/packages/eth-block-tracker/package.json @@ -47,6 +47,8 @@ "lint:eslint": "eslint . --ext js,ts", "lint:fix": "yarn lint:eslint --fix && yarn lint:misc --write && yarn lint:dependencies", "lint:misc": "prettier '**/*.json' '**/*.md' '!CHANGELOG.md' '**/*.yml' '!.yarnrc.yml' --ignore-path .gitignore --no-error-on-unmatched-pattern", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "since-latest-release": "../../scripts/since-latest-release.sh", "test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter", "test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache", @@ -68,6 +70,7 @@ "deepmerge": "^4.2.2", "jest": "^29.7.0", "ts-jest": "^29.2.5", + "tsx": "^4.20.5", "typedoc": "^0.25.13", "typedoc-plugin-missing-exports": "^2.0.0", "typescript": "~5.3.3" diff --git a/packages/eth-json-rpc-middleware/package.json b/packages/eth-json-rpc-middleware/package.json index 7485cf0067e..ad70a9c5a25 100644 --- a/packages/eth-json-rpc-middleware/package.json +++ b/packages/eth-json-rpc-middleware/package.json @@ -47,6 +47,8 @@ "lint:eslint": "eslint . --ext js,ts", "lint:fix": "yarn lint:eslint --fix && yarn lint:misc --write && yarn lint:dependencies && yarn lint:changelog", "lint:misc": "prettier '**/*.json' '**/*.md' '!CHANGELOG.md' '**/*.yml' '!.yarnrc.yml' --ignore-path .gitignore --no-error-on-unmatched-pattern", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "since-latest-release": "../../scripts/since-latest-release.sh", "test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter", "test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache", @@ -68,7 +70,6 @@ }, "devDependencies": { "@metamask/auto-changelog": "^3.4.4", - "@metamask/network-controller": "^30.0.1", "@ts-bridge/cli": "^0.6.4", "@types/deep-freeze-strict": "^1.1.0", "@types/jest": "^29.5.14", @@ -77,6 +78,7 @@ "deepmerge": "^4.2.2", "jest": "^29.7.0", "tsd": "^0.31.2", + "tsx": "^4.20.5", "typedoc": "^0.25.13", "typescript": "~5.3.3" }, diff --git a/packages/eth-json-rpc-middleware/src/types.test-d.ts b/packages/eth-json-rpc-middleware/src/types.test-d.ts deleted file mode 100644 index de3a385884c..00000000000 --- a/packages/eth-json-rpc-middleware/src/types.test-d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type { AbstractRpcService } from '@metamask/network-controller'; -import { expectAssignable } from 'tsd'; - -import type { AbstractRpcServiceLike } from './types'; - -// Confirm that the `AbstractRpcServiceLike` type in this repo is compatible -// with the type of the `request` method from `AbstractRpcService` in -// `@metamask/network-controller` (from where it was copied). -declare const networkControllerRpcService: AbstractRpcService; -expectAssignable(networkControllerRpcService); diff --git a/packages/eth-json-rpc-middleware/tsconfig.json b/packages/eth-json-rpc-middleware/tsconfig.json index 63dacbec477..b77e42e3a7c 100644 --- a/packages/eth-json-rpc-middleware/tsconfig.json +++ b/packages/eth-json-rpc-middleware/tsconfig.json @@ -13,9 +13,6 @@ { "path": "../json-rpc-engine" }, - { - "path": "../network-controller" - }, { "path": "../message-manager" } diff --git a/packages/eth-json-rpc-provider/package.json b/packages/eth-json-rpc-provider/package.json index 298d7ea87b0..f0b3017f634 100644 --- a/packages/eth-json-rpc-provider/package.json +++ b/packages/eth-json-rpc-provider/package.json @@ -45,6 +45,8 @@ "lint:eslint": "eslint . --ext js,ts", "lint:fix": "yarn lint:eslint --fix && yarn lint:misc --write && yarn lint:dependencies", "lint:misc": "prettier '**/*.json' '**/*.md' '!CHANGELOG.md' '**/*.yml' '!.yarnrc.yml' --ignore-path .gitignore --no-error-on-unmatched-pattern", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "since-latest-release": "../../scripts/since-latest-release.sh", "test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter", "test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache", @@ -69,6 +71,7 @@ "jest": "^29.7.0", "jest-it-up": "^2.0.2", "ts-jest": "^29.2.5", + "tsx": "^4.20.5", "typedoc": "^0.25.13", "typescript": "~5.3.3" }, diff --git a/packages/eth-json-rpc-provider/tsconfig.build.json b/packages/eth-json-rpc-provider/tsconfig.build.json index 1c5f260cfdc..563a7a628c1 100644 --- a/packages/eth-json-rpc-provider/tsconfig.build.json +++ b/packages/eth-json-rpc-provider/tsconfig.build.json @@ -5,6 +5,10 @@ "outDir": "./dist", "rootDir": "./src" }, - "references": [{ "path": "../json-rpc-engine/tsconfig.build.json" }], + "references": [ + { + "path": "../json-rpc-engine/tsconfig.build.json" + } + ], "include": ["../../types", "./src"] } diff --git a/packages/foundryup/package.json b/packages/foundryup/package.json index a43a23b846a..95c266e8290 100644 --- a/packages/foundryup/package.json +++ b/packages/foundryup/package.json @@ -34,6 +34,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/foundryup", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/foundryup", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "since-latest-release": "../../scripts/since-latest-release.sh", "test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter", "test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache", @@ -58,6 +60,7 @@ "jest": "^29.7.0", "nock": "^13.3.1", "ts-jest": "^29.2.5", + "tsx": "^4.20.5", "typedoc": "^0.25.13", "typedoc-plugin-missing-exports": "^2.0.0", "typescript": "~5.3.3", diff --git a/packages/gas-fee-controller/package.json b/packages/gas-fee-controller/package.json index cfcbe9d9d38..c8a1f92c617 100644 --- a/packages/gas-fee-controller/package.json +++ b/packages/gas-fee-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/gas-fee-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/gas-fee-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/gas-fee-controller/tsconfig.build.json b/packages/gas-fee-controller/tsconfig.build.json index c393837e3e3..d9940f93bd2 100644 --- a/packages/gas-fee-controller/tsconfig.build.json +++ b/packages/gas-fee-controller/tsconfig.build.json @@ -6,11 +6,21 @@ "rootDir": "./src" }, "references": [ - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../controller-utils/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" }, - { "path": "../network-controller/tsconfig.build.json" }, - { "path": "../polling-controller/tsconfig.build.json" } + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + }, + { + "path": "../network-controller/tsconfig.build.json" + }, + { + "path": "../polling-controller/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/gas-fee-controller/tsconfig.json b/packages/gas-fee-controller/tsconfig.json index 87ff4a0e8c7..0b998bb582e 100644 --- a/packages/gas-fee-controller/tsconfig.json +++ b/packages/gas-fee-controller/tsconfig.json @@ -4,11 +4,21 @@ "baseUrl": "./" }, "references": [ - { "path": "../base-controller" }, - { "path": "../controller-utils" }, - { "path": "../messenger" }, - { "path": "../network-controller" }, - { "path": "../polling-controller" } + { + "path": "../base-controller" + }, + { + "path": "../controller-utils" + }, + { + "path": "../messenger" + }, + { + "path": "../network-controller" + }, + { + "path": "../polling-controller" + } ], "include": ["../../types", "./src"] } diff --git a/packages/gator-permissions-controller/package.json b/packages/gator-permissions-controller/package.json index 710fcc6034e..5bc02d65966 100644 --- a/packages/gator-permissions-controller/package.json +++ b/packages/gator-permissions-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/gator-permissions-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/gator-permissions-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/gator-permissions-controller/tsconfig.build.json b/packages/gator-permissions-controller/tsconfig.build.json index 3ed87eae95d..024637b77f0 100644 --- a/packages/gator-permissions-controller/tsconfig.build.json +++ b/packages/gator-permissions-controller/tsconfig.build.json @@ -6,9 +6,15 @@ "rootDir": "./src" }, "references": [ - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" }, - { "path": "../transaction-controller/tsconfig.build.json" } + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + }, + { + "path": "../transaction-controller/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/gator-permissions-controller/tsconfig.json b/packages/gator-permissions-controller/tsconfig.json index bafe8342be9..6c27f6f5e10 100644 --- a/packages/gator-permissions-controller/tsconfig.json +++ b/packages/gator-permissions-controller/tsconfig.json @@ -4,9 +4,15 @@ "baseUrl": "./" }, "references": [ - { "path": "../base-controller" }, - { "path": "../messenger" }, - { "path": "../transaction-controller" } + { + "path": "../base-controller" + }, + { + "path": "../messenger" + }, + { + "path": "../transaction-controller" + } ], "include": ["../../types", "./src", "./tests"] } diff --git a/packages/geolocation-controller/package.json b/packages/geolocation-controller/package.json index 9b40485693c..46acd1c4a35 100644 --- a/packages/geolocation-controller/package.json +++ b/packages/geolocation-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/geolocation-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/geolocation-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/geolocation-controller/tsconfig.build.json b/packages/geolocation-controller/tsconfig.build.json index 5a5c9e2326a..df01f3c175b 100644 --- a/packages/geolocation-controller/tsconfig.build.json +++ b/packages/geolocation-controller/tsconfig.build.json @@ -6,9 +6,15 @@ "rootDir": "./src" }, "references": [ - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../controller-utils/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" } + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/geolocation-controller/tsconfig.json b/packages/geolocation-controller/tsconfig.json index dfd15011442..19c6a81ebc6 100644 --- a/packages/geolocation-controller/tsconfig.json +++ b/packages/geolocation-controller/tsconfig.json @@ -4,9 +4,15 @@ "baseUrl": "./" }, "references": [ - { "path": "../base-controller" }, - { "path": "../controller-utils" }, - { "path": "../messenger" } + { + "path": "../base-controller" + }, + { + "path": "../controller-utils" + }, + { + "path": "../messenger" + } ], "include": ["../../types", "./src"] } diff --git a/packages/json-rpc-engine/package.json b/packages/json-rpc-engine/package.json index 0f6b3c022bd..6fc493d4062 100644 --- a/packages/json-rpc-engine/package.json +++ b/packages/json-rpc-engine/package.json @@ -60,6 +60,8 @@ "lint:eslint": "eslint . --ext js,ts", "lint:fix": "yarn lint:eslint --fix && yarn lint:misc --write && yarn lint:dependencies && yarn lint:changelog", "lint:misc": "prettier '**/*.json' '**/*.md' '!CHANGELOG.md' '**/*.yml' '!.yarnrc.yml' --ignore-path .gitignore --no-error-on-unmatched-pattern", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "since-latest-release": "../../scripts/since-latest-release.sh", "test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter", "test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache", @@ -84,6 +86,7 @@ "jest": "^29.7.0", "jest-it-up": "^2.0.2", "ts-jest": "^29.2.5", + "tsx": "^4.20.5", "typedoc": "^0.25.13", "typescript": "~5.3.3" }, diff --git a/packages/json-rpc-engine/tsconfig.build.json b/packages/json-rpc-engine/tsconfig.build.json index 0df910b2151..92bba33ecc5 100644 --- a/packages/json-rpc-engine/tsconfig.build.json +++ b/packages/json-rpc-engine/tsconfig.build.json @@ -5,5 +5,6 @@ "outDir": "./dist", "rootDir": "./src" }, - "include": ["../../types", "./src"] + "include": ["../../types", "./src"], + "references": [] } diff --git a/packages/json-rpc-engine/tsconfig.json b/packages/json-rpc-engine/tsconfig.json index 4e929aca4ee..ef49de11c6a 100644 --- a/packages/json-rpc-engine/tsconfig.json +++ b/packages/json-rpc-engine/tsconfig.json @@ -9,5 +9,6 @@ "noUncheckedIndexedAccess": true, "target": "es2020" }, - "include": ["../../types", "../../tests", "./src", "./tests"] + "include": ["../../types", "../../tests", "./src", "./tests"], + "references": [] } diff --git a/packages/json-rpc-middleware-stream/package.json b/packages/json-rpc-middleware-stream/package.json index 77f6983334c..51272dbbcf6 100644 --- a/packages/json-rpc-middleware-stream/package.json +++ b/packages/json-rpc-middleware-stream/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/json-rpc-middleware-stream --tag-prefix-before-package-rename json-rpc-middleware-stream@ --version-before-package-rename 5.0.1", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/json-rpc-middleware-stream --tag-prefix-before-package-rename json-rpc-middleware-stream@ --version-before-package-rename 5.0.1", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "since-latest-release": "../../scripts/since-latest-release.sh", "test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter", "test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache", @@ -62,6 +64,7 @@ "jest": "^29.7.0", "jest-it-up": "^2.0.2", "ts-jest": "^29.2.5", + "tsx": "^4.20.5", "typedoc": "^0.25.13", "typedoc-plugin-missing-exports": "^2.0.0", "typescript": "~5.3.3", diff --git a/packages/json-rpc-middleware-stream/tsconfig.build.json b/packages/json-rpc-middleware-stream/tsconfig.build.json index 1c5f260cfdc..563a7a628c1 100644 --- a/packages/json-rpc-middleware-stream/tsconfig.build.json +++ b/packages/json-rpc-middleware-stream/tsconfig.build.json @@ -5,6 +5,10 @@ "outDir": "./dist", "rootDir": "./src" }, - "references": [{ "path": "../json-rpc-engine/tsconfig.build.json" }], + "references": [ + { + "path": "../json-rpc-engine/tsconfig.build.json" + } + ], "include": ["../../types", "./src"] } diff --git a/packages/json-rpc-middleware-stream/tsconfig.json b/packages/json-rpc-middleware-stream/tsconfig.json index e4cc192738c..5a2389218ba 100644 --- a/packages/json-rpc-middleware-stream/tsconfig.json +++ b/packages/json-rpc-middleware-stream/tsconfig.json @@ -5,6 +5,10 @@ "forceConsistentCasingInFileNames": true, "target": "es2017" }, - "references": [{ "path": "../json-rpc-engine" }], + "references": [ + { + "path": "../json-rpc-engine" + } + ], "include": ["../../types", "./src"] } diff --git a/packages/keyring-controller/CHANGELOG.md b/packages/keyring-controller/CHANGELOG.md index 52ca3f75e4c..4b56a88724a 100644 --- a/packages/keyring-controller/CHANGELOG.md +++ b/packages/keyring-controller/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Bump `@metamask/messenger` from `^1.0.0` to `^1.1.1` ([#8364](https://github.com/MetaMask/core/pull/8364), [#8373](https://github.com/MetaMask/core/pull/8373)) +- Add dependency `@metamask/controller-utils` `^11.20.0` ([#8384](https://github.com/MetaMask/core/pull/8384)) ## [25.2.0] diff --git a/packages/keyring-controller/package.json b/packages/keyring-controller/package.json index 646b056c565..9a49b4e6c25 100644 --- a/packages/keyring-controller/package.json +++ b/packages/keyring-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/keyring-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/keyring-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "since-latest-release": "../../scripts/since-latest-release.sh", "test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter", "test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache", @@ -50,6 +52,7 @@ "@ethereumjs/util": "^9.1.0", "@metamask/base-controller": "^9.0.1", "@metamask/browser-passworder": "^6.0.0", + "@metamask/controller-utils": "^11.20.0", "@metamask/eth-hd-keyring": "^13.0.0", "@metamask/eth-sig-util": "^8.2.0", "@metamask/eth-simple-keyring": "^11.0.0", @@ -77,6 +80,7 @@ "jest": "^29.7.0", "jest-environment-node": "^29.7.0", "ts-jest": "^29.2.5", + "tsx": "^4.20.5", "typedoc": "^0.25.13", "typedoc-plugin-missing-exports": "^2.0.0", "typescript": "~5.3.3", diff --git a/packages/keyring-controller/tsconfig.build.json b/packages/keyring-controller/tsconfig.build.json index 0e0e00fc987..fbd362d7997 100644 --- a/packages/keyring-controller/tsconfig.build.json +++ b/packages/keyring-controller/tsconfig.build.json @@ -10,10 +10,10 @@ "path": "../base-controller/tsconfig.build.json" }, { - "path": "../message-manager/tsconfig.build.json" + "path": "../messenger/tsconfig.build.json" }, { - "path": "../messenger/tsconfig.build.json" + "path": "../controller-utils/tsconfig.build.json" } ], "include": ["../../types", "./src"] diff --git a/packages/keyring-controller/tsconfig.json b/packages/keyring-controller/tsconfig.json index aae4c04c485..108f0d0ec4a 100644 --- a/packages/keyring-controller/tsconfig.json +++ b/packages/keyring-controller/tsconfig.json @@ -8,10 +8,10 @@ "path": "../base-controller" }, { - "path": "../message-manager" + "path": "../messenger" }, { - "path": "../messenger" + "path": "../controller-utils" } ], "include": ["../../types", "./src", "./tests"] diff --git a/packages/logging-controller/package.json b/packages/logging-controller/package.json index eb580bfd4d4..446e96cf3b9 100644 --- a/packages/logging-controller/package.json +++ b/packages/logging-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/logging-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/logging-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/logging-controller/tsconfig.build.json b/packages/logging-controller/tsconfig.build.json index 9df8150d8d0..fbd362d7997 100644 --- a/packages/logging-controller/tsconfig.build.json +++ b/packages/logging-controller/tsconfig.build.json @@ -6,9 +6,15 @@ "rootDir": "./src" }, "references": [ - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" }, - { "path": "../controller-utils/tsconfig.build.json" } + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/logging-controller/tsconfig.json b/packages/logging-controller/tsconfig.json index 8e913ea23d1..d43f80859c1 100644 --- a/packages/logging-controller/tsconfig.json +++ b/packages/logging-controller/tsconfig.json @@ -4,9 +4,15 @@ "baseUrl": "./" }, "references": [ - { "path": "../base-controller" }, - { "path": "../messenger" }, - { "path": "../controller-utils" } + { + "path": "../base-controller" + }, + { + "path": "../messenger" + }, + { + "path": "../controller-utils" + } ], "include": ["../../types", "./src"] } diff --git a/packages/message-manager/package.json b/packages/message-manager/package.json index e3c4991ec28..3b9ebab74c9 100644 --- a/packages/message-manager/package.json +++ b/packages/message-manager/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/message-manager", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/message-manager", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "since-latest-release": "../../scripts/since-latest-release.sh", "test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter", "test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache", @@ -63,6 +65,7 @@ "deepmerge": "^4.2.2", "jest": "^29.7.0", "ts-jest": "^29.2.5", + "tsx": "^4.20.5", "typedoc": "^0.25.13", "typedoc-plugin-missing-exports": "^2.0.0", "typescript": "~5.3.3" diff --git a/packages/message-manager/tsconfig.build.json b/packages/message-manager/tsconfig.build.json index 5a5c9e2326a..df01f3c175b 100644 --- a/packages/message-manager/tsconfig.build.json +++ b/packages/message-manager/tsconfig.build.json @@ -6,9 +6,15 @@ "rootDir": "./src" }, "references": [ - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../controller-utils/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" } + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/message-manager/tsconfig.json b/packages/message-manager/tsconfig.json index dfd15011442..19c6a81ebc6 100644 --- a/packages/message-manager/tsconfig.json +++ b/packages/message-manager/tsconfig.json @@ -4,9 +4,15 @@ "baseUrl": "./" }, "references": [ - { "path": "../base-controller" }, - { "path": "../controller-utils" }, - { "path": "../messenger" } + { + "path": "../base-controller" + }, + { + "path": "../controller-utils" + }, + { + "path": "../messenger" + } ], "include": ["../../types", "./src"] } diff --git a/packages/messenger-cli/package.json b/packages/messenger-cli/package.json index ca90d7d350c..f3e46206416 100644 --- a/packages/messenger-cli/package.json +++ b/packages/messenger-cli/package.json @@ -27,6 +27,8 @@ "build:all": "ts-bridge --project tsconfig.build.json --verbose --clean", "changelog:update": "../../scripts/update-changelog.sh @metamask/messenger-cli", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/messenger-cli", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "since-latest-release": "../../scripts/since-latest-release.sh", "test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter", "test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache", @@ -47,6 +49,7 @@ "execa": "^5.0.0", "jest": "^29.7.0", "ts-jest": "^29.2.5", + "tsx": "^4.20.5", "typescript": "~5.3.3" }, "peerDependencies": { diff --git a/packages/messenger/package.json b/packages/messenger/package.json index 77ddca3cc7f..b4e8affc14a 100644 --- a/packages/messenger/package.json +++ b/packages/messenger/package.json @@ -43,6 +43,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/messenger", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/messenger", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "since-latest-release": "../../scripts/since-latest-release.sh", "test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter", "test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache", @@ -64,6 +66,7 @@ "immer": "^9.0.6", "jest": "^29.7.0", "ts-jest": "^29.2.5", + "tsx": "^4.20.5", "typedoc": "^0.25.13", "typedoc-plugin-missing-exports": "^2.0.0", "typescript": "~5.3.3" diff --git a/packages/money-account-controller/package.json b/packages/money-account-controller/package.json index 8e4f6933efe..5741485e391 100644 --- a/packages/money-account-controller/package.json +++ b/packages/money-account-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/money-account-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/money-account-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/money-account-controller/tsconfig.build.json b/packages/money-account-controller/tsconfig.build.json index 8fa5f6bf61b..cf85a4a74e2 100644 --- a/packages/money-account-controller/tsconfig.build.json +++ b/packages/money-account-controller/tsconfig.build.json @@ -15,7 +15,9 @@ { "path": "../keyring-controller/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" } + { + "path": "../messenger/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/money-account-controller/tsconfig.json b/packages/money-account-controller/tsconfig.json index e1b9b25e4a4..e253a234a96 100644 --- a/packages/money-account-controller/tsconfig.json +++ b/packages/money-account-controller/tsconfig.json @@ -4,10 +4,18 @@ "baseUrl": "./" }, "references": [ - { "path": "../base-controller" }, - { "path": "../accounts-controller" }, - { "path": "../keyring-controller" }, - { "path": "../messenger" } + { + "path": "../base-controller" + }, + { + "path": "../accounts-controller" + }, + { + "path": "../keyring-controller" + }, + { + "path": "../messenger" + } ], "include": ["../../types", "./src"] } diff --git a/packages/multichain-account-service/package.json b/packages/multichain-account-service/package.json index 90effe6374d..af305bea45a 100644 --- a/packages/multichain-account-service/package.json +++ b/packages/multichain-account-service/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/multichain-account-service", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/multichain-account-service", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/multichain-account-service/tsconfig.build.json b/packages/multichain-account-service/tsconfig.build.json index 006207ec850..3ccbb7d827c 100644 --- a/packages/multichain-account-service/tsconfig.build.json +++ b/packages/multichain-account-service/tsconfig.build.json @@ -6,10 +6,21 @@ "rootDir": "./src" }, "references": [ - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../accounts-controller/tsconfig.build.json" }, - { "path": "../keyring-controller/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" } + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../accounts-controller/tsconfig.build.json" + }, + { + "path": "../keyring-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/multichain-account-service/tsconfig.json b/packages/multichain-account-service/tsconfig.json index e1b9b25e4a4..c964161f1a5 100644 --- a/packages/multichain-account-service/tsconfig.json +++ b/packages/multichain-account-service/tsconfig.json @@ -4,10 +4,21 @@ "baseUrl": "./" }, "references": [ - { "path": "../base-controller" }, - { "path": "../accounts-controller" }, - { "path": "../keyring-controller" }, - { "path": "../messenger" } + { + "path": "../base-controller" + }, + { + "path": "../accounts-controller" + }, + { + "path": "../keyring-controller" + }, + { + "path": "../messenger" + }, + { + "path": "../controller-utils" + } ], "include": ["../../types", "./src"] } diff --git a/packages/multichain-api-middleware/package.json b/packages/multichain-api-middleware/package.json index ba4bc0f07d5..68416cdb437 100644 --- a/packages/multichain-api-middleware/package.json +++ b/packages/multichain-api-middleware/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/multichain-api-middleware", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/multichain-api-middleware", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "since-latest-release": "../../scripts/since-latest-release.sh", "test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter", "test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache", @@ -69,6 +71,7 @@ "deepmerge": "^4.2.2", "jest": "^29.7.0", "ts-jest": "^29.2.5", + "tsx": "^4.20.5", "typedoc": "^0.25.13", "typedoc-plugin-missing-exports": "^2.0.0", "typescript": "~5.3.3" diff --git a/packages/multichain-api-middleware/tsconfig.build.json b/packages/multichain-api-middleware/tsconfig.build.json index d3f977a6176..b79f40cc359 100644 --- a/packages/multichain-api-middleware/tsconfig.build.json +++ b/packages/multichain-api-middleware/tsconfig.build.json @@ -7,10 +7,24 @@ "rootDir": "./src" }, "references": [ - { "path": "../chain-agnostic-permission/tsconfig.build.json" }, - { "path": "../json-rpc-engine/tsconfig.build.json" }, - { "path": "../network-controller/tsconfig.build.json" }, - { "path": "../permission-controller/tsconfig.build.json" } + { + "path": "../chain-agnostic-permission/tsconfig.build.json" + }, + { + "path": "../json-rpc-engine/tsconfig.build.json" + }, + { + "path": "../network-controller/tsconfig.build.json" + }, + { + "path": "../permission-controller/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" + }, + { + "path": "../multichain-transactions-controller/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/multichain-api-middleware/tsconfig.json b/packages/multichain-api-middleware/tsconfig.json index d38c2522293..3d04c05b5dd 100644 --- a/packages/multichain-api-middleware/tsconfig.json +++ b/packages/multichain-api-middleware/tsconfig.json @@ -6,11 +6,24 @@ "rootDir": "../.." }, "references": [ - { "path": "../chain-agnostic-permission" }, - { "path": "../json-rpc-engine" }, - { "path": "../network-controller" }, - { "path": "../permission-controller" }, - { "path": "../multichain-transactions-controller" } + { + "path": "../chain-agnostic-permission" + }, + { + "path": "../json-rpc-engine" + }, + { + "path": "../network-controller" + }, + { + "path": "../permission-controller" + }, + { + "path": "../multichain-transactions-controller" + }, + { + "path": "../controller-utils" + } ], "include": ["../../types", "./src"] } diff --git a/packages/multichain-network-controller/package.json b/packages/multichain-network-controller/package.json index 2dd9584feae..767ab44d773 100644 --- a/packages/multichain-network-controller/package.json +++ b/packages/multichain-network-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/multichain-network-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/multichain-network-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "since-latest-release": "../../scripts/since-latest-release.sh", "test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter", "test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache", @@ -71,6 +73,7 @@ "jest": "^29.7.0", "nock": "^13.3.1", "ts-jest": "^29.2.5", + "tsx": "^4.20.5", "typedoc": "^0.25.13", "typedoc-plugin-missing-exports": "^2.0.0", "typescript": "~5.3.3" diff --git a/packages/multichain-network-controller/tsconfig.build.json b/packages/multichain-network-controller/tsconfig.build.json index e45f8c90f04..84af6a8c13b 100644 --- a/packages/multichain-network-controller/tsconfig.build.json +++ b/packages/multichain-network-controller/tsconfig.build.json @@ -6,11 +6,24 @@ "rootDir": "./src" }, "references": [ - { "path": "../accounts-controller/tsconfig.build.json" }, - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../controller-utils/tsconfig.build.json" }, - { "path": "../network-controller/tsconfig.build.json" }, - { "path": "../keyring-controller/tsconfig.build.json" } + { + "path": "../accounts-controller/tsconfig.build.json" + }, + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" + }, + { + "path": "../network-controller/tsconfig.build.json" + }, + { + "path": "../keyring-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/multichain-network-controller/tsconfig.json b/packages/multichain-network-controller/tsconfig.json index 8726c490cc6..93cff5181e6 100644 --- a/packages/multichain-network-controller/tsconfig.json +++ b/packages/multichain-network-controller/tsconfig.json @@ -4,11 +4,24 @@ "baseUrl": "./" }, "references": [ - { "path": "../accounts-controller" }, - { "path": "../base-controller" }, - { "path": "../controller-utils" }, - { "path": "../network-controller" }, - { "path": "../keyring-controller" } + { + "path": "../accounts-controller" + }, + { + "path": "../base-controller" + }, + { + "path": "../controller-utils" + }, + { + "path": "../network-controller" + }, + { + "path": "../keyring-controller" + }, + { + "path": "../messenger" + } ], "include": ["../../types", "./src", "./tests"] } diff --git a/packages/multichain-transactions-controller/package.json b/packages/multichain-transactions-controller/package.json index 890f2b20acf..6ea2927bfd3 100644 --- a/packages/multichain-transactions-controller/package.json +++ b/packages/multichain-transactions-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/multichain-transactions-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/multichain-transactions-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "since-latest-release": "../../scripts/since-latest-release.sh", "test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter", "test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache", @@ -70,6 +72,7 @@ "deepmerge": "^4.2.2", "jest": "^29.7.0", "ts-jest": "^29.2.5", + "tsx": "^4.20.5", "typedoc": "^0.25.13", "typedoc-plugin-missing-exports": "^2.0.0", "typescript": "~5.3.3" diff --git a/packages/multichain-transactions-controller/tsconfig.build.json b/packages/multichain-transactions-controller/tsconfig.build.json index 695c01cd3df..e75d7713be9 100644 --- a/packages/multichain-transactions-controller/tsconfig.build.json +++ b/packages/multichain-transactions-controller/tsconfig.build.json @@ -6,11 +6,21 @@ "rootDir": "./src" }, "references": [ - { "path": "../accounts-controller/tsconfig.build.json" }, - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../keyring-controller/tsconfig.build.json" }, - { "path": "../polling-controller/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" } + { + "path": "../accounts-controller/tsconfig.build.json" + }, + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../keyring-controller/tsconfig.build.json" + }, + { + "path": "../polling-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/multichain-transactions-controller/tsconfig.json b/packages/multichain-transactions-controller/tsconfig.json index ce215a73944..d87596c24e9 100644 --- a/packages/multichain-transactions-controller/tsconfig.json +++ b/packages/multichain-transactions-controller/tsconfig.json @@ -4,11 +4,21 @@ "baseUrl": "./" }, "references": [ - { "path": "../accounts-controller" }, - { "path": "../base-controller" }, - { "path": "../keyring-controller" }, - { "path": "../polling-controller" }, - { "path": "../messenger" } + { + "path": "../accounts-controller" + }, + { + "path": "../base-controller" + }, + { + "path": "../keyring-controller" + }, + { + "path": "../polling-controller" + }, + { + "path": "../messenger" + } ], "include": ["../../types", "./src"] } diff --git a/packages/name-controller/package.json b/packages/name-controller/package.json index 9a3ee1ec8c6..ca27b2a276a 100644 --- a/packages/name-controller/package.json +++ b/packages/name-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/name-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/name-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "prepare-manifest:preview": "../../scripts/prepare-preview-manifest.sh", diff --git a/packages/name-controller/tsconfig.build.json b/packages/name-controller/tsconfig.build.json index 249f327913d..fbd362d7997 100644 --- a/packages/name-controller/tsconfig.build.json +++ b/packages/name-controller/tsconfig.build.json @@ -11,6 +11,9 @@ }, { "path": "../messenger/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" } ], "include": ["../../types", "./src"] diff --git a/packages/name-controller/tsconfig.json b/packages/name-controller/tsconfig.json index cb296895b28..d43f80859c1 100644 --- a/packages/name-controller/tsconfig.json +++ b/packages/name-controller/tsconfig.json @@ -9,6 +9,9 @@ }, { "path": "../messenger" + }, + { + "path": "../controller-utils" } ], "include": ["../../types", "./src"] diff --git a/packages/network-controller/package.json b/packages/network-controller/package.json index 7a31e1c2322..4383e44e4ec 100644 --- a/packages/network-controller/package.json +++ b/packages/network-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/network-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/network-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/network-controller/tsconfig.build.json b/packages/network-controller/tsconfig.build.json index 0ebc69f899c..bba819602f9 100644 --- a/packages/network-controller/tsconfig.build.json +++ b/packages/network-controller/tsconfig.build.json @@ -6,14 +6,30 @@ "rootDir": "./src" }, "references": [ - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../controller-utils/tsconfig.build.json" }, - { "path": "../connectivity-controller/tsconfig.build.json" }, - { "path": "../eth-block-tracker/tsconfig.build.json" }, - { "path": "../eth-json-rpc-middleware/tsconfig.build.json" }, - { "path": "../eth-json-rpc-provider/tsconfig.build.json" }, - { "path": "../json-rpc-engine/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" } + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" + }, + { + "path": "../connectivity-controller/tsconfig.build.json" + }, + { + "path": "../eth-block-tracker/tsconfig.build.json" + }, + { + "path": "../eth-json-rpc-middleware/tsconfig.build.json" + }, + { + "path": "../eth-json-rpc-provider/tsconfig.build.json" + }, + { + "path": "../json-rpc-engine/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/network-controller/tsconfig.json b/packages/network-controller/tsconfig.json index 37d8a33ef51..a76c2749155 100644 --- a/packages/network-controller/tsconfig.json +++ b/packages/network-controller/tsconfig.json @@ -5,14 +5,30 @@ "rootDir": "../.." }, "references": [ - { "path": "../base-controller" }, - { "path": "../controller-utils" }, - { "path": "../connectivity-controller" }, - { "path": "../eth-block-tracker" }, - { "path": "../eth-json-rpc-middleware" }, - { "path": "../eth-json-rpc-provider" }, - { "path": "../json-rpc-engine" }, - { "path": "../messenger" } + { + "path": "../base-controller" + }, + { + "path": "../controller-utils" + }, + { + "path": "../connectivity-controller" + }, + { + "path": "../eth-block-tracker" + }, + { + "path": "../eth-json-rpc-middleware" + }, + { + "path": "../eth-json-rpc-provider" + }, + { + "path": "../json-rpc-engine" + }, + { + "path": "../messenger" + } ], "include": ["../../types", "../../tests", "./src", "./tests"] } diff --git a/packages/network-enablement-controller/package.json b/packages/network-enablement-controller/package.json index 79da0d72229..d8172de80ec 100644 --- a/packages/network-enablement-controller/package.json +++ b/packages/network-enablement-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/network-enablement-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/network-enablement-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/network-enablement-controller/tsconfig.build.json b/packages/network-enablement-controller/tsconfig.build.json index 11328a92b94..2913d7d59a7 100644 --- a/packages/network-enablement-controller/tsconfig.build.json +++ b/packages/network-enablement-controller/tsconfig.build.json @@ -6,12 +6,24 @@ "rootDir": "./src" }, "references": [ - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../network-controller/tsconfig.build.json" }, - { "path": "../multichain-network-controller/tsconfig.build.json" }, - { "path": "../controller-utils/tsconfig.build.json" }, - { "path": "../transaction-controller/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" } + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../network-controller/tsconfig.build.json" + }, + { + "path": "../multichain-network-controller/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" + }, + { + "path": "../transaction-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/network-enablement-controller/tsconfig.json b/packages/network-enablement-controller/tsconfig.json index e1ebf385335..ae80cc4e0ec 100644 --- a/packages/network-enablement-controller/tsconfig.json +++ b/packages/network-enablement-controller/tsconfig.json @@ -5,12 +5,24 @@ "rootDir": "../.." }, "references": [ - { "path": "../base-controller" }, - { "path": "../network-controller" }, - { "path": "../multichain-network-controller" }, - { "path": "../controller-utils" }, - { "path": "../transaction-controller" }, - { "path": "../messenger" } + { + "path": "../base-controller" + }, + { + "path": "../network-controller" + }, + { + "path": "../multichain-network-controller" + }, + { + "path": "../controller-utils" + }, + { + "path": "../transaction-controller" + }, + { + "path": "../messenger" + } ], "include": ["../../types", "./src"] } diff --git a/packages/notification-services-controller/package.json b/packages/notification-services-controller/package.json index a2600ddd0d0..5c12478e7dc 100644 --- a/packages/notification-services-controller/package.json +++ b/packages/notification-services-controller/package.json @@ -92,6 +92,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/notification-services-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/notification-services-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/notification-services-controller/tsconfig.build.json b/packages/notification-services-controller/tsconfig.build.json index 5bc179c42cf..ad57a5f5c0a 100644 --- a/packages/notification-services-controller/tsconfig.build.json +++ b/packages/notification-services-controller/tsconfig.build.json @@ -18,6 +18,9 @@ }, { "path": "../messenger/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" } ], "include": ["../../types", "./src"], diff --git a/packages/notification-services-controller/tsconfig.json b/packages/notification-services-controller/tsconfig.json index f846578229e..c5c6ad5e11f 100644 --- a/packages/notification-services-controller/tsconfig.json +++ b/packages/notification-services-controller/tsconfig.json @@ -15,6 +15,9 @@ }, { "path": "../messenger" + }, + { + "path": "../controller-utils" } ], "include": ["../../types", "./src"] diff --git a/packages/permission-controller/package.json b/packages/permission-controller/package.json index eb773eca6af..bf6af8ac525 100644 --- a/packages/permission-controller/package.json +++ b/packages/permission-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/permission-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/permission-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/permission-controller/tsconfig.build.json b/packages/permission-controller/tsconfig.build.json index 586d1ddeb4c..b9eb793f6ba 100644 --- a/packages/permission-controller/tsconfig.build.json +++ b/packages/permission-controller/tsconfig.build.json @@ -6,11 +6,21 @@ "rootDir": "./src" }, "references": [ - { "path": "../approval-controller/tsconfig.build.json" }, - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../controller-utils/tsconfig.build.json" }, - { "path": "../json-rpc-engine/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" } + { + "path": "../approval-controller/tsconfig.build.json" + }, + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" + }, + { + "path": "../json-rpc-engine/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/permission-controller/tsconfig.json b/packages/permission-controller/tsconfig.json index 1f4f13deae5..9cd01d33755 100644 --- a/packages/permission-controller/tsconfig.json +++ b/packages/permission-controller/tsconfig.json @@ -4,11 +4,21 @@ "baseUrl": "./" }, "references": [ - { "path": "../approval-controller" }, - { "path": "../base-controller" }, - { "path": "../controller-utils" }, - { "path": "../json-rpc-engine" }, - { "path": "../messenger" } + { + "path": "../approval-controller" + }, + { + "path": "../base-controller" + }, + { + "path": "../controller-utils" + }, + { + "path": "../json-rpc-engine" + }, + { + "path": "../messenger" + } ], "include": ["../../types", "./src"] } diff --git a/packages/permission-log-controller/package.json b/packages/permission-log-controller/package.json index 5a5c39fca5e..3571f19c366 100644 --- a/packages/permission-log-controller/package.json +++ b/packages/permission-log-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/permission-log-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/permission-log-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/permission-log-controller/tsconfig.build.json b/packages/permission-log-controller/tsconfig.build.json index eb701f1cf26..2abb21992ba 100644 --- a/packages/permission-log-controller/tsconfig.build.json +++ b/packages/permission-log-controller/tsconfig.build.json @@ -6,9 +6,15 @@ "rootDir": "./src" }, "references": [ - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../json-rpc-engine/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" } + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../json-rpc-engine/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/permission-log-controller/tsconfig.json b/packages/permission-log-controller/tsconfig.json index 79ee5fbbc9a..29bd6d4108d 100644 --- a/packages/permission-log-controller/tsconfig.json +++ b/packages/permission-log-controller/tsconfig.json @@ -4,9 +4,15 @@ "baseUrl": "./" }, "references": [ - { "path": "../base-controller" }, - { "path": "../json-rpc-engine" }, - { "path": "../messenger" } + { + "path": "../base-controller" + }, + { + "path": "../json-rpc-engine" + }, + { + "path": "../messenger" + } ], "include": ["../../types", "./src", "./tests"] } diff --git a/packages/perps-controller/package.json b/packages/perps-controller/package.json index e45b9ace013..e632f030358 100644 --- a/packages/perps-controller/package.json +++ b/packages/perps-controller/package.json @@ -43,6 +43,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/perps-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/perps-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/perps-controller/src/PerpsController.ts b/packages/perps-controller/src/PerpsController.ts index 1d8cfeab7bc..e882e2f5771 100644 --- a/packages/perps-controller/src/PerpsController.ts +++ b/packages/perps-controller/src/PerpsController.ts @@ -1876,7 +1876,6 @@ export class PerpsController extends BaseController< }, stateManager: { update: (updater: (state: PerpsControllerState) => void) => - // @ts-expect-error TS2589 - excessively deep instantiation from BaseController generic this.update(updater), getState: (): PerpsControllerState => this.#getControllerState(), }, diff --git a/packages/perps-controller/tsconfig.build.json b/packages/perps-controller/tsconfig.build.json index 02b3a428382..1ae254b556f 100644 --- a/packages/perps-controller/tsconfig.build.json +++ b/packages/perps-controller/tsconfig.build.json @@ -6,17 +6,36 @@ "rootDir": "./src" }, "references": [ - { "path": "../account-tree-controller/tsconfig.build.json" }, - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../bridge-controller/tsconfig.build.json" }, - { "path": "../controller-utils/tsconfig.build.json" }, - { "path": "../geolocation-controller/tsconfig.build.json" }, - { "path": "../keyring-controller/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" }, - { "path": "../network-controller/tsconfig.build.json" }, - { "path": "../profile-sync-controller/tsconfig.build.json" }, - { "path": "../remote-feature-flag-controller/tsconfig.build.json" }, - { "path": "../transaction-controller/tsconfig.build.json" } + { + "path": "../account-tree-controller/tsconfig.build.json" + }, + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" + }, + { + "path": "../geolocation-controller/tsconfig.build.json" + }, + { + "path": "../keyring-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + }, + { + "path": "../network-controller/tsconfig.build.json" + }, + { + "path": "../profile-sync-controller/tsconfig.build.json" + }, + { + "path": "../remote-feature-flag-controller/tsconfig.build.json" + }, + { + "path": "../transaction-controller/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/perps-controller/tsconfig.json b/packages/perps-controller/tsconfig.json index 324879cf434..ca092c41b3d 100644 --- a/packages/perps-controller/tsconfig.json +++ b/packages/perps-controller/tsconfig.json @@ -10,9 +10,6 @@ { "path": "../base-controller" }, - { - "path": "../bridge-controller" - }, { "path": "../controller-utils" }, diff --git a/packages/phishing-controller/package.json b/packages/phishing-controller/package.json index a5114eb531b..7d0a8463a93 100644 --- a/packages/phishing-controller/package.json +++ b/packages/phishing-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/phishing-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/phishing-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/phishing-controller/tsconfig.build.json b/packages/phishing-controller/tsconfig.build.json index 25a4d3c697a..17afbcee548 100644 --- a/packages/phishing-controller/tsconfig.build.json +++ b/packages/phishing-controller/tsconfig.build.json @@ -6,10 +6,18 @@ "rootDir": "./src" }, "references": [ - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../controller-utils/tsconfig.build.json" }, - { "path": "../transaction-controller/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" } + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" + }, + { + "path": "../transaction-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/phishing-controller/tsconfig.json b/packages/phishing-controller/tsconfig.json index 5f32f34e8aa..871537f9fc2 100644 --- a/packages/phishing-controller/tsconfig.json +++ b/packages/phishing-controller/tsconfig.json @@ -4,10 +4,18 @@ "baseUrl": "./" }, "references": [ - { "path": "../base-controller" }, - { "path": "../controller-utils" }, - { "path": "../transaction-controller" }, - { "path": "../messenger" } + { + "path": "../base-controller" + }, + { + "path": "../controller-utils" + }, + { + "path": "../transaction-controller" + }, + { + "path": "../messenger" + } ], "include": ["../../types", "./src", "./tests"] } diff --git a/packages/polling-controller/package.json b/packages/polling-controller/package.json index b6504f166d1..c555fc6fdfe 100644 --- a/packages/polling-controller/package.json +++ b/packages/polling-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/polling-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/polling-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "since-latest-release": "../../scripts/since-latest-release.sh", "test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter", "test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache", @@ -63,6 +65,7 @@ "deepmerge": "^4.2.2", "jest": "^29.7.0", "ts-jest": "^29.2.5", + "tsx": "^4.20.5", "typedoc": "^0.25.13", "typedoc-plugin-missing-exports": "^2.0.0", "typescript": "~5.3.3" diff --git a/packages/polling-controller/tsconfig.build.json b/packages/polling-controller/tsconfig.build.json index c55f67af5af..c491c00d4a5 100644 --- a/packages/polling-controller/tsconfig.build.json +++ b/packages/polling-controller/tsconfig.build.json @@ -6,10 +6,18 @@ "rootDir": "./src" }, "references": [ - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../controller-utils/tsconfig.build.json" }, - { "path": "../network-controller/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" } + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" + }, + { + "path": "../network-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/polling-controller/tsconfig.json b/packages/polling-controller/tsconfig.json index ca0d50a83f4..96bac7d6f59 100644 --- a/packages/polling-controller/tsconfig.json +++ b/packages/polling-controller/tsconfig.json @@ -5,10 +5,18 @@ "rootDir": "../.." }, "references": [ - { "path": "../base-controller" }, - { "path": "../controller-utils" }, - { "path": "../network-controller" }, - { "path": "../messenger" } + { + "path": "../base-controller" + }, + { + "path": "../controller-utils" + }, + { + "path": "../network-controller" + }, + { + "path": "../messenger" + } ], "include": ["../../types", "./src", "../../tests"] } diff --git a/packages/preferences-controller/package.json b/packages/preferences-controller/package.json index 4a995b1cc22..06e1ab14e82 100644 --- a/packages/preferences-controller/package.json +++ b/packages/preferences-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/preferences-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/preferences-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/preferences-controller/tsconfig.build.json b/packages/preferences-controller/tsconfig.build.json index a467f840c9b..249f327913d 100644 --- a/packages/preferences-controller/tsconfig.build.json +++ b/packages/preferences-controller/tsconfig.build.json @@ -6,10 +6,12 @@ "rootDir": "./src" }, "references": [ - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../controller-utils/tsconfig.build.json" }, - { "path": "../keyring-controller/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" } + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/preferences-controller/tsconfig.json b/packages/preferences-controller/tsconfig.json index 0d78738b3cc..cb296895b28 100644 --- a/packages/preferences-controller/tsconfig.json +++ b/packages/preferences-controller/tsconfig.json @@ -4,10 +4,12 @@ "baseUrl": "./" }, "references": [ - { "path": "../base-controller" }, - { "path": "../controller-utils" }, - { "path": "../keyring-controller" }, - { "path": "../messenger" } + { + "path": "../base-controller" + }, + { + "path": "../messenger" + } ], "include": ["../../types", "./src"] } diff --git a/packages/profile-metrics-controller/package.json b/packages/profile-metrics-controller/package.json index e9c0a0b9ca6..99d6241278c 100644 --- a/packages/profile-metrics-controller/package.json +++ b/packages/profile-metrics-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/profile-metrics-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/profile-metrics-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/profile-metrics-controller/tsconfig.build.json b/packages/profile-metrics-controller/tsconfig.build.json index c8d6956fe1e..6b9a0be7e42 100644 --- a/packages/profile-metrics-controller/tsconfig.build.json +++ b/packages/profile-metrics-controller/tsconfig.build.json @@ -6,14 +6,30 @@ "rootDir": "./src" }, "references": [ - { "path": "../../packages/accounts-controller/tsconfig.build.json" }, - { "path": "../../packages/base-controller/tsconfig.build.json" }, - { "path": "../../packages/controller-utils/tsconfig.build.json" }, - { "path": "../../packages/keyring-controller/tsconfig.build.json" }, - { "path": "../../packages/messenger/tsconfig.build.json" }, - { "path": "../../packages/polling-controller/tsconfig.build.json" }, - { "path": "../../packages/profile-sync-controller/tsconfig.build.json" }, - { "path": "../../packages/transaction-controller/tsconfig.build.json" } + { + "path": "../accounts-controller/tsconfig.build.json" + }, + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" + }, + { + "path": "../keyring-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + }, + { + "path": "../polling-controller/tsconfig.build.json" + }, + { + "path": "../profile-sync-controller/tsconfig.build.json" + }, + { + "path": "../transaction-controller/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/profile-metrics-controller/tsconfig.json b/packages/profile-metrics-controller/tsconfig.json index 56a9c79ec6c..0bcad567710 100644 --- a/packages/profile-metrics-controller/tsconfig.json +++ b/packages/profile-metrics-controller/tsconfig.json @@ -4,14 +4,30 @@ "baseUrl": "./" }, "references": [ - { "path": "../../packages/accounts-controller" }, - { "path": "../../packages/base-controller" }, - { "path": "../../packages/controller-utils" }, - { "path": "../../packages/keyring-controller" }, - { "path": "../../packages/messenger" }, - { "path": "../../packages/polling-controller" }, - { "path": "../../packages/profile-sync-controller" }, - { "path": "../../packages/transaction-controller" } + { + "path": "../accounts-controller" + }, + { + "path": "../base-controller" + }, + { + "path": "../controller-utils" + }, + { + "path": "../keyring-controller" + }, + { + "path": "../messenger" + }, + { + "path": "../polling-controller" + }, + { + "path": "../profile-sync-controller" + }, + { + "path": "../transaction-controller" + } ], "include": ["../../types", "./src"], /** diff --git a/packages/profile-sync-controller/package.json b/packages/profile-sync-controller/package.json index 5a8bf22e915..f202889666d 100644 --- a/packages/profile-sync-controller/package.json +++ b/packages/profile-sync-controller/package.json @@ -93,6 +93,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/profile-sync-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/profile-sync-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/profile-sync-controller/tsconfig.build.json b/packages/profile-sync-controller/tsconfig.build.json index df960063ed8..bd71f757c01 100644 --- a/packages/profile-sync-controller/tsconfig.build.json +++ b/packages/profile-sync-controller/tsconfig.build.json @@ -7,10 +7,18 @@ "skipLibCheck": true }, "references": [ - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../keyring-controller/tsconfig.build.json" }, - { "path": "../address-book-controller/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" } + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../keyring-controller/tsconfig.build.json" + }, + { + "path": "../address-book-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + } ], "include": ["../../types", "./src"], "exclude": [ diff --git a/packages/profile-sync-controller/tsconfig.json b/packages/profile-sync-controller/tsconfig.json index e6966e7a7c7..7441d29a5de 100644 --- a/packages/profile-sync-controller/tsconfig.json +++ b/packages/profile-sync-controller/tsconfig.json @@ -4,10 +4,18 @@ "baseUrl": "./" }, "references": [ - { "path": "../base-controller" }, - { "path": "../keyring-controller" }, - { "path": "../address-book-controller" }, - { "path": "../messenger" } + { + "path": "../base-controller" + }, + { + "path": "../keyring-controller" + }, + { + "path": "../address-book-controller" + }, + { + "path": "../messenger" + } ], "include": ["../../types", "./src"] } diff --git a/packages/ramps-controller/package.json b/packages/ramps-controller/package.json index 6ea7036e40a..ff17f6d5577 100644 --- a/packages/ramps-controller/package.json +++ b/packages/ramps-controller/package.json @@ -41,6 +41,8 @@ "changelog:update": "../../scripts/update-changelog.sh @metamask/ramps-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/ramps-controller", "dev": "node dev-watch.js", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/ramps-controller/tsconfig.json b/packages/ramps-controller/tsconfig.json index af410fec63d..5751f9c98b4 100644 --- a/packages/ramps-controller/tsconfig.json +++ b/packages/ramps-controller/tsconfig.json @@ -4,6 +4,16 @@ "baseUrl": "./", "resolveJsonModule": true }, - "references": [{ "path": "../base-controller" }, { "path": "../messenger" }], + "references": [ + { + "path": "../base-controller" + }, + { + "path": "../messenger" + }, + { + "path": "../controller-utils" + } + ], "include": ["../../types", "./src"] } diff --git a/packages/rate-limit-controller/package.json b/packages/rate-limit-controller/package.json index 03aa9f099a2..67d5b007369 100644 --- a/packages/rate-limit-controller/package.json +++ b/packages/rate-limit-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/rate-limit-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/rate-limit-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "since-latest-release": "../../scripts/since-latest-release.sh", "test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter", "test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache", @@ -59,6 +61,7 @@ "deepmerge": "^4.2.2", "jest": "^29.7.0", "ts-jest": "^29.2.5", + "tsx": "^4.20.5", "typedoc": "^0.25.13", "typedoc-plugin-missing-exports": "^2.0.0", "typescript": "~5.3.3" diff --git a/packages/rate-limit-controller/tsconfig.build.json b/packages/rate-limit-controller/tsconfig.build.json index 931c4d6594b..249f327913d 100644 --- a/packages/rate-limit-controller/tsconfig.build.json +++ b/packages/rate-limit-controller/tsconfig.build.json @@ -6,8 +6,12 @@ "rootDir": "./src" }, "references": [ - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" } + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/rate-limit-controller/tsconfig.json b/packages/rate-limit-controller/tsconfig.json index 68c3ddfc2cd..cb296895b28 100644 --- a/packages/rate-limit-controller/tsconfig.json +++ b/packages/rate-limit-controller/tsconfig.json @@ -3,6 +3,13 @@ "compilerOptions": { "baseUrl": "./" }, - "references": [{ "path": "../base-controller" }, { "path": "../messenger" }], + "references": [ + { + "path": "../base-controller" + }, + { + "path": "../messenger" + } + ], "include": ["../../types", "./src"] } diff --git a/packages/react-data-query/package.json b/packages/react-data-query/package.json index 5281240f985..54315efe7a2 100644 --- a/packages/react-data-query/package.json +++ b/packages/react-data-query/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/react-data-query", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/react-data-query", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "since-latest-release": "../../scripts/since-latest-release.sh", "test": "NODE_OPTIONS=--experimental-vm-modules jest --reporters=jest-silent-reporter", "test:clean": "NODE_OPTIONS=--experimental-vm-modules jest --clearCache", @@ -59,6 +61,7 @@ "deepmerge": "^4.2.2", "jest": "^29.7.0", "ts-jest": "^29.2.5", + "tsx": "^4.20.5", "typedoc": "^0.25.13", "typedoc-plugin-missing-exports": "^2.0.0", "typescript": "~5.3.3" diff --git a/packages/react-data-query/tsconfig.build.json b/packages/react-data-query/tsconfig.build.json index 3c1d8d64e87..f56ba4030ac 100644 --- a/packages/react-data-query/tsconfig.build.json +++ b/packages/react-data-query/tsconfig.build.json @@ -5,6 +5,10 @@ "outDir": "./dist", "rootDir": "./src" }, - "references": [{ "path": "../base-data-service/tsconfig.build.json" }], + "references": [ + { + "path": "../base-data-service/tsconfig.build.json" + } + ], "include": ["../../types", "./src"] } diff --git a/packages/react-data-query/tsconfig.json b/packages/react-data-query/tsconfig.json index 181f238ab73..a3dd5aa8122 100644 --- a/packages/react-data-query/tsconfig.json +++ b/packages/react-data-query/tsconfig.json @@ -3,6 +3,10 @@ "compilerOptions": { "baseUrl": "./" }, - "references": [{ "path": "../base-data-service" }], + "references": [ + { + "path": "../base-data-service" + } + ], "include": ["../../types", "./src"] } diff --git a/packages/remote-feature-flag-controller/package.json b/packages/remote-feature-flag-controller/package.json index 7a8da460a44..aedefdc3bb4 100644 --- a/packages/remote-feature-flag-controller/package.json +++ b/packages/remote-feature-flag-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/remote-feature-flag-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/remote-feature-flag-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/remote-feature-flag-controller/tsconfig.build.json b/packages/remote-feature-flag-controller/tsconfig.build.json index 931c4d6594b..fbd362d7997 100644 --- a/packages/remote-feature-flag-controller/tsconfig.build.json +++ b/packages/remote-feature-flag-controller/tsconfig.build.json @@ -6,8 +6,15 @@ "rootDir": "./src" }, "references": [ - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" } + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/remote-feature-flag-controller/tsconfig.json b/packages/remote-feature-flag-controller/tsconfig.json index 68c3ddfc2cd..d43f80859c1 100644 --- a/packages/remote-feature-flag-controller/tsconfig.json +++ b/packages/remote-feature-flag-controller/tsconfig.json @@ -3,6 +3,16 @@ "compilerOptions": { "baseUrl": "./" }, - "references": [{ "path": "../base-controller" }, { "path": "../messenger" }], + "references": [ + { + "path": "../base-controller" + }, + { + "path": "../messenger" + }, + { + "path": "../controller-utils" + } + ], "include": ["../../types", "./src"] } diff --git a/packages/sample-controllers/package.json b/packages/sample-controllers/package.json index 72e4f26dbe0..47e23689633 100644 --- a/packages/sample-controllers/package.json +++ b/packages/sample-controllers/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/sample-controllers", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/sample-controllers", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/sample-controllers/tsconfig.build.json b/packages/sample-controllers/tsconfig.build.json index cb781ec80f0..672cafa8fe8 100644 --- a/packages/sample-controllers/tsconfig.build.json +++ b/packages/sample-controllers/tsconfig.build.json @@ -6,10 +6,21 @@ "rootDir": "./src" }, "references": [ - { "path": "../../packages/base-controller/tsconfig.build.json" }, - { "path": "../../packages/base-data-service/tsconfig.build.json" }, - { "path": "../../packages/messenger/tsconfig.build.json" }, - { "path": "../../packages/network-controller/tsconfig.build.json" } + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../base-data-service/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + }, + { + "path": "../network-controller/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/sample-controllers/tsconfig.json b/packages/sample-controllers/tsconfig.json index d7990c4116b..c291290d7db 100644 --- a/packages/sample-controllers/tsconfig.json +++ b/packages/sample-controllers/tsconfig.json @@ -4,11 +4,21 @@ "baseUrl": "./" }, "references": [ - { "path": "../../packages/base-controller" }, - { "path": "../../packages/base-data-service" }, - { "path": "../../packages/controller-utils" }, - { "path": "../../packages/messenger" }, - { "path": "../../packages/network-controller" } + { + "path": "../base-controller" + }, + { + "path": "../base-data-service" + }, + { + "path": "../controller-utils" + }, + { + "path": "../messenger" + }, + { + "path": "../network-controller" + } ], "include": ["../../types", "./src"], /** diff --git a/packages/seedless-onboarding-controller/package.json b/packages/seedless-onboarding-controller/package.json index 0d3bcae76ed..c4cad9029de 100644 --- a/packages/seedless-onboarding-controller/package.json +++ b/packages/seedless-onboarding-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/seedless-onboarding-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/seedless-onboarding-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/seedless-onboarding-controller/tsconfig.build.json b/packages/seedless-onboarding-controller/tsconfig.build.json index 363d67c8df8..fb01dfc7b16 100644 --- a/packages/seedless-onboarding-controller/tsconfig.build.json +++ b/packages/seedless-onboarding-controller/tsconfig.build.json @@ -10,10 +10,10 @@ "path": "../base-controller/tsconfig.build.json" }, { - "path": "../message-manager/tsconfig.build.json" + "path": "../keyring-controller/tsconfig.build.json" }, { - "path": "../keyring-controller/tsconfig.build.json" + "path": "../messenger/tsconfig.build.json" } ], "include": ["../../types", "./src"] diff --git a/packages/seedless-onboarding-controller/tsconfig.json b/packages/seedless-onboarding-controller/tsconfig.json index 9167ff78a2a..83569574c51 100644 --- a/packages/seedless-onboarding-controller/tsconfig.json +++ b/packages/seedless-onboarding-controller/tsconfig.json @@ -8,10 +8,10 @@ "path": "../base-controller" }, { - "path": "../message-manager" + "path": "../keyring-controller" }, { - "path": "../keyring-controller" + "path": "../messenger" } ], "include": ["../../types", "./src", "./tests"] diff --git a/packages/selected-network-controller/package.json b/packages/selected-network-controller/package.json index 42390bfc441..c092978a11f 100644 --- a/packages/selected-network-controller/package.json +++ b/packages/selected-network-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/selected-network-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/selected-network-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/selected-network-controller/tsconfig.build.json b/packages/selected-network-controller/tsconfig.build.json index f387a699564..067f86550ab 100644 --- a/packages/selected-network-controller/tsconfig.build.json +++ b/packages/selected-network-controller/tsconfig.build.json @@ -6,11 +6,21 @@ "rootDir": "./src" }, "references": [ - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../network-controller/tsconfig.build.json" }, - { "path": "../json-rpc-engine/tsconfig.build.json" }, - { "path": "../permission-controller/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" } + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../network-controller/tsconfig.build.json" + }, + { + "path": "../json-rpc-engine/tsconfig.build.json" + }, + { + "path": "../permission-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/shield-controller/package.json b/packages/shield-controller/package.json index 5e4e40ee0e3..f71d634f03e 100644 --- a/packages/shield-controller/package.json +++ b/packages/shield-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/shield-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/shield-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/shield-controller/tsconfig.build.json b/packages/shield-controller/tsconfig.build.json index edfd16e6b74..48bc2d08f63 100644 --- a/packages/shield-controller/tsconfig.build.json +++ b/packages/shield-controller/tsconfig.build.json @@ -6,10 +6,21 @@ "rootDir": "./src" }, "references": [ - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../signature-controller/tsconfig.build.json" }, - { "path": "../transaction-controller/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" } + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../signature-controller/tsconfig.build.json" + }, + { + "path": "../transaction-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/shield-controller/tsconfig.json b/packages/shield-controller/tsconfig.json index 792a6fa5f7d..1a61e3eb433 100644 --- a/packages/shield-controller/tsconfig.json +++ b/packages/shield-controller/tsconfig.json @@ -4,10 +4,21 @@ "baseUrl": "./" }, "references": [ - { "path": "../base-controller" }, - { "path": "../signature-controller" }, - { "path": "../transaction-controller" }, - { "path": "../messenger" } + { + "path": "../base-controller" + }, + { + "path": "../signature-controller" + }, + { + "path": "../transaction-controller" + }, + { + "path": "../messenger" + }, + { + "path": "../controller-utils" + } ], "include": ["../../types", "./src", "./tests"] } diff --git a/packages/signature-controller/package.json b/packages/signature-controller/package.json index 7a119000925..1cd3d8f818b 100644 --- a/packages/signature-controller/package.json +++ b/packages/signature-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/signature-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/signature-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/signature-controller/tsconfig.build.json b/packages/signature-controller/tsconfig.build.json index a89237f1d75..0b77c25b500 100644 --- a/packages/signature-controller/tsconfig.build.json +++ b/packages/signature-controller/tsconfig.build.json @@ -21,9 +21,6 @@ { "path": "../gator-permissions-controller/tsconfig.build.json" }, - { - "path": "../message-manager/tsconfig.build.json" - }, { "path": "../keyring-controller/tsconfig.build.json" }, diff --git a/packages/signature-controller/tsconfig.json b/packages/signature-controller/tsconfig.json index 0e27711c20a..b47e2e54793 100644 --- a/packages/signature-controller/tsconfig.json +++ b/packages/signature-controller/tsconfig.json @@ -19,9 +19,6 @@ { "path": "../gator-permissions-controller" }, - { - "path": "../message-manager" - }, { "path": "../keyring-controller" }, diff --git a/packages/social-controllers/package.json b/packages/social-controllers/package.json index 89df32191ca..f91740a2e74 100644 --- a/packages/social-controllers/package.json +++ b/packages/social-controllers/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/social-controllers", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/social-controllers", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/social-controllers/tsconfig.build.json b/packages/social-controllers/tsconfig.build.json index 17ae9af7949..e6688874561 100644 --- a/packages/social-controllers/tsconfig.build.json +++ b/packages/social-controllers/tsconfig.build.json @@ -6,10 +6,18 @@ "rootDir": "./src" }, "references": [ - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../base-data-service/tsconfig.build.json" }, - { "path": "../controller-utils/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" } + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../base-data-service/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/social-controllers/tsconfig.json b/packages/social-controllers/tsconfig.json index 276b595578a..a7fb23e5e68 100644 --- a/packages/social-controllers/tsconfig.json +++ b/packages/social-controllers/tsconfig.json @@ -4,10 +4,18 @@ "baseUrl": "./" }, "references": [ - { "path": "../base-controller" }, - { "path": "../base-data-service" }, - { "path": "../controller-utils" }, - { "path": "../messenger" } + { + "path": "../base-controller" + }, + { + "path": "../base-data-service" + }, + { + "path": "../controller-utils" + }, + { + "path": "../messenger" + } ], "include": ["../../types", "./src"] } diff --git a/packages/storage-service/package.json b/packages/storage-service/package.json index 0155c9f14a2..db58f8bf6f1 100644 --- a/packages/storage-service/package.json +++ b/packages/storage-service/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/storage-service", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/storage-service", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/storage-service/tsconfig.build.json b/packages/storage-service/tsconfig.build.json index 57f3ffc0f9b..6b68c1d0498 100644 --- a/packages/storage-service/tsconfig.build.json +++ b/packages/storage-service/tsconfig.build.json @@ -5,6 +5,10 @@ "outDir": "./dist", "rootDir": "./src" }, - "references": [{ "path": "../messenger/tsconfig.build.json" }], + "references": [ + { + "path": "../messenger/tsconfig.build.json" + } + ], "include": ["../../types", "./src"] } diff --git a/packages/storage-service/tsconfig.json b/packages/storage-service/tsconfig.json index 77e4d580465..514e6d22baa 100644 --- a/packages/storage-service/tsconfig.json +++ b/packages/storage-service/tsconfig.json @@ -3,6 +3,10 @@ "compilerOptions": { "baseUrl": "./" }, - "references": [{ "path": "../messenger" }], + "references": [ + { + "path": "../messenger" + } + ], "include": ["../../types", "./src"] } diff --git a/packages/subscription-controller/package.json b/packages/subscription-controller/package.json index c6a328e91f0..532132bcff0 100644 --- a/packages/subscription-controller/package.json +++ b/packages/subscription-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/subscription-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/subscription-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/subscription-controller/tsconfig.build.json b/packages/subscription-controller/tsconfig.build.json index 5a0cb45d39d..3fad7c969bd 100644 --- a/packages/subscription-controller/tsconfig.build.json +++ b/packages/subscription-controller/tsconfig.build.json @@ -20,6 +20,9 @@ }, { "path": "../transaction-controller/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" } ], "include": ["../../types", "./src"] diff --git a/packages/subscription-controller/tsconfig.json b/packages/subscription-controller/tsconfig.json index d31fdfc881c..507e3232137 100644 --- a/packages/subscription-controller/tsconfig.json +++ b/packages/subscription-controller/tsconfig.json @@ -18,6 +18,9 @@ }, { "path": "../transaction-controller" + }, + { + "path": "../controller-utils" } ], "include": ["../../types", "./src", "./tests"] diff --git a/packages/transaction-controller/package.json b/packages/transaction-controller/package.json index ed649ccb7aa..e01ddfdea5d 100644 --- a/packages/transaction-controller/package.json +++ b/packages/transaction-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/transaction-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/transaction-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "since-latest-release": "../../scripts/since-latest-release.sh", diff --git a/packages/transaction-controller/tsconfig.build.json b/packages/transaction-controller/tsconfig.build.json index 4237bad0410..598ddf7d483 100644 --- a/packages/transaction-controller/tsconfig.build.json +++ b/packages/transaction-controller/tsconfig.build.json @@ -6,15 +6,42 @@ "rootDir": "./src" }, "references": [ - { "path": "../accounts-controller/tsconfig.build.json" }, - { "path": "../approval-controller/tsconfig.build.json" }, - { "path": "../base-controller/tsconfig.build.json" }, - { "path": "../controller-utils/tsconfig.build.json" }, - { "path": "../core-backend/tsconfig.build.json" }, - { "path": "../gas-fee-controller/tsconfig.build.json" }, - { "path": "../network-controller/tsconfig.build.json" }, - { "path": "../messenger/tsconfig.build.json" }, - { "path": "../remote-feature-flag-controller/tsconfig.build.json" } + { + "path": "../accounts-controller/tsconfig.build.json" + }, + { + "path": "../approval-controller/tsconfig.build.json" + }, + { + "path": "../base-controller/tsconfig.build.json" + }, + { + "path": "../controller-utils/tsconfig.build.json" + }, + { + "path": "../core-backend/tsconfig.build.json" + }, + { + "path": "../gas-fee-controller/tsconfig.build.json" + }, + { + "path": "../network-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" + }, + { + "path": "../remote-feature-flag-controller/tsconfig.build.json" + }, + { + "path": "../connectivity-controller/tsconfig.build.json" + }, + { + "path": "../eth-block-tracker/tsconfig.build.json" + }, + { + "path": "../eth-json-rpc-provider/tsconfig.build.json" + } ], "include": ["../../types", "./src"] } diff --git a/packages/transaction-controller/tsconfig.json b/packages/transaction-controller/tsconfig.json index 99b7f1f98e0..fd2cf57a53d 100644 --- a/packages/transaction-controller/tsconfig.json +++ b/packages/transaction-controller/tsconfig.json @@ -5,15 +5,42 @@ "target": "ES2022" }, "references": [ - { "path": "../accounts-controller" }, - { "path": "../approval-controller" }, - { "path": "../base-controller" }, - { "path": "../controller-utils" }, - { "path": "../core-backend" }, - { "path": "../gas-fee-controller" }, - { "path": "../network-controller" }, - { "path": "../messenger" }, - { "path": "../remote-feature-flag-controller" } + { + "path": "../accounts-controller" + }, + { + "path": "../approval-controller" + }, + { + "path": "../base-controller" + }, + { + "path": "../controller-utils" + }, + { + "path": "../core-backend" + }, + { + "path": "../gas-fee-controller" + }, + { + "path": "../network-controller" + }, + { + "path": "../messenger" + }, + { + "path": "../remote-feature-flag-controller" + }, + { + "path": "../connectivity-controller" + }, + { + "path": "../eth-block-tracker" + }, + { + "path": "../eth-json-rpc-provider" + } ], "include": ["../../types", "./src", "./tests"] } diff --git a/packages/transaction-pay-controller/package.json b/packages/transaction-pay-controller/package.json index cd48626a7e8..0845337be7b 100644 --- a/packages/transaction-pay-controller/package.json +++ b/packages/transaction-pay-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/transaction-pay-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/transaction-pay-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "prepare-manifest:preview": "../../scripts/prepare-preview-manifest.sh", diff --git a/packages/transaction-pay-controller/tsconfig.build.json b/packages/transaction-pay-controller/tsconfig.build.json index a84e19992e4..b8da4c47253 100644 --- a/packages/transaction-pay-controller/tsconfig.build.json +++ b/packages/transaction-pay-controller/tsconfig.build.json @@ -38,6 +38,9 @@ }, { "path": "../transaction-controller/tsconfig.build.json" + }, + { + "path": "../messenger/tsconfig.build.json" } ], "include": ["../../types", "./src"] diff --git a/packages/transaction-pay-controller/tsconfig.json b/packages/transaction-pay-controller/tsconfig.json index b366981c214..ba849c6a58c 100644 --- a/packages/transaction-pay-controller/tsconfig.json +++ b/packages/transaction-pay-controller/tsconfig.json @@ -36,6 +36,9 @@ }, { "path": "../transaction-controller" + }, + { + "path": "../messenger" } ], "include": ["../../types", "./src"] diff --git a/packages/user-operation-controller/package.json b/packages/user-operation-controller/package.json index bf3adb57921..9598a03aa98 100644 --- a/packages/user-operation-controller/package.json +++ b/packages/user-operation-controller/package.json @@ -40,6 +40,8 @@ "build:docs": "typedoc", "changelog:update": "../../scripts/update-changelog.sh @metamask/user-operation-controller", "changelog:validate": "../../scripts/validate-changelog.sh @metamask/user-operation-controller", + "lint:tsconfigs": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts", + "lint:tsconfigs:fix": "tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix", "messenger-action-types:check": "tsx ../../packages/messenger-cli/src/cli.ts --check", "messenger-action-types:generate": "tsx ../../packages/messenger-cli/src/cli.ts --generate", "prepare-manifest:preview": "../../scripts/prepare-preview-manifest.sh", diff --git a/packages/user-operation-controller/tsconfig.build.json b/packages/user-operation-controller/tsconfig.build.json index 51437a5055f..611b09adb4b 100644 --- a/packages/user-operation-controller/tsconfig.build.json +++ b/packages/user-operation-controller/tsconfig.build.json @@ -29,6 +29,12 @@ }, { "path": "../messenger/tsconfig.build.json" + }, + { + "path": "../approval-controller/tsconfig.build.json" + }, + { + "path": "../eth-block-tracker/tsconfig.build.json" } ], "include": ["../../types", "./src"] diff --git a/packages/user-operation-controller/tsconfig.json b/packages/user-operation-controller/tsconfig.json index f597f35bf69..0f686647267 100644 --- a/packages/user-operation-controller/tsconfig.json +++ b/packages/user-operation-controller/tsconfig.json @@ -27,6 +27,12 @@ }, { "path": "../messenger" + }, + { + "path": "../approval-controller" + }, + { + "path": "../eth-block-tracker" } ], "include": ["../../types", "./src"] diff --git a/scripts/lint-tsconfigs/lint-package-tsconfigs.ts b/scripts/lint-tsconfigs/lint-package-tsconfigs.ts new file mode 100644 index 00000000000..c3f10dcc1eb --- /dev/null +++ b/scripts/lint-tsconfigs/lint-package-tsconfigs.ts @@ -0,0 +1,113 @@ +import type { + PackageManifest, + TsconfigLintMetaReport, + Workspaces, +} from './utils'; +import { + getAllNonRootWorkspaces, + lintTsconfigs, + printReport, + readPackageManifest, + readTsconfig, + updateReferencesInTsconfigs, +} from './utils'; + +/** + * Lints a package's tsconfig.json and tsconfig.build.json files to ensure they + * reference all workspace dependencies. Optionally fixes any issues found. + * + * @param options - The options object. + * @param options.packageRoot - The root directory of the package. + * @param options.repoRoot - The root directory of the repository. + * @param options.shouldFix - Whether to automatically fix issues. + * @returns `true` if no issues were found, `false` otherwise. + */ +export async function lintPackageTsconfigs({ + packageRoot, + repoRoot, + shouldFix, +}: { + packageRoot: string; + repoRoot: string; + shouldFix: boolean; +}): Promise { + const manifest = await readPackageManifest(packageRoot); + const workspaces = await getAllNonRootWorkspaces(repoRoot); + const tsconfigs = await Promise.all([ + readTsconfig(packageRoot, 'tsconfig.json'), + readTsconfig(packageRoot, 'tsconfig.build.json'), + ]); + const expectedPackageNames = getExpectedWorkspaceDependencies({ + manifest, + workspaces, + }); + const sortedExpectedWorkspaces = [...expectedPackageNames] + .sort((a, b) => a.localeCompare(b)) + .map((name) => { + const workspace = workspaces.byName.get(name); + if (!workspace) { + throw new Error(`Expected workspace not found for package: ${name}`); + } + return workspace; + }); + + let report: TsconfigLintMetaReport; + if (shouldFix) { + await updateReferencesInTsconfigs({ + workspaces: sortedExpectedWorkspaces, + tsconfigs, + repoRoot, + currentWorkspaceRoot: packageRoot, + }); + report = { + didPass: true, + didApplyFixes: true, + byTsconfig: new Map( + tsconfigs.map((tsconfig) => [ + tsconfig, + { missingReferencePaths: [], extraReferencePaths: [] }, + ]), + ), + }; + } else { + report = await lintTsconfigs({ + tsconfigs, + expectedPackageNames, + workspaces, + repoRoot, + currentWorkspaceRoot: packageRoot, + }); + } + + printReport(report); + + return report.didPass; +} + +/** + * Determines which workspace packages should be referenced in the tsconfig + * based on the package's dependencies and devDependencies. + * + * @param options - The options object. + * @param options.manifest - Contents of the package's `package.json` file. + * @param options.workspaces - The workspaces to iterate through. + * @returns A set of package names that should be referenced. + */ +function getExpectedWorkspaceDependencies({ + manifest, + workspaces, +}: { + manifest: PackageManifest; + workspaces: Workspaces; +}): Set { + const allDependencies = { + ...manifest.dependencies, + ...manifest.devDependencies, + }; + + return new Set( + Object.keys(allDependencies).filter((dependencyName) => + workspaces.names.has(dependencyName), + ), + ); +} diff --git a/scripts/lint-tsconfigs/lint-root-tsconfigs.ts b/scripts/lint-tsconfigs/lint-root-tsconfigs.ts new file mode 100644 index 00000000000..4fbc73c88b1 --- /dev/null +++ b/scripts/lint-tsconfigs/lint-root-tsconfigs.ts @@ -0,0 +1,63 @@ +import type { TsconfigLintMetaReport } from './utils'; +import { + getAllNonRootWorkspaces, + lintTsconfigs, + printReport, + readTsconfig, + updateReferencesInTsconfigs, +} from './utils'; + +/** + * Lints the root tsconfig.json and tsconfig.build.json files to ensure they + * reference all workspace packages. Optionally fixes any issues found. + * + * @param options - The options object. + * @param options.repoRoot - The root directory of the repository. + * @param options.shouldFix - Whether to automatically fix issues. + * @returns `true` if no issues were found, `false` otherwise. + */ +export async function lintRootTsconfigs({ + repoRoot, + shouldFix, +}: { + repoRoot: string; + shouldFix: boolean; +}): Promise { + const workspaces = await getAllNonRootWorkspaces(repoRoot); + const tsconfigs = await Promise.all([ + readTsconfig(repoRoot, 'tsconfig.json'), + readTsconfig(repoRoot, 'tsconfig.build.json'), + ]); + + let report: TsconfigLintMetaReport; + if (shouldFix) { + await updateReferencesInTsconfigs({ + workspaces: workspaces.list, + tsconfigs, + repoRoot, + currentWorkspaceRoot: repoRoot, + }); + report = { + didPass: true, + didApplyFixes: true, + byTsconfig: new Map( + tsconfigs.map((tsconfig) => [ + tsconfig, + { missingReferencePaths: [], extraReferencePaths: [] }, + ]), + ), + }; + } else { + report = await lintTsconfigs({ + tsconfigs, + expectedPackageNames: workspaces.names, + workspaces, + repoRoot, + currentWorkspaceRoot: repoRoot, + }); + } + + printReport(report); + + return report.didPass; +} diff --git a/scripts/lint-tsconfigs/lint-tsconfigs.ts b/scripts/lint-tsconfigs/lint-tsconfigs.ts new file mode 100644 index 00000000000..da1727f8c92 --- /dev/null +++ b/scripts/lint-tsconfigs/lint-tsconfigs.ts @@ -0,0 +1,78 @@ +import { hasProperty } from '@metamask/utils'; +import fs from 'fs'; +import path from 'path'; + +import { lintPackageTsconfigs } from './lint-package-tsconfigs'; +import { lintRootTsconfigs } from './lint-root-tsconfigs'; +import { readPackageManifest } from './utils'; + +// Run this script! +main().catch((error: unknown) => { + console.error(error); + process.exitCode = 1; +}); + +/** + * Detects whether the script is being run from the repository root or from + * within a package, then lints the appropriate tsconfig files. + * + * When run from the root, lints only the root tsconfig pair. + * When run from a package, lints only that package's tsconfig pair. + */ +async function main(): Promise { + const cwd = process.cwd(); + const shouldFix = process.argv.includes('--fix'); + + const isRoot = await detectIsRoot(cwd); + + let didLintPass; + if (isRoot) { + didLintPass = await lintRootTsconfigs({ repoRoot: cwd, shouldFix }); + } else { + const repoRoot = await getRepoRoot(cwd); + didLintPass = await lintPackageTsconfigs({ + packageRoot: cwd, + repoRoot, + shouldFix, + }); + } + + if (!didLintPass) { + // eslint-disable-next-line require-atomic-updates + process.exitCode = 1; + } +} + +/** + * Resolves the repository root by walking up from a package directory. + * + * @param packageRoot - The root directory of the package. + * @returns The nearest ancestor directory containing a package.json file. + */ +async function getRepoRoot(packageRoot: string): Promise { + let currentDirectory = path.dirname(packageRoot); + // The dirname of / is /. + while (currentDirectory !== path.dirname(currentDirectory)) { + const packageJsonPath = path.join(currentDirectory, 'package.json'); + try { + await fs.promises.access(packageJsonPath); + return currentDirectory; + } catch { + // Continue traversing up. + } + currentDirectory = path.dirname(currentDirectory); + } + return packageRoot; +} + +/** + * Determines whether the given directory is the repository root by checking + * for the presence of a `workspaces` field in its `package.json`. + * + * @param directory - The directory to check. + * @returns `true` if the directory is the repository root. + */ +async function detectIsRoot(directory: string): Promise { + const manifest = await readPackageManifest(directory); + return hasProperty(manifest, 'workspaces'); +} diff --git a/scripts/lint-tsconfigs/utils.ts b/scripts/lint-tsconfigs/utils.ts new file mode 100644 index 00000000000..4a5351d4095 --- /dev/null +++ b/scripts/lint-tsconfigs/utils.ts @@ -0,0 +1,531 @@ +import * as commentJson from 'comment-json'; +import execa from 'execa'; +import fs from 'fs'; +import path from 'path'; +import type { Options as PrettierOptions } from 'prettier'; +import { format as prettierFormat } from 'prettier'; + +const REPO_ROOT = path.join(__dirname, '..', '..'); + +// Our lint config really hates this, but it works. +// eslint-disable-next-line +const prettierRc = require( + path.join(REPO_ROOT, '.prettierrc.js'), +) as PrettierOptions; + +export type Workspace = Readonly<{ + location: string; + name: string; +}>; + +export type Workspaces = { + names: Set; + list: Workspace[]; + byName: ReadonlyMap; + byAbsolutePath: ReadonlyMap; +}; + +export type PackageManifest = Readonly<{ + name: string; + dependencies?: Record; + devDependencies?: Record; + private?: boolean; + workspaces?: readonly string[]; +}>; + +export type TsconfigReference = Readonly<{ path: string }>; + +export type TsconfigContent = Readonly<{ + references?: readonly TsconfigReference[]; +}>; + +export type Tsconfig = Readonly<{ + filePath: string; + fileName: string; + content: TsconfigContent; +}>; + +export type TsconfigLintReport = Readonly<{ + missingReferencePaths: readonly string[]; + extraReferencePaths: readonly string[]; +}>; + +export type TsconfigLintMetaReport = Readonly<{ + didPass: boolean; + didApplyFixes: boolean; + byTsconfig: ReadonlyMap; +}>; + +/** + * Returns all non-root Yarn workspaces keyed by package name. + * + * @param repoRoot - The root directory of the repository. + * @returns Three ways to work with the workspaces: as an array, as a map keyed + * by name, as a map keyed by absolute path. + */ +export async function getAllNonRootWorkspaces( + repoRoot: string, +): Promise { + const { stdout } = await execa('yarn', ['workspaces', 'list', '--json']); + + const lines = stdout.split('\n').filter((line) => line.trim() !== ''); + const allWorkspaces = lines.map((line) => JSON.parse(line) as Workspace); + const nonRootSortedWorkspaces = allWorkspaces + .filter((workspace) => workspace.location !== '.') + .sort((a, b) => a.name.localeCompare(b.name)); + + const workspacesByName = new Map( + nonRootSortedWorkspaces.map( + (workspace) => [workspace.name, workspace] as const, + ), + ); + const names = new Set(workspacesByName.keys()); + + const workspacesByAbsolutePath = new Map(); + for (const workspace of nonRootSortedWorkspaces) { + const workspaceAbsolutePath = path.resolve(repoRoot, workspace.location); + workspacesByAbsolutePath.set(workspaceAbsolutePath, workspace); + } + + return { + names, + list: nonRootSortedWorkspaces, + byName: workspacesByName, + byAbsolutePath: workspacesByAbsolutePath, + }; +} + +/** + * Reads and parses a package manifest from a package root directory. + * + * @param packageRoot - Absolute path to the package directory. + * @returns The parsed `package.json` contents. + */ +export async function readPackageManifest( + packageRoot: string, +): Promise { + const packageJsonPath = path.join(packageRoot, 'package.json'); + const raw = await fs.promises.readFile(packageJsonPath, 'utf8'); + return JSON.parse(raw) as PackageManifest; +} + +/** + * Reads and parses a TypeScript config file and returns path metadata. + * + * @param directory - Where to find the tsconfig file. + * @param fileName - The path to the tsconfig file in the directory. + * @returns Parsed tsconfig content with absolute and relative paths. + */ +export async function readTsconfig( + directory: string, + fileName: string, +): Promise { + const filePath = path.join(directory, fileName); + const rawContent = await fs.promises.readFile(filePath, 'utf8'); + return { + filePath, + fileName, + content: commentJson.parse(rawContent) as TsconfigContent, + }; +} + +/** + * Resolves a reference path inside of a tsconfig file to its TypeScript + * "project" directory (i.e., the same directory that the tsconfig file lives + * in). + * + * Handles both direct directory references (e.g. `../../accounts-controller/`) + * and references to specific tsconfig files + * (`../../accounts-controller/tsconfig.json`). + * + * @param referencePath - The reference path from the tsconfig. + * @param tsconfigPath - Path to the tsconfig file containing the reference. + * @returns The absolute path to the workspace directory. + */ +async function resolveTsconfigReferenceToTsProjectDirectory( + referencePath: string, + tsconfigPath: string, +): Promise { + const absoluteReferencePath = path.resolve( + path.dirname(tsconfigPath), + referencePath, + ); + + const stats = await fs.promises.stat(absoluteReferencePath); + if (stats.isFile()) { + return path.dirname(absoluteReferencePath); + } + return absoluteReferencePath; +} + +/** + * Extracts the workspace package names from the references in a tsconfig file. + * + * @param args - The arguments to this function. + * @param args.tsconfig - Parsed contents of the tsconfig file. + * @param args.workspaces - The workspaces to use as references. + * @returns A set of package names that are referenced in the tsconfig. + */ +async function getReferencedPackageNamesFromTsconfigFile({ + tsconfig, + workspaces, +}: { + tsconfig: Tsconfig; + workspaces: Workspaces; +}): Promise> { + const packageNames = new Set(); + + for (const reference of tsconfig.content.references ?? []) { + const tsProjectAbsolutePath = + await resolveTsconfigReferenceToTsProjectDirectory( + reference.path, + tsconfig.filePath, + ); + const workspace = workspaces.byAbsolutePath.get(tsProjectAbsolutePath); + if (workspace) { + packageNames.add(workspace.name); + } else { + throw new Error( + `Error parsing tsconfig ${tsconfig.fileName}: Could not resolve reference to workspace: ${reference.path}`, + ); + } + } + + return packageNames; +} + +/** + * Computes the expected reference path for a workspace within a tsconfig file. + * + * Note if the file is `tsconfig.json`, we drop the trailing `/tsconfig.json` + * from the reference path. + * + * @param args - The arguments to this function. + * @param args.workspace - The workspace to compute the path for. + * @param args.tsconfig - The tsconfig file to compute the path relative to. + * @param args.repoRoot - The root directory of the repository. + * @param args.currentWorkspaceRoot - The directory containing the tsconfig file. + * @returns The expected reference path string. + */ +function getExpectedReferencePath({ + workspace, + tsconfig, + repoRoot, + currentWorkspaceRoot, +}: { + workspace: Workspace; + tsconfig: Tsconfig; + repoRoot: string; + currentWorkspaceRoot: string; +}): string { + const absoluteWorkspacePath = path.resolve(repoRoot, workspace.location); + const relativeWorkspacePath = path.relative( + currentWorkspaceRoot, + absoluteWorkspacePath, + ); + const prefixedRelativePath = relativeWorkspacePath.startsWith('..') + ? relativeWorkspacePath + : `./${relativeWorkspacePath}`; + if (tsconfig.fileName === 'tsconfig.json') { + return prefixedRelativePath; + } + return `${prefixedRelativePath}/${tsconfig.fileName}`; +} + +/** + * Compares the references in a tsconfig file against expected package names. + * + * @param args - The arguments to this function. + * @param args.tsconfig - Parsed contents of the tsconfig file. + * @param args.expectedPackageNames - Package names that should be referenced. + * @param args.workspaces - The workspaces to use as reference. + * @param args.repoRoot - The root directory of the repository. + * @param args.currentWorkspaceRoot - The directory containing the tsconfig file. + * @returns Missing and extra reference paths for the tsconfig. + */ +export async function lintTsconfig({ + tsconfig, + expectedPackageNames, + workspaces, + repoRoot, + currentWorkspaceRoot, +}: { + tsconfig: Tsconfig; + expectedPackageNames: ReadonlySet; + workspaces: Workspaces; + repoRoot: string; + currentWorkspaceRoot: string; +}): Promise { + const actualPackageNames = await getReferencedPackageNamesFromTsconfigFile({ + tsconfig, + workspaces, + }); + + const missingReferencePaths = [...expectedPackageNames] + .filter((name) => !actualPackageNames.has(name)) + .sort() + .map((name) => { + const workspace = workspaces.byName.get(name); + if (!workspace) { + throw new Error(`Expected workspace not found for package: ${name}`); + } + return getExpectedReferencePath({ + workspace, + tsconfig, + repoRoot, + currentWorkspaceRoot, + }); + }); + + const extraReferencePaths = [...actualPackageNames] + .filter((name) => !expectedPackageNames.has(name)) + .sort() + .map((name) => { + const workspace = workspaces.byName.get(name); + if (!workspace) { + throw new Error(`Expected workspace not found for package: ${name}`); + } + return getExpectedReferencePath({ + workspace, + tsconfig, + repoRoot, + currentWorkspaceRoot, + }); + }); + + return { missingReferencePaths, extraReferencePaths }; +} + +/** + * Checks for issues in the given tsconfig files. + * + * @param args - The arguments to this function. + * @param args.tsconfigs - The parsed tsconfigs to check. + * @param args.expectedPackageNames - Package names that should be referenced. + * @param args.workspaces - The workspaces to use as references. + * @param args.repoRoot - The root directory of the repository. + * @param args.currentWorkspaceRoot - The directory containing the tsconfig files. + * @returns A report for each tsconfig file (i.e., an object keyed by the + * tsconfig filename which contains issues). + */ +export async function lintTsconfigs({ + tsconfigs, + expectedPackageNames, + workspaces, + repoRoot, + currentWorkspaceRoot, +}: { + tsconfigs: Tsconfig[]; + expectedPackageNames: ReadonlySet; + workspaces: Workspaces; + repoRoot: string; + currentWorkspaceRoot: string; +}): Promise { + const results = await Promise.all( + tsconfigs.map(async (tsconfig) => { + const report = await lintTsconfig({ + tsconfig, + expectedPackageNames, + workspaces, + repoRoot, + currentWorkspaceRoot, + }); + return [tsconfig, report] as const; + }), + ); + const byTsconfig = new Map(results); + const didPass = results.every( + ([, report]) => + report.missingReferencePaths.length === 0 && + report.extraReferencePaths.length === 0, + ); + return { didPass, didApplyFixes: false, byTsconfig }; +} + +/** + * Normalizes a tsconfig reference path to a bare directory path for + * comparison purposes, by stripping a trailing `/tsconfig.json` suffix if + * present. This allows existing references that use explicit file paths (e.g. + * `../foo/tsconfig.json`) to be matched against canonical bare-directory paths + * (e.g. `../foo`). + * + * @param refPath - The reference path to normalize. + * @returns The normalized path. + */ +function normalizeReferencePath(refPath: string): string { + return refPath.replace(/\/tsconfig\.json$/u, ''); +} + +/** + * Produces an updated `references` list within a tsconfig file that preserves + * the order of existing references, removes extras, and adds missing ones in + * the order they appear in `newReferences`. + * + * @param currentReferences - The references currently in the tsconfig file. + * @param newReferences - The complete desired set of references. + * @returns The merged references list. + */ +function mergeReferences( + currentReferences: readonly TsconfigReference[], + newReferences: readonly TsconfigReference[], +): TsconfigReference[] { + const currentNormalizedPaths = new Set( + currentReferences.map((ref) => normalizeReferencePath(ref.path)), + ); + const newReferencesByNormalizedPath = new Map( + newReferences.map((ref) => [normalizeReferencePath(ref.path), ref]), + ); + + // Keep existing references that are still valid, replacing them with the + // canonical form from newReferences. + const keptReferences = currentReferences + .map((ref) => + newReferencesByNormalizedPath.get(normalizeReferencePath(ref.path)), + ) + .filter((ref): ref is TsconfigReference => ref !== undefined); + + // Append new references that aren't already present. + const addedReferences = newReferences.filter( + (ref) => !currentNormalizedPaths.has(normalizeReferencePath(ref.path)), + ); + + return [...keptReferences, ...addedReferences]; +} + +/** + * Updates the `references` field with a tsconfig file, updating the formatting + * of the file to appease Prettier if necessary. + * + * @param tsconfig - Parsed tsconfig. + * @param newReferences - Desired references to write to the file. + */ +export async function writeReferences( + tsconfig: Tsconfig, + newReferences: readonly TsconfigReference[], +): Promise { + const updatedContent = commentJson.stringify( + commentJson.assign(tsconfig.content, { references: [...newReferences] }), + null, + 2, + ); + const updatedFormattedContent = await prettierFormat(updatedContent, { + ...prettierRc, + parser: 'json', + }); + await fs.promises.writeFile(tsconfig.filePath, updatedFormattedContent); +} + +/** + * Updates the given tsconfig file to reference all of the given workspace + * packages, preserving the existing order of references and appending any + * missing ones in alphabetical order. + * + * @param args - The arguments to this function. + * @param args.tsconfig - Parsed tsconfig file to update. + * @param args.workspaces - Workspaces to update the file with. + * @param args.repoRoot - The path to the whole repository + * @param args.currentWorkspaceRoot - The path to the current workspace (the + * root of the repository or the path to a package within it). + */ +async function updateReferencesInTsconfig({ + tsconfig, + workspaces, + repoRoot, + currentWorkspaceRoot, +}: { + tsconfig: Tsconfig; + workspaces: Workspace[]; + repoRoot: string; + currentWorkspaceRoot: string; +}): Promise { + const newTsconfigReferences = workspaces.map((workspace) => ({ + path: getExpectedReferencePath({ + workspace, + tsconfig, + repoRoot, + currentWorkspaceRoot, + }), + })); + + await writeReferences( + tsconfig, + mergeReferences(tsconfig.content.references ?? [], newTsconfigReferences), + ); +} + +/** + * Updates the root `tsconfig.json` and `tsconfig.build.json` files to reference + * the given workspace packages, preserving the existing order of references and + * appending any missing ones in alphabetical order. + * + * @param args - The arguments to this function. + * @param args.tsconfigs - Parsed tsconfig files. + * @param args.workspaces - The workspaces to use. + * @param args.repoRoot - The path to the whole repository + * @param args.currentWorkspaceRoot - The path to the current workspace (the + * root of the repository or the path to a package within it). + */ +export async function updateReferencesInTsconfigs({ + tsconfigs, + workspaces, + repoRoot, + currentWorkspaceRoot, +}: { + tsconfigs: Tsconfig[]; + workspaces: Workspace[]; + repoRoot: string; + currentWorkspaceRoot: string; +}): Promise { + await Promise.all( + tsconfigs.map(async (tsconfig) => { + await updateReferencesInTsconfig({ + tsconfig, + workspaces, + repoRoot, + currentWorkspaceRoot, + }); + }), + ); +} + +/** + * Prints the results from linting tsconfig files (i.e., whether issues were + * found or not, and if so, what they were). + * + * @param metaReport - The report to print (includes all tsconfigs linted). + */ +export function printReport(metaReport: TsconfigLintMetaReport): void { + if (metaReport.didApplyFixes) { + for (const tsconfig of metaReport.byTsconfig.keys()) { + console.log(`✅ Regenerated all references within ${tsconfig.fileName}.`); + } + return; + } + + for (const [tsconfig, report] of metaReport.byTsconfig.entries()) { + if ( + report.missingReferencePaths.length === 0 && + report.extraReferencePaths.length === 0 + ) { + console.log( + `✅ No issues detected within ${tsconfig.fileName}. Good job!`, + ); + } else { + console.log( + `❌ Detected the following issues within ${tsconfig.fileName}:`, + ); + for (const referencePath of report.missingReferencePaths) { + console.log(` - Missing reference: \`${referencePath}\``); + } + for (const referencePath of report.extraReferencePaths) { + console.log(` - Unnecessary reference: \`${referencePath}\``); + } + } + } + + if (!metaReport.didPass) { + console.log( + '\nYou can run `yarn lint:tsconfigs:fix:all` to quickly fix these issues.', + ); + } +} diff --git a/tsconfig.json b/tsconfig.json index 7eb3aadc457..4fbf2f5661e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -226,6 +226,18 @@ }, { "path": "./packages/user-operation-controller" + }, + { + "path": "./packages/eip-5792-middleware" + }, + { + "path": "./packages/eip-7702-internal-rpc-middleware" + }, + { + "path": "./packages/logging-controller" + }, + { + "path": "./packages/storage-service" } ], "files": [], diff --git a/yarn.config.cjs b/yarn.config.cjs index 78612e4699e..35ec5e10b57 100644 --- a/yarn.config.cjs +++ b/yarn.config.cjs @@ -184,6 +184,19 @@ module.exports = defineConfig({ 'scripts.test:watch', 'NODE_OPTIONS=--experimental-vm-modules jest --watch', ); + + // All non-root packages must have scripts that lint-check tsconfig + // project references for this package. + expectWorkspaceField( + workspace, + 'scripts.lint:tsconfigs', + 'tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts', + ); + expectWorkspaceField( + workspace, + 'scripts.lint:tsconfigs:fix', + 'tsx ../../scripts/lint-tsconfigs/lint-tsconfigs.ts --fix', + ); } if (isChildWorkspace) { @@ -198,6 +211,10 @@ module.exports = defineConfig({ expectWorkspaceField(workspace, 'files', []); } + // All packages must have tsx as a dev dependency. (This is required to + // run various TypeScript scripts.) + expectWorkspaceField(workspace, 'devDependencies["tsx"]'); + // If one workspace package lists another workspace package within // `dependencies` or `devDependencies`, the version used within the // dependency range must match the current version of the dependency. diff --git a/yarn.lock b/yarn.lock index 9dfb37dd539..ac1899edba0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2648,6 +2648,7 @@ __metadata: deepmerge: "npm:^4.2.2" jest: "npm:^29.7.0" ts-jest: "npm:^29.2.5" + tsx: "npm:^4.20.5" typedoc: "npm:^0.25.13" typedoc-plugin-missing-exports: "npm:^2.0.0" typescript: "npm:~5.3.3" @@ -2734,6 +2735,7 @@ __metadata: deepmerge: "npm:^4.2.2" jest: "npm:^29.7.0" ts-jest: "npm:^29.2.5" + tsx: "npm:^4.20.5" typedoc: "npm:^0.25.13" typedoc-plugin-missing-exports: "npm:^2.0.0" typescript: "npm:~5.3.3" @@ -2963,6 +2965,7 @@ __metadata: immer: "npm:^9.0.6" jest: "npm:^29.7.0" ts-jest: "npm:^29.2.5" + tsx: "npm:^4.20.5" typedoc: "npm:^0.25.13" typedoc-plugin-missing-exports: "npm:^2.0.0" typescript: "npm:~5.3.3" @@ -3031,6 +3034,7 @@ __metadata: nock: "npm:^13.3.1" reselect: "npm:^5.1.1" ts-jest: "npm:^29.2.5" + tsx: "npm:^4.20.5" typedoc: "npm:^0.25.13" typedoc-plugin-missing-exports: "npm:^2.0.0" typescript: "npm:~5.3.3" @@ -3066,6 +3070,7 @@ __metadata: lodash: "npm:^4.17.21" nock: "npm:^13.3.1" ts-jest: "npm:^29.2.5" + tsx: "npm:^4.20.5" typedoc: "npm:^0.25.13" typedoc-plugin-missing-exports: "npm:^2.0.0" typescript: "npm:~5.3.3" @@ -3094,6 +3099,7 @@ __metadata: deepmerge: "npm:^4.2.2" jest: "npm:^29.7.0" ts-jest: "npm:^29.2.5" + tsx: "npm:^4.20.5" typedoc: "npm:^0.25.13" typedoc-plugin-missing-exports: "npm:^2.0.0" typescript: "npm:~5.3.3" @@ -3117,6 +3123,7 @@ __metadata: jest: "npm:^29.7.0" lodash: "npm:^4.17.21" ts-jest: "npm:^29.2.5" + tsx: "npm:^4.20.5" typedoc: "npm:^0.25.13" typedoc-plugin-missing-exports: "npm:^2.0.0" typescript: "npm:~5.3.3" @@ -3204,6 +3211,7 @@ __metadata: immer: "npm:^9.0.6" jest: "npm:^29.7.0" ts-jest: "npm:^29.2.5" + tsx: "npm:^4.20.5" typedoc: "npm:^0.25.13" typedoc-plugin-missing-exports: "npm:^2.0.0" typescript: "npm:~5.3.3" @@ -3291,6 +3299,7 @@ __metadata: lodash: "npm:^4.17.21" nock: "npm:^13.3.1" ts-jest: "npm:^29.2.5" + tsx: "npm:^4.20.5" typedoc: "npm:^0.25.13" typedoc-plugin-missing-exports: "npm:^2.0.0" typescript: "npm:~5.3.3" @@ -3480,6 +3489,7 @@ __metadata: "@metamask/auto-changelog": "npm:^3.4.4" "@metamask/keyring-controller": "npm:^25.2.0" "@metamask/messenger": "npm:^1.1.1" + "@metamask/preferences-controller": "npm:^23.1.0" "@metamask/rpc-errors": "npm:^7.0.2" "@metamask/superstruct": "npm:^3.1.0" "@metamask/transaction-controller": "npm:^64.0.0" @@ -3491,6 +3501,7 @@ __metadata: klona: "npm:^2.0.6" lodash: "npm:^4.17.21" ts-jest: "npm:^29.2.5" + tsx: "npm:^4.20.5" typedoc: "npm:^0.25.13" typedoc-plugin-missing-exports: "npm:^2.0.0" typescript: "npm:~5.3.3" @@ -3512,6 +3523,7 @@ __metadata: deepmerge: "npm:^4.2.2" jest: "npm:^29.7.0" ts-jest: "npm:^29.2.5" + tsx: "npm:^4.20.5" typedoc: "npm:^0.25.13" typedoc-plugin-missing-exports: "npm:^2.0.0" typescript: "npm:~5.3.3" @@ -3535,6 +3547,7 @@ __metadata: jest: "npm:^29.7.0" lodash: "npm:^4.17.21" ts-jest: "npm:^29.2.5" + tsx: "npm:^4.20.5" typedoc: "npm:^0.25.13" typedoc-plugin-missing-exports: "npm:^2.0.0" typescript: "npm:~5.3.3" @@ -3644,6 +3657,7 @@ __metadata: jest: "npm:^29.7.0" json-rpc-random-id: "npm:^1.0.1" ts-jest: "npm:^29.2.5" + tsx: "npm:^4.20.5" typedoc: "npm:^0.25.13" typedoc-plugin-missing-exports: "npm:^2.0.0" typescript: "npm:~5.3.3" @@ -3703,7 +3717,6 @@ __metadata: "@metamask/eth-sig-util": "npm:^8.2.0" "@metamask/json-rpc-engine": "npm:^10.2.4" "@metamask/message-manager": "npm:^14.1.1" - "@metamask/network-controller": "npm:^30.0.1" "@metamask/rpc-errors": "npm:^7.0.2" "@metamask/superstruct": "npm:^3.1.0" "@metamask/utils": "npm:^11.9.0" @@ -3718,6 +3731,7 @@ __metadata: pify: "npm:^5.0.0" safe-stable-stringify: "npm:^2.4.3" tsd: "npm:^0.31.2" + tsx: "npm:^4.20.5" typedoc: "npm:^0.25.13" typescript: "npm:~5.3.3" languageName: unknown @@ -3755,6 +3769,7 @@ __metadata: jest-it-up: "npm:^2.0.2" nanoid: "npm:^3.3.8" ts-jest: "npm:^29.2.5" + tsx: "npm:^4.20.5" typedoc: "npm:^0.25.13" typescript: "npm:~5.3.3" languageName: unknown @@ -3994,6 +4009,7 @@ __metadata: nock: "npm:^13.3.1" tar: "npm:^7.4.3" ts-jest: "npm:^29.2.5" + tsx: "npm:^4.20.5" typedoc: "npm:^0.25.13" typedoc-plugin-missing-exports: "npm:^2.0.0" typescript: "npm:~5.3.3" @@ -4109,6 +4125,7 @@ __metadata: jest-it-up: "npm:^2.0.2" klona: "npm:^2.0.6" ts-jest: "npm:^29.2.5" + tsx: "npm:^4.20.5" typedoc: "npm:^0.25.13" typescript: "npm:~5.3.3" languageName: unknown @@ -4131,6 +4148,7 @@ __metadata: jest-it-up: "npm:^2.0.2" readable-stream: "npm:^3.6.2" ts-jest: "npm:^29.2.5" + tsx: "npm:^4.20.5" typedoc: "npm:^0.25.13" typedoc-plugin-missing-exports: "npm:^2.0.0" typescript: "npm:~5.3.3" @@ -4192,6 +4210,7 @@ __metadata: "@metamask/auto-changelog": "npm:^3.4.4" "@metamask/base-controller": "npm:^9.0.1" "@metamask/browser-passworder": "npm:^6.0.0" + "@metamask/controller-utils": "npm:^11.20.0" "@metamask/eth-hd-keyring": "npm:^13.0.0" "@metamask/eth-sig-util": "npm:^8.2.0" "@metamask/eth-simple-keyring": "npm:^11.0.0" @@ -4211,6 +4230,7 @@ __metadata: jest-environment-node: "npm:^29.7.0" lodash: "npm:^4.17.21" ts-jest: "npm:^29.2.5" + tsx: "npm:^4.20.5" typedoc: "npm:^0.25.13" typedoc-plugin-missing-exports: "npm:^2.0.0" typescript: "npm:~5.3.3" @@ -4325,6 +4345,7 @@ __metadata: jest: "npm:^29.7.0" jsonschema: "npm:^1.4.1" ts-jest: "npm:^29.2.5" + tsx: "npm:^4.20.5" typedoc: "npm:^0.25.13" typedoc-plugin-missing-exports: "npm:^2.0.0" typescript: "npm:~5.3.3" @@ -4346,6 +4367,7 @@ __metadata: execa: "npm:^5.0.0" jest: "npm:^29.7.0" ts-jest: "npm:^29.2.5" + tsx: "npm:^4.20.5" typescript: "npm:~5.3.3" yargs: "npm:^17.7.2" peerDependencies: @@ -4381,6 +4403,7 @@ __metadata: immer: "npm:^9.0.6" jest: "npm:^29.7.0" ts-jest: "npm:^29.2.5" + tsx: "npm:^4.20.5" typedoc: "npm:^0.25.13" typedoc-plugin-missing-exports: "npm:^2.0.0" typescript: "npm:~5.3.3" @@ -4495,6 +4518,7 @@ __metadata: jest: "npm:^29.7.0" jsonschema: "npm:^1.4.1" ts-jest: "npm:^29.2.5" + tsx: "npm:^4.20.5" typedoc: "npm:^0.25.13" typedoc-plugin-missing-exports: "npm:^2.0.0" typescript: "npm:~5.3.3" @@ -4527,6 +4551,7 @@ __metadata: lodash: "npm:^4.17.21" nock: "npm:^13.3.1" ts-jest: "npm:^29.2.5" + tsx: "npm:^4.20.5" typedoc: "npm:^0.25.13" typedoc-plugin-missing-exports: "npm:^2.0.0" typescript: "npm:~5.3.3" @@ -4557,6 +4582,7 @@ __metadata: immer: "npm:^9.0.6" jest: "npm:^29.7.0" ts-jest: "npm:^29.2.5" + tsx: "npm:^4.20.5" typedoc: "npm:^0.25.13" typedoc-plugin-missing-exports: "npm:^2.0.0" typescript: "npm:~5.3.3" @@ -4864,6 +4890,7 @@ __metadata: fast-json-stable-stringify: "npm:^2.1.0" jest: "npm:^29.7.0" ts-jest: "npm:^29.2.5" + tsx: "npm:^4.20.5" typedoc: "npm:^0.25.13" typedoc-plugin-missing-exports: "npm:^2.0.0" typescript: "npm:~5.3.3" @@ -5028,6 +5055,7 @@ __metadata: deepmerge: "npm:^4.2.2" jest: "npm:^29.7.0" ts-jest: "npm:^29.2.5" + tsx: "npm:^4.20.5" typedoc: "npm:^0.25.13" typedoc-plugin-missing-exports: "npm:^2.0.0" typescript: "npm:~5.3.3" @@ -5048,6 +5076,7 @@ __metadata: deepmerge: "npm:^4.2.2" jest: "npm:^29.7.0" ts-jest: "npm:^29.2.5" + tsx: "npm:^4.20.5" typedoc: "npm:^0.25.13" typedoc-plugin-missing-exports: "npm:^2.0.0" typescript: "npm:~5.3.3"