diff --git a/.github/workflows/lint-build-test.yml b/.github/workflows/lint-build-test.yml index 0631f42958a..870a3ea7438 100644 --- a/.github/workflows/lint-build-test.yml +++ b/.github/workflows/lint-build-test.yml @@ -110,8 +110,8 @@ jobs: exit 1 fi - lint-eslint: - name: Lint (lint:eslint) + lint-oxlint: + name: Lint (lint:oxlint) runs-on: ubuntu-latest if: needs.prepare.outputs.changed-paths != '[]' needs: prepare @@ -126,19 +126,7 @@ jobs: persist-credentials: false node-version: ${{ matrix.node-version }} - name: Lint - run: | - if [[ "$CHANGED_PATHS" == "full" ]]; then - echo "Running ESLint on all packages." - echo "" - yarn lint:eslint - else - echo "Running ESLint on:" - echo "$CHANGED_PATHS" | jq -r '"- " + .[]' - echo "" - echo "$CHANGED_PATHS" | jq -r '.[]' | xargs yarn lint:eslint - fi - env: - CHANGED_PATHS: ${{ needs.prepare.outputs.changed-paths }} + run: yarn lint:oxlint - name: Require clean working directory shell: bash run: | diff --git a/AGENTS.md b/AGENTS.md index 5d79379f615..e01cf0e7d00 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -62,14 +62,14 @@ The monorepo uses a hierarchical configuration approach for different tools. For - `jest.config.scripts.js` defines shared Jest settings for all directories in `scripts/`. - `packages/**/jest.config.js` (and `scripts/create-package/package-template/jest.config.js`) customizes Jest settings for each package. -#### ESLint +#### Oxlint -- `eslint.config.mjs` configures ESLint for the entire monorepo. -- `eslint-suppressions.json` isn't a config file per se, but defines ESLint errors that are being ignored (temporarily). +- `oxlint.config.ts` configures Oxlint for the entire monorepo. +- `oxlint-suppressions.json` isn't a config file per se, but defines Oxlint errors that are being ignored (temporarily). -#### Prettier +#### Oxfmt -- `.prettierrc.js` configures Prettier for the entire repo. +- `.oxfmtrc.json` configures Oxlint for the entire repo. #### TypeDoc diff --git a/docs/processes/linting-and-formatting.md b/docs/processes/linting-and-formatting.md index 7d3c7b42750..92acec149c5 100644 --- a/docs/processes/linting-and-formatting.md +++ b/docs/processes/linting-and-formatting.md @@ -1,8 +1,8 @@ # Linting and formatting code -[ESLint](https://eslint.org) v9 (via [MetaMask's shared ESLint configurations](https://github.com/MetaMask/eslint-config)) is used to check for code quality issues, and [Prettier](https://prettier.io/docs/en/) is used to format files. +[Oxlint](https://oxc.rs/docs/guide/usage/linter) v1 (via [MetaMask's shared Oxlint configurations](https://github.com/MetaMask/oxlint-config)) is used to check for code quality issues, and [Oxfmt](https://oxc.rs/docs/guide/usage/formatter) is used to format files. -If you need to customize the behavior of ESLint, see `eslint.config.mjs` in the root. +If you need to customize the behavior of Oxlint, see `oxlint.config.ts` in the root. - Run `yarn lint` to lint all files and show possible violations across the monorepo. - Run `yarn lint:fix` to fix any automatically fixable violations. diff --git a/eslint-suppressions.json b/eslint-suppressions.json deleted file mode 100644 index 49a28c0feeb..00000000000 --- a/eslint-suppressions.json +++ /dev/null @@ -1,2101 +0,0 @@ -{ - "packages/account-tree-controller/src/AccountTreeController.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 4 - }, - "@typescript-eslint/naming-convention": { - "count": 4 - }, - "id-length": { - "count": 2 - } - }, - "packages/account-tree-controller/src/AccountTreeController.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 7 - }, - "no-negated-condition": { - "count": 3 - } - }, - "packages/account-tree-controller/src/backup-and-sync/analytics/segment.ts": { - "@typescript-eslint/naming-convention": { - "count": 3 - }, - "no-negated-condition": { - "count": 1 - } - }, - "packages/account-tree-controller/src/backup-and-sync/service/index.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - }, - "n/no-sync": { - "count": 29 - } - }, - "packages/account-tree-controller/src/backup-and-sync/service/index.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/account-tree-controller/src/backup-and-sync/syncing/metadata.ts": { - "@typescript-eslint/naming-convention": { - "count": 1 - } - }, - "packages/account-tree-controller/src/backup-and-sync/types.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - }, - "@typescript-eslint/naming-convention": { - "count": 1 - } - }, - "packages/account-tree-controller/src/backup-and-sync/user-storage/network-utils.ts": { - "@typescript-eslint/naming-convention": { - "count": 1 - } - }, - "packages/account-tree-controller/src/backup-and-sync/user-storage/validation.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/account-tree-controller/src/backup-and-sync/utils/controller.test.ts": { - "id-length": { - "count": 1 - } - }, - "packages/account-tree-controller/src/rules/entropy.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/account-tree-controller/src/type-utils.ts": { - "@typescript-eslint/naming-convention": { - "count": 1 - } - }, - "packages/account-tree-controller/tests/mockMessenger.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/accounts-controller/src/index.ts": { - "no-restricted-syntax": { - "count": 2 - } - }, - "packages/address-book-controller/src/AddressBookController.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/address-book-controller/src/AddressBookController.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 3 - }, - "@typescript-eslint/naming-convention": { - "count": 3 - }, - "no-param-reassign": { - "count": 2 - } - }, - "packages/analytics-controller/src/index.ts": { - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/approval-controller/src/ApprovalController.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 22 - }, - "id-denylist": { - "count": 3 - } - }, - "packages/approval-controller/src/ApprovalController.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 4 - }, - "@typescript-eslint/prefer-nullish-coalescing": { - "count": 6 - } - }, - "packages/assets-controller/src/data-sources/AccountsApiDataSource.ts": { - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/assets-controller/src/data-sources/SnapDataSource.ts": { - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/assets-controller/src/selectors/balance.ts": { - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/assets-controller/src/utils/formatStateForTransactionPay.ts": { - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/assets-controllers/jest.environment.cjs": { - "n/prefer-global/text-decoder": { - "count": 1 - }, - "n/prefer-global/text-encoder": { - "count": 1 - }, - "no-shadow": { - "count": 2 - } - }, - "packages/assets-controllers/src/AccountTrackerController.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 3 - } - }, - "packages/assets-controllers/src/AccountTrackerController.ts": { - "no-restricted-syntax": { - "count": 3 - } - }, - "packages/assets-controllers/src/AssetsContractController.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 5 - }, - "id-length": { - "count": 1 - } - }, - "packages/assets-controllers/src/AssetsContractController.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 5 - }, - "no-restricted-syntax": { - "count": 2 - } - }, - "packages/assets-controllers/src/CurrencyRateController.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/assets-controllers/src/DeFiPositionsController/DeFiPositionsController.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/assets-controllers/src/DeFiPositionsController/DeFiPositionsController.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - }, - "@typescript-eslint/no-misused-promises": { - "count": 2 - } - }, - "packages/assets-controllers/src/DeFiPositionsController/group-defi-positions.ts": { - "@typescript-eslint/naming-convention": { - "count": 1 - }, - "id-length": { - "count": 2 - } - }, - "packages/assets-controllers/src/MultichainAssetsRatesController/MultichainAssetsRatesController.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - }, - "@typescript-eslint/naming-convention": { - "count": 1 - }, - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/assets-controllers/src/MultichainBalancesController/MultichainBalancesController.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - }, - "jest/unbound-method": { - "count": 1 - } - }, - "packages/assets-controllers/src/MultichainBalancesController/MultichainBalancesController.ts": { - "@typescript-eslint/no-misused-promises": { - "count": 1 - }, - "no-restricted-syntax": { - "count": 2 - } - }, - "packages/assets-controllers/src/NftController.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 4 - }, - "id-denylist": { - "count": 1 - } - }, - "packages/assets-controllers/src/NftController.ts": { - "@typescript-eslint/naming-convention": { - "count": 5 - }, - "@typescript-eslint/no-misused-promises": { - "count": 2 - }, - "@typescript-eslint/prefer-nullish-coalescing": { - "count": 6 - }, - "@typescript-eslint/prefer-optional-chain": { - "count": 1 - }, - "camelcase": { - "count": 15 - }, - "id-length": { - "count": 1 - }, - "no-negated-condition": { - "count": 1 - }, - "no-param-reassign": { - "count": 2 - }, - "no-restricted-syntax": { - "count": 6 - } - }, - "packages/assets-controllers/src/NftDetectionController.ts": { - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/assets-controllers/src/RatesController/RatesController.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/assets-controllers/src/RatesController/RatesController.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - }, - "@typescript-eslint/naming-convention": { - "count": 1 - } - }, - "packages/assets-controllers/src/Standards/ERC20Standard.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 3 - }, - "jest/no-commented-out-tests": { - "count": 1 - } - }, - "packages/assets-controllers/src/Standards/ERC20Standard.ts": { - "id-denylist": { - "count": 8 - }, - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/assets-controllers/src/Standards/NftStandards/ERC1155/ERC1155Standard.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - }, - "import-x/no-named-as-default-member": { - "count": 1 - } - }, - "packages/assets-controllers/src/Standards/NftStandards/ERC1155/ERC1155Standard.ts": { - "no-restricted-syntax": { - "count": 2 - } - }, - "packages/assets-controllers/src/Standards/NftStandards/ERC721/ERC721Standard.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - } - }, - "packages/assets-controllers/src/Standards/NftStandards/ERC721/ERC721Standard.ts": { - "id-denylist": { - "count": 4 - }, - "no-restricted-syntax": { - "count": 2 - } - }, - "packages/assets-controllers/src/TokenBalancesController.ts": { - "no-restricted-syntax": { - "count": 2 - } - }, - "packages/assets-controllers/src/TokenDetectionController.ts": { - "no-restricted-syntax": { - "count": 2 - } - }, - "packages/assets-controllers/src/TokenRatesController.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 4 - } - }, - "packages/assets-controllers/src/TokenRatesController.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 7 - } - }, - "packages/assets-controllers/src/TokenSearchDiscoveryDataController/TokenSearchDiscoveryDataController.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - } - }, - "packages/assets-controllers/src/TokenSearchDiscoveryDataController/TokenSearchDiscoveryDataController.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - }, - "no-negated-condition": { - "count": 1 - } - }, - "packages/assets-controllers/src/TokensController.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 6 - } - }, - "packages/assets-controllers/src/TokensController.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 13 - }, - "@typescript-eslint/no-unused-vars": { - "count": 1 - }, - "@typescript-eslint/prefer-optional-chain": { - "count": 3 - }, - "id-length": { - "count": 1 - }, - "no-negated-condition": { - "count": 3 - }, - "no-param-reassign": { - "count": 1 - }, - "require-atomic-updates": { - "count": 1 - } - }, - "packages/assets-controllers/src/__fixtures__/account-api-v4-mocks.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - }, - "@typescript-eslint/naming-convention": { - "count": 2 - }, - "camelcase": { - "count": 2 - } - }, - "packages/assets-controllers/src/assetsUtil.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 3 - }, - "id-length": { - "count": 1 - } - }, - "packages/assets-controllers/src/assetsUtil.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 6 - }, - "no-negated-condition": { - "count": 2 - } - }, - "packages/assets-controllers/src/balances.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - } - }, - "packages/assets-controllers/src/balances.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 13 - }, - "id-length": { - "count": 2 - }, - "no-negated-condition": { - "count": 2 - } - }, - "packages/assets-controllers/src/crypto-compare-service/crypto-compare.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 3 - }, - "@typescript-eslint/naming-convention": { - "count": 2 - }, - "id-length": { - "count": 1 - }, - "no-param-reassign": { - "count": 4 - } - }, - "packages/assets-controllers/src/multi-chain-accounts-service/api-balance-fetcher.ts": { - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/assets-controllers/src/multi-chain-accounts-service/multi-chain-accounts.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 3 - } - }, - "packages/assets-controllers/src/multi-chain-accounts-service/multi-chain-accounts.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 4 - } - }, - "packages/assets-controllers/src/multicall.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - }, - "@typescript-eslint/prefer-promise-reject-errors": { - "count": 2 - } - }, - "packages/assets-controllers/src/multicall.ts": { - "id-length": { - "count": 2 - }, - "no-restricted-syntax": { - "count": 2 - } - }, - "packages/assets-controllers/src/rpc-service/rpc-balance-fetcher.test.ts": { - "id-length": { - "count": 17 - } - }, - "packages/assets-controllers/src/selectors/stringify-balance.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/assets-controllers/src/selectors/token-selectors.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/assets-controllers/src/selectors/token-selectors.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 25 - }, - "@typescript-eslint/prefer-nullish-coalescing": { - "count": 2 - }, - "no-negated-condition": { - "count": 1 - } - }, - "packages/assets-controllers/src/token-prices-service/codefi-v2.ts": { - "no-restricted-syntax": { - "count": 2 - } - }, - "packages/assets-controllers/src/utils/formatters.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 9 - } - }, - "packages/assets-controllers/src/utils/timeout-with-retry.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/assets-controllers/src/utils/timeout-with-retry.ts": { - "@typescript-eslint/naming-convention": { - "count": 1 - }, - "id-denylist": { - "count": 3 - } - }, - "packages/base-data-service/src/createServicePolicy.ts": { - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/bridge-controller/src/utils/assets.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - } - }, - "packages/bridge-controller/src/utils/balance.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/bridge-controller/src/utils/feature-flags.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 3 - }, - "@typescript-eslint/naming-convention": { - "count": 1 - }, - "@typescript-eslint/prefer-nullish-coalescing": { - "count": 1 - } - }, - "packages/bridge-controller/src/utils/fetch-server-events.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - }, - "@typescript-eslint/prefer-nullish-coalescing": { - "count": 1 - }, - "id-denylist": { - "count": 1 - } - }, - "packages/bridge-controller/src/utils/quote-fees.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - }, - "@typescript-eslint/prefer-nullish-coalescing": { - "count": 2 - }, - "id-length": { - "count": 2 - } - }, - "packages/bridge-controller/src/utils/slippage.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/bridge-controller/src/utils/snaps.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 3 - } - }, - "packages/bridge-controller/src/utils/swaps.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/bridge-controller/src/utils/trade-utils.ts": { - "no-restricted-globals": { - "count": 1 - } - }, - "packages/bridge-status-controller/src/utils/snaps.ts": { - "no-restricted-syntax": { - "count": 3 - } - }, - "packages/bridge-status-controller/src/utils/swap-received-amount.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 3 - } - }, - "packages/chain-agnostic-permission/src/caip25Permission.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 11 - }, - "@typescript-eslint/prefer-nullish-coalescing": { - "count": 2 - } - }, - "packages/chain-agnostic-permission/src/operators/caip-permission-operator-accounts.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 5 - } - }, - "packages/chain-agnostic-permission/src/operators/caip-permission-operator-permittedChains.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - } - }, - "packages/chain-agnostic-permission/src/operators/caip-permission-operator-session-scopes.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 3 - } - }, - "packages/chain-agnostic-permission/src/scope/assert.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - } - }, - "packages/chain-agnostic-permission/src/scope/authorization.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/chain-agnostic-permission/src/scope/errors.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 5 - } - }, - "packages/chain-agnostic-permission/src/scope/filter.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 3 - } - }, - "packages/chain-agnostic-permission/src/scope/supported.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 5 - } - }, - "packages/chain-agnostic-permission/src/scope/transform.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - }, - "no-negated-condition": { - "count": 1 - } - }, - "packages/chain-agnostic-permission/src/scope/validation.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - }, - "@typescript-eslint/prefer-nullish-coalescing": { - "count": 2 - } - }, - "packages/claims-controller/src/utils.ts": { - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/composable-controller/src/ComposableController.ts": { - "no-restricted-syntax": { - "count": 3 - } - }, - "packages/config-registry-controller/src/index.ts": { - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/controller-utils/src/create-service-policy.ts": { - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/controller-utils/src/util.ts": { - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/core-backend/src/api/shared-types.ts": { - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/core-backend/src/index.ts": { - "no-restricted-syntax": { - "count": 4 - } - }, - "packages/core-backend/src/ws/AccountActivityService.ts": { - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/core-backend/src/ws/BackendWebSocketService.ts": { - "no-restricted-syntax": { - "count": 4 - } - }, - "packages/core-backend/src/ws/ohlcv/OHLCVService.test.ts": { - "@typescript-eslint/naming-convention": { - "count": 2 - }, - "id-length": { - "count": 1 - } - }, - "packages/delegation-controller/src/DelegationController.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 3 - } - }, - "packages/delegation-controller/src/DelegationController.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/delegation-controller/src/types.ts": { - "@typescript-eslint/naming-convention": { - "count": 3 - } - }, - "packages/earn-controller/src/EarnController.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 4 - }, - "no-negated-condition": { - "count": 3 - } - }, - "packages/earn-controller/src/selectors.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 3 - } - }, - "packages/eip-5792-middleware/src/constants.ts": { - "@typescript-eslint/naming-convention": { - "count": 2 - } - }, - "packages/eip-5792-middleware/src/hooks/getCallsStatus.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/eip-5792-middleware/src/hooks/getCapabilities.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - }, - "@typescript-eslint/prefer-nullish-coalescing": { - "count": 1 - } - }, - "packages/eip-5792-middleware/src/hooks/processSendCalls.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 10 - }, - "@typescript-eslint/no-misused-promises": { - "count": 1 - } - }, - "packages/eip-5792-middleware/src/methods/wallet_getCallsStatus.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/eip-5792-middleware/src/methods/wallet_getCapabilities.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/eip-5792-middleware/src/methods/wallet_sendCalls.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/eip-5792-middleware/src/utils.ts": { - "id-length": { - "count": 1 - } - }, - "packages/eip1193-permission-middleware/src/wallet-getPermissions.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - } - }, - "packages/eip1193-permission-middleware/src/wallet-getPermissions.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/eip1193-permission-middleware/src/wallet-requestPermissions.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 3 - } - }, - "packages/eip1193-permission-middleware/src/wallet-requestPermissions.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/eip1193-permission-middleware/src/wallet-revokePermissions.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - } - }, - "packages/eip1193-permission-middleware/src/wallet-revokePermissions.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/eth-json-rpc-middleware/src/fetch.ts": { - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/eth-json-rpc-middleware/src/inflight-cache.ts": { - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/eth-json-rpc-provider/src/internal-provider.ts": { - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/foundryup/src/cli.ts": { - "no-restricted-globals": { - "count": 1 - } - }, - "packages/foundryup/src/download.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/foundryup/src/extract.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 4 - }, - "id-length": { - "count": 2 - } - }, - "packages/foundryup/src/foundryup.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - }, - "@typescript-eslint/naming-convention": { - "count": 1 - }, - "id-length": { - "count": 1 - }, - "n/no-sync": { - "count": 2 - } - }, - "packages/foundryup/src/index.ts": { - "@typescript-eslint/naming-convention": { - "count": 1 - }, - "id-length": { - "count": 2 - } - }, - "packages/foundryup/src/options.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 3 - } - }, - "packages/foundryup/src/types.ts": { - "@typescript-eslint/naming-convention": { - "count": 4 - } - }, - "packages/foundryup/src/utils.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - }, - "id-denylist": { - "count": 2 - }, - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/foundryup/types/unzipper.d.ts": { - "import-x/no-unassigned-import": { - "count": 1 - } - }, - "packages/gas-fee-controller/src/GasFeeController.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 7 - }, - "@typescript-eslint/naming-convention": { - "count": 1 - } - }, - "packages/gas-fee-controller/src/GasFeeController.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 11 - }, - "@typescript-eslint/naming-convention": { - "count": 3 - }, - "@typescript-eslint/prefer-nullish-coalescing": { - "count": 2 - }, - "id-length": { - "count": 1 - }, - "no-restricted-syntax": { - "count": 14 - } - }, - "packages/gas-fee-controller/src/gas-util.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - }, - "id-length": { - "count": 1 - } - }, - "packages/json-rpc-engine/src/JsonRpcEngine.ts": { - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/json-rpc-engine/src/v2/JsonRpcEngineV2.ts": { - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/json-rpc-engine/src/v2/MiddlewareContext.ts": { - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/json-rpc-engine/src/v2/utils.ts": { - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/keyring-controller/src/KeyringController.ts": { - "no-restricted-syntax": { - "count": 6 - } - }, - "packages/logging-controller/src/LoggingController.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/logging-controller/src/LoggingController.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - } - }, - "packages/message-manager/src/AbstractMessageManager.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 4 - } - }, - "packages/message-manager/src/AbstractMessageManager.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 19 - }, - "id-denylist": { - "count": 2 - }, - "no-restricted-syntax": { - "count": 3 - } - }, - "packages/message-manager/src/DecryptMessageManager.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - }, - "import-x/no-unassigned-import": { - "count": 1 - } - }, - "packages/message-manager/src/utils.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 4 - }, - "@typescript-eslint/no-unused-vars": { - "count": 1 - }, - "id-length": { - "count": 1 - }, - "no-restricted-globals": { - "count": 1 - } - }, - "packages/multichain-account-service/src/MultichainAccountService.ts": { - "id-length": { - "count": 1 - } - }, - "packages/multichain-account-service/src/MultichainAccountWallet.test.ts": { - "id-length": { - "count": 2 - } - }, - "packages/multichain-account-service/src/MultichainAccountWallet.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - }, - "require-atomic-updates": { - "count": 2 - } - }, - "packages/multichain-account-service/src/providers/AccountProviderWrapper.ts": { - "no-restricted-syntax": { - "count": 2 - } - }, - "packages/multichain-account-service/src/providers/BtcAccountProvider.ts": { - "@typescript-eslint/naming-convention": { - "count": 2 - } - }, - "packages/multichain-account-service/src/providers/EvmAccountProvider.ts": { - "@typescript-eslint/naming-convention": { - "count": 1 - } - }, - "packages/multichain-account-service/src/providers/SnapAccountProvider.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/multichain-account-service/src/providers/SolAccountProvider.ts": { - "@typescript-eslint/naming-convention": { - "count": 2 - } - }, - "packages/multichain-account-service/src/providers/TrxAccountProvider.ts": { - "@typescript-eslint/naming-convention": { - "count": 2 - } - }, - "packages/multichain-account-service/src/providers/XlmAccountProvider.ts": { - "@typescript-eslint/naming-convention": { - "count": 2 - } - }, - "packages/multichain-account-service/src/providers/utils.ts": { - "@typescript-eslint/naming-convention": { - "count": 2 - } - }, - "packages/multichain-account-service/src/tests/accounts.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 7 - } - }, - "packages/multichain-api-middleware/src/handlers/types.ts": { - "@typescript-eslint/naming-convention": { - "count": 2 - } - }, - "packages/multichain-api-middleware/src/handlers/wallet-createSession.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - }, - "id-denylist": { - "count": 1 - } - }, - "packages/multichain-api-middleware/src/handlers/wallet-createSession.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - }, - "@typescript-eslint/prefer-nullish-coalescing": { - "count": 2 - }, - "id-denylist": { - "count": 1 - } - }, - "packages/multichain-api-middleware/src/handlers/wallet-getSession.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - } - }, - "packages/multichain-api-middleware/src/handlers/wallet-getSession.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/multichain-api-middleware/src/handlers/wallet-invokeMethod.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 3 - } - }, - "packages/multichain-api-middleware/src/handlers/wallet-invokeMethod.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - }, - "id-denylist": { - "count": 2 - } - }, - "packages/multichain-api-middleware/src/handlers/wallet-revokeSession.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - } - }, - "packages/multichain-api-middleware/src/handlers/wallet-revokeSession.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 3 - }, - "id-denylist": { - "count": 1 - }, - "no-negated-condition": { - "count": 1 - }, - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/multichain-api-middleware/src/middlewares/MultichainMiddlewareManager.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 7 - } - }, - "packages/multichain-api-middleware/src/middlewares/MultichainSubscriptionManager.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - } - }, - "packages/multichain-api-middleware/src/middlewares/MultichainSubscriptionManager.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 7 - } - }, - "packages/multichain-api-middleware/src/middlewares/multichainMethodCallValidatorMiddleware.test.ts": { - "id-length": { - "count": 6 - } - }, - "packages/multichain-api-middleware/src/middlewares/multichainMethodCallValidatorMiddleware.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - }, - "id-length": { - "count": 4 - }, - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/multichain-transactions-controller/src/MultichainTransactionsController.test.ts": { - "jest/unbound-method": { - "count": 1 - } - }, - "packages/multichain-transactions-controller/src/MultichainTransactionsController.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 4 - }, - "@typescript-eslint/no-misused-promises": { - "count": 2 - }, - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/name-controller/src/NameController.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 16 - }, - "@typescript-eslint/naming-convention": { - "count": 2 - } - }, - "packages/name-controller/src/providers/ens.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - } - }, - "packages/name-controller/src/providers/ens.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - }, - "@typescript-eslint/prefer-nullish-coalescing": { - "count": 1 - } - }, - "packages/name-controller/src/providers/etherscan.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/name-controller/src/providers/etherscan.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - }, - "@typescript-eslint/naming-convention": { - "count": 12 - }, - "@typescript-eslint/prefer-nullish-coalescing": { - "count": 1 - } - }, - "packages/name-controller/src/providers/lens.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/name-controller/src/providers/lens.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - }, - "@typescript-eslint/prefer-nullish-coalescing": { - "count": 1 - } - }, - "packages/name-controller/src/providers/token.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/name-controller/src/providers/token.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - }, - "@typescript-eslint/prefer-nullish-coalescing": { - "count": 1 - } - }, - "packages/name-controller/src/types.ts": { - "@typescript-eslint/naming-convention": { - "count": 1 - } - }, - "packages/name-controller/src/util.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - }, - "@typescript-eslint/naming-convention": { - "count": 1 - }, - "jsdoc/require-returns": { - "count": 1 - } - }, - "packages/network-controller/src/NetworkController.ts": { - "no-restricted-syntax": { - "count": 6 - } - }, - "packages/network-controller/src/create-auto-managed-network-client.ts": { - "no-restricted-syntax": { - "count": 4 - } - }, - "packages/network-controller/src/create-network-client.ts": { - "no-restricted-syntax": { - "count": 2 - } - }, - "packages/network-controller/src/rpc-service/rpc-service.ts": { - "no-restricted-syntax": { - "count": 3 - } - }, - "packages/network-enablement-controller/src/NetworkEnablementController.ts": { - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/network-enablement-controller/src/selectors.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 3 - }, - "no-restricted-syntax": { - "count": 2 - } - }, - "packages/permission-controller/src/SubjectMetadataController.ts": { - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/perps-controller/src/PerpsController.ts": { - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/perps-controller/src/utils/perpsConnectionAttemptContext.ts": { - "require-atomic-updates": { - "count": 1 - } - }, - "packages/phishing-controller/src/BulkTokenScan.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - }, - "@typescript-eslint/naming-convention": { - "count": 1 - } - }, - "packages/phishing-controller/src/CacheManager.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - } - }, - "packages/phishing-controller/src/CacheManager.ts": { - "@typescript-eslint/naming-convention": { - "count": 3 - } - }, - "packages/phishing-controller/src/PathTrie.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - } - }, - "packages/phishing-controller/src/PhishingController.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 14 - }, - "@typescript-eslint/naming-convention": { - "count": 1 - }, - "@typescript-eslint/prefer-nullish-coalescing": { - "count": 6 - } - }, - "packages/phishing-controller/src/PhishingDetector.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - }, - "id-length": { - "count": 4 - } - }, - "packages/phishing-controller/src/PhishingDetector.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/phishing-controller/src/tests/utils.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - } - }, - "packages/phishing-controller/src/utils.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - } - }, - "packages/phishing-controller/src/utils.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 5 - }, - "@typescript-eslint/prefer-nullish-coalescing": { - "count": 1 - }, - "no-restricted-syntax": { - "count": 4 - } - }, - "packages/polling-controller/src/AbstractPollingController.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 4 - }, - "@typescript-eslint/naming-convention": { - "count": 1 - } - }, - "packages/profile-metrics-controller/src/index.ts": { - "no-restricted-syntax": { - "count": 2 - } - }, - "packages/profile-sync-controller/src/controllers/authentication/AuthenticationController.test.ts": { - "id-length": { - "count": 4 - }, - "no-new": { - "count": 1 - } - }, - "packages/profile-sync-controller/src/controllers/authentication/AuthenticationController.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - }, - "@typescript-eslint/prefer-nullish-coalescing": { - "count": 1 - } - }, - "packages/profile-sync-controller/src/controllers/authentication/__fixtures__/mockServices.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 3 - } - }, - "packages/profile-sync-controller/src/controllers/authentication/mocks/mockResponses.ts": { - "@typescript-eslint/naming-convention": { - "count": 1 - } - }, - "packages/profile-sync-controller/src/controllers/user-storage/UserStorageController.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 24 - } - }, - "packages/profile-sync-controller/src/controllers/user-storage/UserStorageController.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 12 - }, - "id-length": { - "count": 1 - }, - "no-restricted-syntax": { - "count": 2 - } - }, - "packages/profile-sync-controller/src/controllers/user-storage/__fixtures__/mockMessenger.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 3 - } - }, - "packages/profile-sync-controller/src/controllers/user-storage/__fixtures__/mockServices.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 7 - } - }, - "packages/profile-sync-controller/src/controllers/user-storage/__fixtures__/test-utils.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - }, - "id-length": { - "count": 1 - } - }, - "packages/profile-sync-controller/src/controllers/user-storage/contact-syncing/__fixtures__/test-utils.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - }, - "@typescript-eslint/prefer-nullish-coalescing": { - "count": 1 - } - }, - "packages/profile-sync-controller/src/controllers/user-storage/contact-syncing/controller-integration.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - }, - "id-length": { - "count": 3 - }, - "n/no-sync": { - "count": 3 - } - }, - "packages/profile-sync-controller/src/controllers/user-storage/contact-syncing/controller-integration.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 4 - }, - "@typescript-eslint/prefer-nullish-coalescing": { - "count": 4 - }, - "id-length": { - "count": 2 - }, - "no-negated-condition": { - "count": 1 - } - }, - "packages/profile-sync-controller/src/controllers/user-storage/contact-syncing/setup-subscriptions.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - } - }, - "packages/profile-sync-controller/src/controllers/user-storage/contact-syncing/sync-utils.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 3 - } - }, - "packages/profile-sync-controller/src/controllers/user-storage/contact-syncing/utils.ts": { - "@typescript-eslint/prefer-nullish-coalescing": { - "count": 3 - } - }, - "packages/profile-sync-controller/src/controllers/user-storage/mocks/mockResponses.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 8 - } - }, - "packages/profile-sync-controller/src/controllers/user-storage/mocks/mockStorage.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - }, - "require-atomic-updates": { - "count": 1 - } - }, - "packages/profile-sync-controller/src/controllers/user-storage/types.ts": { - "@typescript-eslint/naming-convention": { - "count": 4 - } - }, - "packages/profile-sync-controller/src/controllers/user-storage/utils.ts": { - "id-length": { - "count": 2 - } - }, - "packages/profile-sync-controller/src/sdk/__fixtures__/test-utils.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 4 - }, - "@typescript-eslint/naming-convention": { - "count": 1 - } - }, - "packages/profile-sync-controller/src/sdk/__fixtures__/userstorage.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 6 - } - }, - "packages/profile-sync-controller/src/sdk/authentication-jwt-bearer/flow-siwe.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - }, - "@typescript-eslint/naming-convention": { - "count": 2 - } - }, - "packages/profile-sync-controller/src/sdk/authentication-jwt-bearer/flow-srp.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - }, - "@typescript-eslint/naming-convention": { - "count": 1 - }, - "id-length": { - "count": 1 - } - }, - "packages/profile-sync-controller/src/sdk/authentication-jwt-bearer/services.ts": { - "no-restricted-syntax": { - "count": 3 - } - }, - "packages/profile-sync-controller/src/sdk/authentication-jwt-bearer/types.ts": { - "@typescript-eslint/naming-convention": { - "count": 5 - } - }, - "packages/profile-sync-controller/src/sdk/authentication.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - }, - "no-new": { - "count": 1 - } - }, - "packages/profile-sync-controller/src/sdk/authentication.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - }, - "@typescript-eslint/naming-convention": { - "count": 1 - }, - "id-denylist": { - "count": 2 - }, - "id-length": { - "count": 3 - } - }, - "packages/profile-sync-controller/src/sdk/errors.ts": { - "id-length": { - "count": 1 - }, - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/profile-sync-controller/src/sdk/mocks/userstorage.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - } - }, - "packages/profile-sync-controller/src/sdk/user-storage.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/profile-sync-controller/src/sdk/user-storage.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 3 - }, - "@typescript-eslint/naming-convention": { - "count": 3 - }, - "id-length": { - "count": 10 - } - }, - "packages/profile-sync-controller/src/sdk/utils/eip-6963-metamask-provider.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 3 - }, - "no-restricted-globals": { - "count": 4 - } - }, - "packages/profile-sync-controller/src/sdk/utils/eip-6963-metamask-provider.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - }, - "id-length": { - "count": 2 - }, - "no-restricted-globals": { - "count": 3 - } - }, - "packages/profile-sync-controller/src/sdk/utils/messaging-signing-snap-requests.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - }, - "id-length": { - "count": 1 - } - }, - "packages/profile-sync-controller/src/shared/encryption/cache.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/profile-sync-controller/src/shared/encryption/constants.ts": { - "@typescript-eslint/naming-convention": { - "count": 2 - }, - "camelcase": { - "count": 2 - } - }, - "packages/profile-sync-controller/src/shared/encryption/encryption.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/profile-sync-controller/src/shared/encryption/encryption.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - }, - "@typescript-eslint/naming-convention": { - "count": 1 - }, - "camelcase": { - "count": 6 - }, - "id-length": { - "count": 8 - } - }, - "packages/profile-sync-controller/src/shared/encryption/utils.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 4 - }, - "no-restricted-globals": { - "count": 2 - } - }, - "packages/profile-sync-controller/src/shared/utils/event-queue.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - }, - "id-length": { - "count": 1 - } - }, - "packages/ramps-controller/src/index.ts": { - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/remote-feature-flag-controller/src/index.ts": { - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/remote-feature-flag-controller/src/utils/user-segmentation-utils.ts": { - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/remote-feature-flag-controller/src/utils/version.ts": { - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/seedless-onboarding-controller/src/SecretMetadata.ts": { - "no-restricted-syntax": { - "count": 2 - } - }, - "packages/seedless-onboarding-controller/src/assertions.ts": { - "no-restricted-syntax": { - "count": 10 - } - }, - "packages/selected-network-controller/src/SelectedNetworkController.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 4 - }, - "no-restricted-syntax": { - "count": 3 - } - }, - "packages/selected-network-controller/src/SelectedNetworkMiddleware.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/selected-network-controller/tests/SelectedNetworkController.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 4 - } - }, - "packages/signature-controller/src/SignatureController.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 5 - } - }, - "packages/signature-controller/src/SignatureController.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 15 - }, - "@typescript-eslint/prefer-nullish-coalescing": { - "count": 1 - }, - "no-case-declarations": { - "count": 3 - } - }, - "packages/signature-controller/src/utils/decoding-api.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/signature-controller/src/utils/decoding-api.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/signature-controller/src/utils/delegations.ts": { - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/signature-controller/src/utils/normalize.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - }, - "@typescript-eslint/no-unused-vars": { - "count": 1 - }, - "id-length": { - "count": 1 - }, - "no-restricted-globals": { - "count": 1 - } - }, - "packages/signature-controller/src/utils/validation.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - } - }, - "packages/signature-controller/src/utils/validation.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 7 - }, - "@typescript-eslint/no-base-to-string": { - "count": 1 - }, - "@typescript-eslint/no-unused-vars": { - "count": 2 - }, - "id-length": { - "count": 2 - } - }, - "packages/smart-transactions-controller/src/SmartTransactionsController.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 12 - }, - "@typescript-eslint/no-explicit-any": { - "count": 3 - } - }, - "packages/smart-transactions-controller/src/SmartTransactionsController.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 10 - }, - "@typescript-eslint/no-floating-promises": { - "count": 4 - }, - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/smart-transactions-controller/src/featureFlags/feature-flags.ts": { - "@typescript-eslint/naming-convention": { - "count": 1 - } - }, - "packages/smart-transactions-controller/src/selectors.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - } - }, - "packages/smart-transactions-controller/src/types.ts": { - "@typescript-eslint/naming-convention": { - "count": 25 - }, - "@typescript-eslint/no-explicit-any": { - "count": 7 - }, - "@typescript-eslint/prefer-enum-initializers": { - "count": 6 - } - }, - "packages/smart-transactions-controller/src/utils.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 7 - } - }, - "packages/smart-transactions-controller/src/utils.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 10 - }, - "@typescript-eslint/no-explicit-any": { - "count": 4 - }, - "@typescript-eslint/prefer-nullish-coalescing": { - "count": 1 - }, - "jsdoc/require-param-description": { - "count": 1 - } - }, - "packages/smart-transactions-controller/tests/helpers.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - } - }, - "packages/subscription-controller/src/errors.ts": { - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/transaction-controller/src/utils/retry.ts": { - "no-restricted-syntax": { - "count": 3 - } - }, - "packages/transaction-controller/src/utils/utils.ts": { - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/transaction-pay-controller/src/strategy/across/across-actions.ts": { - "no-restricted-syntax": { - "count": 2 - } - }, - "packages/transaction-pay-controller/src/strategy/relay/hyperliquid-withdraw.ts": { - "no-restricted-syntax": { - "count": 1 - } - }, - "packages/user-operation-controller/src/BlockTrackerPollingController.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/user-operation-controller/src/UserOperationController.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 6 - }, - "no-new": { - "count": 1 - } - }, - "packages/user-operation-controller/src/UserOperationController.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 19 - }, - "@typescript-eslint/naming-convention": { - "count": 3 - }, - "@typescript-eslint/prefer-promise-reject-errors": { - "count": 1 - }, - "jsdoc/require-returns": { - "count": 2 - }, - "require-atomic-updates": { - "count": 3 - } - }, - "packages/user-operation-controller/src/helpers/Bundler.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - }, - "jsdoc/require-returns": { - "count": 1 - } - }, - "packages/user-operation-controller/src/helpers/Bundler.ts": { - "@typescript-eslint/naming-convention": { - "count": 1 - }, - "@typescript-eslint/prefer-nullish-coalescing": { - "count": 1 - } - }, - "packages/user-operation-controller/src/helpers/PendingUserOperationTracker.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 11 - } - }, - "packages/user-operation-controller/src/helpers/PendingUserOperationTracker.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 6 - }, - "@typescript-eslint/naming-convention": { - "count": 3 - }, - "require-atomic-updates": { - "count": 5 - } - }, - "packages/user-operation-controller/src/helpers/SnapSmartContractAccount.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/user-operation-controller/src/utils/gas-fees.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 5 - }, - "@typescript-eslint/prefer-nullish-coalescing": { - "count": 2 - }, - "require-atomic-updates": { - "count": 1 - } - }, - "packages/user-operation-controller/src/utils/gas.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 2 - } - }, - "packages/user-operation-controller/src/utils/gas.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/user-operation-controller/src/utils/transaction.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - } - }, - "packages/user-operation-controller/src/utils/validation.test.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 1 - }, - "@typescript-eslint/naming-convention": { - "count": 2 - } - }, - "packages/user-operation-controller/src/utils/validation.ts": { - "@typescript-eslint/explicit-function-return-type": { - "count": 8 - }, - "@typescript-eslint/naming-convention": { - "count": 1 - } - }, - "packages/utils/src/assert.ts": { - "@typescript-eslint/no-explicit-any": { - "count": 1 - } - }, - "packages/utils/src/caip-types.test.ts": { - "@typescript-eslint/no-explicit-any": { - "count": 4 - } - }, - "packages/utils/src/collections.test.ts": { - "@typescript-eslint/no-explicit-any": { - "count": 2 - } - }, - "packages/utils/src/collections.ts": { - "@typescript-eslint/no-explicit-any": { - "count": 2 - } - }, - "packages/utils/src/errors.test.ts": { - "@typescript-eslint/no-explicit-any": { - "count": 3 - } - }, - "packages/utils/src/errors.ts": { - "no-restricted-syntax": { - "count": 3 - } - }, - "packages/utils/src/fs.test.ts": { - "@typescript-eslint/no-explicit-any": { - "count": 20 - } - }, - "packages/utils/src/fs.ts": { - "jsdoc/require-returns": { - "count": 1 - } - }, - "packages/utils/src/hashing.test.ts": { - "n/no-unsupported-features/node-builtins": { - "count": 9 - } - }, - "packages/utils/src/hashing.ts": { - "no-restricted-syntax": { - "count": 3 - } - }, - "packages/utils/src/json.ts": { - "@typescript-eslint/no-explicit-any": { - "count": 1 - } - }, - "packages/utils/src/json.tst.ts": { - "@typescript-eslint/no-explicit-any": { - "count": 1 - } - }, - "packages/utils/src/logging.test.ts": { - "@typescript-eslint/no-explicit-any": { - "count": 2 - } - }, - "packages/utils/src/misc.ts": { - "@typescript-eslint/no-explicit-any": { - "count": 1 - } - }, - "packages/utils/src/misc.tst.ts": { - "@typescript-eslint/no-explicit-any": { - "count": 1 - } - }, - "packages/utils/src/mnemonic.ts": { - "jsdoc/tag-lines": { - "count": 1 - } - }, - "packages/utils/src/promise.ts": { - "jsdoc/tag-lines": { - "count": 1 - } - }, - "packages/utils/src/unitsConversion.test.ts": { - "@typescript-eslint/no-explicit-any": { - "count": 29 - } - } -} diff --git a/eslint.config.mjs b/eslint.config.mjs deleted file mode 100644 index 516295a5445..00000000000 --- a/eslint.config.mjs +++ /dev/null @@ -1,385 +0,0 @@ -import base, { createConfig } from '@metamask/eslint-config'; -import jest from '@metamask/eslint-config-jest'; -import nodejs from '@metamask/eslint-config-nodejs'; -import typescript from '@metamask/eslint-config-typescript'; -import node from 'eslint-plugin-n'; - -const NODE_LTS_VERSION = 22; - -/** - * Arguments to the `no-restricted-syntax` rule that prevents messsenger actions - * from being called in constructors. - */ -const NO_MESSENGER_ACTIONS_IN_CONSTRUCTORS_SELECTOR_OBJECTS = [ - { - selector: - 'MethodDefinition[kind="constructor"] CallExpression[callee.type="MemberExpression"][callee.property.name="call"][callee.object.type="MemberExpression"][callee.object.object.type="ThisExpression"][callee.object.property.name="messenger"]', - message: - 'Do not call messenger actions in the constructor, as this forces clients to instantiate controllers or services in a specific order. Move this call to an init() method instead. Read the controller guidelines for more: https://github.com/MetaMask/core/blob/main/docs/code-guidelines/controller-guidelines.md#do-not-call-messenger-actions-in-the-constructor', - }, - { - selector: - 'MethodDefinition[kind="constructor"] CallExpression[callee.type="MemberExpression"][callee.property.name="call"][callee.object.type="Identifier"][callee.object.name="messenger"]', - message: - 'Do not call messenger actions in the constructor, as this forces clients to instantiate controllers or services in a specific order. Move this call to an init() method instead. Read the controller guidelines for more: https://github.com/MetaMask/core/blob/main/docs/code-guidelines/controller-guidelines.md#do-not-call-messenger-actions-in-the-constructor', - }, -]; - -/** - * Collects all options for a given array-valued rule across one or more flat - * config arrays, excluding the leading severity element. - * - * ESLint flat config does not merge array-valued rules across config objects — - * a later config silently replaces earlier ones. This helper makes it possible - * to extend an upstream rule configuration rather than copy-pasting its options. - * - * @param {string} ruleName - The rule to collect options for. - * @param {import('eslint').Linter.Config[][]} configs - Flat config arrays to - * collect options from. - * @returns {unknown[]} The options from all matching rule entries, with the - * leading severity element omitted. - */ -function collectExistingRuleOptions(ruleName, configs) { - return configs.flat().flatMap((config) => { - const rule = config.rules?.[ruleName]; - if (!Array.isArray(rule)) { - return []; - } - // Rule entries are ['error' | 'warn' | number, ...options]. - // Skip the first element (severity) and collect the rest. - return rule.slice(1); - }); -} - -const config = createConfig([ - ...base, - { - ignores: [ - '**/.docusaurus', - '**/.tsc-lint-cache', - '**/coverage/**', - '**/dist/**', - '**/api-docs/**', - '.platform-api-docs/**', - '.skills-cache/**', - '.yarn/**', - 'merged-packages/**', - 'packages/wallet-framework-docs/site/build/**', - 'scripts/create-package/package-template/**', - ], - }, - { - linterOptions: { - reportUnusedDisableDirectives: 'error', - }, - }, - { - rules: { - // Handled by Oxfmt. - 'prettier/prettier': 'off', - 'import-x/order': 'off', - }, - }, - { - rules: { - // TODO: Re-enable this rule - // Enabling it with error suppression breaks `--fix`, because the autofixer for this rule - // does not work very well. - 'jsdoc/require-jsdoc': 'off', - }, - settings: { - jsdoc: { - mode: 'typescript', - }, - }, - }, - { - files: [ - '**/*.{js,cjs,mjs}', - '**/*.test.{js,ts}', - '**/docusaurus.config.ts', - '**/test/**/*.{js,ts}', - '**/tests/**/*.{js,ts}', - 'scripts/**/*.{ts,mts}', - 'packages/platform-api-docs/**/*.ts', - ], - ignores: ['scripts/create-package/package-template/**/*.ts'], - extends: [nodejs], - }, - { - files: ['**/*.cjs'], - languageOptions: { - sourceType: 'script', - ecmaVersion: 2020, - }, - }, - { - files: ['**/*.ts', '**/*.mts'], - extends: [typescript], - languageOptions: { - parserOptions: { - tsconfigRootDir: import.meta.dirname, - }, - }, - rules: { - // TODO: Disable in `eslint-config-typescript`, tracked here: https://github.com/MetaMask/eslint-config/issues/413 - '@typescript-eslint/no-unnecessary-type-arguments': 'off', - - // This rule does not detect multiple imports of the same file where types - // are being imported in one case and runtime values are being imported in - // another - 'import-x/no-duplicates': 'off', - - // Enable rules that are disabled in `@metamask/eslint-config-typescript` - '@typescript-eslint/no-explicit-any': 'error', - - // TODO: auto-fix breaks stuff - '@typescript-eslint/promise-function-async': 'off', - - // TODO: Re-enable these rules - // Enabling them with error suppression breaks `--fix`, because the autofixer for these rules - // do not work very well. - 'jsdoc/check-tag-names': 'off', - 'jsdoc/require-jsdoc': 'off', - }, - }, - { - files: ['**/*.test.{js,ts}', '**/tests/**/*.{js,ts}'], - extends: [jest], - rules: { - // TODO: Upgrade these from warning to error in shared config - 'jest/expect-expect': 'error', - 'jest/no-alias-methods': 'error', - 'jest/no-commented-out-tests': 'error', - 'jest/no-disabled-tests': 'error', - - // `import { jest } from '@jest/globals'` is required in ESM test files - // and intentionally shadows the Jest-injected global. - '@typescript-eslint/no-shadow': ['error', { allow: ['jest'] }], - }, - settings: { - node: { - version: `^${NODE_LTS_VERSION}`, - }, - }, - }, - { - // These files are test helpers, not tests. We still use the Jest ESLint - // config here to ensure that ESLint expects a test-like environment, but - // various rules meant just to apply to tests have been disabled. - files: ['**/tests/**/*.{js,ts}'], - ignores: ['**/*.test.{js,ts}'], - rules: { - 'jest/no-export': 'off', - 'jest/require-top-level-describe': 'off', - 'jest/no-if': 'off', - }, - }, - { - files: ['tests/setupAfterEnv/matchers.ts'], - languageOptions: { - sourceType: 'script', - }, - }, - // This should really be in `@metamask/eslint-config-typescript` - { - files: ['**/*.d.ts'], - rules: { - 'import-x/unambiguous': 'off', - }, - }, - { - files: ['scripts/*.ts', 'packages/platform-api-docs/src/cli.ts'], - rules: { - // Scripts may be self-executable and thus have hashbangs. - 'n/hashbang': 'off', - }, - }, - { - files: ['**/jest.environment.cjs'], - rules: { - // These files run under Node, and thus `require(...)` is expected. - 'n/global-require': 'off', - }, - }, - { - files: ['**/*.js', '**/*.mjs'], - languageOptions: { - sourceType: 'module', - }, - }, - // Prevent cross-package relative imports - { - files: ['packages/*/src/**/*.ts'], - ignores: ['**/*.test.ts', '**/tests/**/*.ts'], - rules: { - 'import-x/no-relative-packages': 'error', - }, - }, - // Prevent calling messenger actions in controller/service constructors - { - files: ['packages/*/src/**/*.ts'], - ignores: ['**/*.test.ts', '**/tests/**/*.ts'], - rules: { - 'no-restricted-syntax': [ - 'error', - ...collectExistingRuleOptions('no-restricted-syntax', [ - base, - typescript, - ]), - ...NO_MESSENGER_ACTIONS_IN_CONSTRUCTORS_SELECTOR_OBJECTS, - ], - }, - }, - { - // Prohibit exporting *AllowedActions, *AllowedEvents, and *MethodActions - // from package index files - files: ['packages/*/src/index.ts'], - rules: { - 'no-restricted-syntax': [ - 'error', - ...collectExistingRuleOptions('no-restricted-syntax', [ - base, - typescript, - ]), - ...NO_MESSENGER_ACTIONS_IN_CONSTRUCTORS_SELECTOR_OBJECTS, - { - selector: - 'ExportNamedDeclaration > ExportSpecifier[local.name=/AllowedActions$/]', - message: - 'Do not export AllowedActions types from package index files. These types describe external messenger dependencies and are obtainable from the packages that define them directly. Read the controller guidelines for more: https://github.com/MetaMask/core/blob/main/docs/code-guidelines/controller-guidelines.md#define-but-do-not-export-a-type-union-for-external-action-types', - }, - { - selector: - 'ExportNamedDeclaration > ExportSpecifier[local.name=/AllowedEvents$/]', - message: - 'Do not export AllowedEvents types from package index files. These types describe external messenger dependencies and are obtainable from the packages that define them directly. Read the controller guidelines for more: https://github.com/MetaMask/core/blob/main/docs/code-guidelines/controller-guidelines.md#define-but-do-not-export-a-type-union-for-external-event-types', - }, - { - selector: - 'ExportNamedDeclaration > ExportSpecifier[local.name=/MethodActions$/]', - message: - 'Do not export *MethodActions types from package index files. Internal messenger actions are already available via the *Actions type. Export the individual action types (along with *Actions) instead. Read the controller guidelines for more: https://github.com/MetaMask/core/blob/main/docs/code-guidelines/controller-guidelines.md#expose-controller-methods-through-messenger-in-bulk', - }, - ], - }, - }, - { - files: ['packages/foundryup/**/*.{js,ts}'], - rules: { - 'import-x/no-nodejs-modules': 'off', - 'n/no-unsupported-features/node-builtins': 'off', - 'n/no-missing-import': 'off', - 'n/no-restricted-import': 'off', - 'n/no-deprecated-api': 'off', - }, - }, - { - files: ['packages/messenger-cli/src/**/*.{js,ts}'], - rules: { - 'import-x/no-nodejs-modules': 'off', - }, - }, - { - files: ['packages/wallet-cli/src/**/*.{js,ts}'], - rules: { - 'import-x/no-nodejs-modules': 'off', - 'no-restricted-globals': 'off', - }, - }, - { - // The UKYC test-token minter is a dev-only Node CLI, so it may use Node - // builtins and globals unlike the platform-agnostic package source. - files: ['packages/kyc-controller/scripts/**/*.ts'], - rules: { - 'import-x/no-nodejs-modules': 'off', - 'no-restricted-globals': 'off', - }, - }, - { - files: [ - 'packages/wallet-cli/src/**/*.test.{js,ts}', - 'packages/wallet-cli/tests/**/*.{js,ts}', - 'packages/platform-api-docs/**/*.{js,ts}', - ], - rules: { - 'jest/unbound-method': 'off', - 'n/no-process-env': 'off', - 'n/no-sync': 'off', - }, - }, - { - files: ['packages/wallet-cli/bin/**/*.mjs'], - rules: { - 'import-x/no-unresolved': 'off', - }, - }, - { - files: [ - 'packages/notification-services-controller/src/NotificationServicesPushController/services/push/*-web.ts', - 'packages/notification-services-controller/src/NotificationServicesPushController/web/**/*.ts', - ], - rules: { - // These files use `self` because they're written for a service worker context. - // TODO: Move these files to the extension repository, `core` is just for platform-agnostic code. - 'consistent-this': 'off', - }, - }, - { - files: [ - 'packages/assets-controllers/src/NftDetectionController.ts', - 'packages/assets-controllers/src/TokenRatesController.ts', - 'packages/assets-controllers/src/TokensController.ts', - 'packages/controller-utils/src/siwe.ts', - 'packages/gas-fee-controller/src/GasFeeController.ts', - 'packages/logging-controller/src/LoggingController.ts', - 'packages/message-manager/src/AbstractMessageManager.ts', - 'packages/message-manager/src/DecryptMessageManager.ts', - 'packages/message-manager/src/EncryptionPublicKeyManager.ts', - 'packages/network-controller/tests/mock-network.ts', - 'packages/permission-log-controller/src/PermissionLogController.ts', - 'packages/phishing-controller/src/PhishingController.ts', - 'packages/rate-limit-controller/src/RateLimitController.ts', - ], - rules: { - // TODO: Re-enable this rule - // This has been temporarily disabled because the auto-fix mangles pre-existing JSDoc blocks - // for types that don't follow TSDoc properly. - // See https://github.com/gajus/eslint-plugin-jsdoc/issues/1054 - 'jsdoc/check-tag-names': 'off', - }, - }, - { - files: ['packages/wallet-framework-docs/site/docusaurus.config.ts'], - rules: { - 'n/no-process-env': 'off', - }, - }, - { - // `import-x/extensions` doesn't support using ".js" for TypeScript - // files(?), so we load the `n` plugin and use - // `n/file-extension-in-import` instead. - plugins: { n: node }, - - rules: { - 'n/file-extension-in-import': ['error', 'always'], - 'import-x/extensions': [ - 'error', - { - js: 'ignorePackages', - ts: 'never', - tsx: 'never', - json: 'always', - }, - ], - 'import-x/no-useless-path-segments': [ - 'error', - { - noUselessIndex: false, - }, - ], - }, - }, -]); - -export default config; diff --git a/knip.config.mts b/knip.config.mts index 381c96eadd7..d274485f843 100644 --- a/knip.config.mts +++ b/knip.config.mts @@ -264,19 +264,12 @@ const config: KnipConfig = { '@lavamoat/preinstall-always-fail', '@metamask/auto-changelog', '@metamask/create-release-branch', - 'eslint-interactive', 'rimraf', 'simple-git-hooks', 'ts-node', 'typedoc', - // ESLint plugins / configs / parsers loaded by name via the eslint config. - /^@typescript-eslint\//u, - /^eslint-config-/u, - /^eslint-plugin-/u, - 'eslint-import-resolver-typescript', 'jest-silent-reporter', 'prettier-plugin-packagejson', - 'typescript-eslint', // Jest test environments referenced as strings in jest configs. 'jest-environment-node', 'jest-environment-jsdom', diff --git a/oxlint-suppressions.json b/oxlint-suppressions.json new file mode 100644 index 00000000000..3da41454f36 --- /dev/null +++ b/oxlint-suppressions.json @@ -0,0 +1,5974 @@ +{ + ".github/actions/check-merge-queue-changelogs/check-changelog-diff.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 7 + } + }, + ".prettierrc.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 1 + } + }, + "jest.config.packages.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 3 + } + }, + "jest.config.scripts.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 2 + } + }, + "packages/account-tree-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/account-tree-controller/src/AccountTreeController.test.ts": { + "id-length": { + "count": 2 + }, + "n/no-callback-literal": { + "count": 4 + }, + "typescript/explicit-function-return-type": { + "count": 4 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 9 + } + }, + "packages/account-tree-controller/src/AccountTreeController.ts": { + "no-negated-condition": { + "count": 3 + }, + "typescript/explicit-function-return-type": { + "count": 7 + } + }, + "packages/account-tree-controller/src/backup-and-sync/analytics/segment.ts": { + "no-negated-condition": { + "count": 1 + } + }, + "packages/account-tree-controller/src/backup-and-sync/service/atomic-sync-queue.ts": { + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/account-tree-controller/src/backup-and-sync/service/index.test.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + }, + "typescript/unbound-method": { + "count": 29 + } + }, + "packages/account-tree-controller/src/backup-and-sync/service/index.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + }, + "typescript/prefer-nullish-coalescing": { + "count": 1 + }, + "typescript/prefer-optional-chain": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 7 + } + }, + "packages/account-tree-controller/src/backup-and-sync/syncing/group.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + }, + "typescript/unbound-method": { + "count": 7 + } + }, + "packages/account-tree-controller/src/backup-and-sync/syncing/legacy.test.ts": { + "typescript/unbound-method": { + "count": 7 + } + }, + "packages/account-tree-controller/src/backup-and-sync/syncing/metadata.ts": { + "id-length": { + "count": 1 + } + }, + "packages/account-tree-controller/src/backup-and-sync/syncing/wallet.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + }, + "typescript/unbound-method": { + "count": 1 + } + }, + "packages/account-tree-controller/src/backup-and-sync/types.ts": { + "id-length": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/account-tree-controller/src/backup-and-sync/user-storage/network-operations.test.ts": { + "typescript/unbound-method": { + "count": 7 + } + }, + "packages/account-tree-controller/src/backup-and-sync/user-storage/network-utils.test.ts": { + "no-undef": { + "count": 2 + } + }, + "packages/account-tree-controller/src/backup-and-sync/user-storage/network-utils.ts": { + "id-length": { + "count": 1 + } + }, + "packages/account-tree-controller/src/backup-and-sync/user-storage/validation.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/account-tree-controller/src/backup-and-sync/utils/controller.test.ts": { + "id-length": { + "count": 1 + }, + "typescript/unbound-method": { + "count": 1 + } + }, + "packages/account-tree-controller/src/rules/entropy.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/account-tree-controller/src/rules/keyring.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/account-tree-controller/src/rules/snap.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + } + }, + "packages/account-tree-controller/src/state/export.test.ts": { + "n/no-callback-literal": { + "count": 3 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/account-tree-controller/src/state/import.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/account-tree-controller/src/state/payload.ts": { + "no-redeclare": { + "count": 2 + } + }, + "packages/account-tree-controller/src/state/roundtrip.test.ts": { + "n/no-callback-literal": { + "count": 2 + } + }, + "packages/account-tree-controller/src/state/snapshot.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/account-tree-controller/src/state/utils.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/account-tree-controller/src/state/utils.ts": { + "jsdoc/check-tag-names": { + "count": 1 + } + }, + "packages/account-tree-controller/src/type-utils.ts": { + "id-length": { + "count": 1 + } + }, + "packages/account-tree-controller/tests/mockMessenger.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/accounts-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/accounts-controller/src/AccountsController.test.ts": { + "typescript/unbound-method": { + "count": 9 + } + }, + "packages/accounts-controller/tests/mocks.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/address-book-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/address-book-controller/src/AddressBookController.test.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/address-book-controller/src/AddressBookController.ts": { + "no-param-reassign": { + "count": 2 + }, + "typescript/explicit-function-return-type": { + "count": 3 + } + }, + "packages/ai-controllers/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/ai-controllers/src/AiDigestController.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + }, + "typescript/unbound-method": { + "count": 9 + } + }, + "packages/ai-controllers/src/AiDigestService.test.ts": { + "no-undef": { + "count": 3 + }, + "typescript/promise-function-async": { + "count": 33 + } + }, + "packages/analytics-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/analytics-controller/src/AnalyticsController.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + }, + "typescript/promise-function-async": { + "count": 9 + } + }, + "packages/analytics-controller/src/AnalyticsController.ts": { + "jsdoc/check-tag-names": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 11 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/analytics-data-regulation-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/announcement-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/app-metadata-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/approval-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/approval-controller/src/ApprovalController.test.ts": { + "id-denylist": { + "count": 3 + }, + "no-undef": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 22 + }, + "typescript/promise-function-async": { + "count": 26 + } + }, + "packages/approval-controller/src/ApprovalController.ts": { + "typescript/explicit-function-return-type": { + "count": 4 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 1 + }, + "typescript/prefer-nullish-coalescing": { + "count": 6 + }, + "typescript/promise-function-async": { + "count": 5 + } + }, + "packages/assets-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/assets-controller/src/AssetsController.test.ts": { + "id-length": { + "count": 15 + }, + "no-undef": { + "count": 5 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 9 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/assets-controller/src/AssetsController.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 10 + }, + "typescript/promise-function-async": { + "count": 4 + } + }, + "packages/assets-controller/src/__fixtures__/MockAssetControllerMessenger.ts": { + "no-undef": { + "count": 4 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/assets-controller/src/__fixtures__/spamWalletState.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + } + }, + "packages/assets-controller/src/data-sources/AccountActivityDataSource.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + } + }, + "packages/assets-controller/src/data-sources/AccountsApiDataSource.test.ts": { + "id-length": { + "count": 2 + }, + "no-undef": { + "count": 13 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 7 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/assets-controller/src/data-sources/AccountsApiDataSource.ts": { + "typescript/promise-function-async": { + "count": 3 + } + }, + "packages/assets-controller/src/data-sources/PriceDataSource.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/assets-controller/src/data-sources/PriceDataSource.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 5 + } + }, + "packages/assets-controller/src/data-sources/RpcDataSource.test.ts": { + "id-length": { + "count": 5 + }, + "no-undef": { + "count": 4 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 17 + }, + "typescript/promise-function-async": { + "count": 7 + } + }, + "packages/assets-controller/src/data-sources/RpcDataSource.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + } + }, + "packages/assets-controller/src/data-sources/SnapDataSource.test.ts": { + "no-undef": { + "count": 33 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/assets-controller/src/data-sources/SnapDataSource.ts": { + "jsdoc/check-tag-names": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 2 + } + }, + "packages/assets-controller/src/data-sources/StakedBalanceDataSource.test.ts": { + "id-length": { + "count": 3 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 3 + } + }, + "packages/assets-controller/src/data-sources/StakedBalanceDataSource.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/assets-controller/src/data-sources/TokenDataSource.test.ts": { + "no-unsafe-optional-chaining": { + "count": 4 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 3 + } + }, + "packages/assets-controller/src/data-sources/TokenDataSource.ts": { + "typescript/promise-function-async": { + "count": 5 + } + }, + "packages/assets-controller/src/data-sources/evm-rpc-services/clients/MulticallClient.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 26 + }, + "typescript/unbound-method": { + "count": 6 + } + }, + "packages/assets-controller/src/data-sources/evm-rpc-services/clients/MulticallClient.ts": { + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/assets-controller/src/data-sources/evm-rpc-services/clients/TokensApiClient.test.ts": { + "typescript/promise-function-async": { + "count": 6 + } + }, + "packages/assets-controller/src/data-sources/evm-rpc-services/clients/TokensApiClient.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/assets-controller/src/data-sources/evm-rpc-services/services/BalanceFetcher.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 6 + }, + "typescript/unbound-method": { + "count": 4 + } + }, + "packages/assets-controller/src/data-sources/evm-rpc-services/services/StakedBalanceFetcher.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + }, + "typescript/unbound-method": { + "count": 4 + } + }, + "packages/assets-controller/src/data-sources/evm-rpc-services/services/TokenDetector.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 6 + }, + "typescript/promise-function-async": { + "count": 1 + }, + "typescript/unbound-method": { + "count": 14 + } + }, + "packages/assets-controller/src/defaults.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 11 + } + }, + "packages/assets-controller/src/middlewares/CustomAssetGraduationMiddleware.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + }, + "typescript/promise-function-async": { + "count": 18 + } + }, + "packages/assets-controller/src/middlewares/DetectionMiddleware.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + }, + "typescript/promise-function-async": { + "count": 14 + } + }, + "packages/assets-controller/src/middlewares/DetectionMiddleware.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + } + }, + "packages/assets-controller/src/middlewares/ParallelMiddleware.test.ts": { + "typescript/promise-function-async": { + "count": 3 + } + }, + "packages/assets-controller/src/middlewares/ParallelMiddleware.ts": { + "typescript/promise-function-async": { + "count": 3 + } + }, + "packages/assets-controller/src/middlewares/RpcFallbackMiddleware.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 4 + } + }, + "packages/assets-controller/src/migrations/healAssetsInfoMetadata.ts": { + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/assets-controller/src/selectors/balance.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/assets-controller/src/selectors/balance.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 3 + } + }, + "packages/assets-controller/src/utils/dedupingBatchFetcher.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/assets-controller/src/utils/fetchWithTimeout.test.ts": { + "no-undef": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/assets-controller/src/utils/formatStateForTransactionPay.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 4 + } + }, + "packages/assets-controller/src/utils/native-assets.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/assets-controller/src/utils/normalizeAssetId.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/assets-controller/src/utils/snaps-assets-migration.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + } + }, + "packages/assets-controller/src/utils/trace.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 6 + } + }, + "packages/assets-controllers/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/assets-controllers/jest.environment.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-shadow": { + "count": 2 + }, + "no-undef": { + "count": 3 + }, + "node/global-require": { + "count": 1 + } + }, + "packages/assets-controllers/src/AccountTrackerController.test.ts": { + "no-undef": { + "count": 3 + }, + "typescript/explicit-function-return-type": { + "count": 3 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/assets-controllers/src/AccountTrackerController.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/assets-controllers/src/AssetsContractController.test.ts": { + "id-length": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 5 + } + }, + "packages/assets-controllers/src/AssetsContractController.ts": { + "typescript/explicit-function-return-type": { + "count": 5 + } + }, + "packages/assets-controllers/src/AssetsContractControllerWithNetworkClientId.test.ts": { + "import/extensions": { + "count": 1 + } + }, + "packages/assets-controllers/src/CurrencyRateController.test.ts": { + "no-undef": { + "count": 22 + } + }, + "packages/assets-controllers/src/CurrencyRateController.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/assets-controllers/src/DeFiPositionsController/DeFiPositionsController.test.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/assets-controllers/src/DeFiPositionsController/DeFiPositionsController.ts": { + "typescript/explicit-function-return-type": { + "count": 2 + }, + "typescript/no-misused-promises": { + "count": 2 + } + }, + "packages/assets-controllers/src/DeFiPositionsController/DeFiPositionsControllerV2.test.ts": { + "typescript/promise-function-async": { + "count": 5 + } + }, + "packages/assets-controllers/src/DeFiPositionsController/DeFiPositionsControllerV2.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/assets-controllers/src/DeFiPositionsController/fetch-positions.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/assets-controllers/src/DeFiPositionsController/group-defi-positions.ts": { + "id-length": { + "count": 3 + } + }, + "packages/assets-controllers/src/MultichainAssetsController/MultichainAssetsController.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 40 + }, + "typescript/promise-function-async": { + "count": 3 + } + }, + "packages/assets-controllers/src/MultichainAssetsController/MultichainAssetsController.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/assets-controllers/src/MultichainAssetsRatesController/MultichainAssetsRatesController.test.ts": { + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/assets-controllers/src/MultichainAssetsRatesController/MultichainAssetsRatesController.ts": { + "id-length": { + "count": 1 + } + }, + "packages/assets-controllers/src/MultichainBalancesController/MultichainBalancesController.test.ts": { + "no-undef": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 1 + }, + "typescript/unbound-method": { + "count": 1 + } + }, + "packages/assets-controllers/src/MultichainBalancesController/MultichainBalancesController.ts": { + "typescript/no-misused-promises": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/assets-controllers/src/NftController.test.ts": { + "id-denylist": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 4 + }, + "typescript/promise-function-async": { + "count": 4 + } + }, + "packages/assets-controllers/src/NftController.ts": { + "id-length": { + "count": 1 + }, + "no-negated-condition": { + "count": 1 + }, + "no-param-reassign": { + "count": 2 + }, + "typescript/no-misused-promises": { + "count": 2 + }, + "typescript/prefer-nullish-coalescing": { + "count": 6 + }, + "typescript/prefer-optional-chain": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/assets-controllers/src/NftDetectionController.test.ts": { + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/assets-controllers/src/NftDetectionController.ts": { + "no-unmodified-loop-condition": { + "count": 1 + } + }, + "packages/assets-controllers/src/RatesController/RatesController.test.ts": { + "no-undef": { + "count": 2 + }, + "typescript/explicit-function-return-type": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/assets-controllers/src/RatesController/RatesController.ts": { + "id-length": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/assets-controllers/src/Standards/ERC20Standard.test.ts": { + "jest/no-commented-out-tests": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 3 + } + }, + "packages/assets-controllers/src/Standards/ERC20Standard.ts": { + "id-denylist": { + "count": 8 + } + }, + "packages/assets-controllers/src/Standards/NftStandards/ERC1155/ERC1155Standard.test.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/assets-controllers/src/Standards/NftStandards/ERC1155/ERC1155Standard.ts": { + "typescript/promise-function-async": { + "count": 4 + } + }, + "packages/assets-controllers/src/Standards/NftStandards/ERC721/ERC721Standard.test.ts": { + "typescript/explicit-function-return-type": { + "count": 2 + } + }, + "packages/assets-controllers/src/Standards/NftStandards/ERC721/ERC721Standard.ts": { + "id-denylist": { + "count": 4 + }, + "typescript/promise-function-async": { + "count": 4 + } + }, + "packages/assets-controllers/src/TokenBalancesController.test.ts": { + "no-undef": { + "count": 8 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 24 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/assets-controllers/src/TokenBalancesController.ts": { + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/assets-controllers/src/TokenDetectionController.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 17 + }, + "typescript/promise-function-async": { + "count": 3 + } + }, + "packages/assets-controllers/src/TokenDetectionController.ts": { + "id-length": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/assets-controllers/src/TokenListController.test.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/assets-controllers/src/TokenListController.ts": { + "typescript/promise-function-async": { + "count": 5 + } + }, + "packages/assets-controllers/src/TokenListService.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + } + }, + "packages/assets-controllers/src/TokenRatesController.test.ts": { + "typescript/explicit-function-return-type": { + "count": 2 + }, + "typescript/unbound-method": { + "count": 26 + } + }, + "packages/assets-controllers/src/TokenRatesController.ts": { + "typescript/explicit-function-return-type": { + "count": 7 + }, + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/assets-controllers/src/TokenSearchDiscoveryDataController/TokenSearchDiscoveryDataController.test.ts": { + "n/no-callback-literal": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 4 + }, + "typescript/promise-function-async": { + "count": 4 + } + }, + "packages/assets-controllers/src/TokenSearchDiscoveryDataController/TokenSearchDiscoveryDataController.ts": { + "no-negated-condition": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/assets-controllers/src/TokensController.test.ts": { + "no-undef": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 6 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/assets-controllers/src/TokensController.ts": { + "id-length": { + "count": 1 + }, + "no-negated-condition": { + "count": 3 + }, + "no-param-reassign": { + "count": 1 + }, + "no-unused-vars": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 13 + }, + "typescript/prefer-optional-chain": { + "count": 3 + }, + "typescript/promise-function-async": { + "count": 3 + } + }, + "packages/assets-controllers/src/__fixtures__/account-api-v4-mocks.ts": { + "typescript/explicit-function-return-type": { + "count": 2 + } + }, + "packages/assets-controllers/src/assetsUtil.test.ts": { + "id-length": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/assets-controllers/src/assetsUtil.ts": { + "no-negated-condition": { + "count": 2 + }, + "typescript/explicit-function-return-type": { + "count": 6 + } + }, + "packages/assets-controllers/src/balances.test.ts": { + "typescript/explicit-function-return-type": { + "count": 2 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 102 + } + }, + "packages/assets-controllers/src/balances.ts": { + "id-length": { + "count": 2 + }, + "no-negated-condition": { + "count": 2 + }, + "typescript/explicit-function-return-type": { + "count": 13 + } + }, + "packages/assets-controllers/src/crypto-compare-service/crypto-compare.ts": { + "id-length": { + "count": 1 + }, + "no-param-reassign": { + "count": 4 + }, + "typescript/explicit-function-return-type": { + "count": 3 + } + }, + "packages/assets-controllers/src/multi-chain-accounts-service/api-balance-fetcher.test.ts": { + "no-import-assign": { + "count": 2 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 54 + } + }, + "packages/assets-controllers/src/multi-chain-accounts-service/api-balance-fetcher.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/assets-controllers/src/multi-chain-accounts-service/multi-chain-accounts.test.ts": { + "typescript/explicit-function-return-type": { + "count": 3 + } + }, + "packages/assets-controllers/src/multi-chain-accounts-service/multi-chain-accounts.ts": { + "typescript/explicit-function-return-type": { + "count": 4 + } + }, + "packages/assets-controllers/src/multicall.test.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 1 + }, + "typescript/prefer-promise-reject-errors": { + "count": 2 + }, + "typescript/promise-function-async": { + "count": 5 + }, + "typescript/unbound-method": { + "count": 7 + } + }, + "packages/assets-controllers/src/multicall.ts": { + "id-length": { + "count": 2 + } + }, + "packages/assets-controllers/src/rpc-service/rpc-balance-fetcher.test.ts": { + "id-length": { + "count": 17 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 25 + } + }, + "packages/assets-controllers/src/selectors/stringify-balance.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/assets-controllers/src/selectors/token-selectors.test.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/assets-controllers/src/selectors/token-selectors.ts": { + "no-negated-condition": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 25 + }, + "typescript/prefer-nullish-coalescing": { + "count": 2 + } + }, + "packages/assets-controllers/src/token-prices-service/abstract-token-prices-service.ts": { + "id-length": { + "count": 1 + } + }, + "packages/assets-controllers/src/token-prices-service/codefi-v2.test.ts": { + "typescript/promise-function-async": { + "count": 11 + } + }, + "packages/assets-controllers/src/token-prices-service/codefi-v2.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 3 + } + }, + "packages/assets-controllers/src/types/vendor/multiformats.d.ts": { + "import/unambiguous": { + "count": 1 + } + }, + "packages/assets-controllers/src/utils/create-batch-handler.test.ts": { + "id-length": { + "count": 2 + } + }, + "packages/assets-controllers/src/utils/create-batch-handler.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/assets-controllers/src/utils/formatters.ts": { + "typescript/explicit-function-return-type": { + "count": 9 + } + }, + "packages/assets-controllers/src/utils/timeout-with-retry.test.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/assets-controllers/src/utils/timeout-with-retry.ts": { + "id-denylist": { + "count": 3 + }, + "id-length": { + "count": 1 + } + }, + "packages/authenticated-user-storage/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/base-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/base-data-service/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/base-data-service/src/BaseDataService.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/base-data-service/src/createServicePolicy.test.ts": { + "typescript/promise-function-async": { + "count": 5 + } + }, + "packages/bitcoin-regtest-up/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/bitcoin-regtest-up/src/bin/bitcoin-regtest-up.ts": { + "n/hashbang": { + "count": 1 + }, + "no-undef": { + "count": 3 + } + }, + "packages/bitcoin-regtest-up/src/install.test.ts": { + "no-undef": { + "count": 4 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/bitcoin-regtest-up/src/install.ts": { + "no-undef": { + "count": 4 + } + }, + "packages/bridge-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/bridge-controller/src/bridge-controller.sse.batch.test.ts": { + "typescript/promise-function-async": { + "count": 5 + } + }, + "packages/bridge-controller/src/bridge-controller.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 8 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/bridge-controller/src/coercers/quote-response-v2-to-v1.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/bridge-controller/src/selectors.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 6 + } + }, + "packages/bridge-controller/src/selectors.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/bridge-controller/src/types.ts": { + "id-length": { + "count": 3 + } + }, + "packages/bridge-controller/src/utils/assets.ts": { + "typescript/explicit-function-return-type": { + "count": 2 + } + }, + "packages/bridge-controller/src/utils/balance.test.ts": { + "no-undef": { + "count": 8 + } + }, + "packages/bridge-controller/src/utils/balance.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/bridge-controller/src/utils/feature-flags.ts": { + "id-length": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 3 + }, + "typescript/prefer-nullish-coalescing": { + "count": 1 + } + }, + "packages/bridge-controller/src/utils/fetch-server-events.ts": { + "id-denylist": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 1 + }, + "typescript/prefer-nullish-coalescing": { + "count": 1 + } + }, + "packages/bridge-controller/src/utils/fetch.test.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/bridge-controller/src/utils/metrics/properties.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + } + }, + "packages/bridge-controller/src/utils/metrics/types.ts": { + "id-length": { + "count": 4 + } + }, + "packages/bridge-controller/src/utils/quote-fees.ts": { + "id-length": { + "count": 2 + }, + "typescript/explicit-function-return-type": { + "count": 1 + }, + "typescript/prefer-nullish-coalescing": { + "count": 2 + } + }, + "packages/bridge-controller/src/utils/quote-metadata/types.ts": { + "no-redeclare": { + "count": 1 + } + }, + "packages/bridge-controller/src/utils/slippage.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/bridge-controller/src/utils/snaps.ts": { + "typescript/explicit-function-return-type": { + "count": 3 + } + }, + "packages/bridge-controller/src/utils/swaps.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 3 + } + }, + "packages/bridge-controller/src/utils/swaps.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/bridge-controller/src/utils/trade-utils.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 5 + } + }, + "packages/bridge-controller/src/utils/trade-utils.ts": { + "no-undef": { + "count": 1 + } + }, + "packages/bridge-controller/src/validators/quote-response.ts": { + "no-redeclare": { + "count": 1 + } + }, + "packages/bridge-controller/tests/mock-sse.ts": { + "no-shadow": { + "count": 1 + }, + "no-undef": { + "count": 1 + } + }, + "packages/bridge-status-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/bridge-status-controller/src/bridge-status-controller.intent-manager.test.ts": { + "import/extensions": { + "count": 1 + } + }, + "packages/bridge-status-controller/src/bridge-status-controller.intent.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + } + }, + "packages/bridge-status-controller/src/bridge-status-controller.intent.ts": { + "jsdoc/require-param": { + "count": 1 + } + }, + "packages/bridge-status-controller/src/bridge-status-controller.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 10 + }, + "typescript/promise-function-async": { + "count": 5 + } + }, + "packages/bridge-status-controller/src/bridge-status-controller.ts": { + "jsdoc/require-param": { + "count": 1 + }, + "jsdoc/require-returns": { + "count": 1 + } + }, + "packages/bridge-status-controller/src/quote-status-manager/quote-status-api-service.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/bridge-status-controller/src/quote-status-manager/quotes-status-manager.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 8 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/bridge-status-controller/src/quote-status-manager/quotes-status-manager.ts": { + "typescript/prefer-optional-chain": { + "count": 1 + } + }, + "packages/bridge-status-controller/src/quote-status-manager/utils.ts": { + "jsdoc/require-returns": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/bridge-status-controller/src/utils/bridge-status.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/bridge-status-controller/src/utils/metrics.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 3 + } + }, + "packages/bridge-status-controller/src/utils/snaps.test.ts": { + "typescript/promise-function-async": { + "count": 4 + } + }, + "packages/bridge-status-controller/src/utils/swap-received-amount.ts": { + "typescript/explicit-function-return-type": { + "count": 3 + } + }, + "packages/bridge-status-controller/src/utils/transaction.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 5 + }, + "typescript/unbound-method": { + "count": 2 + } + }, + "packages/build-utils/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/chain-agnostic-permission/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/chain-agnostic-permission/src/caip25Permission.test.ts": { + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/chain-agnostic-permission/src/caip25Permission.ts": { + "no-undef": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 9 + }, + "typescript/prefer-nullish-coalescing": { + "count": 2 + } + }, + "packages/chain-agnostic-permission/src/operators/caip-permission-operator-accounts.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 8 + } + }, + "packages/chain-agnostic-permission/src/operators/caip-permission-operator-accounts.ts": { + "typescript/explicit-function-return-type": { + "count": 5 + } + }, + "packages/chain-agnostic-permission/src/operators/caip-permission-operator-permittedChains.ts": { + "typescript/explicit-function-return-type": { + "count": 2 + } + }, + "packages/chain-agnostic-permission/src/operators/caip-permission-operator-session-scopes.ts": { + "typescript/explicit-function-return-type": { + "count": 3 + } + }, + "packages/chain-agnostic-permission/src/scope/assert.ts": { + "typescript/explicit-function-return-type": { + "count": 2 + } + }, + "packages/chain-agnostic-permission/src/scope/authorization.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/chain-agnostic-permission/src/scope/errors.ts": { + "typescript/explicit-function-return-type": { + "count": 5 + } + }, + "packages/chain-agnostic-permission/src/scope/filter.ts": { + "typescript/explicit-function-return-type": { + "count": 3 + } + }, + "packages/chain-agnostic-permission/src/scope/supported.ts": { + "typescript/explicit-function-return-type": { + "count": 5 + } + }, + "packages/chain-agnostic-permission/src/scope/transform.ts": { + "no-negated-condition": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/chain-agnostic-permission/src/scope/validation.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + }, + "typescript/prefer-nullish-coalescing": { + "count": 2 + } + }, + "packages/chomp-api-service/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/chomp-api-service/src/types.ts": { + "id-length": { + "count": 6 + } + }, + "packages/claims-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/client-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/client-utils/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/compliance-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/composable-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/config-registry-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/connectivity-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/connectivity-controller/src/ConnectivityController.test.ts": { + "typescript/unbound-method": { + "count": 5 + } + }, + "packages/controller-utils/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/controller-utils/jest.environment.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 3 + }, + "node/global-require": { + "count": 1 + } + }, + "packages/controller-utils/src/create-service-policy.test.ts": { + "typescript/promise-function-async": { + "count": 5 + } + }, + "packages/controller-utils/src/siwe.test.ts": { + "no-undef": { + "count": 1 + } + }, + "packages/controller-utils/src/siwe.ts": { + "no-undef": { + "count": 1 + } + }, + "packages/controller-utils/src/types.ts": { + "no-redeclare": { + "count": 6 + }, + "typescript/no-duplicate-enum-values": { + "count": 4 + } + }, + "packages/controller-utils/src/util.test.ts": { + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/controller-utils/src/util.ts": { + "no-undef": { + "count": 1 + }, + "radix": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/core-backend/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/core-backend/src/api/accounts/client.ts": { + "typescript/promise-function-async": { + "count": 5 + } + }, + "packages/core-backend/src/api/prices/client.ts": { + "typescript/promise-function-async": { + "count": 10 + } + }, + "packages/core-backend/src/api/shared-types.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/core-backend/src/api/test-utils.ts": { + "no-undef": { + "count": 9 + } + }, + "packages/core-backend/src/api/token/client.ts": { + "typescript/promise-function-async": { + "count": 8 + } + }, + "packages/core-backend/src/api/tokens/client.ts": { + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/core-backend/src/ws/AccountActivityService.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + }, + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/core-backend/src/ws/AccountActivityService.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/core-backend/src/ws/BackendWebSocketService.test.ts": { + "no-undef": { + "count": 4 + }, + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/core-backend/src/ws/BackendWebSocketService.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/core-backend/src/ws/ohlcv/OHLCVService.test.ts": { + "id-length": { + "count": 5 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 5 + }, + "typescript/promise-function-async": { + "count": 7 + } + }, + "packages/core-backend/src/ws/ohlcv/OHLCVService.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/cryptography/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/delegation-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/delegation-controller/src/DelegationController.test.ts": { + "typescript/explicit-function-return-type": { + "count": 3 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 3 + } + }, + "packages/delegation-controller/src/DelegationController.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/earn-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/earn-controller/src/EarnController.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 8 + }, + "typescript/unbound-method": { + "count": 28 + } + }, + "packages/earn-controller/src/EarnController.ts": { + "no-negated-condition": { + "count": 3 + }, + "typescript/explicit-function-return-type": { + "count": 4 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/earn-controller/src/selectors.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + } + }, + "packages/earn-controller/src/selectors.ts": { + "typescript/explicit-function-return-type": { + "count": 3 + } + }, + "packages/eip-5792-middleware/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/eip-5792-middleware/src/hooks/getCallsStatus.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/eip-5792-middleware/src/hooks/getCapabilities.ts": { + "typescript/explicit-function-return-type": { + "count": 2 + }, + "typescript/prefer-nullish-coalescing": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/eip-5792-middleware/src/hooks/processSendCalls.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 14 + } + }, + "packages/eip-5792-middleware/src/hooks/processSendCalls.ts": { + "typescript/explicit-function-return-type": { + "count": 10 + }, + "typescript/no-misused-promises": { + "count": 1 + } + }, + "packages/eip-5792-middleware/src/methods/wallet_getCallsStatus.test.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/eip-5792-middleware/src/methods/wallet_getCapabilities.test.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/eip-5792-middleware/src/methods/wallet_sendCalls.test.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 3 + } + }, + "packages/eip-5792-middleware/src/utils.test.ts": { + "typescript/unbound-method": { + "count": 1 + } + }, + "packages/eip-5792-middleware/src/utils.ts": { + "id-length": { + "count": 1 + } + }, + "packages/eip-7702-internal-rpc-middleware/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/eip1193-permission-middleware/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/eip1193-permission-middleware/src/index.test.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/eip1193-permission-middleware/src/wallet-getPermissions.test.ts": { + "typescript/explicit-function-return-type": { + "count": 2 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/eip1193-permission-middleware/src/wallet-getPermissions.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/eip1193-permission-middleware/src/wallet-requestPermissions.test.ts": { + "typescript/explicit-function-return-type": { + "count": 3 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/eip1193-permission-middleware/src/wallet-requestPermissions.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/eip1193-permission-middleware/src/wallet-revokePermissions.test.ts": { + "typescript/explicit-function-return-type": { + "count": 2 + } + }, + "packages/eip1193-permission-middleware/src/wallet-revokePermissions.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/eth-block-tracker/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/eth-block-tracker/src/PollingBlockTracker.test.ts": { + "typescript/unbound-method": { + "count": 4 + } + }, + "packages/eth-block-tracker/src/PollingBlockTracker.ts": { + "typescript/prefer-nullish-coalescing": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/eth-block-tracker/tests/setupAfterEnv.ts": { + "id-length": { + "count": 1 + } + }, + "packages/eth-json-rpc-middleware/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/eth-json-rpc-middleware/src/block-cache.test.ts": { + "typescript/promise-function-async": { + "count": 10 + } + }, + "packages/eth-json-rpc-middleware/src/block-ref-rewrite.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 3 + }, + "typescript/unbound-method": { + "count": 3 + } + }, + "packages/eth-json-rpc-middleware/src/inflight-cache.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/eth-json-rpc-middleware/src/methods/wallet-get-granted-execution-permissions.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 8 + } + }, + "packages/eth-json-rpc-middleware/src/methods/wallet-get-supported-execution-permissions.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/eth-json-rpc-middleware/src/methods/wallet-request-execution-permissions.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/eth-json-rpc-middleware/src/methods/wallet-revoke-execution-permission.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/eth-json-rpc-middleware/src/providerAsMiddleware.test.ts": { + "typescript/unbound-method": { + "count": 4 + } + }, + "packages/eth-json-rpc-middleware/src/utils/normalize.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/eth-json-rpc-middleware/src/utils/timeout.test.ts": { + "no-undef": { + "count": 2 + } + }, + "packages/eth-json-rpc-middleware/src/utils/validation.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/eth-json-rpc-middleware/test/setupAfterEnv.ts": { + "no-undef": { + "count": 1 + } + }, + "packages/eth-json-rpc-provider/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/eth-json-rpc-provider/src/index.ts": { + "no-redeclare": { + "count": 1 + } + }, + "packages/eth-json-rpc-provider/src/internal-provider.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/eth-json-rpc-provider/src/mock-internal-provider.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/foundryup/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/foundryup/src/cli.ts": { + "n/hashbang": { + "count": 1 + }, + "no-undef": { + "count": 1 + } + }, + "packages/foundryup/src/download.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/foundryup/src/extract.ts": { + "id-length": { + "count": 2 + }, + "typescript/explicit-function-return-type": { + "count": 4 + } + }, + "packages/foundryup/src/foundryup.test.ts": { + "id-length": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/foundryup/src/index.ts": { + "id-length": { + "count": 2 + }, + "n/hashbang": { + "count": 1 + }, + "n/prefer-global/process": { + "count": 1 + } + }, + "packages/foundryup/src/options.ts": { + "n/prefer-global/process": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 3 + } + }, + "packages/foundryup/src/types.ts": { + "id-length": { + "count": 5 + } + }, + "packages/foundryup/src/utils.ts": { + "id-denylist": { + "count": 2 + }, + "typescript/explicit-function-return-type": { + "count": 2 + } + }, + "packages/foundryup/types/node_fs.d.ts": { + "import/unambiguous": { + "count": 1 + } + }, + "packages/foundryup/types/unzipper.d.ts": { + "import/no-unassigned-import": { + "count": 1 + } + }, + "packages/gas-fee-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/gas-fee-controller/src/GasFeeController.test.ts": { + "typescript/explicit-function-return-type": { + "count": 7 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/gas-fee-controller/src/GasFeeController.ts": { + "id-length": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 11 + }, + "typescript/prefer-nullish-coalescing": { + "count": 2 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/gas-fee-controller/src/determineGasFeeCalculations.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/gas-fee-controller/src/gas-util.ts": { + "id-length": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 2 + } + }, + "packages/gator-permissions-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/gator-permissions-controller/src/GatorPermissionsController.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 11 + } + }, + "packages/gator-permissions-controller/src/GatorPermissionsController.ts": { + "jsdoc/require-param": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/gator-permissions-controller/src/decodePermission/utils.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 16 + } + }, + "packages/gator-permissions-controller/src/permissionOnChainStatus.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/geolocation-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/geolocation-controller/src/GeolocationController.test.ts": { + "typescript/promise-function-async": { + "count": 7 + } + }, + "packages/geolocation-controller/src/geolocation-api-service/geolocation-api-service.test.ts": { + "typescript/promise-function-async": { + "count": 16 + } + }, + "packages/java-tron-up/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/java-tron-up/src/bin/java-tron-up.ts": { + "n/hashbang": { + "count": 1 + }, + "no-undef": { + "count": 3 + } + }, + "packages/java-tron-up/src/install.test.ts": { + "no-undef": { + "count": 2 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/java-tron-up/src/install.ts": { + "no-undef": { + "count": 4 + } + }, + "packages/json-rpc-engine/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/json-rpc-engine/src/asV2Middleware.test.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/json-rpc-engine/src/v2/JsonRpcEngineV2.test.ts": { + "typescript/promise-function-async": { + "count": 16 + } + }, + "packages/json-rpc-engine/src/v2/JsonRpcEngineV2.ts": { + "id-length": { + "count": 1 + }, + "no-redeclare": { + "count": 1 + } + }, + "packages/json-rpc-engine/src/v2/JsonRpcServer.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + } + }, + "packages/json-rpc-engine/src/v2/asLegacyMiddleware.test.ts": { + "typescript/promise-function-async": { + "count": 6 + } + }, + "packages/json-rpc-engine/src/v2/asLegacyMiddleware.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/json-rpc-engine/src/v2/compatibility-utils.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/json-rpc-engine/src/v2/createMethodMiddleware.test.ts": { + "typescript/promise-function-async": { + "count": 8 + } + }, + "packages/json-rpc-engine/src/v2/createMethodMiddleware.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/json-rpc-engine/src/v2/createOriginMiddleware.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/json-rpc-engine/src/v2/createScaffoldMiddleware.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/json-rpc-engine/tests/utils.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/json-rpc-engine/v2.js": { + "import/unambiguous": { + "count": 1 + } + }, + "packages/json-rpc-middleware-stream/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/json-rpc-middleware-stream/src/createStreamMiddleware.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/json-rpc-middleware-stream/src/index.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/keyring-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/keyring-controller/src/KeyringController.test.ts": { + "no-undef": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 5 + }, + "typescript/promise-function-async": { + "count": 1 + }, + "typescript/unbound-method": { + "count": 19 + } + }, + "packages/keyring-controller/src/KeyringController.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + }, + "typescript/promise-function-async": { + "count": 5 + } + }, + "packages/keyring-controller/tests/mocks/mockEncryptor.ts": { + "no-undef": { + "count": 1 + } + }, + "packages/kyc-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/kyc-controller/scripts/mint-ukyc-test-token.ts": { + "n/prefer-global/process": { + "count": 1 + } + }, + "packages/kyc-controller/src/KycController.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/kyc-controller/src/KycService.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/kyc-controller/src/crypto.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/kyc-controller/src/ukyc/jwtChain.ts": { + "id-length": { + "count": 1 + } + }, + "packages/local-node-utils/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/local-node-utils/src/cache-directory.ts": { + "no-undef": { + "count": 1 + } + }, + "packages/local-node-utils/src/command.test.ts": { + "no-undef": { + "count": 2 + } + }, + "packages/local-node-utils/src/integration.test.ts": { + "no-undef": { + "count": 2 + } + }, + "packages/local-node-utils/src/package-json.ts": { + "no-undef": { + "count": 1 + } + }, + "packages/logging-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/logging-controller/src/LoggingController.test.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/logging-controller/src/LoggingController.ts": { + "typescript/explicit-function-return-type": { + "count": 2 + } + }, + "packages/message-manager/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/message-manager/src/AbstractMessageManager.test.ts": { + "typescript/explicit-function-return-type": { + "count": 4 + }, + "typescript/promise-function-async": { + "count": 4 + } + }, + "packages/message-manager/src/AbstractMessageManager.ts": { + "id-denylist": { + "count": 2 + }, + "typescript/explicit-function-return-type": { + "count": 19 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/message-manager/src/DecryptMessageManager.test.ts": { + "typescript/promise-function-async": { + "count": 3 + } + }, + "packages/message-manager/src/DecryptMessageManager.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/message-manager/src/EncryptionPublicKeyManager.test.ts": { + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/message-manager/src/EncryptionPublicKeyManager.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/message-manager/src/utils.ts": { + "id-length": { + "count": 1 + }, + "no-undef": { + "count": 1 + }, + "no-unused-vars": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 4 + } + }, + "packages/messenger-cli/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/messenger-cli/src/check.test.ts": { + "no-shadow": { + "count": 1 + } + }, + "packages/messenger-cli/src/cli.test.ts": { + "jsdoc/require-param": { + "count": 1 + }, + "n/no-unsupported-features/node-builtins": { + "count": 1 + }, + "no-shadow": { + "count": 1 + } + }, + "packages/messenger-cli/src/cli.ts": { + "n/hashbang": { + "count": 1 + }, + "no-undef": { + "count": 2 + } + }, + "packages/messenger-cli/src/fix.test.ts": { + "no-shadow": { + "count": 1 + } + }, + "packages/messenger-cli/src/parse-source.test.ts": { + "no-shadow": { + "count": 1 + } + }, + "packages/messenger-cli/src/parse-source.ts": { + "jsdoc/require-param": { + "count": 1 + } + }, + "packages/messenger/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/messenger/src/Messenger.ts": { + "id-length": { + "count": 1 + }, + "no-unused-vars": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/money-account-api-data-service/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/money-account-api-data-service/src/money-account-api-data-service.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/money-account-api-data-service/src/money-account-api-data-service.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 4 + } + }, + "packages/money-account-balance-service/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/money-account-balance-service/src/money-account-balance-service.test.ts": { + "id-length": { + "count": 1 + } + }, + "packages/money-account-balance-service/src/money-account-balance-service.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/money-account-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/money-account-controller/src/MoneyAccountController.test.ts": { + "n/no-callback-literal": { + "count": 6 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/money-account-controller/src/MoneyAccountController.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/money-account-upgrade-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/money-account-upgrade-controller/src/MoneyAccountUpgradeController.test.ts": { + "no-undef": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 9 + } + }, + "packages/money-account-upgrade-controller/src/steps/associate-address.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/money-account-upgrade-controller/src/steps/build-delegations.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 3 + } + }, + "packages/money-account-upgrade-controller/src/steps/eip-7702-authorization.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 5 + } + }, + "packages/money-account-upgrade-controller/src/steps/eip-7702-authorization.ts": { + "id-length": { + "count": 3 + } + }, + "packages/money-account-upgrade-controller/src/steps/register-intents.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/money-account-utils/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/multichain-account-service/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/multichain-account-service/src/MultichainAccountService.test.ts": { + "typescript/unbound-method": { + "count": 1 + } + }, + "packages/multichain-account-service/src/MultichainAccountService.ts": { + "id-length": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/multichain-account-service/src/MultichainAccountWallet.test.ts": { + "id-length": { + "count": 2 + }, + "typescript/promise-function-async": { + "count": 11 + } + }, + "packages/multichain-account-service/src/MultichainAccountWallet.ts": { + "typescript/explicit-function-return-type": { + "count": 2 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/multichain-account-service/src/providers/BaseBip44AccountProvider.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/multichain-account-service/src/providers/BtcAccountProvider.test.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/multichain-account-service/src/providers/EvmAccountProvider.test.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/multichain-account-service/src/providers/EvmAccountProvider.ts": { + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/multichain-account-service/src/providers/SnapAccountProvider.test.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 4 + } + }, + "packages/multichain-account-service/src/providers/SnapAccountProvider.ts": { + "typescript/promise-function-async": { + "count": 9 + } + }, + "packages/multichain-account-service/src/providers/SnapKeyringClient.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/multichain-account-service/src/providers/SolAccountProvider.test.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/multichain-account-service/src/providers/TrxAccountProvider.test.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/multichain-account-service/src/providers/utils.test.ts": { + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/multichain-account-service/src/providers/utils.ts": { + "id-length": { + "count": 2 + } + }, + "packages/multichain-account-service/src/tests/accounts.ts": { + "typescript/explicit-function-return-type": { + "count": 7 + } + }, + "packages/multichain-api-middleware/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/multichain-api-middleware/src/handlers/index.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 3 + } + }, + "packages/multichain-api-middleware/src/handlers/wallet-createSession.test.ts": { + "id-denylist": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 2 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/multichain-api-middleware/src/handlers/wallet-createSession.ts": { + "id-denylist": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 1 + }, + "typescript/prefer-nullish-coalescing": { + "count": 2 + } + }, + "packages/multichain-api-middleware/src/handlers/wallet-getSession.test.ts": { + "typescript/explicit-function-return-type": { + "count": 2 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/multichain-api-middleware/src/handlers/wallet-getSession.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/multichain-api-middleware/src/handlers/wallet-invokeMethod.test.ts": { + "typescript/explicit-function-return-type": { + "count": 3 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/multichain-api-middleware/src/handlers/wallet-invokeMethod.ts": { + "id-denylist": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/multichain-api-middleware/src/handlers/wallet-revokeSession.test.ts": { + "typescript/explicit-function-return-type": { + "count": 2 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/multichain-api-middleware/src/handlers/wallet-revokeSession.ts": { + "id-denylist": { + "count": 1 + }, + "no-negated-condition": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 3 + } + }, + "packages/multichain-api-middleware/src/middlewares/MultichainMiddlewareManager.ts": { + "typescript/explicit-function-return-type": { + "count": 7 + } + }, + "packages/multichain-api-middleware/src/middlewares/MultichainSubscriptionManager.test.ts": { + "typescript/explicit-function-return-type": { + "count": 2 + } + }, + "packages/multichain-api-middleware/src/middlewares/MultichainSubscriptionManager.ts": { + "typescript/explicit-function-return-type": { + "count": 7 + } + }, + "packages/multichain-api-middleware/src/middlewares/multichainMethodCallValidatorMiddleware.test.ts": { + "id-length": { + "count": 6 + }, + "no-undef": { + "count": 10 + } + }, + "packages/multichain-api-middleware/src/middlewares/multichainMethodCallValidatorMiddleware.ts": { + "id-length": { + "count": 4 + }, + "typescript/explicit-function-return-type": { + "count": 2 + } + }, + "packages/multichain-network-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/multichain-network-controller/src/MultichainNetworkService/MultichainNetworkService.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + }, + "typescript/promise-function-async": { + "count": 7 + } + }, + "packages/multichain-network-controller/src/MultichainNetworkService/MultichainNetworkService.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/multichain-transactions-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/multichain-transactions-controller/src/MultichainTransactionsController.test.ts": { + "no-undef": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 1 + }, + "typescript/unbound-method": { + "count": 1 + } + }, + "packages/multichain-transactions-controller/src/MultichainTransactionsController.ts": { + "typescript/explicit-function-return-type": { + "count": 4 + }, + "typescript/no-misused-promises": { + "count": 2 + }, + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/name-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/name-controller/src/NameController.test.ts": { + "typescript/promise-function-async": { + "count": 1 + }, + "typescript/unbound-method": { + "count": 7 + } + }, + "packages/name-controller/src/NameController.ts": { + "typescript/explicit-function-return-type": { + "count": 16 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/name-controller/src/providers/ens.test.ts": { + "typescript/explicit-function-return-type": { + "count": 2 + } + }, + "packages/name-controller/src/providers/ens.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + }, + "typescript/prefer-nullish-coalescing": { + "count": 1 + } + }, + "packages/name-controller/src/providers/etherscan.test.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/name-controller/src/providers/etherscan.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + }, + "typescript/prefer-nullish-coalescing": { + "count": 1 + } + }, + "packages/name-controller/src/providers/lens.test.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/name-controller/src/providers/lens.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + }, + "typescript/prefer-nullish-coalescing": { + "count": 1 + } + }, + "packages/name-controller/src/providers/token.test.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/name-controller/src/providers/token.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + }, + "typescript/prefer-nullish-coalescing": { + "count": 1 + } + }, + "packages/name-controller/src/util.ts": { + "id-length": { + "count": 1 + }, + "jsdoc/require-returns": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 2 + } + }, + "packages/name-controller/src/utils.test.ts": { + "no-undef": { + "count": 3 + } + }, + "packages/network-connection-banner-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/network-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/network-controller/src/NetworkController.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/network-controller/src/create-auto-managed-network-client.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/network-controller/src/create-network-client-tests/ethereum-spec/other-methods.test.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/network-controller/src/create-network-client-tests/ex-ethereum-spec/other-methods.test.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/network-controller/src/create-network-client.ts": { + "no-undef": { + "count": 2 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/network-controller/src/rpc-service/rpc-service.test.ts": { + "jsdoc/require-returns": { + "count": 1 + } + }, + "packages/network-controller/tests/NetworkController.test.ts": { + "jsdoc/require-returns": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 8 + } + }, + "packages/network-controller/tests/network-client/block-hash-in-response.ts": { + "typescript/promise-function-async": { + "count": 7 + } + }, + "packages/network-controller/tests/network-client/block-param.ts": { + "typescript/promise-function-async": { + "count": 19 + } + }, + "packages/network-controller/tests/network-client/helpers.ts": { + "no-undef": { + "count": 4 + }, + "typescript/promise-function-async": { + "count": 3 + } + }, + "packages/network-controller/tests/network-client/no-block-param.ts": { + "typescript/promise-function-async": { + "count": 4 + } + }, + "packages/network-controller/tests/network-client/not-handled-by-middleware.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/network-enablement-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/network-enablement-controller/src/NetworkEnablementController.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + } + }, + "packages/network-enablement-controller/src/NetworkEnablementController.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 4 + } + }, + "packages/network-enablement-controller/src/selectors.ts": { + "typescript/explicit-function-return-type": { + "count": 3 + } + }, + "packages/network-enablement-controller/src/services/Slip44Service.test.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/notification-services-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/notification-services-controller/jest.environment.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 3 + }, + "node/global-require": { + "count": 1 + } + }, + "packages/notification-services-controller/src/NotificationServicesController/NotificationServicesController.test.ts": { + "id-length": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 2 + }, + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/notification-services-controller/src/NotificationServicesController/services/api-notifications.ts": { + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/notification-services-controller/src/NotificationServicesController/services/feature-announcements.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/notification-services-controller/src/NotificationServicesController/types/notification-api/notification-api.ts": { + "id-length": { + "count": 4 + } + }, + "packages/notification-services-controller/src/NotificationServicesController/types/type-utils.ts": { + "id-length": { + "count": 1 + } + }, + "packages/notification-services-controller/src/NotificationServicesPushController/NotificationServicesPushController.test.ts": { + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/notification-services-controller/src/NotificationServicesPushController/services/services.test.ts": { + "no-undef": { + "count": 2 + } + }, + "packages/notification-services-controller/src/NotificationServicesPushController/web/push-utils.test.ts": { + "no-import-assign": { + "count": 3 + }, + "no-undef": { + "count": 3 + } + }, + "packages/notification-services-controller/src/NotificationServicesPushController/web/push-utils.ts": { + "id-length": { + "count": 2 + } + }, + "packages/notification-services-controller/src/shared/to-raw-notification.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/package-template/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/passkey-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/passkey-controller/src/PasskeyController.test.ts": { + "no-undef": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 8 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/passkey-controller/src/PasskeyController.ts": { + "typescript/promise-function-async": { + "count": 7 + } + }, + "packages/passkey-controller/src/constants.ts": { + "no-redeclare": { + "count": 1 + } + }, + "packages/passkey-controller/src/webauthn/verify-registration-response.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + } + }, + "packages/permission-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/permission-controller/src/Caveat.test.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/permission-controller/src/PermissionController.test.ts": { + "id-length": { + "count": 4 + }, + "typescript/promise-function-async": { + "count": 11 + }, + "typescript/unbound-method": { + "count": 26 + } + }, + "packages/permission-controller/src/PermissionController.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + }, + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/permission-controller/src/createRestrictedMethodMessenger.test.ts": { + "id-length": { + "count": 1 + } + }, + "packages/permission-log-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/permission-log-controller/tests/helpers.ts": { + "jsdoc/require-returns": { + "count": 1 + } + }, + "packages/perps-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/perps-controller/src/PerpsController.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 9 + }, + "typescript/promise-function-async": { + "count": 12 + } + }, + "packages/perps-controller/src/providers/AggregatedPerpsProvider.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/perps-controller/src/providers/HyperLiquidProvider.ts": { + "id-length": { + "count": 3 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 3 + }, + "typescript/prefer-optional-chain": { + "count": 2 + }, + "typescript/promise-function-async": { + "count": 18 + } + }, + "packages/perps-controller/src/providers/LighterProvider.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 7 + }, + "typescript/prefer-nullish-coalescing": { + "count": 1 + }, + "typescript/prefer-optional-chain": { + "count": 1 + } + }, + "packages/perps-controller/src/selectors.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/perps-controller/src/services/AccountService.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/perps-controller/src/services/AggregatedOrderBookConnection.ts": { + "id-length": { + "count": 1 + } + }, + "packages/perps-controller/src/services/HyperLiquidClientService.ts": { + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/perps-controller/src/services/HyperLiquidSubscriptionService.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + }, + "typescript/prefer-nullish-coalescing": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 7 + } + }, + "packages/perps-controller/src/services/MarketDataService.ts": { + "typescript/promise-function-async": { + "count": 3 + } + }, + "packages/perps-controller/src/services/TerminalMarketService.ts": { + "typescript/prefer-optional-chain": { + "count": 1 + } + }, + "packages/perps-controller/src/services/TradingService.ts": { + "typescript/promise-function-async": { + "count": 8 + } + }, + "packages/perps-controller/src/types/lighter-types.ts": { + "id-length": { + "count": 8 + } + }, + "packages/perps-controller/src/utils/coalescePerpsRestRequest.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/perps-controller/src/utils/errorUtils.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/perps-controller/src/utils/hyperLiquidAdapter.ts": { + "jsdoc/require-param": { + "count": 1 + }, + "jsdoc/require-returns": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 2 + } + }, + "packages/perps-controller/src/utils/orderCalculations.ts": { + "no-unneeded-ternary": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/perps-controller/src/utils/wait.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/perps-controller/tests/defer-eligibility.test.ts": { + "no-undef": { + "count": 3 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 2 + }, + "typescript/promise-function-async": { + "count": 3 + } + }, + "packages/perps-controller/tests/e2e/advanced-orders.e2e.ts": { + "no-undef": { + "count": 17 + } + }, + "packages/perps-controller/tests/e2e/lighter.e2e.ts": { + "no-undef": { + "count": 11 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/perps-controller/tests/e2e/lighter/nodeWasmBridge.ts": { + "no-undef": { + "count": 1 + } + }, + "packages/perps-controller/tests/src/providers/HyperLiquidProvider.strategy-orders.test.ts": { + "id-length": { + "count": 9 + }, + "no-undef": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 26 + }, + "typescript/promise-function-async": { + "count": 34 + }, + "typescript/unbound-method": { + "count": 9 + } + }, + "packages/perps-controller/tests/src/providers/LighterProvider.test.ts": { + "no-undef": { + "count": 30 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 22 + }, + "typescript/unbound-method": { + "count": 5 + } + }, + "packages/perps-controller/tests/src/services/AggregatedOrderBookConnection.test.ts": { + "id-length": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/perps-controller/tests/src/services/LighterClientService.test.ts": { + "no-undef": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/perps-controller/tests/src/services/LighterWalletService.test.ts": { + "typescript/promise-function-async": { + "count": 1 + }, + "typescript/unbound-method": { + "count": 1 + } + }, + "packages/perps-controller/tests/src/services/TerminalMarketService.test.ts": { + "no-unsafe-optional-chaining": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 29 + }, + "typescript/unbound-method": { + "count": 4 + } + }, + "packages/perps-controller/tests/src/utils/coalescePerpsRestRequest.test.ts": { + "id-length": { + "count": 2 + }, + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/perps-controller/tests/src/utils/hyperLiquidAdapter.advanced-orders.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/perps-controller/tests/src/utils/lighterAdapter.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/phishing-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/phishing-controller/src/BulkTokenScan.test.ts": { + "typescript/explicit-function-return-type": { + "count": 2 + } + }, + "packages/phishing-controller/src/CacheManager.test.ts": { + "typescript/explicit-function-return-type": { + "count": 2 + } + }, + "packages/phishing-controller/src/CacheManager.ts": { + "id-length": { + "count": 3 + } + }, + "packages/phishing-controller/src/PathTrie.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/phishing-controller/src/PathTrie.ts": { + "typescript/explicit-function-return-type": { + "count": 2 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 2 + } + }, + "packages/phishing-controller/src/PhishingController.test.ts": { + "no-undef": { + "count": 21 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 19 + } + }, + "packages/phishing-controller/src/PhishingController.ts": { + "id-length": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 14 + }, + "typescript/prefer-nullish-coalescing": { + "count": 6 + }, + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/phishing-controller/src/PhishingDetector.test.ts": { + "id-length": { + "count": 4 + }, + "typescript/explicit-function-return-type": { + "count": 2 + } + }, + "packages/phishing-controller/src/PhishingDetector.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/phishing-controller/src/tests/utils.ts": { + "typescript/explicit-function-return-type": { + "count": 2 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 5 + } + }, + "packages/phishing-controller/src/utils.test.ts": { + "typescript/explicit-function-return-type": { + "count": 2 + } + }, + "packages/phishing-controller/src/utils.ts": { + "typescript/explicit-function-return-type": { + "count": 5 + }, + "typescript/prefer-nullish-coalescing": { + "count": 1 + } + }, + "packages/platform-api-docs/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/platform-api-docs/site/docusaurus.config.ts": { + "no-undef": { + "count": 5 + } + }, + "packages/platform-api-docs/src/cli.test.ts": { + "no-undef": { + "count": 1 + } + }, + "packages/platform-api-docs/src/cli.ts": { + "n/hashbang": { + "count": 1 + }, + "n/no-unsupported-features/node-builtins": { + "count": 2 + }, + "no-undef": { + "count": 3 + } + }, + "packages/polling-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/polling-controller/src/AbstractPollingController.ts": { + "typescript/explicit-function-return-type": { + "count": 4 + } + }, + "packages/polling-controller/src/StaticIntervalPollingController.test.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/preferences-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/profile-metrics-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/profile-metrics-controller/src/ProfileMetricsService.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/profile-metrics-controller/src/ProofOfOwnershipService.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + } + }, + "packages/profile-sync-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/profile-sync-controller/jest.environment.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 3 + }, + "node/global-require": { + "count": 1 + } + }, + "packages/profile-sync-controller/src/controllers/authentication/AuthenticationController.test.ts": { + "id-length": { + "count": 4 + }, + "jest/no-conditional-expect": { + "count": 3 + }, + "no-new": { + "count": 1 + } + }, + "packages/profile-sync-controller/src/controllers/authentication/AuthenticationController.ts": { + "typescript/explicit-function-return-type": { + "count": 2 + }, + "typescript/prefer-nullish-coalescing": { + "count": 1 + } + }, + "packages/profile-sync-controller/src/controllers/authentication/__fixtures__/mockServices.ts": { + "typescript/explicit-function-return-type": { + "count": 3 + } + }, + "packages/profile-sync-controller/src/controllers/user-storage/UserStorageController.test.ts": { + "typescript/explicit-function-return-type": { + "count": 24 + } + }, + "packages/profile-sync-controller/src/controllers/user-storage/UserStorageController.ts": { + "id-length": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 12 + }, + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/profile-sync-controller/src/controllers/user-storage/__fixtures__/mockMessenger.ts": { + "id-length": { + "count": 1 + }, + "no-undef": { + "count": 8 + }, + "typescript/explicit-function-return-type": { + "count": 3 + } + }, + "packages/profile-sync-controller/src/controllers/user-storage/__fixtures__/mockServices.ts": { + "typescript/explicit-function-return-type": { + "count": 7 + } + }, + "packages/profile-sync-controller/src/controllers/user-storage/__fixtures__/test-utils.ts": { + "id-length": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/profile-sync-controller/src/controllers/user-storage/contact-syncing/__fixtures__/test-utils.ts": { + "no-undef": { + "count": 6 + }, + "typescript/explicit-function-return-type": { + "count": 1 + }, + "typescript/prefer-nullish-coalescing": { + "count": 1 + } + }, + "packages/profile-sync-controller/src/controllers/user-storage/contact-syncing/controller-integration.test.ts": { + "id-length": { + "count": 3 + }, + "typescript/explicit-function-return-type": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 2 + } + }, + "packages/profile-sync-controller/src/controllers/user-storage/contact-syncing/controller-integration.ts": { + "id-length": { + "count": 2 + }, + "no-negated-condition": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 4 + }, + "typescript/prefer-nullish-coalescing": { + "count": 4 + } + }, + "packages/profile-sync-controller/src/controllers/user-storage/contact-syncing/setup-subscriptions.ts": { + "typescript/explicit-function-return-type": { + "count": 2 + } + }, + "packages/profile-sync-controller/src/controllers/user-storage/contact-syncing/sync-utils.test.ts": { + "typescript/explicit-function-return-type": { + "count": 3 + } + }, + "packages/profile-sync-controller/src/controllers/user-storage/contact-syncing/types.ts": { + "id-length": { + "count": 5 + } + }, + "packages/profile-sync-controller/src/controllers/user-storage/contact-syncing/utils.ts": { + "typescript/prefer-nullish-coalescing": { + "count": 3 + } + }, + "packages/profile-sync-controller/src/controllers/user-storage/mocks/mockResponses.ts": { + "typescript/explicit-function-return-type": { + "count": 8 + } + }, + "packages/profile-sync-controller/src/controllers/user-storage/mocks/mockStorage.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/profile-sync-controller/src/controllers/user-storage/utils.ts": { + "id-length": { + "count": 2 + } + }, + "packages/profile-sync-controller/src/sdk/__fixtures__/test-utils.ts": { + "no-undef": { + "count": 2 + }, + "typescript/explicit-function-return-type": { + "count": 4 + } + }, + "packages/profile-sync-controller/src/sdk/__fixtures__/userstorage.ts": { + "typescript/explicit-function-return-type": { + "count": 6 + } + }, + "packages/profile-sync-controller/src/sdk/authentication-jwt-bearer/flow-siwe.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/profile-sync-controller/src/sdk/authentication-jwt-bearer/flow-srp.ts": { + "id-length": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 2 + } + }, + "packages/profile-sync-controller/src/sdk/authentication-jwt-bearer/services.test.ts": { + "no-undef": { + "count": 2 + } + }, + "packages/profile-sync-controller/src/sdk/authentication.test.ts": { + "no-new": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/profile-sync-controller/src/sdk/authentication.ts": { + "id-denylist": { + "count": 2 + }, + "id-length": { + "count": 6 + }, + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/profile-sync-controller/src/sdk/errors.ts": { + "id-length": { + "count": 2 + } + }, + "packages/profile-sync-controller/src/sdk/mocks/userstorage.ts": { + "typescript/explicit-function-return-type": { + "count": 2 + } + }, + "packages/profile-sync-controller/src/sdk/user-storage.test.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/profile-sync-controller/src/sdk/user-storage.ts": { + "id-length": { + "count": 10 + }, + "typescript/explicit-function-return-type": { + "count": 3 + } + }, + "packages/profile-sync-controller/src/sdk/utils/eip-6963-metamask-provider.test.ts": { + "no-undef": { + "count": 3 + }, + "typescript/explicit-function-return-type": { + "count": 3 + } + }, + "packages/profile-sync-controller/src/sdk/utils/eip-6963-metamask-provider.ts": { + "id-length": { + "count": 2 + }, + "no-undef": { + "count": 3 + }, + "typescript/explicit-function-return-type": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/profile-sync-controller/src/sdk/utils/messaging-signing-snap-requests.ts": { + "id-length": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 2 + } + }, + "packages/profile-sync-controller/src/shared/encryption/cache.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/profile-sync-controller/src/shared/encryption/encryption.test.ts": { + "jest/valid-expect-in-promise": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 4 + } + }, + "packages/profile-sync-controller/src/shared/encryption/encryption.ts": { + "id-length": { + "count": 16 + }, + "typescript/explicit-function-return-type": { + "count": 2 + } + }, + "packages/profile-sync-controller/src/shared/encryption/utils.ts": { + "no-undef": { + "count": 2 + }, + "typescript/explicit-function-return-type": { + "count": 4 + } + }, + "packages/profile-sync-controller/src/shared/storage-schema.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/profile-sync-controller/src/shared/types/encryption.ts": { + "id-length": { + "count": 3 + } + }, + "packages/profile-sync-controller/src/shared/utils/event-queue.ts": { + "id-length": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 2 + } + }, + "packages/ramps-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/ramps-controller/src/NeoBankService.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/ramps-controller/src/RampsController.order-syncing.test.ts": { + "no-undef": { + "count": 17 + }, + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/ramps-controller/src/RampsController.test.ts": { + "no-undef": { + "count": 4 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 5 + }, + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/ramps-controller/src/RampsController.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 5 + } + }, + "packages/ramps-controller/src/RampsService.test.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/ramps-controller/src/TransakService.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/ramps-controller/src/order-syncing/controller-integration.test.ts": { + "id-length": { + "count": 3 + } + }, + "packages/ramps-controller/src/order-syncing/types.ts": { + "id-length": { + "count": 1 + } + }, + "packages/ramps-controller/src/order-syncing/utils.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/rate-limit-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/rate-limit-controller/src/RateLimitController.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/react-data-query/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/remote-feature-flag-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/remote-feature-flag-controller/src/client-config-api-service/client-config-api-service.test.ts": { + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/remote-feature-flag-controller/src/client-config-api-service/client-config-api-service.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/remote-feature-flag-controller/src/remote-feature-flag-controller.test.ts": { + "typescript/promise-function-async": { + "count": 2 + }, + "typescript/unbound-method": { + "count": 11 + } + }, + "packages/sample-controllers/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/seedless-onboarding-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/seedless-onboarding-controller/src/SeedlessOnboardingController.test.ts": { + "no-undef": { + "count": 5 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 1 + }, + "typescript/unbound-method": { + "count": 17 + } + }, + "packages/seedless-onboarding-controller/src/SeedlessOnboardingController.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/seedless-onboarding-controller/src/utils.test.ts": { + "no-undef": { + "count": 2 + } + }, + "packages/seedless-onboarding-controller/tests/mocks/toprf.ts": { + "no-undef": { + "count": 5 + } + }, + "packages/seedless-onboarding-controller/tests/mocks/toprfEncryptor.ts": { + "no-undef": { + "count": 1 + } + }, + "packages/seedless-onboarding-controller/tests/mocks/utils.ts": { + "no-undef": { + "count": 2 + } + }, + "packages/seedless-onboarding-controller/tests/mocks/vaultEncryptor.ts": { + "no-undef": { + "count": 8 + } + }, + "packages/selected-network-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/selected-network-controller/src/SelectedNetworkController.ts": { + "typescript/explicit-function-return-type": { + "count": 4 + } + }, + "packages/selected-network-controller/src/SelectedNetworkMiddleware.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/selected-network-controller/tests/SelectedNetworkController.test.ts": { + "typescript/explicit-function-return-type": { + "count": 4 + }, + "typescript/unbound-method": { + "count": 4 + } + }, + "packages/selected-network-controller/tests/SelectedNetworkMiddleware.test.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/sentinel-api-service/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/sentinel-api-service/src/sentinel-api-service.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + } + }, + "packages/sentinel-api-service/src/types.ts": { + "id-length": { + "count": 2 + } + }, + "packages/shield-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/shield-controller/src/shield-api-service.test.ts": { + "no-undef": { + "count": 3 + } + }, + "packages/shield-controller/src/shield-api-service.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/shield-controller/tests/utils.ts": { + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/signature-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/signature-controller/src/SignatureController.test.ts": { + "typescript/explicit-function-return-type": { + "count": 5 + }, + "typescript/promise-function-async": { + "count": 3 + } + }, + "packages/signature-controller/src/SignatureController.ts": { + "no-case-declarations": { + "count": 3 + }, + "typescript/explicit-function-return-type": { + "count": 15 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 4 + }, + "typescript/prefer-nullish-coalescing": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/signature-controller/src/utils/decoding-api.test.ts": { + "no-undef": { + "count": 3 + }, + "typescript/explicit-function-return-type": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/signature-controller/src/utils/decoding-api.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/signature-controller/src/utils/delegations.test.ts": { + "typescript/unbound-method": { + "count": 1 + } + }, + "packages/signature-controller/src/utils/normalize.ts": { + "id-length": { + "count": 1 + }, + "no-undef": { + "count": 1 + }, + "no-unused-vars": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 2 + } + }, + "packages/signature-controller/src/utils/validation.test.ts": { + "typescript/explicit-function-return-type": { + "count": 2 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 2 + } + }, + "packages/signature-controller/src/utils/validation.ts": { + "id-length": { + "count": 2 + }, + "no-unused-vars": { + "count": 2 + }, + "radix": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 7 + }, + "typescript/no-base-to-string": { + "count": 1 + } + }, + "packages/smart-transactions-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/smart-transactions-controller/src/SmartTransactionsController.test.ts": { + "jsdoc/require-param": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 12 + } + }, + "packages/smart-transactions-controller/src/SmartTransactionsController.ts": { + "typescript/explicit-function-return-type": { + "count": 10 + }, + "typescript/no-floating-promises": { + "count": 4 + } + }, + "packages/smart-transactions-controller/src/featureFlags/feature-flags.ts": { + "id-length": { + "count": 1 + } + }, + "packages/smart-transactions-controller/src/selectors.ts": { + "typescript/explicit-function-return-type": { + "count": 2 + } + }, + "packages/smart-transactions-controller/src/utils.test.ts": { + "typescript/explicit-function-return-type": { + "count": 7 + } + }, + "packages/smart-transactions-controller/src/utils.ts": { + "jsdoc/require-param-description": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 10 + }, + "typescript/prefer-nullish-coalescing": { + "count": 1 + } + }, + "packages/smart-transactions-controller/tests/helpers.ts": { + "typescript/explicit-function-return-type": { + "count": 2 + } + }, + "packages/snap-account-service/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/snap-account-service/src/SnapAccountService.test.ts": { + "no-undef": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 11 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/snap-account-service/src/SnapAccountService.ts": { + "jsdoc/require-returns": { + "count": 1 + }, + "typescript/prefer-nullish-coalescing": { + "count": 1 + } + }, + "packages/snap-account-service/src/SnapPlatformWatcher.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/snap-account-service/src/SnapTracker.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 3 + } + }, + "packages/social-controllers/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/social-controllers/src/SocialService.test.ts": { + "no-undef": { + "count": 3 + }, + "typescript/promise-function-async": { + "count": 44 + } + }, + "packages/social-controllers/src/SocialService.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 9 + } + }, + "packages/solana-test-validator-up/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/solana-test-validator-up/src/bin/solana-test-validator-up.ts": { + "no-undef": { + "count": 3 + } + }, + "packages/solana-test-validator-up/src/install.test.ts": { + "no-undef": { + "count": 2 + } + }, + "packages/solana-test-validator-up/src/install.ts": { + "no-undef": { + "count": 4 + } + }, + "packages/stellar-quickstart-up/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/storage-service/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/storage-service/src/StorageService.test.ts": { + "typescript/promise-function-async": { + "count": 1 + }, + "typescript/unbound-method": { + "count": 8 + } + }, + "packages/subscription-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/subscription-controller/src/SubscriptionController.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/subscription-controller/src/SubscriptionController.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/subscription-controller/src/SubscriptionService-structs.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/subscription-controller/src/SubscriptionService.test.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/subscription-controller/src/types.ts": { + "no-redeclare": { + "count": 2 + } + }, + "packages/transaction-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/transaction-controller/src/TransactionController.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 4 + }, + "typescript/promise-function-async": { + "count": 6 + } + }, + "packages/transaction-controller/src/TransactionController.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + }, + "typescript/promise-function-async": { + "count": 19 + } + }, + "packages/transaction-controller/src/TransactionControllerIntegration.test.ts": { + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/transaction-controller/src/api/simulation-api.test.ts": { + "no-undef": { + "count": 1 + } + }, + "packages/transaction-controller/src/gas-flows/LineaGasFeeFlow.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + }, + "typescript/unbound-method": { + "count": 2 + } + }, + "packages/transaction-controller/src/gas-flows/LineaGasFeeFlow.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/transaction-controller/src/gas-flows/MantleLayer1GasFeeFlow.test.ts": { + "no-undef": { + "count": 8 + } + }, + "packages/transaction-controller/src/gas-flows/OracleLayer1GasFeeFlow.test.ts": { + "no-undef": { + "count": 4 + }, + "typescript/unbound-method": { + "count": 2 + } + }, + "packages/transaction-controller/src/gas-flows/OracleLayer1GasFeeFlow.ts": { + "no-undef": { + "count": 1 + } + }, + "packages/transaction-controller/src/gas-flows/RandomisedEstimationsGasFeeFlow.test.ts": { + "no-undef": { + "count": 8 + }, + "typescript/unbound-method": { + "count": 5 + } + }, + "packages/transaction-controller/src/helpers/GasFeePoller.ts": { + "typescript/promise-function-async": { + "count": 3 + } + }, + "packages/transaction-controller/src/helpers/MultichainTrackingHelper.test.ts": { + "typescript/promise-function-async": { + "count": 1 + }, + "typescript/unbound-method": { + "count": 2 + } + }, + "packages/transaction-controller/src/helpers/PendingTransactionTracker.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 3 + }, + "typescript/unbound-method": { + "count": 11 + } + }, + "packages/transaction-controller/src/helpers/PendingTransactionTracker.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/transaction-controller/src/helpers/TransactionPoller.test.ts": { + "typescript/unbound-method": { + "count": 4 + } + }, + "packages/transaction-controller/src/helpers/TransactionPoller.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/transaction-controller/src/hooks/CollectPublishHook.ts": { + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/transaction-controller/src/hooks/SequentialPublishBatchHook.test.ts": { + "typescript/unbound-method": { + "count": 15 + } + }, + "packages/transaction-controller/src/types.ts": { + "id-length": { + "count": 7 + } + }, + "packages/transaction-controller/src/utils/balance-changes.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/transaction-controller/src/utils/balance-changes.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 3 + } + }, + "packages/transaction-controller/src/utils/batch.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 5 + }, + "typescript/promise-function-async": { + "count": 5 + }, + "typescript/unbound-method": { + "count": 5 + } + }, + "packages/transaction-controller/src/utils/batch.ts": { + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/transaction-controller/src/utils/eip7702.ts": { + "id-length": { + "count": 2 + } + }, + "packages/transaction-controller/src/utils/feature-flags.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/transaction-controller/src/utils/first-time-interaction.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 8 + } + }, + "packages/transaction-controller/src/utils/first-time-interaction.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/transaction-controller/src/utils/gas-flow.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + } + }, + "packages/transaction-controller/src/utils/gas.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 5 + }, + "typescript/promise-function-async": { + "count": 1 + }, + "typescript/unbound-method": { + "count": 2 + } + }, + "packages/transaction-controller/src/utils/nonce.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 3 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/transaction-controller/src/utils/provider.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 4 + } + }, + "packages/transaction-controller/src/utils/provider.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/transaction-controller/src/utils/recipient.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/transaction-controller/src/utils/swaps.test.ts": { + "typescript/unbound-method": { + "count": 3 + } + }, + "packages/transaction-controller/src/utils/swaps.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/transaction-controller/src/utils/utils.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 3 + } + }, + "packages/transaction-controller/src/utils/utils.ts": { + "id-length": { + "count": 2 + } + }, + "packages/transaction-controller/src/utils/validation.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 4 + } + }, + "packages/transaction-pay-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/transaction-pay-controller/src/TransactionPayController.test.ts": { + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/transaction-pay-controller/src/TransactionPayController.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 5 + } + }, + "packages/transaction-pay-controller/src/helpers/TransactionPayPublishHook.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 5 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/transaction-pay-controller/src/strategy/across/AcrossStrategy.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 47 + } + }, + "packages/transaction-pay-controller/src/strategy/across/across-actions.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 6 + } + }, + "packages/transaction-pay-controller/src/strategy/across/across-actions.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/transaction-pay-controller/src/strategy/across/across-quotes.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 70 + } + }, + "packages/transaction-pay-controller/src/strategy/across/across-quotes.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/transaction-pay-controller/src/strategy/across/across-submit.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 53 + } + }, + "packages/transaction-pay-controller/src/strategy/across/across-submit.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/transaction-pay-controller/src/strategy/across/transactions.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 6 + } + }, + "packages/transaction-pay-controller/src/strategy/fiat/fiat-direct-musd.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/transaction-pay-controller/src/strategy/fiat/fiat-quotes.test.ts": { + "no-undef": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 4 + } + }, + "packages/transaction-pay-controller/src/strategy/fiat/fiat-quotes.ts": { + "jsdoc/check-tag-names": { + "count": 1 + } + }, + "packages/transaction-pay-controller/src/strategy/fiat/fiat-submit-simple.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + } + }, + "packages/transaction-pay-controller/src/strategy/fiat/fiat-submit-with-transaction-data.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 3 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/transaction-pay-controller/src/strategy/fiat/fiat-submit.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 9 + }, + "typescript/promise-function-async": { + "count": 5 + } + }, + "packages/transaction-pay-controller/src/strategy/fiat/fiat-submit.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/transaction-pay-controller/src/strategy/fiat/utils.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 3 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/transaction-pay-controller/src/strategy/relay/RelayStrategy.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + } + }, + "packages/transaction-pay-controller/src/strategy/relay/hyperliquid-activation.test.ts": { + "no-undef": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 11 + } + }, + "packages/transaction-pay-controller/src/strategy/relay/hyperliquid-withdraw.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + } + }, + "packages/transaction-pay-controller/src/strategy/relay/polymarket/withdraw.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + } + }, + "packages/transaction-pay-controller/src/strategy/relay/relay-api.test.ts": { + "no-undef": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 3 + } + }, + "packages/transaction-pay-controller/src/strategy/relay/relay-max-gas-station.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 3 + } + }, + "packages/transaction-pay-controller/src/strategy/relay/relay-quotes.test.ts": { + "no-undef": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 221 + } + }, + "packages/transaction-pay-controller/src/strategy/relay/relay-quotes.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + }, + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/transaction-pay-controller/src/strategy/relay/relay-submit-execute.test.ts": { + "no-undef": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 19 + } + }, + "packages/transaction-pay-controller/src/strategy/relay/relay-submit-execute.ts": { + "id-length": { + "count": 2 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/transaction-pay-controller/src/strategy/relay/relay-submit.test.ts": { + "no-undef": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 58 + }, + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/transaction-pay-controller/src/strategy/relay/relay-submit.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/transaction-pay-controller/src/strategy/relay/relay-validation.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 32 + } + }, + "packages/transaction-pay-controller/src/strategy/relay/relay-validation.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + } + }, + "packages/transaction-pay-controller/src/strategy/relay/types.ts": { + "id-length": { + "count": 4 + } + }, + "packages/transaction-pay-controller/src/strategy/server/server-api.test.ts": { + "no-undef": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 3 + } + }, + "packages/transaction-pay-controller/src/strategy/server/server-quotes.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 24 + } + }, + "packages/transaction-pay-controller/src/strategy/server/server-quotes.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/transaction-pay-controller/src/strategy/server/server-submit.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 25 + } + }, + "packages/transaction-pay-controller/src/strategy/server/server-submit.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 2 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/transaction-pay-controller/src/strategy/server/types.ts": { + "id-length": { + "count": 4 + } + }, + "packages/transaction-pay-controller/src/utils/feature-flags.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 4 + } + }, + "packages/transaction-pay-controller/src/utils/gas.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 20 + } + }, + "packages/transaction-pay-controller/src/utils/ma-vault-deposit.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 6 + }, + "typescript/promise-function-async": { + "count": 13 + } + }, + "packages/transaction-pay-controller/src/utils/ma-vault-deposit.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/transaction-pay-controller/src/utils/provider.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 10 + } + }, + "packages/transaction-pay-controller/src/utils/provider.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/transaction-pay-controller/src/utils/quote-gas.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 4 + } + }, + "packages/transaction-pay-controller/src/utils/quotes.test.ts": { + "id-length": { + "count": 5 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 23 + }, + "typescript/promise-function-async": { + "count": 9 + } + }, + "packages/transaction-pay-controller/src/utils/quotes.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 4 + } + }, + "packages/transaction-pay-controller/src/utils/required-tokens.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 4 + } + }, + "packages/transaction-pay-controller/src/utils/simulation.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 9 + } + }, + "packages/transaction-pay-controller/src/utils/simulation.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/transaction-pay-controller/src/utils/token.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 31 + } + }, + "packages/transaction-pay-controller/src/utils/token.ts": { + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/transaction-pay-controller/src/utils/transaction.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 51 + }, + "typescript/promise-function-async": { + "count": 5 + } + }, + "packages/transaction-pay-controller/src/utils/transaction.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/transaction-pay-controller/src/utils/validation.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 9 + } + }, + "packages/user-operation-controller/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/user-operation-controller/src/BlockTrackerPollingController.test.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/user-operation-controller/src/UserOperationController.test.ts": { + "no-new": { + "count": 1 + }, + "no-undef": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 6 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 1 + }, + "typescript/unbound-method": { + "count": 9 + } + }, + "packages/user-operation-controller/src/UserOperationController.ts": { + "id-length": { + "count": 3 + }, + "jsdoc/require-returns": { + "count": 2 + }, + "typescript/explicit-function-return-type": { + "count": 19 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 1 + }, + "typescript/prefer-promise-reject-errors": { + "count": 1 + } + }, + "packages/user-operation-controller/src/helpers/Bundler.test.ts": { + "jsdoc/require-returns": { + "count": 1 + }, + "no-undef": { + "count": 3 + }, + "typescript/explicit-function-return-type": { + "count": 2 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/user-operation-controller/src/helpers/Bundler.ts": { + "id-length": { + "count": 1 + }, + "typescript/prefer-nullish-coalescing": { + "count": 1 + } + }, + "packages/user-operation-controller/src/helpers/PendingUserOperationTracker.test.ts": { + "typescript/explicit-function-return-type": { + "count": 11 + }, + "typescript/unbound-method": { + "count": 4 + } + }, + "packages/user-operation-controller/src/helpers/PendingUserOperationTracker.ts": { + "id-length": { + "count": 3 + }, + "typescript/explicit-function-return-type": { + "count": 6 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/user-operation-controller/src/helpers/SnapSmartContractAccount.test.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/user-operation-controller/src/utils/gas-fees.ts": { + "typescript/explicit-function-return-type": { + "count": 5 + }, + "typescript/prefer-nullish-coalescing": { + "count": 2 + } + }, + "packages/user-operation-controller/src/utils/gas.test.ts": { + "typescript/explicit-function-return-type": { + "count": 2 + }, + "typescript/unbound-method": { + "count": 2 + } + }, + "packages/user-operation-controller/src/utils/gas.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/user-operation-controller/src/utils/transaction.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/user-operation-controller/src/utils/transaction.ts": { + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/user-operation-controller/src/utils/validation.test.ts": { + "id-length": { + "count": 2 + }, + "typescript/explicit-function-return-type": { + "count": 1 + } + }, + "packages/user-operation-controller/src/utils/validation.ts": { + "id-length": { + "count": 1 + }, + "typescript/explicit-function-return-type": { + "count": 8 + } + }, + "packages/utils/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/utils/src/bytes.test.ts": { + "no-undef": { + "count": 6 + } + }, + "packages/utils/src/bytes.ts": { + "no-undef": { + "count": 1 + } + }, + "packages/utils/src/errors.test.ts": { + "no-undef": { + "count": 3 + } + }, + "packages/utils/src/fs.ts": { + "jsdoc/require-returns": { + "count": 1 + } + }, + "packages/utils/src/json.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/utils/src/json.tst.ts": { + "id-length": { + "count": 2 + } + }, + "packages/utils/src/transaction-types.ts": { + "id-length": { + "count": 2 + } + }, + "packages/wallet-cli/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/wallet-cli/jest.config.e2e.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 3 + } + }, + "packages/wallet-cli/jest.environment.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 3 + }, + "node/global-require": { + "count": 1 + } + }, + "packages/wallet-cli/src/commands/daemon/call.test.ts": { + "no-undef": { + "count": 7 + }, + "prefer-promise-reject-errors": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/wallet-cli/src/commands/daemon/call.ts": { + "no-undef": { + "count": 2 + } + }, + "packages/wallet-cli/src/commands/daemon/list.test.ts": { + "no-undef": { + "count": 7 + }, + "prefer-promise-reject-errors": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/wallet-cli/src/commands/daemon/list.ts": { + "no-undef": { + "count": 2 + } + }, + "packages/wallet-cli/src/commands/daemon/status.test.ts": { + "prefer-promise-reject-errors": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/wallet-cli/src/commands/wallet/unlock.test.ts": { + "no-undef": { + "count": 18 + }, + "prefer-promise-reject-errors": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/wallet-cli/src/daemon/auto-approval.test.ts": { + "no-undef": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/wallet-cli/src/daemon/daemon-client.test.ts": { + "no-undef": { + "count": 3 + }, + "prefer-promise-reject-errors": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 1 + }, + "typescript/unbound-method": { + "count": 4 + } + }, + "packages/wallet-cli/src/daemon/daemon-entry.test.ts": { + "no-undef": { + "count": 50 + } + }, + "packages/wallet-cli/src/daemon/daemon-entry.ts": { + "no-undef": { + "count": 14 + } + }, + "packages/wallet-cli/src/daemon/daemon-spawn.test.ts": { + "no-undef": { + "count": 7 + }, + "typescript/unbound-method": { + "count": 2 + } + }, + "packages/wallet-cli/src/daemon/daemon-spawn.ts": { + "no-undef": { + "count": 5 + } + }, + "packages/wallet-cli/src/daemon/rpc-socket-server.test.ts": { + "no-undef": { + "count": 10 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 3 + }, + "typescript/unbound-method": { + "count": 4 + } + }, + "packages/wallet-cli/src/daemon/rpc-socket-server.ts": { + "no-undef": { + "count": 1 + } + }, + "packages/wallet-cli/src/daemon/send-transaction.test.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 14 + } + }, + "packages/wallet-cli/src/daemon/socket-line.test.ts": { + "id-length": { + "count": 2 + }, + "no-undef": { + "count": 5 + }, + "typescript/unbound-method": { + "count": 1 + } + }, + "packages/wallet-cli/src/daemon/socket.integration.test.ts": { + "no-undef": { + "count": 1 + } + }, + "packages/wallet-cli/src/daemon/stop-daemon.test.ts": { + "typescript/promise-function-async": { + "count": 2 + } + }, + "packages/wallet-cli/src/daemon/utils.test.ts": { + "no-undef": { + "count": 8 + } + }, + "packages/wallet-cli/src/daemon/utils.ts": { + "no-undef": { + "count": 2 + } + }, + "packages/wallet-cli/src/daemon/wallet-factory.integration.test.ts": { + "no-undef": { + "count": 1 + } + }, + "packages/wallet-cli/src/daemon/wallet-factory.test.ts": { + "typescript/promise-function-async": { + "count": 2 + }, + "typescript/unbound-method": { + "count": 15 + } + }, + "packages/wallet-cli/src/daemon/wallet-factory.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/wallet-cli/tests/helpers.ts": { + "no-undef": { + "count": 1 + } + }, + "packages/wallet-cli/tests/lifecycle.e2e.test.ts": { + "no-undef": { + "count": 3 + } + }, + "packages/wallet-cli/tests/wallet-send.e2e.test.ts": { + "no-undef": { + "count": 8 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/wallet-framework-docs/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/wallet-framework-docs/site/docusaurus.config.ts": { + "no-undef": { + "count": 1 + } + }, + "packages/wallet/jest.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "packages/wallet/src/Wallet.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/wallet/src/initialization/initialization.ts": { + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "packages/wallet/src/initialization/instances/approval-controller/approval-controller.test.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/wallet/src/initialization/instances/gas-fee-controller/gas-fee-controller.test.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "packages/wallet/src/initialization/instances/transaction-controller/transaction-controller.test.ts": { + "typescript/promise-function-async": { + "count": 1 + } + }, + "scripts/close-stale-release-prs.mts": { + "no-undef": { + "count": 2 + } + }, + "scripts/create-package/cli.test.ts": { + "no-shadow": { + "count": 1 + }, + "no-undef": { + "count": 2 + } + }, + "scripts/create-package/commands.test.ts": { + "no-shadow": { + "count": 1 + } + }, + "scripts/create-package/index.test.ts": { + "no-shadow": { + "count": 1 + }, + "no-undef": { + "count": 3 + } + }, + "scripts/create-package/index.ts": { + "no-undef": { + "count": 2 + } + }, + "scripts/create-package/utils.test.ts": { + "no-shadow": { + "count": 1 + } + }, + "scripts/create-package/utils.ts": { + "n/no-unsupported-features/node-builtins": { + "count": 1 + } + }, + "scripts/get-changed-workspaces.mts": { + "no-undef": { + "count": 1 + } + }, + "scripts/lib/changelog-conflicts.test.ts": { + "no-shadow": { + "count": 1 + } + }, + "scripts/lib/changelog-conflicts.ts": { + "n/no-unsupported-features/node-builtins": { + "count": 1 + }, + "typescript/no-unnecessary-type-assertion": { + "count": 1 + } + }, + "scripts/lib/workspaces.mts": { + "jsdoc/require-param": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "scripts/lint-teams-json.ts": { + "n/no-unsupported-features/node-builtins": { + "count": 1 + }, + "no-undef": { + "count": 2 + } + }, + "scripts/lint-tsconfigs/lint-tsconfigs.mts": { + "no-undef": { + "count": 3 + } + }, + "scripts/lint-tsconfigs/utils.mts": { + "n/no-unsupported-features/node-builtins": { + "count": 1 + } + }, + "scripts/manage-codeowners.ts": { + "n/hashbang": { + "count": 1 + }, + "no-undef": { + "count": 1 + } + }, + "scripts/manage-codeowners/main.ts": { + "n/no-unsupported-features/node-builtins": { + "count": 1 + }, + "no-undef": { + "count": 2 + } + }, + "scripts/merge-changelog-conflicts.test.ts": { + "no-shadow": { + "count": 1 + }, + "no-undef": { + "count": 5 + } + }, + "scripts/merge-changelog-conflicts.ts": { + "no-undef": { + "count": 2 + } + }, + "scripts/update-readme-content.ts": { + "n/hashbang": { + "count": 1 + }, + "n/no-unsupported-features/node-builtins": { + "count": 1 + }, + "no-undef": { + "count": 3 + } + }, + "tests/helpers.ts": { + "id-length": { + "count": 1 + } + }, + "tests/scripts-setup.ts": { + "jest/require-top-level-describe": { + "count": 1 + }, + "no-undef": { + "count": 3 + } + }, + "tests/setupAfterEnv/matchers.ts": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 1 + }, + "typescript/promise-function-async": { + "count": 1 + } + }, + "tests/setupAfterEnv/nock.ts": { + "jest/require-top-level-describe": { + "count": 2 + } + }, + "types/@metamask/contract-metadata.d.ts": { + "import/unambiguous": { + "count": 1 + } + }, + "types/@metamask/eth-json-rpc-filters.d.ts": { + "import/unambiguous": { + "count": 1 + } + }, + "types/@metamask/ethjs-provider-http.d.ts": { + "import/unambiguous": { + "count": 1 + } + }, + "types/@metamask/ethjs-unit.d.ts": { + "import/unambiguous": { + "count": 1 + } + }, + "types/@metamask/metamask-eth-abis.d.ts": { + "import/unambiguous": { + "count": 1 + } + }, + "types/eth-chainlist.d.ts": { + "import/unambiguous": { + "count": 1 + } + }, + "types/eth-ens-namehash.d.ts": { + "import/unambiguous": { + "count": 1 + } + }, + "types/eth-json-rpc-infura/src/createProvider.d.ts": { + "import/unambiguous": { + "count": 1 + } + }, + "types/ethereum-ens-network-map.d.ts": { + "import/unambiguous": { + "count": 1 + } + }, + "types/ethjs-query.d.ts": { + "import/unambiguous": { + "count": 1 + } + }, + "types/global.d.ts": { + "id-length": { + "count": 1 + }, + "import/unambiguous": { + "count": 1 + } + }, + "types/psl.d.ts": { + "import/unambiguous": { + "count": 1 + } + }, + "types/single-call-balance-checker-abi.d.ts": { + "import/unambiguous": { + "count": 1 + } + }, + "yarn.config.cjs": { + "import/unambiguous": { + "count": 1 + }, + "no-undef": { + "count": 10 + } + } +} diff --git a/oxlint.config.ts b/oxlint.config.ts new file mode 100644 index 00000000000..3a64d0e5670 --- /dev/null +++ b/oxlint.config.ts @@ -0,0 +1,56 @@ +import base, { createConfig } from '@metamask/oxlint-config'; +import jest from '@metamask/oxlint-config-jest'; +import nodejs from '@metamask/oxlint-config-nodejs'; +import typescript from '@metamask/oxlint-config-typescript'; + +export default createConfig({ + ignorePatterns: ['.yarn'], + extends: [base], + + options: { + typeAware: true, + }, + + overrides: [ + { + files: ['**/*.ts', '**/*.mts', '**/*.cts'], + extends: [typescript], + }, + + { + files: [ + '.github/**', + 'yarn.config.cjs', + 'packages/bitcoin-regtest-up/**', + 'packages/local-node-utils/**', + 'packages/foundryup/**', + 'packages/java-tron-up/**', + 'packages/messenger-cli/**', + 'packages/platform-api-docs/**', + 'packages/wallet-cli/**', + '**/scripts/**', + ], + extends: [nodejs], + rules: { + 'node/no-sync': 'off', + 'node/no-process-env': 'off', + }, + }, + + { + files: [ + 'packages/*/jest.config.cjs', + 'packages/*/jest.config.e2e.cjs', + 'packages/*/jest.environment.cjs', + '**/*.test.ts', + '**/test/**', + '**/tests/**', + ], + extends: [nodejs, jest], + rules: { + 'node/no-sync': 'off', + 'node/no-process-env': 'off', + }, + }, + ], +}); diff --git a/package.json b/package.json index 922fda41351..191a5c6fdd5 100644 --- a/package.json +++ b/package.json @@ -29,13 +29,13 @@ "docs:platform-api:build": "yarn workspace @metamask/platform-api-docs cli ../.. --build --project-label Core", "docs:platform-api:dev": "yarn workspace @metamask/platform-api-docs cli ../.. --dev --project-label Core", "docs:platform-api:serve": "yarn workspace @metamask/platform-api-docs cli ../.. --serve --project-label Core", - "lint": "yarn lint:tsc && 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 && yarn codeowners:check", + "lint": "yarn lint:tsc && yarn lint:oxlint && 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 && yarn codeowners:check", "lint:dependencies": "knip --config knip.config.mts --dependencies && yarn dedupe --check", "lint:dependencies:fix": "knip --config knip.config.mts --dependencies && yarn dedupe", - "lint:eslint": "yarn build:only-clean && NODE_OPTIONS='--max-old-space-size=10240' 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 && yarn codeowners:generate", + "lint:fix": "yarn lint:oxlint --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 codeowners:generate", "lint:misc": "oxfmt --ignore-path .gitignore", "lint:misc:check": "yarn lint:misc --check", + "lint:oxlint": "oxlint", "lint:teams": "tsx scripts/lint-teams-json.ts", "lint:tsc": "tsc --build tsconfig.lint.json", "lint:tsc:clean": "yarn lint:tsc:only-clean && yarn lint:tsc", @@ -70,19 +70,17 @@ "@lavamoat/preinstall-always-fail": "^2.1.0", "@metamask/auto-changelog": "^6.1.0", "@metamask/create-release-branch": "^4.2.2", - "@metamask/eslint-config": "^15.0.0", - "@metamask/eslint-config-jest": "^15.0.0", - "@metamask/eslint-config-nodejs": "^15.0.0", - "@metamask/eslint-config-typescript": "^15.0.0", "@metamask/network-controller": "^37.0.0", + "@metamask/oxlint-config": "npm:@metamask-previews/oxlint-config@0.0.0-preview-ffe49c0", + "@metamask/oxlint-config-jest": "npm:@metamask-previews/oxlint-config-jest@0.0.0-preview-ffe49c0", + "@metamask/oxlint-config-nodejs": "npm:@metamask-previews/oxlint-config-nodejs@0.0.0-preview-ffe49c0", + "@metamask/oxlint-config-typescript": "npm:@metamask-previews/oxlint-config-typescript@0.0.0-preview-ffe49c0", "@metamask/skills": "^0.1.0", "@metamask/utils": "^12.0.0", "@types/jest": "^30.0.0", "@types/lodash": "^4.17.20", "@types/node": "^22.13.14", "@types/semver": "^7", - "@typescript-eslint/eslint-plugin": "^8.48.0", - "@typescript-eslint/parser": "^8.48.0", "@typescript/native": "npm:typescript@^7.0.2", "@yarnpkg/cli": "^4.17.1", "@yarnpkg/core": "^4.9.0", @@ -91,15 +89,7 @@ "@yarnpkg/types": "^4.0.0", "bats": "^1.13.0", "comment-json": "^4.5.1", - "eslint": "^9.39.1", - "eslint-config-prettier": "^9.1.0", - "eslint-import-resolver-typescript": "^3.6.3", - "eslint-plugin-import-x": "^4.3.0", - "eslint-plugin-jest": "^28.8.3", - "eslint-plugin-jsdoc": "^50.2.4", - "eslint-plugin-n": "^17.10.3", - "eslint-plugin-prettier": "^5.2.1", - "eslint-plugin-promise": "^7.1.0", + "eslint-plugin-n": "^18.3.0", "execa": "^5.0.0", "isomorphic-fetch": "^3.0.0", "jest": "^30.4.2", @@ -108,6 +98,8 @@ "lodash": "^4.17.21", "nock": "^13.3.1", "oxfmt": "^0.44.0", + "oxlint": "^1.81.0", + "oxlint-tsgolint": "^7.0.2001", "prettier": "^3.3.3", "rimraf": "^5.0.5", "semver": "^7.6.3", @@ -115,7 +107,6 @@ "ts-jest": "^29.4.11", "tsx": "^4.20.5", "typescript": "npm:@typescript/typescript6@^6.0.2", - "typescript-eslint": "^8.48.0", "uuid": "^9.0.1", "yargs": "^17.7.2" }, @@ -139,7 +130,6 @@ "@keystonehq/bc-ur-registry-eth>hdkey>secp256k1": true, "@lavamoat/preinstall-always-fail": false, "babel-runtime>core-js": false, - "eslint-plugin-import-x>unrs-resolver": false, "simple-git-hooks": false, "tsx>esbuild": false, "jest>@jest/core>jest-resolve>unrs-resolver": false, diff --git a/yarn.lock b/yarn.lock index 21d27327d53..f552578051a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3295,17 +3295,6 @@ __metadata: languageName: node linkType: hard -"@es-joy/jsdoccomment@npm:~0.49.0": - version: 0.49.0 - resolution: "@es-joy/jsdoccomment@npm:0.49.0" - dependencies: - comment-parser: "npm:1.4.1" - esquery: "npm:^1.6.0" - jsdoc-type-pratt-parser: "npm:~4.1.0" - checksum: 10/d767cef9b09f22d1892b8bd544eee32aa7b55c585edf6b51452e6f377f205b06f46bd319174022f75794d39625b4b0f8ce75c8a4ea0b7fd0f773063506e0ef4d - languageName: node - linkType: hard - "@esbuild/aix-ppc64@npm:0.25.9": version: 0.25.9 resolution: "@esbuild/aix-ppc64@npm:0.25.9" @@ -3488,94 +3477,24 @@ __metadata: languageName: node linkType: hard -"@eslint-community/eslint-utils@npm:^4.1.2, @eslint-community/eslint-utils@npm:^4.4.0, @eslint-community/eslint-utils@npm:^4.4.1, @eslint-community/eslint-utils@npm:^4.8.0, @eslint-community/eslint-utils@npm:^4.9.1": - version: 4.9.1 - resolution: "@eslint-community/eslint-utils@npm:4.9.1" +"@eslint-community/eslint-utils@npm:^4.1.2, @eslint-community/eslint-utils@npm:^4.5.0": + version: 4.10.1 + resolution: "@eslint-community/eslint-utils@npm:4.10.1" dependencies: eslint-visitor-keys: "npm:^3.4.3" peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - checksum: 10/863b5467868551c9ae34d03eefe634633d08f623fc7b19d860f8f26eb6f303c1a5934253124163bee96181e45ed22bf27473dccc295937c3078493a4a8c9eddd + checksum: 10/61059b9f0192df5a86c441c03e0eedbda8c3810bb788775839afe4c5ec6bbdaa6433ac18001046b319390552435da3f6b8f5e18cca255993b3df37fe97a42b90 languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.11.0, @eslint-community/regexpp@npm:^4.12.1, @eslint-community/regexpp@npm:^4.12.2": +"@eslint-community/regexpp@npm:^4.11.0": version: 4.12.2 resolution: "@eslint-community/regexpp@npm:4.12.2" checksum: 10/049b280fddf71dd325514e0a520024969431dc3a8b02fa77476e6820e9122f28ab4c9168c11821f91a27982d2453bcd7a66193356ea84e84fb7c8d793be1ba0c languageName: node linkType: hard -"@eslint/config-array@npm:^0.21.1": - version: 0.21.1 - resolution: "@eslint/config-array@npm:0.21.1" - dependencies: - "@eslint/object-schema": "npm:^2.1.7" - debug: "npm:^4.3.1" - minimatch: "npm:^3.1.2" - checksum: 10/6eaa0435972f735ce52d581f355a0b616e50a9b8a73304a7015398096e252798b9b3b968a67b524eefb0fdeacc57c4d960f0ec6432abe1c1e24be815b88c5d18 - languageName: node - linkType: hard - -"@eslint/config-helpers@npm:^0.4.2": - version: 0.4.2 - resolution: "@eslint/config-helpers@npm:0.4.2" - dependencies: - "@eslint/core": "npm:^0.17.0" - checksum: 10/3f2b4712d8e391c36ec98bc200f7dea423dfe518e42956569666831b89ede83b33120c761dfd3ab6347d8e8894a6d4af47254a18d464a71c6046fd88065f6daf - languageName: node - linkType: hard - -"@eslint/core@npm:^0.17.0": - version: 0.17.0 - resolution: "@eslint/core@npm:0.17.0" - dependencies: - "@types/json-schema": "npm:^7.0.15" - checksum: 10/f9a428cc651ec15fb60d7d60c2a7bacad4666e12508320eafa98258e976fafaa77d7be7be91519e75f801f15f830105420b14a458d4aab121a2b0a59bc43517b - languageName: node - linkType: hard - -"@eslint/eslintrc@npm:^3.3.1": - version: 3.3.1 - resolution: "@eslint/eslintrc@npm:3.3.1" - dependencies: - ajv: "npm:^6.12.4" - debug: "npm:^4.3.2" - espree: "npm:^10.0.1" - globals: "npm:^14.0.0" - ignore: "npm:^5.2.0" - import-fresh: "npm:^3.2.1" - js-yaml: "npm:^4.1.0" - minimatch: "npm:^3.1.2" - strip-json-comments: "npm:^3.1.1" - checksum: 10/cc240addbab3c5fceaa65b2c8d5d4fd77ddbbf472c2f74f0270b9d33263dc9116840b6099c46b64c9680301146250439b044ed79278a1bcc557da412a4e3c1bb - languageName: node - linkType: hard - -"@eslint/js@npm:9.39.1, @eslint/js@npm:^9.11.0": - version: 9.39.1 - resolution: "@eslint/js@npm:9.39.1" - checksum: 10/b10b9b953212c0f3ffca475159bbe519e9e98847200c7432d1637d444fddcd7b712d2b7710a7dc20510f9cfbe8db330039b2aad09cb55d9545b116d940dbeed2 - languageName: node - linkType: hard - -"@eslint/object-schema@npm:^2.1.7": - version: 2.1.7 - resolution: "@eslint/object-schema@npm:2.1.7" - checksum: 10/946ef5d6235b4d1c0907c6c6e6429c8895f535380c562b7705c131f63f2e961b06e8785043c86a293da48e0a60c6286d98ba395b8b32ea55561fe6e4417cb7e4 - languageName: node - linkType: hard - -"@eslint/plugin-kit@npm:^0.4.1": - version: 0.4.1 - resolution: "@eslint/plugin-kit@npm:0.4.1" - dependencies: - "@eslint/core": "npm:^0.17.0" - levn: "npm:^0.4.1" - checksum: 10/c5947d0ffeddca77d996ac1b886a66060c1a15ed1d5e425d0c7e7d7044a4bd3813fc968892d03950a7831c9b89368a2f7b281e45dd3c74a048962b74bf3a1cb4 - languageName: node - linkType: hard - "@ethereumjs/common@npm:^3.2.0": version: 3.2.0 resolution: "@ethereumjs/common@npm:3.2.0" @@ -4613,44 +4532,6 @@ __metadata: languageName: node linkType: hard -"@humanfs/core@npm:^0.19.1": - version: 0.19.1 - resolution: "@humanfs/core@npm:0.19.1" - checksum: 10/270d936be483ab5921702623bc74ce394bf12abbf57d9145a69e8a0d1c87eb1c768bd2d93af16c5705041e257e6d9cc7529311f63a1349f3678abc776fc28523 - languageName: node - linkType: hard - -"@humanfs/node@npm:^0.16.6": - version: 0.16.6 - resolution: "@humanfs/node@npm:0.16.6" - dependencies: - "@humanfs/core": "npm:^0.19.1" - "@humanwhocodes/retry": "npm:^0.3.0" - checksum: 10/6d43c6727463772d05610aa05c83dab2bfbe78291022ee7a92cb50999910b8c720c76cc312822e2dea2b497aa1b3fef5fe9f68803fc45c9d4ed105874a65e339 - languageName: node - linkType: hard - -"@humanwhocodes/module-importer@npm:^1.0.1": - version: 1.0.1 - resolution: "@humanwhocodes/module-importer@npm:1.0.1" - checksum: 10/e993950e346331e5a32eefb27948ecdee2a2c4ab3f072b8f566cd213ef485dd50a3ca497050608db91006f5479e43f91a439aef68d2a313bd3ded06909c7c5b3 - languageName: node - linkType: hard - -"@humanwhocodes/retry@npm:^0.3.0": - version: 0.3.1 - resolution: "@humanwhocodes/retry@npm:0.3.1" - checksum: 10/eb457f699529de7f07649679ec9e0353055eebe443c2efe71c6dd950258892475a038e13c6a8c5e13ed1fb538cdd0a8794faa96b24b6ffc4c87fb1fc9f70ad7f - languageName: node - linkType: hard - -"@humanwhocodes/retry@npm:^0.4.2": - version: 0.4.3 - resolution: "@humanwhocodes/retry@npm:0.4.3" - checksum: 10/0b32cfd362bea7a30fbf80bb38dcaf77fee9c2cae477ee80b460871d03590110ac9c77d654f04ec5beaf71b6f6a89851bdf6c1e34ccdf2f686bd86fcd97d9e61 - languageName: node - linkType: hard - "@inquirer/ansi@npm:^2.0.7": version: 2.0.7 resolution: "@inquirer/ansi@npm:2.0.7" @@ -6593,19 +6474,17 @@ __metadata: "@lavamoat/preinstall-always-fail": "npm:^2.1.0" "@metamask/auto-changelog": "npm:^6.1.0" "@metamask/create-release-branch": "npm:^4.2.2" - "@metamask/eslint-config": "npm:^15.0.0" - "@metamask/eslint-config-jest": "npm:^15.0.0" - "@metamask/eslint-config-nodejs": "npm:^15.0.0" - "@metamask/eslint-config-typescript": "npm:^15.0.0" "@metamask/network-controller": "npm:^37.0.0" + "@metamask/oxlint-config": "npm:@metamask-previews/oxlint-config@0.0.0-preview-ffe49c0" + "@metamask/oxlint-config-jest": "npm:@metamask-previews/oxlint-config-jest@0.0.0-preview-ffe49c0" + "@metamask/oxlint-config-nodejs": "npm:@metamask-previews/oxlint-config-nodejs@0.0.0-preview-ffe49c0" + "@metamask/oxlint-config-typescript": "npm:@metamask-previews/oxlint-config-typescript@0.0.0-preview-ffe49c0" "@metamask/skills": "npm:^0.1.0" "@metamask/utils": "npm:^12.0.0" "@types/jest": "npm:^30.0.0" "@types/lodash": "npm:^4.17.20" "@types/node": "npm:^22.13.14" "@types/semver": "npm:^7" - "@typescript-eslint/eslint-plugin": "npm:^8.48.0" - "@typescript-eslint/parser": "npm:^8.48.0" "@typescript/native": "npm:typescript@^7.0.2" "@yarnpkg/cli": "npm:^4.17.1" "@yarnpkg/core": "npm:^4.9.0" @@ -6614,15 +6493,7 @@ __metadata: "@yarnpkg/types": "npm:^4.0.0" bats: "npm:^1.13.0" comment-json: "npm:^4.5.1" - eslint: "npm:^9.39.1" - eslint-config-prettier: "npm:^9.1.0" - eslint-import-resolver-typescript: "npm:^3.6.3" - eslint-plugin-import-x: "npm:^4.3.0" - eslint-plugin-jest: "npm:^28.8.3" - eslint-plugin-jsdoc: "npm:^50.2.4" - eslint-plugin-n: "npm:^17.10.3" - eslint-plugin-prettier: "npm:^5.2.1" - eslint-plugin-promise: "npm:^7.1.0" + eslint-plugin-n: "npm:^18.3.0" execa: "npm:^5.0.0" isomorphic-fetch: "npm:^3.0.0" jest: "npm:^30.4.2" @@ -6631,6 +6502,8 @@ __metadata: lodash: "npm:^4.17.21" nock: "npm:^13.3.1" oxfmt: "npm:^0.44.0" + oxlint: "npm:^1.81.0" + oxlint-tsgolint: "npm:^7.0.2001" prettier: "npm:^3.3.3" rimraf: "npm:^5.0.5" semver: "npm:^7.6.3" @@ -6638,7 +6511,6 @@ __metadata: ts-jest: "npm:^29.4.11" tsx: "npm:^4.20.5" typescript: "npm:@typescript/typescript6@^6.0.2" - typescript-eslint: "npm:^8.48.0" uuid: "npm:^9.0.1" yargs: "npm:^17.7.2" languageName: unknown @@ -6837,69 +6709,6 @@ __metadata: languageName: unknown linkType: soft -"@metamask/eslint-config-jest@npm:^15.0.0": - version: 15.0.0 - resolution: "@metamask/eslint-config-jest@npm:15.0.0" - dependencies: - "@eslint/js": "npm:^9.11.0" - globals: "npm:^15.9.0" - peerDependencies: - "@metamask/eslint-config": ^15.0.0 - eslint: ^9.11.0 - eslint-plugin-jest: ^28.8.3 - checksum: 10/4728c6b80bed48b9e369ed538de2a1f099a74825f08e7a1c0c5df53901905ce6d54fb7c77da4454ed640af7fd873845ab0f084a4f370fe26ccb4455e683e6bba - languageName: node - linkType: hard - -"@metamask/eslint-config-nodejs@npm:^15.0.0": - version: 15.0.0 - resolution: "@metamask/eslint-config-nodejs@npm:15.0.0" - dependencies: - "@eslint/js": "npm:^9.11.0" - globals: "npm:^15.9.0" - peerDependencies: - "@metamask/eslint-config": ^15.0.0 - eslint: ^9.11.0 - eslint-plugin-n: ^17.10.3 - checksum: 10/541a2df5a21e3e73abd8b5b175fd2c3604bfa8694d7e8e7e48891f01d38396267f1cf92cb88cb181ddd7931dee3c7bf39de59d2cb1f30971a245551d575674a1 - languageName: node - linkType: hard - -"@metamask/eslint-config-typescript@npm:^15.0.0": - version: 15.0.0 - resolution: "@metamask/eslint-config-typescript@npm:15.0.0" - dependencies: - "@eslint/js": "npm:^9.11.0" - peerDependencies: - "@metamask/eslint-config": ^15.0.0 - eslint: ^9.11.0 - eslint-import-resolver-typescript: ^3.6.3 - eslint-plugin-import-x: ^4.3.0 - eslint-plugin-jsdoc: ^50.2.4 - typescript: ">=4.8.4 <6" - typescript-eslint: ^8.39.0 - checksum: 10/5ff44e8970a67f87da92a65b8478d22374713ca94feb671ba462b87441ae8b47e427857b363b79b50e6078856c0f482c3965de7f2ee38fe0b40f8f4e27891540 - languageName: node - linkType: hard - -"@metamask/eslint-config@npm:^15.0.0": - version: 15.0.0 - resolution: "@metamask/eslint-config@npm:15.0.0" - dependencies: - "@eslint/js": "npm:^9.11.0" - globals: "npm:^15.9.0" - peerDependencies: - eslint: ^9.11.0 - eslint-config-prettier: ^9.1.0 - eslint-plugin-import-x: ^4.3.0 - eslint-plugin-jsdoc: ^50.2.4 - eslint-plugin-prettier: ^5.2.1 - eslint-plugin-promise: ^7.1.0 - prettier: ^3.3.3 - checksum: 10/93eb41bd61f3f4a0cf930a3d83e8893455f4f03339e91b21ef5a2835d24532db7c2916138a3e1b64777b5fb95cbe4ac90107697ac6f962c11ea7a99955cc75e4 - languageName: node - linkType: hard - "@metamask/eth-block-tracker@npm:^16.0.0, @metamask/eth-block-tracker@workspace:packages/eth-block-tracker": version: 0.0.0-use.local resolution: "@metamask/eth-block-tracker@workspace:packages/eth-block-tracker" @@ -8313,6 +8122,49 @@ __metadata: languageName: node linkType: hard +"@metamask/oxlint-config-jest@npm:@metamask-previews/oxlint-config-jest@0.0.0-preview-ffe49c0": + version: 0.0.0-preview-ffe49c0 + resolution: "@metamask-previews/oxlint-config-jest@npm:0.0.0-preview-ffe49c0" + peerDependencies: + "@metamask/oxlint-config": ^0.0.0 + oxlint: ^1.82.0 + checksum: 10/44f78da7499716e20cc75baeb548992a3e89336a53106a18d3dca709246e63f4f0bbcdff238be02aa5ea4e9d547ce110f0d14780f9f1435f3b32415af48f7c79 + languageName: node + linkType: hard + +"@metamask/oxlint-config-nodejs@npm:@metamask-previews/oxlint-config-nodejs@0.0.0-preview-ffe49c0": + version: 0.0.0-preview-ffe49c0 + resolution: "@metamask-previews/oxlint-config-nodejs@npm:0.0.0-preview-ffe49c0" + peerDependencies: + "@metamask/oxlint-config": ^0.0.0 + eslint-plugin-n: ^18.3.0 + oxlint: ^1.82.0 + checksum: 10/e3ac87cefdb8472801f8604451b40106955951240c97d22dc664201dc3d935c0d761006a16bee9b74c23bdc06af46eee138ecb0a7be1447d1e5be4a0d8b9e131 + languageName: node + linkType: hard + +"@metamask/oxlint-config-typescript@npm:@metamask-previews/oxlint-config-typescript@0.0.0-preview-ffe49c0": + version: 0.0.0-preview-ffe49c0 + resolution: "@metamask-previews/oxlint-config-typescript@npm:0.0.0-preview-ffe49c0" + peerDependencies: + "@metamask/oxlint-config": ^0.0.0 + oxlint: ^1.82.0 + oxlint-tsgolint: ^7.0.2001 + checksum: 10/5a4159c190d54e63483576b052b462bafcfbb9f0bdea2e1e4483816f47435104961d82358e218e44cf133a84820f1ab63ae1e2052fa456ca8e256f35a98c0d45 + languageName: node + linkType: hard + +"@metamask/oxlint-config@npm:@metamask-previews/oxlint-config@0.0.0-preview-ffe49c0": + version: 0.0.0-preview-ffe49c0 + resolution: "@metamask-previews/oxlint-config@npm:0.0.0-preview-ffe49c0" + dependencies: + deepmerge: "npm:^4.3.1" + peerDependencies: + oxlint: ^1.82.0 + checksum: 10/0f597e9e101b68b30035125d4d02f310a624c429942ade88bb8ff2acb62a69efaabff08ce8af01b79781374a1acf0d3a0f0796eef36cc84dda5cb1959d439a2c + languageName: node + linkType: hard + "@metamask/package-template@workspace:packages/package-template": version: 0.0.0-use.local resolution: "@metamask/package-template@workspace:packages/package-template" @@ -10016,13 +9868,6 @@ __metadata: languageName: node linkType: hard -"@nolyfill/is-core-module@npm:1.0.39": - version: 1.0.39 - resolution: "@nolyfill/is-core-module@npm:1.0.39" - checksum: 10/0d6e098b871eca71d875651288e1f0fa770a63478b0b50479c99dc760c64175a56b5b04f58d5581bbcc6b552b8191ab415eada093d8df9597ab3423c8cac1815 - languageName: node - linkType: hard - "@npmcli/agent@npm:^2.0.0": version: 2.2.2 resolution: "@npmcli/agent@npm:2.2.2" @@ -10830,6 +10675,181 @@ __metadata: languageName: node linkType: hard +"@oxlint-tsgolint/darwin-arm64@npm:7.0.2001": + version: 7.0.2001 + resolution: "@oxlint-tsgolint/darwin-arm64@npm:7.0.2001" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@oxlint-tsgolint/darwin-x64@npm:7.0.2001": + version: 7.0.2001 + resolution: "@oxlint-tsgolint/darwin-x64@npm:7.0.2001" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@oxlint-tsgolint/linux-arm64@npm:7.0.2001": + version: 7.0.2001 + resolution: "@oxlint-tsgolint/linux-arm64@npm:7.0.2001" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@oxlint-tsgolint/linux-x64@npm:7.0.2001": + version: 7.0.2001 + resolution: "@oxlint-tsgolint/linux-x64@npm:7.0.2001" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@oxlint-tsgolint/win32-arm64@npm:7.0.2001": + version: 7.0.2001 + resolution: "@oxlint-tsgolint/win32-arm64@npm:7.0.2001" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@oxlint-tsgolint/win32-x64@npm:7.0.2001": + version: 7.0.2001 + resolution: "@oxlint-tsgolint/win32-x64@npm:7.0.2001" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@oxlint/binding-android-arm-eabi@npm:1.81.0": + version: 1.81.0 + resolution: "@oxlint/binding-android-arm-eabi@npm:1.81.0" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@oxlint/binding-android-arm64@npm:1.81.0": + version: 1.81.0 + resolution: "@oxlint/binding-android-arm64@npm:1.81.0" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@oxlint/binding-darwin-arm64@npm:1.81.0": + version: 1.81.0 + resolution: "@oxlint/binding-darwin-arm64@npm:1.81.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@oxlint/binding-darwin-x64@npm:1.81.0": + version: 1.81.0 + resolution: "@oxlint/binding-darwin-x64@npm:1.81.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@oxlint/binding-freebsd-x64@npm:1.81.0": + version: 1.81.0 + resolution: "@oxlint/binding-freebsd-x64@npm:1.81.0" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@oxlint/binding-linux-arm-gnueabihf@npm:1.81.0": + version: 1.81.0 + resolution: "@oxlint/binding-linux-arm-gnueabihf@npm:1.81.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@oxlint/binding-linux-arm-musleabihf@npm:1.81.0": + version: 1.81.0 + resolution: "@oxlint/binding-linux-arm-musleabihf@npm:1.81.0" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@oxlint/binding-linux-arm64-gnu@npm:1.81.0": + version: 1.81.0 + resolution: "@oxlint/binding-linux-arm64-gnu@npm:1.81.0" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@oxlint/binding-linux-arm64-musl@npm:1.81.0": + version: 1.81.0 + resolution: "@oxlint/binding-linux-arm64-musl@npm:1.81.0" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@oxlint/binding-linux-ppc64-gnu@npm:1.81.0": + version: 1.81.0 + resolution: "@oxlint/binding-linux-ppc64-gnu@npm:1.81.0" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@oxlint/binding-linux-riscv64-gnu@npm:1.81.0": + version: 1.81.0 + resolution: "@oxlint/binding-linux-riscv64-gnu@npm:1.81.0" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@oxlint/binding-linux-riscv64-musl@npm:1.81.0": + version: 1.81.0 + resolution: "@oxlint/binding-linux-riscv64-musl@npm:1.81.0" + conditions: os=linux & cpu=riscv64 & libc=musl + languageName: node + linkType: hard + +"@oxlint/binding-linux-s390x-gnu@npm:1.81.0": + version: 1.81.0 + resolution: "@oxlint/binding-linux-s390x-gnu@npm:1.81.0" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@oxlint/binding-linux-x64-gnu@npm:1.81.0": + version: 1.81.0 + resolution: "@oxlint/binding-linux-x64-gnu@npm:1.81.0" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@oxlint/binding-linux-x64-musl@npm:1.81.0": + version: 1.81.0 + resolution: "@oxlint/binding-linux-x64-musl@npm:1.81.0" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@oxlint/binding-openharmony-arm64@npm:1.81.0": + version: 1.81.0 + resolution: "@oxlint/binding-openharmony-arm64@npm:1.81.0" + conditions: os=openharmony & cpu=arm64 + languageName: node + linkType: hard + +"@oxlint/binding-win32-arm64-msvc@npm:1.81.0": + version: 1.81.0 + resolution: "@oxlint/binding-win32-arm64-msvc@npm:1.81.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@oxlint/binding-win32-ia32-msvc@npm:1.81.0": + version: 1.81.0 + resolution: "@oxlint/binding-win32-ia32-msvc@npm:1.81.0" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@oxlint/binding-win32-x64-msvc@npm:1.81.0": + version: 1.81.0 + resolution: "@oxlint/binding-win32-x64-msvc@npm:1.81.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@peculiar/asn1-cms@npm:^2.6.0, @peculiar/asn1-cms@npm:^2.7.0": version: 2.7.0 resolution: "@peculiar/asn1-cms@npm:2.7.0" @@ -10991,13 +11011,6 @@ __metadata: languageName: node linkType: hard -"@pkgr/core@npm:^0.1.0": - version: 0.1.1 - resolution: "@pkgr/core@npm:0.1.1" - checksum: 10/6f25fd2e3008f259c77207ac9915b02f1628420403b2630c92a07ff963129238c9262afc9e84344c7a23b5cc1f3965e2cd17e3798219f5fd78a63d144d3cceba - languageName: node - linkType: hard - "@pkgr/core@npm:^0.2.9": version: 0.2.9 resolution: "@pkgr/core@npm:0.2.9" @@ -11850,13 +11863,6 @@ __metadata: languageName: node linkType: hard -"@types/doctrine@npm:^0.0.9": - version: 0.0.9 - resolution: "@types/doctrine@npm:0.0.9" - checksum: 10/64ef06e6eea2f4f9684d259fedbcb8bf21c954630b96ea2e04875ca42763552b0ba3b01b3dd27ec0f9ea6f8b3b0dba4965d31d5a925cd4c6225fd13a93ae9354 - languageName: node - linkType: hard - "@types/elliptic@npm:^6": version: 6.4.18 resolution: "@types/elliptic@npm:6.4.18" @@ -11892,7 +11898,7 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:*, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6, @types/estree@npm:^1.0.8": +"@types/estree@npm:*, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.8": version: 1.0.9 resolution: "@types/estree@npm:1.0.9" checksum: 10/16aabfa703b5bdac83f719b07ce92a11b2d3c9b8628eacc92889d8af46cab2d78fc45c7b5378de383d0500585cea5c2f79125eeddfe5fbc6bd6a27eb0c8ccee5 @@ -12471,141 +12477,6 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:8.54.0, @typescript-eslint/eslint-plugin@npm:^8.48.0": - version: 8.54.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.54.0" - dependencies: - "@eslint-community/regexpp": "npm:^4.12.2" - "@typescript-eslint/scope-manager": "npm:8.54.0" - "@typescript-eslint/type-utils": "npm:8.54.0" - "@typescript-eslint/utils": "npm:8.54.0" - "@typescript-eslint/visitor-keys": "npm:8.54.0" - ignore: "npm:^7.0.5" - natural-compare: "npm:^1.4.0" - ts-api-utils: "npm:^2.4.0" - peerDependencies: - "@typescript-eslint/parser": ^8.54.0 - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - checksum: 10/8f1c74ac77d7a84ae3f201bb09cb67271662befed036266af1eaa0653d09b545353441640516c1c86e0a94939887d32f0473c61a642488b14d46533742bfbd1b - languageName: node - linkType: hard - -"@typescript-eslint/parser@npm:8.54.0, @typescript-eslint/parser@npm:^8.48.0": - version: 8.54.0 - resolution: "@typescript-eslint/parser@npm:8.54.0" - dependencies: - "@typescript-eslint/scope-manager": "npm:8.54.0" - "@typescript-eslint/types": "npm:8.54.0" - "@typescript-eslint/typescript-estree": "npm:8.54.0" - "@typescript-eslint/visitor-keys": "npm:8.54.0" - debug: "npm:^4.4.3" - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - checksum: 10/d2e09462c9966ef3deeba71d9e41d1d4876c61eea65888c93a3db6fba48b89a2165459c6519741d40e969da05ed98d3f4c87a7f56c5521ab5699743cc315f6cb - languageName: node - linkType: hard - -"@typescript-eslint/project-service@npm:8.54.0": - version: 8.54.0 - resolution: "@typescript-eslint/project-service@npm:8.54.0" - dependencies: - "@typescript-eslint/tsconfig-utils": "npm:^8.54.0" - "@typescript-eslint/types": "npm:^8.54.0" - debug: "npm:^4.4.3" - peerDependencies: - typescript: ">=4.8.4 <6.0.0" - checksum: 10/93f0483f6bbcf7cf776a53a130f7606f597fba67cf111e1897873bf1531efaa96e4851cfd461da0f0cc93afbdb51e47bcce11cf7dd4fb68b7030c7f9f240b92f - languageName: node - linkType: hard - -"@typescript-eslint/scope-manager@npm:8.54.0, @typescript-eslint/scope-manager@npm:^8.1.0": - version: 8.54.0 - resolution: "@typescript-eslint/scope-manager@npm:8.54.0" - dependencies: - "@typescript-eslint/types": "npm:8.54.0" - "@typescript-eslint/visitor-keys": "npm:8.54.0" - checksum: 10/3474f3197e8647754393dee62b3145c9de71eaa66c8a68f61c8283aa332141803885db9c96caa6a51f78128ad9ef92f774a90361655e57bd951d5b57eb76f914 - languageName: node - linkType: hard - -"@typescript-eslint/tsconfig-utils@npm:8.54.0, @typescript-eslint/tsconfig-utils@npm:^8.54.0": - version: 8.54.0 - resolution: "@typescript-eslint/tsconfig-utils@npm:8.54.0" - peerDependencies: - typescript: ">=4.8.4 <6.0.0" - checksum: 10/e9d6b29538716f007919bfcee94f09b7f8e7d2b684ad43d1a3c8d43afb9f0539c7707f84a34f42054e31c8c056b0ccf06575d89e860b4d34632ffefaefafe1fc - languageName: node - linkType: hard - -"@typescript-eslint/type-utils@npm:8.54.0": - version: 8.54.0 - resolution: "@typescript-eslint/type-utils@npm:8.54.0" - dependencies: - "@typescript-eslint/types": "npm:8.54.0" - "@typescript-eslint/typescript-estree": "npm:8.54.0" - "@typescript-eslint/utils": "npm:8.54.0" - debug: "npm:^4.4.3" - ts-api-utils: "npm:^2.4.0" - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - checksum: 10/60e92fb32274abd70165ce6f4187e4cffa55416374c63731d7de8fdcfb7a558b4dd48909ff1ad38ac39d2ea1248ec54d6ce38dbc065fd34529a217fc2450d5b1 - languageName: node - linkType: hard - -"@typescript-eslint/types@npm:8.54.0, @typescript-eslint/types@npm:^8.54.0": - version: 8.54.0 - resolution: "@typescript-eslint/types@npm:8.54.0" - checksum: 10/c25cc0bdf90fb150cf6ce498897f43fe3adf9e872562159118f34bd91a9bfab5f720cb1a41f3cdf253b2e840145d7d372089b7cef5156624ef31e98d34f91b31 - languageName: node - linkType: hard - -"@typescript-eslint/typescript-estree@npm:8.54.0": - version: 8.54.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.54.0" - dependencies: - "@typescript-eslint/project-service": "npm:8.54.0" - "@typescript-eslint/tsconfig-utils": "npm:8.54.0" - "@typescript-eslint/types": "npm:8.54.0" - "@typescript-eslint/visitor-keys": "npm:8.54.0" - debug: "npm:^4.4.3" - minimatch: "npm:^9.0.5" - semver: "npm:^7.7.3" - tinyglobby: "npm:^0.2.15" - ts-api-utils: "npm:^2.4.0" - peerDependencies: - typescript: ">=4.8.4 <6.0.0" - checksum: 10/3a545037c6f9319251d3ba44cf7a3216b1372422469e27f7ed3415244ebf42553da1ab4644da42d3f0ae2706a8cad12529ffebcb2e75406f74e3b30b812d010d - languageName: node - linkType: hard - -"@typescript-eslint/utils@npm:8.54.0, @typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0, @typescript-eslint/utils@npm:^8.1.0": - version: 8.54.0 - resolution: "@typescript-eslint/utils@npm:8.54.0" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.9.1" - "@typescript-eslint/scope-manager": "npm:8.54.0" - "@typescript-eslint/types": "npm:8.54.0" - "@typescript-eslint/typescript-estree": "npm:8.54.0" - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - checksum: 10/9f88a2a7ab3e11aa0ff7f99c0e66a0cf2cba10b640def4c64a4f4ef427fecfb22f28dbe5697535915eb01f6507515ac43e45e0ff384bf82856e3420194d9ffdd - languageName: node - linkType: hard - -"@typescript-eslint/visitor-keys@npm:8.54.0": - version: 8.54.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.54.0" - dependencies: - "@typescript-eslint/types": "npm:8.54.0" - eslint-visitor-keys: "npm:^4.2.1" - checksum: 10/cca5380ee30250302ee1459e5a0a38de8c16213026dbbff3d167fa7d71d012f31d60ac4483ad45ebd13f2ac963d1ca52dd5f22759a68d4ee57626e421769187a - languageName: node - linkType: hard - "@typescript/native@npm:typescript@^7.0.2": version: 7.0.2 resolution: "typescript@npm:7.0.2" @@ -13815,7 +13686,7 @@ __metadata: languageName: node linkType: hard -"acorn-jsx@npm:^5.0.0, acorn-jsx@npm:^5.3.2": +"acorn-jsx@npm:^5.0.0": version: 5.3.2 resolution: "acorn-jsx@npm:5.3.2" peerDependencies: @@ -13921,7 +13792,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^6.10.0, ajv@npm:^6.12.4, ajv@npm:^6.12.5": +"ajv@npm:^6.10.0, ajv@npm:^6.12.5": version: 6.15.0 resolution: "ajv@npm:6.15.0" dependencies: @@ -14119,13 +13990,6 @@ __metadata: languageName: node linkType: hard -"are-docs-informative@npm:^0.0.2": - version: 0.0.2 - resolution: "are-docs-informative@npm:0.0.2" - checksum: 10/12cdae51a4bb369832ef1a35840604247d4ed0cbc8392f2519988d170f92c3f8c60e465844f41acba1ec3062d0edb2e9133fca38cb9c1214309153d50a25fa29 - languageName: node - linkType: hard - "arg@npm:^5.0.0": version: 5.0.2 resolution: "arg@npm:5.0.2" @@ -15626,13 +15490,6 @@ __metadata: languageName: node linkType: hard -"comment-parser@npm:1.4.1": - version: 1.4.1 - resolution: "comment-parser@npm:1.4.1" - checksum: 10/16a3260b5e77819ebd9c99b0b65c7d6723b1ff73487bac9ce2d8f016a2847dd689e8663b88e1fad1444bbea89847c42f785708ac86a2c55f614f7095249bbf6b - languageName: node - linkType: hard - "common-path-prefix@npm:^3.0.0": version: 3.0.0 resolution: "common-path-prefix@npm:3.0.0" @@ -15939,7 +15796,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.6": +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.3": version: 7.0.6 resolution: "cross-spawn@npm:7.0.6" dependencies: @@ -16253,7 +16110,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.2.0, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.6, debug@npm:^4.3.7, debug@npm:^4.4.1, debug@npm:^4.4.3": +"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.2.0, debug@npm:^4.3.1, debug@npm:^4.3.4, debug@npm:^4.4.1, debug@npm:^4.4.3": version: 4.4.3 resolution: "debug@npm:4.4.3" dependencies: @@ -16265,15 +16122,6 @@ __metadata: languageName: node linkType: hard -"debug@npm:^3.2.7": - version: 3.2.7 - resolution: "debug@npm:3.2.7" - dependencies: - ms: "npm:^2.1.1" - checksum: 10/d86fd7be2b85462297ea16f1934dc219335e802f629ca9a69b63ed8ed041dda492389bb2ee039217c02e5b54792b1c51aa96ae954cf28634d363a2360c7a1639 - languageName: node - linkType: hard - "decamelize@npm:^1.2.0": version: 1.2.0 resolution: "decamelize@npm:1.2.0" @@ -16332,13 +16180,6 @@ __metadata: languageName: node linkType: hard -"deep-is@npm:^0.1.3": - version: 0.1.4 - resolution: "deep-is@npm:0.1.4" - checksum: 10/ec12d074aef5ae5e81fa470b9317c313142c9e8e2afe3f8efa124db309720db96d1d222b82b84c834e5f87e7a614b44a4684b6683583118b87c833b3be40d4d8 - languageName: node - linkType: hard - "deepmerge@npm:^4.2.2, deepmerge@npm:^4.3.1": version: 4.3.1 resolution: "deepmerge@npm:4.3.1" @@ -16523,15 +16364,6 @@ __metadata: languageName: node linkType: hard -"doctrine@npm:^3.0.0": - version: 3.0.0 - resolution: "doctrine@npm:3.0.0" - dependencies: - esutils: "npm:^2.0.2" - checksum: 10/b4b28f1df5c563f7d876e7461254a4597b8cabe915abe94d7c5d1633fed263fcf9a85e8d3836591fc2d040108e822b0d32758e5ec1fe31c590dc7e08086e3e48 - languageName: node - linkType: hard - "dom-converter@npm:^0.2.0": version: 0.2.0 resolution: "dom-converter@npm:0.2.0" @@ -16794,13 +16626,13 @@ __metadata: languageName: node linkType: hard -"enhanced-resolve@npm:^5.15.0, enhanced-resolve@npm:^5.17.1, enhanced-resolve@npm:^5.22.0": - version: 5.22.0 - resolution: "enhanced-resolve@npm:5.22.0" +"enhanced-resolve@npm:^5.17.1, enhanced-resolve@npm:^5.22.0": + version: 5.24.5 + resolution: "enhanced-resolve@npm:5.24.5" dependencies: graceful-fs: "npm:^4.2.4" tapable: "npm:^2.3.3" - checksum: 10/faf794fe6edbad45beee2f50418be98507de7d961e7d8c65e0e3d3fcf30fc39ca467e55f4b02ed0a9a65a58d0ca7b17cc3f5c11f574c36acc47a53b16c6f0825 + checksum: 10/cf3f6f62bd52c1d564d7967e474892d5b43690aedaf7a4e87c831fa6b4b065617baf08eb940907968c711965cbc6ccd773bcc67b8d87a71523c0512372be2a06 languageName: node linkType: hard @@ -16875,14 +16707,7 @@ __metadata: "es-errors@npm:^1.3.0": version: 1.3.0 resolution: "es-errors@npm:1.3.0" - checksum: 10/96e65d640156f91b707517e8cdc454dd7d47c32833aa3e85d79f24f9eb7ea85f39b63e36216ef0114996581969b59fe609a94e30316b08f5f4df1d44134cf8d5 - languageName: node - linkType: hard - -"es-module-lexer@npm:^1.5.3": - version: 1.6.0 - resolution: "es-module-lexer@npm:1.6.0" - checksum: 10/807ee7020cc46a9c970c78cad1f2f3fc139877e5ebad7f66dbfbb124d451189ba1c48c1c632bd5f8ce1b8af2caef3fca340ba044a410fa890d17b080a59024bb + checksum: 10/96e65d640156f91b707517e8cdc454dd7d47c32833aa3e85d79f24f9eb7ea85f39b63e36216ef0114996581969b59fe609a94e30316b08f5f4df1d44134cf8d5 languageName: node linkType: hard @@ -17082,53 +16907,6 @@ __metadata: languageName: node linkType: hard -"eslint-config-prettier@npm:^9.1.0": - version: 9.1.0 - resolution: "eslint-config-prettier@npm:9.1.0" - peerDependencies: - eslint: ">=7.0.0" - bin: - eslint-config-prettier: bin/cli.js - checksum: 10/411e3b3b1c7aa04e3e0f20d561271b3b909014956c4dba51c878bf1a23dbb8c800a3be235c46c4732c70827276e540b6eed4636d9b09b444fd0a8e07f0fcd830 - languageName: node - linkType: hard - -"eslint-import-resolver-node@npm:^0.3.9": - version: 0.3.9 - resolution: "eslint-import-resolver-node@npm:0.3.9" - dependencies: - debug: "npm:^3.2.7" - is-core-module: "npm:^2.13.0" - resolve: "npm:^1.22.4" - checksum: 10/d52e08e1d96cf630957272e4f2644dcfb531e49dcfd1edd2e07e43369eb2ec7a7d4423d417beee613201206ff2efa4eb9a582b5825ee28802fc7c71fcd53ca83 - languageName: node - linkType: hard - -"eslint-import-resolver-typescript@npm:^3.6.3": - version: 3.7.0 - resolution: "eslint-import-resolver-typescript@npm:3.7.0" - dependencies: - "@nolyfill/is-core-module": "npm:1.0.39" - debug: "npm:^4.3.7" - enhanced-resolve: "npm:^5.15.0" - fast-glob: "npm:^3.3.2" - get-tsconfig: "npm:^4.7.5" - is-bun-module: "npm:^1.0.2" - is-glob: "npm:^4.0.3" - stable-hash: "npm:^0.0.4" - peerDependencies: - eslint: "*" - eslint-plugin-import: "*" - eslint-plugin-import-x: "*" - peerDependenciesMeta: - eslint-plugin-import: - optional: true - eslint-plugin-import-x: - optional: true - checksum: 10/8158730c11e562c56ed9bf7236dc75bce35b6992dc32c39ac2f4177ab77fca97b95999850204a6458054243607b54aee88c028a61fed4184f24f425fa1afff01 - languageName: node - linkType: hard - "eslint-plugin-es-x@npm:^7.8.0": version: 7.8.0 resolution: "eslint-plugin-es-x@npm:7.8.0" @@ -17142,114 +16920,28 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-import-x@npm:^4.3.0": - version: 4.6.1 - resolution: "eslint-plugin-import-x@npm:4.6.1" - dependencies: - "@types/doctrine": "npm:^0.0.9" - "@typescript-eslint/scope-manager": "npm:^8.1.0" - "@typescript-eslint/utils": "npm:^8.1.0" - debug: "npm:^4.3.4" - doctrine: "npm:^3.0.0" - enhanced-resolve: "npm:^5.17.1" - eslint-import-resolver-node: "npm:^0.3.9" - get-tsconfig: "npm:^4.7.3" - is-glob: "npm:^4.0.3" - minimatch: "npm:^9.0.3" - semver: "npm:^7.6.3" - stable-hash: "npm:^0.0.4" - tslib: "npm:^2.6.3" - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - checksum: 10/514d8147f7bdff4accbeb06c294b68670287ecdaada9b2fbd3a2ba89d35860095cadd5a4175894fc8e75ba3b2be83dc172eba5cc71b823fd0dd846b7d49877ff - languageName: node - linkType: hard - -"eslint-plugin-jest@npm:^28.8.3": - version: 28.10.0 - resolution: "eslint-plugin-jest@npm:28.10.0" - dependencies: - "@typescript-eslint/utils": "npm:^6.0.0 || ^7.0.0 || ^8.0.0" - peerDependencies: - "@typescript-eslint/eslint-plugin": ^6.0.0 || ^7.0.0 || ^8.0.0 - eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 - jest: "*" - peerDependenciesMeta: - "@typescript-eslint/eslint-plugin": - optional: true - jest: - optional: true - checksum: 10/cb19f2171e93873d9207425c4fa52ec49018579d73ece23a1ffea90f3ffd284b0e48f74ff4f50b15ff31882b06b03fec0e48c9c6ca830acdeff8931802ef0a9e - languageName: node - linkType: hard - -"eslint-plugin-jsdoc@npm:^50.2.4": - version: 50.6.1 - resolution: "eslint-plugin-jsdoc@npm:50.6.1" - dependencies: - "@es-joy/jsdoccomment": "npm:~0.49.0" - are-docs-informative: "npm:^0.0.2" - comment-parser: "npm:1.4.1" - debug: "npm:^4.3.6" - escape-string-regexp: "npm:^4.0.0" - espree: "npm:^10.1.0" - esquery: "npm:^1.6.0" - parse-imports: "npm:^2.1.1" - semver: "npm:^7.6.3" - spdx-expression-parse: "npm:^4.0.0" - synckit: "npm:^0.9.1" - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 - checksum: 10/53fceff38a5317bb7c42c15a622100515aec89aea0d2bbf07e7d2d07eacdaa10ce625232a1bc7c1497f7bbe044675123d30cd3e123fa52fe5c7a9c336a59709c - languageName: node - linkType: hard - -"eslint-plugin-n@npm:^17.10.3": - version: 17.15.1 - resolution: "eslint-plugin-n@npm:17.15.1" +"eslint-plugin-n@npm:^18.3.0": + version: 18.3.0 + resolution: "eslint-plugin-n@npm:18.3.0" dependencies: - "@eslint-community/eslint-utils": "npm:^4.4.1" + "@eslint-community/eslint-utils": "npm:^4.5.0" enhanced-resolve: "npm:^5.17.1" eslint-plugin-es-x: "npm:^7.8.0" get-tsconfig: "npm:^4.8.1" globals: "npm:^15.11.0" + globrex: "npm:^0.1.2" ignore: "npm:^5.3.2" - minimatch: "npm:^9.0.5" semver: "npm:^7.6.3" peerDependencies: - eslint: ">=8.23.0" - checksum: 10/43fc161949fa0346ac7063a30580cd0db27e216b8e6a48d73d0bf4f10b88e9b65f263399843b3fe2087f766f264d16f0cbe8f2f898591516842201dc115a2d21 - languageName: node - linkType: hard - -"eslint-plugin-prettier@npm:^5.2.1": - version: 5.2.1 - resolution: "eslint-plugin-prettier@npm:5.2.1" - dependencies: - prettier-linter-helpers: "npm:^1.0.0" - synckit: "npm:^0.9.1" - peerDependencies: - "@types/eslint": ">=8.0.0" - eslint: ">=8.0.0" - eslint-config-prettier: "*" - prettier: ">=3.0.0" + eslint: ">=8.57.1" + ts-declaration-location: ^1.0.6 + typescript: ">=5.0.0" peerDependenciesMeta: - "@types/eslint": + ts-declaration-location: optional: true - eslint-config-prettier: + typescript: optional: true - checksum: 10/10ddf68215237e327af09a47adab4c63f3885fda4fb28c4c42d1fc5f47d8a0cc45df6484799360ff1417a0aa3c77c3aaac49d7e9dfd145557b17e2d7ecc2a27c - languageName: node - linkType: hard - -"eslint-plugin-promise@npm:^7.1.0": - version: 7.2.1 - resolution: "eslint-plugin-promise@npm:7.2.1" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.4.0" - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 - checksum: 10/e7447159d52dbc0fdaacfad18571906bb783f9f41f497e73f9b0351e9cc79497f9a9053fbef8141d0c027c16c768a1ef7f8cd4709a4a5cbb14636e862a1ccb34 + checksum: 10/59b7b243d895528b75ec1daa9b833620a0584bc0a2f56efe49ad823d609bc86bb5962258cb5f2e001c1422001feb6dcffd3aa3e7d2fd4943994ae387cd395a07 languageName: node linkType: hard @@ -17263,16 +16955,6 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:^8.4.0": - version: 8.4.0 - resolution: "eslint-scope@npm:8.4.0" - dependencies: - esrecurse: "npm:^4.3.0" - estraverse: "npm:^5.2.0" - checksum: 10/e8e611701f65375e034c62123946e628894f0b54aa8cb11abe224816389abe5cd74cf16b62b72baa36504f22d1a958b9b8b0169b82397fe2e7997674c0d09b06 - languageName: node - linkType: hard - "eslint-visitor-keys@npm:^3.4.3": version: 3.4.3 resolution: "eslint-visitor-keys@npm:3.4.3" @@ -17280,73 +16962,6 @@ __metadata: languageName: node linkType: hard -"eslint-visitor-keys@npm:^4.2.1": - version: 4.2.1 - resolution: "eslint-visitor-keys@npm:4.2.1" - checksum: 10/3ee00fc6a7002d4b0ffd9dc99e13a6a7882c557329e6c25ab254220d71e5c9c4f89dca4695352949ea678eb1f3ba912a18ef8aac0a7fe094196fd92f441bfce2 - languageName: node - linkType: hard - -"eslint@npm:^9.39.1": - version: 9.39.1 - resolution: "eslint@npm:9.39.1" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.8.0" - "@eslint-community/regexpp": "npm:^4.12.1" - "@eslint/config-array": "npm:^0.21.1" - "@eslint/config-helpers": "npm:^0.4.2" - "@eslint/core": "npm:^0.17.0" - "@eslint/eslintrc": "npm:^3.3.1" - "@eslint/js": "npm:9.39.1" - "@eslint/plugin-kit": "npm:^0.4.1" - "@humanfs/node": "npm:^0.16.6" - "@humanwhocodes/module-importer": "npm:^1.0.1" - "@humanwhocodes/retry": "npm:^0.4.2" - "@types/estree": "npm:^1.0.6" - ajv: "npm:^6.12.4" - chalk: "npm:^4.0.0" - cross-spawn: "npm:^7.0.6" - debug: "npm:^4.3.2" - escape-string-regexp: "npm:^4.0.0" - eslint-scope: "npm:^8.4.0" - eslint-visitor-keys: "npm:^4.2.1" - espree: "npm:^10.4.0" - esquery: "npm:^1.5.0" - esutils: "npm:^2.0.2" - fast-deep-equal: "npm:^3.1.3" - file-entry-cache: "npm:^8.0.0" - find-up: "npm:^5.0.0" - glob-parent: "npm:^6.0.2" - ignore: "npm:^5.2.0" - imurmurhash: "npm:^0.1.4" - is-glob: "npm:^4.0.0" - json-stable-stringify-without-jsonify: "npm:^1.0.1" - lodash.merge: "npm:^4.6.2" - minimatch: "npm:^3.1.2" - natural-compare: "npm:^1.4.0" - optionator: "npm:^0.9.3" - peerDependencies: - jiti: "*" - peerDependenciesMeta: - jiti: - optional: true - bin: - eslint: bin/eslint.js - checksum: 10/c85fefe4a81a1a476e62087366907af830b62a6565ac153f6d50a100a42a946aeb049c3af8f06c0e091105ba0fe97ac109f379f32755a67f66ecb7d4d1e4dca3 - languageName: node - linkType: hard - -"espree@npm:^10.0.1, espree@npm:^10.1.0, espree@npm:^10.4.0": - version: 10.4.0 - resolution: "espree@npm:10.4.0" - dependencies: - acorn: "npm:^8.15.0" - acorn-jsx: "npm:^5.3.2" - eslint-visitor-keys: "npm:^4.2.1" - checksum: 10/9b355b32dbd1cc9f57121d5ee3be258fab87ebeb7c83fc6c02e5af1a74fc8c5ba79fe8c663e69ea112c3e84a1b95e6a2067ac4443ee7813bb85ac7581acb8bf9 - languageName: node - linkType: hard - "esprima@npm:^4.0.0, esprima@npm:^4.0.1": version: 4.0.1 resolution: "esprima@npm:4.0.1" @@ -17357,15 +16972,6 @@ __metadata: languageName: node linkType: hard -"esquery@npm:^1.5.0, esquery@npm:^1.6.0": - version: 1.6.0 - resolution: "esquery@npm:1.6.0" - dependencies: - estraverse: "npm:^5.1.0" - checksum: 10/c587fb8ec9ed83f2b1bc97cf2f6854cc30bf784a79d62ba08c6e358bf22280d69aee12827521cf38e69ae9761d23fb7fde593ce315610f85655c139d99b05e5a - languageName: node - linkType: hard - "esrecurse@npm:^4.3.0": version: 4.3.0 resolution: "esrecurse@npm:4.3.0" @@ -17382,7 +16988,7 @@ __metadata: languageName: node linkType: hard -"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": +"estraverse@npm:^5.2.0": version: 5.3.0 resolution: "estraverse@npm:5.3.0" checksum: 10/37cbe6e9a68014d34dbdc039f90d0baf72436809d02edffcc06ba3c2a12eb298048f877511353b130153e532aac8d68ba78430c0dd2f44806ebc7c014b01585e @@ -17828,13 +17434,6 @@ __metadata: languageName: node linkType: hard -"fast-diff@npm:^1.1.2": - version: 1.3.0 - resolution: "fast-diff@npm:1.3.0" - checksum: 10/9e57415bc69cd6efcc720b3b8fe9fdaf42dcfc06f86f0f45378b1fa512598a8aac48aa3928c8751d58e2f01bb4ba4f07e4f3d9bc0d57586d45f1bd1e872c6cde - languageName: node - linkType: hard - "fast-fifo@npm:^1.2.0, fast-fifo@npm:^1.3.2": version: 1.3.2 resolution: "fast-fifo@npm:1.3.2" @@ -17842,7 +17441,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.2, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0, fast-glob@npm:^3.3.2": +"fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.2, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0": version: 3.3.3 resolution: "fast-glob@npm:3.3.3" dependencies: @@ -17869,13 +17468,6 @@ __metadata: languageName: node linkType: hard -"fast-levenshtein@npm:^2.0.6": - version: 2.0.6 - resolution: "fast-levenshtein@npm:2.0.6" - checksum: 10/eb7e220ecf2bab5159d157350b81d01f75726a4382f5a9266f42b9150c4523b9795f7f5d9fbbbeaeac09a441b2369f05ee02db48ea938584205530fe5693cfe1 - languageName: node - linkType: hard - "fast-safe-stringify@npm:^2.0.6, fast-safe-stringify@npm:^2.0.7, fast-safe-stringify@npm:^2.1.1": version: 2.1.1 resolution: "fast-safe-stringify@npm:2.1.1" @@ -18010,15 +17602,6 @@ __metadata: languageName: node linkType: hard -"file-entry-cache@npm:^8.0.0": - version: 8.0.0 - resolution: "file-entry-cache@npm:8.0.0" - dependencies: - flat-cache: "npm:^4.0.0" - checksum: 10/afe55c4de4e0d226a23c1eae62a7219aafb390859122608a89fa4df6addf55c7fd3f1a2da6f5b41e7cdff496e4cf28bbd215d53eab5c817afa96d2b40c81bfb0 - languageName: node - linkType: hard - "file-loader@npm:^6.2.0": version: 6.2.0 resolution: "file-loader@npm:6.2.0" @@ -18100,16 +17683,6 @@ __metadata: languageName: node linkType: hard -"find-up@npm:^5.0.0": - version: 5.0.0 - resolution: "find-up@npm:5.0.0" - dependencies: - locate-path: "npm:^6.0.0" - path-exists: "npm:^4.0.0" - checksum: 10/07955e357348f34660bde7920783204ff5a26ac2cafcaa28bace494027158a97b9f56faaf2d89a6106211a8174db650dd9f503f9c0d526b1202d5554a00b9095 - languageName: node - linkType: hard - "find-up@npm:^6.3.0": version: 6.3.0 resolution: "find-up@npm:6.3.0" @@ -18156,16 +17729,6 @@ __metadata: languageName: node linkType: hard -"flat-cache@npm:^4.0.0": - version: 4.0.1 - resolution: "flat-cache@npm:4.0.1" - dependencies: - flatted: "npm:^3.2.9" - keyv: "npm:^4.5.4" - checksum: 10/58ce851d9045fffc7871ce2bd718bc485ad7e777bf748c054904b87c351ff1080c2c11da00788d78738bfb51b71e4d5ea12d13b98eb36e3358851ffe495b62dc - languageName: node - linkType: hard - "flat@npm:^5.0.2": version: 5.0.2 resolution: "flat@npm:5.0.2" @@ -18175,13 +17738,6 @@ __metadata: languageName: node linkType: hard -"flatted@npm:^3.2.9": - version: 3.3.1 - resolution: "flatted@npm:3.3.1" - checksum: 10/7b8376061d5be6e0d3658bbab8bde587647f68797cf6bfeae9dea0e5137d9f27547ab92aaff3512dd9d1299086a6d61be98e9d48a56d17531b634f77faadbc49 - languageName: node - linkType: hard - "follow-redirects@npm:^1.0.0, follow-redirects@npm:^1.15.6": version: 1.16.0 resolution: "follow-redirects@npm:1.16.0" @@ -18451,7 +18007,7 @@ __metadata: languageName: node linkType: hard -"get-tsconfig@npm:4.14.0, get-tsconfig@npm:^4.7.3, get-tsconfig@npm:^4.7.5, get-tsconfig@npm:^4.8.1": +"get-tsconfig@npm:4.14.0": version: 4.14.0 resolution: "get-tsconfig@npm:4.14.0" dependencies: @@ -18460,6 +18016,15 @@ __metadata: languageName: node linkType: hard +"get-tsconfig@npm:^4.7.5, get-tsconfig@npm:^4.8.1": + version: 4.14.3 + resolution: "get-tsconfig@npm:4.14.3" + dependencies: + resolve-pkg-maps: "npm:^1.0.0" + checksum: 10/ac18243ffd5c2e7c0cbecc11d053599c73a4c534a626988fe545b686695bf2fa789ba47bc2af87e30d85c657dbcadc26b4e3e328096894fde6a9229615c67253 + languageName: node + linkType: hard + "git-up@npm:^7.0.0": version: 7.0.0 resolution: "git-up@npm:7.0.0" @@ -18502,7 +18067,7 @@ __metadata: languageName: node linkType: hard -"glob-parent@npm:^6.0.1, glob-parent@npm:^6.0.2": +"glob-parent@npm:^6.0.1": version: 6.0.2 resolution: "glob-parent@npm:6.0.2" dependencies: @@ -18566,17 +18131,10 @@ __metadata: languageName: node linkType: hard -"globals@npm:^14.0.0": - version: 14.0.0 - resolution: "globals@npm:14.0.0" - checksum: 10/03939c8af95c6df5014b137cac83aa909090c3a3985caef06ee9a5a669790877af8698ab38007e4c0186873adc14c0b13764acc754b16a754c216cc56aa5f021 - languageName: node - linkType: hard - -"globals@npm:^15.11.0, globals@npm:^15.9.0": - version: 15.14.0 - resolution: "globals@npm:15.14.0" - checksum: 10/e35ffbdbc024d6381efca906f67211a7bbf935db2af8c14a65155785479e28b3e475950e5933bb6b296eed54b6dcd924e25b26dbc8579b1bde9d5d25916e1c5f +"globals@npm:^15.11.0": + version: 15.15.0 + resolution: "globals@npm:15.15.0" + checksum: 10/7f561c87b2fd381b27fc2db7df8a4ea7a9bb378667b8a7193e61fd2ca3a876479174e2a303a74345fbea6e1242e16db48915c1fd3bf35adcf4060a795b425e18 languageName: node linkType: hard @@ -19318,13 +18876,6 @@ __metadata: languageName: node linkType: hard -"ignore@npm:^7.0.5": - version: 7.0.5 - resolution: "ignore@npm:7.0.5" - checksum: 10/f134b96a4de0af419196f52c529d5c6120c4456ff8a6b5a14ceaaa399f883e15d58d2ce651c9b69b9388491d4669dda47285d307e827de9304a53a1824801bc6 - languageName: node - linkType: hard - "image-size@npm:^2.0.2": version: 2.0.2 resolution: "image-size@npm:2.0.2" @@ -19348,7 +18899,7 @@ __metadata: languageName: node linkType: hard -"import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0": +"import-fresh@npm:^3.3.0": version: 3.3.1 resolution: "import-fresh@npm:3.3.1" dependencies: @@ -19569,15 +19120,6 @@ __metadata: languageName: node linkType: hard -"is-bun-module@npm:^1.0.2": - version: 1.3.0 - resolution: "is-bun-module@npm:1.3.0" - dependencies: - semver: "npm:^7.6.3" - checksum: 10/b23d9ec7b4d4bfd89e4e72b5cd52e1bc153facad59fdd7394c656f8859a78740ef35996a2066240a32f39cc9a9da4b4eb69e68df3c71755a61ebbaf56d3daef0 - languageName: node - linkType: hard - "is-callable@npm:^1.2.7": version: 1.2.7 resolution: "is-callable@npm:1.2.7" @@ -19696,7 +19238,7 @@ __metadata: languageName: node linkType: hard -"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": +"is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": version: 4.0.3 resolution: "is-glob@npm:4.0.3" dependencies: @@ -20677,13 +20219,6 @@ __metadata: languageName: node linkType: hard -"jsdoc-type-pratt-parser@npm:~4.1.0": - version: 4.1.0 - resolution: "jsdoc-type-pratt-parser@npm:4.1.0" - checksum: 10/30d88f95f6cbb4a1aa6d4b0d0ae46eb1096e606235ecaf9bab7a3ed5da860516b5d1cd967182765002f292c627526db918f3e56d34637bcf810e6ef84d403f3f - languageName: node - linkType: hard - "jsdom@npm:^26.1.0": version: 26.1.0 resolution: "jsdom@npm:26.1.0" @@ -20846,7 +20381,7 @@ __metadata: languageName: node linkType: hard -"keyv@npm:^4.0.0, keyv@npm:^4.5.3, keyv@npm:^4.5.4": +"keyv@npm:^4.0.0, keyv@npm:^4.5.3": version: 4.5.4 resolution: "keyv@npm:4.5.4" dependencies: @@ -20935,16 +20470,6 @@ __metadata: languageName: node linkType: hard -"levn@npm:^0.4.1": - version: 0.4.1 - resolution: "levn@npm:0.4.1" - dependencies: - prelude-ls: "npm:^1.2.1" - type-check: "npm:~0.4.0" - checksum: 10/2e4720ff79f21ae08d42374b0a5c2f664c5be8b6c8f565bb4e1315c96ed3a8acaa9de788ffed82d7f2378cf36958573de07ef92336cb5255ed74d08b8318c9ee - languageName: node - linkType: hard - "lilconfig@npm:^3.1.1, lilconfig@npm:^3.1.3": version: 3.1.3 resolution: "lilconfig@npm:3.1.3" @@ -20996,15 +20521,6 @@ __metadata: languageName: node linkType: hard -"locate-path@npm:^6.0.0": - version: 6.0.0 - resolution: "locate-path@npm:6.0.0" - dependencies: - p-locate: "npm:^5.0.0" - checksum: 10/72eb661788a0368c099a184c59d2fee760b3831c9c1c33955e8a19ae4a21b4116e53fa736dc086cdeb9fce9f7cc508f2f92d2d3aae516f133e16a2bb59a39f5a - languageName: node - linkType: hard - "locate-path@npm:^7.1.0": version: 7.2.0 resolution: "locate-path@npm:7.2.0" @@ -21056,13 +20572,6 @@ __metadata: languageName: node linkType: hard -"lodash.merge@npm:^4.6.2": - version: 4.6.2 - resolution: "lodash.merge@npm:4.6.2" - checksum: 10/d0ea2dd0097e6201be083865d50c3fb54fbfbdb247d9cc5950e086c991f448b7ab0cdab0d57eacccb43473d3f2acd21e134db39f22dac2d6c9ba6bf26978e3d6 - languageName: node - linkType: hard - "lodash.throttle@npm:^4.1.1": version: 4.1.1 resolution: "lodash.throttle@npm:4.1.1" @@ -22257,7 +21766,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:3.1.5, minimatch@npm:^3.0.4, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": +"minimatch@npm:3.1.5, minimatch@npm:^3.0.4, minimatch@npm:^3.1.1": version: 3.1.5 resolution: "minimatch@npm:3.1.5" dependencies: @@ -22438,7 +21947,7 @@ __metadata: languageName: node linkType: hard -"ms@npm:2.1.3, ms@npm:^2.1.1, ms@npm:^2.1.3": +"ms@npm:2.1.3, ms@npm:^2.1.3": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: 10/aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d @@ -22944,20 +22453,6 @@ __metadata: languageName: node linkType: hard -"optionator@npm:^0.9.3": - version: 0.9.4 - resolution: "optionator@npm:0.9.4" - dependencies: - deep-is: "npm:^0.1.3" - fast-levenshtein: "npm:^2.0.6" - levn: "npm:^0.4.1" - prelude-ls: "npm:^1.2.1" - type-check: "npm:^0.4.0" - word-wrap: "npm:^1.2.5" - checksum: 10/a8398559c60aef88d7f353a4f98dcdff6090a4e70f874c827302bf1213d9106a1c4d5fcb68dacb1feb3c30a04c4102f41047aa55d4c576b863d6fc876e001af6 - languageName: node - linkType: hard - "ox@npm:0.14.32": version: 0.14.32 resolution: "ox@npm:0.14.32" @@ -23184,6 +22679,111 @@ __metadata: languageName: node linkType: hard +"oxlint-tsgolint@npm:^7.0.2001": + version: 7.0.2001 + resolution: "oxlint-tsgolint@npm:7.0.2001" + dependencies: + "@oxlint-tsgolint/darwin-arm64": "npm:7.0.2001" + "@oxlint-tsgolint/darwin-x64": "npm:7.0.2001" + "@oxlint-tsgolint/linux-arm64": "npm:7.0.2001" + "@oxlint-tsgolint/linux-x64": "npm:7.0.2001" + "@oxlint-tsgolint/win32-arm64": "npm:7.0.2001" + "@oxlint-tsgolint/win32-x64": "npm:7.0.2001" + dependenciesMeta: + "@oxlint-tsgolint/darwin-arm64": + optional: true + "@oxlint-tsgolint/darwin-x64": + optional: true + "@oxlint-tsgolint/linux-arm64": + optional: true + "@oxlint-tsgolint/linux-x64": + optional: true + "@oxlint-tsgolint/win32-arm64": + optional: true + "@oxlint-tsgolint/win32-x64": + optional: true + bin: + tsgolint: ./bin/tsgolint.js + checksum: 10/3e8eb7566ddcb65a892f07b989034ee0054e8f9583a2e794c7c0a9c445999bd1097724ea8385820b85f687502bca91ffce4249044914e05c5a0087130a627aa2 + languageName: node + linkType: hard + +"oxlint@npm:^1.81.0": + version: 1.81.0 + resolution: "oxlint@npm:1.81.0" + dependencies: + "@oxlint/binding-android-arm-eabi": "npm:1.81.0" + "@oxlint/binding-android-arm64": "npm:1.81.0" + "@oxlint/binding-darwin-arm64": "npm:1.81.0" + "@oxlint/binding-darwin-x64": "npm:1.81.0" + "@oxlint/binding-freebsd-x64": "npm:1.81.0" + "@oxlint/binding-linux-arm-gnueabihf": "npm:1.81.0" + "@oxlint/binding-linux-arm-musleabihf": "npm:1.81.0" + "@oxlint/binding-linux-arm64-gnu": "npm:1.81.0" + "@oxlint/binding-linux-arm64-musl": "npm:1.81.0" + "@oxlint/binding-linux-ppc64-gnu": "npm:1.81.0" + "@oxlint/binding-linux-riscv64-gnu": "npm:1.81.0" + "@oxlint/binding-linux-riscv64-musl": "npm:1.81.0" + "@oxlint/binding-linux-s390x-gnu": "npm:1.81.0" + "@oxlint/binding-linux-x64-gnu": "npm:1.81.0" + "@oxlint/binding-linux-x64-musl": "npm:1.81.0" + "@oxlint/binding-openharmony-arm64": "npm:1.81.0" + "@oxlint/binding-win32-arm64-msvc": "npm:1.81.0" + "@oxlint/binding-win32-ia32-msvc": "npm:1.81.0" + "@oxlint/binding-win32-x64-msvc": "npm:1.81.0" + peerDependencies: + oxlint-tsgolint: ">=7.0.2001" + vite-plus: "*" + dependenciesMeta: + "@oxlint/binding-android-arm-eabi": + optional: true + "@oxlint/binding-android-arm64": + optional: true + "@oxlint/binding-darwin-arm64": + optional: true + "@oxlint/binding-darwin-x64": + optional: true + "@oxlint/binding-freebsd-x64": + optional: true + "@oxlint/binding-linux-arm-gnueabihf": + optional: true + "@oxlint/binding-linux-arm-musleabihf": + optional: true + "@oxlint/binding-linux-arm64-gnu": + optional: true + "@oxlint/binding-linux-arm64-musl": + optional: true + "@oxlint/binding-linux-ppc64-gnu": + optional: true + "@oxlint/binding-linux-riscv64-gnu": + optional: true + "@oxlint/binding-linux-riscv64-musl": + optional: true + "@oxlint/binding-linux-s390x-gnu": + optional: true + "@oxlint/binding-linux-x64-gnu": + optional: true + "@oxlint/binding-linux-x64-musl": + optional: true + "@oxlint/binding-openharmony-arm64": + optional: true + "@oxlint/binding-win32-arm64-msvc": + optional: true + "@oxlint/binding-win32-ia32-msvc": + optional: true + "@oxlint/binding-win32-x64-msvc": + optional: true + peerDependenciesMeta: + oxlint-tsgolint: + optional: true + vite-plus: + optional: true + bin: + oxlint: bin/oxlint + checksum: 10/a783a09c640e599ed1909511247f9ec93057c9111a3cb421c65903739b6427b9fa2f98a0a6f5d9a3bb9e22075a55ad2fb44bd279d0597aab8c2bef76f326fc51 + languageName: node + linkType: hard + "p-cancelable@npm:^2.0.0": version: 2.1.1 resolution: "p-cancelable@npm:2.1.1" @@ -23214,7 +22814,7 @@ __metadata: languageName: node linkType: hard -"p-limit@npm:^3.0.2, p-limit@npm:^3.1.0": +"p-limit@npm:^3.1.0": version: 3.1.0 resolution: "p-limit@npm:3.1.0" dependencies: @@ -23250,15 +22850,6 @@ __metadata: languageName: node linkType: hard -"p-locate@npm:^5.0.0": - version: 5.0.0 - resolution: "p-locate@npm:5.0.0" - dependencies: - p-limit: "npm:^3.0.2" - checksum: 10/1623088f36cf1cbca58e9b61c4e62bf0c60a07af5ae1ca99a720837356b5b6c5ba3eb1b2127e47a06865fee59dd0453cad7cc844cda9d5a62ac1a5a51b7c86d3 - languageName: node - linkType: hard - "p-locate@npm:^6.0.0": version: 6.0.0 resolution: "p-locate@npm:6.0.0" @@ -23381,16 +22972,6 @@ __metadata: languageName: node linkType: hard -"parse-imports@npm:^2.1.1": - version: 2.2.1 - resolution: "parse-imports@npm:2.2.1" - dependencies: - es-module-lexer: "npm:^1.5.3" - slashes: "npm:^3.0.12" - checksum: 10/db1d98077587d23bfa1f136abae158ea08e1e588d0260dfc0769092be86b842c798ae47466742b1d9bc106d3430cebbd9730fc34872a2c0e72b9ff720986e82e - languageName: node - linkType: hard - "parse-json@npm:^5.2.0": version: 5.2.0 resolution: "parse-json@npm:5.2.0" @@ -24531,22 +24112,6 @@ __metadata: languageName: node linkType: hard -"prelude-ls@npm:^1.2.1": - version: 1.2.1 - resolution: "prelude-ls@npm:1.2.1" - checksum: 10/0b9d2c76801ca652a7f64892dd37b7e3fab149a37d2424920099bf894acccc62abb4424af2155ab36dea8744843060a2d8ddc983518d0b1e22265a22324b72ed - languageName: node - linkType: hard - -"prettier-linter-helpers@npm:^1.0.0": - version: 1.0.0 - resolution: "prettier-linter-helpers@npm:1.0.0" - dependencies: - fast-diff: "npm:^1.1.2" - checksum: 10/00ce8011cf6430158d27f9c92cfea0a7699405633f7f1d4a45f07e21bf78e99895911cbcdc3853db3a824201a7c745bd49bfea8abd5fb9883e765a90f74f8392 - languageName: node - linkType: hard - "prettier@npm:^3.3.3": version: 3.4.2 resolution: "prettier@npm:3.4.2" @@ -25519,7 +25084,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.22.11, resolve@npm:^1.22.4": +"resolve@npm:^1.22.11": version: 1.22.12 resolution: "resolve@npm:1.22.12" dependencies: @@ -25546,7 +25111,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@npm%3A^1.22.11#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin": +"resolve@patch:resolve@npm%3A^1.22.11#optional!builtin": version: 1.22.12 resolution: "resolve@patch:resolve@npm%3A1.22.12#optional!builtin::version=1.22.12&hash=9bd1a5" dependencies: @@ -25851,7 +25416,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.1.1, semver@npm:^7.1.2, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.3, semver@npm:^7.7.2, semver@npm:^7.7.3, semver@npm:^7.8.0, semver@npm:^7.8.1": +"semver@npm:^7.1.1, semver@npm:^7.1.2, semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.6.3, semver@npm:^7.7.2, semver@npm:^7.8.0, semver@npm:^7.8.1": version: 7.8.5 resolution: "semver@npm:7.8.5" bin: @@ -26220,13 +25785,6 @@ __metadata: languageName: node linkType: hard -"slashes@npm:^3.0.12": - version: 3.0.12 - resolution: "slashes@npm:3.0.12" - checksum: 10/c221d73765013db64f3eaf49dacc6b99a5d5477e63720c1bb71d1af647965dda23ab100ca1eb622e080f11ffe68e1e0a233b7b908073260bed4ec819ff1d3e42 - languageName: node - linkType: hard - "slice-ansi@npm:^3.0.0": version: 3.0.0 resolution: "slice-ansi@npm:3.0.0" @@ -26376,16 +25934,6 @@ __metadata: languageName: node linkType: hard -"spdx-expression-parse@npm:^4.0.0": - version: 4.0.0 - resolution: "spdx-expression-parse@npm:4.0.0" - dependencies: - spdx-exceptions: "npm:^2.1.0" - spdx-license-ids: "npm:^3.0.0" - checksum: 10/936be681fbf5edeec3a79c023136479f70d6edb3fd3875089ac86cd324c6c8c81add47399edead296d1d0af17ae5ce88c7f88885eb150b62c2ff6e535841ca6a - languageName: node - linkType: hard - "spdx-license-ids@npm:^3.0.0": version: 3.0.20 resolution: "spdx-license-ids@npm:3.0.20" @@ -26459,13 +26007,6 @@ __metadata: languageName: node linkType: hard -"stable-hash@npm:^0.0.4": - version: 0.0.4 - resolution: "stable-hash@npm:0.0.4" - checksum: 10/21c039d21c1cb739cf8342561753a5e007cb95ea682ccd452e76310bbb9c6987a89de8eda023e320b019f3e4691aabda75079cdbb7dadf7ab9013e931f2f23cd - languageName: node - linkType: hard - "stack-utils@npm:^2.0.2, stack-utils@npm:^2.0.6": version: 2.0.6 resolution: "stack-utils@npm:2.0.6" @@ -26787,16 +26328,6 @@ __metadata: languageName: node linkType: hard -"synckit@npm:^0.9.1": - version: 0.9.2 - resolution: "synckit@npm:0.9.2" - dependencies: - "@pkgr/core": "npm:^0.1.0" - tslib: "npm:^2.6.2" - checksum: 10/d45c4288be9c0232343650643892a7edafb79152c0c08d7ae5d33ca2c296b67a0e15f8cb5c9153969612c4ea5cd5686297542384aab977db23cfa6653fe02027 - languageName: node - linkType: hard - "tapable@npm:^2.0.0, tapable@npm:^2.2.1, tapable@npm:^2.3.0, tapable@npm:^2.3.3": version: 2.3.3 resolution: "tapable@npm:2.3.3" @@ -26990,7 +26521,7 @@ __metadata: languageName: node linkType: hard -"tinyglobby@npm:^0.2.14, tinyglobby@npm:^0.2.15, tinyglobby@npm:^0.2.16, tinyglobby@npm:^0.2.17": +"tinyglobby@npm:^0.2.14, tinyglobby@npm:^0.2.16, tinyglobby@npm:^0.2.17": version: 0.2.17 resolution: "tinyglobby@npm:0.2.17" dependencies: @@ -27124,15 +26655,6 @@ __metadata: languageName: node linkType: hard -"ts-api-utils@npm:^2.4.0": - version: 2.4.0 - resolution: "ts-api-utils@npm:2.4.0" - peerDependencies: - typescript: ">=4.8.4" - checksum: 10/d6b2b3b6caad8d2f4ddc0c3785d22bb1a6041773335a1c71d73a5d67d11d993763fe8e4faefc4a4d03bb42b26c6126bbcf2e34826baed1def5369d0ebad358fa - languageName: node - linkType: hard - "ts-jest@npm:^29.4.11": version: 29.4.11 resolution: "ts-jest@npm:29.4.11" @@ -27197,7 +26719,7 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.0, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.3.1, tslib@npm:^2.4.0, tslib@npm:^2.6.0, tslib@npm:^2.6.2, tslib@npm:^2.6.3, tslib@npm:^2.8.1": +"tslib@npm:^2.0.0, tslib@npm:^2.0.3, tslib@npm:^2.1.0, tslib@npm:^2.3.1, tslib@npm:^2.4.0, tslib@npm:^2.6.0, tslib@npm:^2.8.1": version: 2.8.1 resolution: "tslib@npm:2.8.1" checksum: 10/3e2e043d5c2316461cb54e5c7fe02c30ef6dccb3384717ca22ae5c6b5bc95232a6241df19c622d9c73b809bea33b187f6dbc73030963e29950c2141bc32a79f7 @@ -27284,15 +26806,6 @@ __metadata: languageName: node linkType: hard -"type-check@npm:^0.4.0, type-check@npm:~0.4.0": - version: 0.4.0 - resolution: "type-check@npm:0.4.0" - dependencies: - prelude-ls: "npm:^1.2.1" - checksum: 10/14687776479d048e3c1dbfe58a2409e00367810d6960c0f619b33793271ff2a27f81b52461f14a162f1f89a9b1d8da1b237fc7c99b0e1fdcec28ec63a86b1fec - languageName: node - linkType: hard - "type-detect@npm:4.0.8": version: 4.0.8 resolution: "type-detect@npm:4.0.8" @@ -27393,21 +26906,6 @@ __metadata: languageName: node linkType: hard -"typescript-eslint@npm:^8.48.0": - version: 8.54.0 - resolution: "typescript-eslint@npm:8.54.0" - dependencies: - "@typescript-eslint/eslint-plugin": "npm:8.54.0" - "@typescript-eslint/parser": "npm:8.54.0" - "@typescript-eslint/typescript-estree": "npm:8.54.0" - "@typescript-eslint/utils": "npm:8.54.0" - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: ">=4.8.4 <6.0.0" - checksum: 10/21b1a27fd44716df8d2c7bac4ebd0caef196a04375fff7919dc817066017b6b8700f1e242bd065a26ac7ce0505b7a588626099e04a28142504ed4f0aae8bffb1 - languageName: node - linkType: hard - "typescript@npm:6.0.3": version: 6.0.3 resolution: "typescript@npm:6.0.3" @@ -28695,13 +28193,6 @@ __metadata: languageName: node linkType: hard -"word-wrap@npm:^1.2.5": - version: 1.2.5 - resolution: "word-wrap@npm:1.2.5" - checksum: 10/1ec6f6089f205f83037be10d0c4b34c9183b0b63fca0834a5b3cee55dd321429d73d40bb44c8fc8471b5203d6e8f8275717f49a8ff4b2b0ab41d7e1b563e0854 - languageName: node - linkType: hard - "wordwrap@npm:^1.0.0": version: 1.0.0 resolution: "wordwrap@npm:1.0.0"