diff --git a/eslint-suppressions.json b/eslint-suppressions.json index e1ad67225a3..dd762bd60c5 100644 --- a/eslint-suppressions.json +++ b/eslint-suppressions.json @@ -127,6 +127,11 @@ "count": 6 } }, + "packages/assets-controller/src/__fixtures__/MockAssetControllerMessenger.ts": { + "import-x/no-relative-packages": { + "count": 1 + } + }, "packages/assets-controllers/jest.environment.js": { "n/prefer-global/text-decoder": { "count": 1 @@ -251,6 +256,9 @@ "id-length": { "count": 1 }, + "import-x/no-relative-packages": { + "count": 1 + }, "no-negated-condition": { "count": 1 }, @@ -258,6 +266,11 @@ "count": 2 } }, + "packages/assets-controllers/src/NftDetectionController.ts": { + "import-x/no-relative-packages": { + "count": 1 + } + }, "packages/assets-controllers/src/RatesController/RatesController.test.ts": { "@typescript-eslint/explicit-function-return-type": { "count": 1 @@ -614,6 +627,9 @@ "packages/bridge-status-controller/src/utils/transaction.ts": { "@typescript-eslint/prefer-nullish-coalescing": { "count": 1 + }, + "import-x/no-relative-packages": { + "count": 1 } }, "packages/chain-agnostic-permission/src/caip25Permission.ts": { @@ -1689,6 +1705,16 @@ "count": 2 } }, + "packages/transaction-pay-controller/src/strategy/relay/relay-quotes.ts": { + "import-x/no-relative-packages": { + "count": 1 + } + }, + "packages/transaction-pay-controller/src/utils/source-amounts.ts": { + "import-x/no-relative-packages": { + "count": 1 + } + }, "packages/user-operation-controller/src/UserOperationController.test.ts": { "@typescript-eslint/explicit-function-return-type": { "count": 6 diff --git a/eslint.config.mjs b/eslint.config.mjs index a124c6f9948..76bbdf4f3d4 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -144,6 +144,14 @@ const config = createConfig([ sourceType: 'module', }, }, + // Prevent cross-package relative imports + { + files: ['packages/*/src/**/*.ts'], + ignores: ['**/*.test.ts', '**/tests/**/*.ts'], + rules: { + 'import-x/no-relative-packages': 'error', + }, + }, { files: ['packages/foundryup/**/*.{js,ts}'], rules: {