Skip to content

Commit 3c1cac7

Browse files
authored
fix(linter): ignore dist and use compat helper for eslint-plugin-react-hooks (#28080)
1 parent bf90e58 commit 3c1cac7

File tree

4 files changed

+21
-6
lines changed

4 files changed

+21
-6
lines changed

packages/eslint-plugin/src/flat-configs/react-jsx.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { fixupPluginRules } from '@eslint/compat';
12
import jsxA11yPlugin from 'eslint-plugin-jsx-a11y';
23
import reactPlugin from 'eslint-plugin-react';
34
import reactHooksPlugin from 'eslint-plugin-react-hooks';
@@ -16,7 +17,7 @@ import tseslint from 'typescript-eslint';
1617
export default tseslint.config(
1718
{
1819
plugins: {
19-
'react-hooks': reactHooksPlugin,
20+
'react-hooks': fixupPluginRules(reactHooksPlugin),
2021
},
2122
rules: reactHooksPlugin.configs.recommended.rules,
2223
},

packages/eslint/src/generators/init/global-eslint-config.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,11 @@ export const getGlobalFlatEslintConfiguration = (
112112
generateFlatPredefinedConfig('flat/javascript')
113113
);
114114

115+
content = addBlockToFlatConfigExport(
116+
content,
117+
generateFlatOverride({ ignores: ['**/dist'] })
118+
);
119+
115120
if (!rootProject) {
116121
content = addBlockToFlatConfigExport(
117122
content,

packages/eslint/src/generators/lint-project/lint-project.spec.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ describe('@nx/eslint:lint-project', () => {
5959
...nx.configs['flat/base'],
6060
...nx.configs['flat/typescript'],
6161
...nx.configs['flat/javascript'],
62+
{
63+
ignores: ['**/dist'],
64+
},
6265
{
6366
files: ['**/*.ts', '**/*.tsx', '**/*.js', '**/*.jsx'],
6467
rules: {

packages/eslint/src/generators/utils/flat-config/ast-utils.ts

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -891,7 +891,9 @@ export function overrideNeedsCompat(
891891
* based on a given legacy eslintrc JSON override object
892892
*/
893893
export function generateFlatOverride(
894-
_override: Partial<Linter.ConfigOverride<Linter.RulesRecord>>
894+
_override: Partial<Linter.ConfigOverride<Linter.RulesRecord>> & {
895+
ignores?: Linter.FlatConfig['ignores'];
896+
}
895897
): ts.ObjectLiteralExpression | ts.SpreadElement {
896898
const override = mapFilePaths(_override);
897899

@@ -907,6 +909,10 @@ export function generateFlatOverride(
907909
files,
908910
};
909911

912+
if (override.ignores) {
913+
flatConfigOverride.ignores = override.ignores;
914+
}
915+
910916
if (override.rules) {
911917
flatConfigOverride.rules = override.rules;
912918
}
@@ -1074,10 +1080,10 @@ export function generateFlatPredefinedConfig(
10741080
return spread ? ts.factory.createSpreadElement(node) : node;
10751081
}
10761082

1077-
export function mapFilePaths(
1078-
_override: Partial<Linter.ConfigOverride<Linter.RulesRecord>>
1079-
) {
1080-
const override: Partial<Linter.ConfigOverride<Linter.RulesRecord>> = {
1083+
export function mapFilePaths<
1084+
T extends Partial<Linter.ConfigOverride<Linter.RulesRecord>>
1085+
>(_override: T) {
1086+
const override: T = {
10811087
..._override,
10821088
};
10831089
if (override.files) {

0 commit comments

Comments
 (0)