From b0765e5964f6cdbdc2c8ca82c980aced68640072 Mon Sep 17 00:00:00 2001 From: Emmanuel Chambon Date: Fri, 16 Dec 2022 18:12:12 +0100 Subject: [PATCH 1/2] feat(eslint-config-react): consistent import/no-extraneous-dependencies rule --- packages/eslint-config-react/shared.js | 27 ++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/packages/eslint-config-react/shared.js b/packages/eslint-config-react/shared.js index 6928d19b5..7bce3d190 100644 --- a/packages/eslint-config-react/shared.js +++ b/packages/eslint-config-react/shared.js @@ -25,6 +25,33 @@ module.exports = { 'newlines-between': 'never', }, ], + // Here we override airbnb default with our repos dev patterns + // https://github.com/airbnb/javascript/blob/81157eec2309449b31f36bf8940493623f2530c6/packages/eslint-config-airbnb-base/rules/imports.js#L71 + 'import/no-extraneous-dependencies': [ + 'error', + { + devDependencies: [ + '**/.jest/**', + '**/.storybook/**', + 'test/**', // tape, common npm pattern + 'tests/**', // also common npm pattern + 'spec/**', // mocha, rspec-like pattern + '**/__tests__/**', // jest pattern + '**/__mocks__/**', // jest pattern + '**/__stories__/**', // stories pattern + 'test.{js,jsx}', // repos with a single test file + 'test-*.{js,jsx}', // repos with multiple top-level test files + '**/*{.,_}{test,spec}.{js,jsx}', // tests where the extension or filename suffix denotes that it is a test + '**/jest.config.{js,ts,mjs,mts}', // jest config + '**/jest.setup.{js,ts,mjs,mts}', // jest setup + '**/webpack.config.{js,ts,mjs,mts}', // webpack config + '**/webpack.config.*.{js,ts,mjs,mts}', // webpack config + '**/rollup.config.{js,ts,mjs,mts}', // rollup config + '**/rollup.config.*.{js,ts,mjs,mts}', // rollup config + ], + optionalDependencies: false, + }, + ], // We allow named and default export 'import/prefer-default-export': 'off', // This allows us to reenable ForOfStatement. From c8837023b550d631204467d33498fbe16fc49ea0 Mon Sep 17 00:00:00 2001 From: Emmanuel Chambon Date: Fri, 16 Dec 2022 18:14:35 +0100 Subject: [PATCH 2/2] fix: remove duplicat rule --- .eslintrc | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.eslintrc b/.eslintrc index 693088a08..2a6009e6e 100644 --- a/.eslintrc +++ b/.eslintrc @@ -4,14 +4,6 @@ "browser": true, "jest": true }, - "rules": { - "import/no-extraneous-dependencies": [ - "error", - { - "devDependencies": ["**/__tests__/*", "rollup.config.mjs"] - } - ] - }, "overrides": [ { "parser": "@babel/eslint-parser",