Skip to content

Commit 6bca902

Browse files
authored
fix: minor fixes & improvements example eslint configs (#1065)
1 parent d4c8053 commit 6bca902

File tree

8 files changed

+44
-15
lines changed

8 files changed

+44
-15
lines changed

README.md

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,21 +75,31 @@ import tseslint from "typescript-eslint";
7575

7676
export default tseslint.config({
7777
files: ["**/*.ts", "**/*.tsx"],
78+
79+
// Extend recommended rule sets from:
80+
// 1. ESLint JS's recommended rules
81+
// 2. TypeScript ESLint recommended rules
82+
// 3. ESLint React's recommended-typescript rules
7883
extends: [
7984
eslintJs.configs.recommended,
8085
tseslint.configs.recommended,
8186
eslintReact.configs["recommended-typescript"],
8287
],
88+
89+
// Configure language/parsing options
8390
languageOptions: {
91+
// Use TypeScript ESLint parser for TypeScript files
8492
parser: tseslint.parser,
8593
parserOptions: {
94+
// Enable project service for better TypeScript integration
8695
projectService: true,
8796
tsconfigRootDir: import.meta.dirname,
8897
},
8998
},
99+
100+
// Custom rule overrides (modify rule levels or disable rules)
90101
rules: {
91-
// Put rules you want to override here
92-
"@eslint-react/no-class-component": "error",
102+
"@eslint-react/no-missing-key": "warn",
93103
},
94104
});
95105
```

apps/website/content/docs/configuration/using-custom-parsers/babel-eslint-parser.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ export default [
3838
},
3939
{
4040
files: ["**/*.js", "**/*.jsx"],
41+
// Custom rule overrides (modify rule levels or disable rules)
4142
rules: {
42-
// Put rules you want to override here
43-
"@eslint-react/no-class-component": "error",
43+
"@eslint-react/no-missing-key": "warn",
4444
},
4545
},
4646
];

apps/website/content/docs/configuration/using-custom-parsers/ts-blank-eslint-parser.mdx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ import globals from "globals";
3232
const GLOB_TS = ["**/*.ts", "**/*.tsx"];
3333

3434
export default [
35-
// base configuration for browser environment source files
3635
{
3736
files: GLOB_TS,
3837
languageOptions: {
@@ -45,7 +44,6 @@ export default [
4544
...eslintJs.configs.recommended.rules,
4645
},
4746
},
48-
// React configuration
4947
{
5048
files: GLOB_TS,
5149
...eslintReact.configs["recommended-typescript"],

apps/website/content/docs/getting-started/javascript.mdx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ export default defineConfig([
5959

6060
// Custom rule overrides (modify rule levels or disable rules)
6161
rules: {
62-
"@eslint-react/no-class-component": "error",
62+
"@eslint-react/no-missing-key": "warn",
6363
},
6464
},
6565
]);
@@ -92,9 +92,9 @@ export default [
9292
{
9393
"compilerOptions": {
9494
// ...other options
95-
"jsx": "react-jsx",
95+
"jsx": "react-jsx"
9696
},
97-
"include": ["**/*.js", "**/*.jsx"],
97+
"include": ["**/*.js", "**/*.jsx"]
9898
}
9999
```
100100

apps/website/content/docs/getting-started/typescript.mdx

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,11 @@ export default tseslint.config({
4242
// 1. ESLint JS's recommended rules
4343
// 2. TypeScript ESLint recommended rules
4444
// 3. ESLint React's recommended-typescript rules
45-
extends: [eslintJs.configs.recommended, tseslint.configs.recommended, eslintReact.configs["recommended-typescript"]],
45+
extends: [
46+
eslintJs.configs.recommended,
47+
tseslint.configs.recommended,
48+
eslintReact.configs["recommended-typescript"],
49+
],
4650

4751
// Configure language/parsing options
4852
languageOptions: {
@@ -51,12 +55,13 @@ export default tseslint.config({
5155
parserOptions: {
5256
// Enable project service for better TypeScript integration
5357
projectService: true,
58+
tsconfigRootDir: import.meta.dirname,
5459
},
5560
},
5661

5762
// Custom rule overrides (modify rule levels or disable rules)
5863
rules: {
59-
"@eslint-react/no-class-component": "error",
64+
"@eslint-react/no-missing-key": "warn",
6065
},
6166
});
6267
```
@@ -88,9 +93,9 @@ export default [
8893
{
8994
"compilerOptions": {
9095
// ...other options
91-
"jsx": "react-jsx",
96+
"jsx": "react-jsx"
9297
},
93-
"include": ["**/*.ts", "**/*.tsx"],
98+
"include": ["**/*.ts", "**/*.tsx"]
9499
}
95100
```
96101

packages/plugins/eslint-plugin/README.md

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,21 +75,31 @@ import tseslint from "typescript-eslint";
7575

7676
export default tseslint.config({
7777
files: ["**/*.ts", "**/*.tsx"],
78+
79+
// Extend recommended rule sets from:
80+
// 1. ESLint JS's recommended rules
81+
// 2. TypeScript ESLint recommended rules
82+
// 3. ESLint React's recommended-typescript rules
7883
extends: [
7984
eslintJs.configs.recommended,
8085
tseslint.configs.recommended,
8186
eslintReact.configs["recommended-typescript"],
8287
],
88+
89+
// Configure language/parsing options
8390
languageOptions: {
91+
// Use TypeScript ESLint parser for TypeScript files
8492
parser: tseslint.parser,
8593
parserOptions: {
94+
// Enable project service for better TypeScript integration
8695
projectService: true,
8796
tsconfigRootDir: import.meta.dirname,
8897
},
8998
},
99+
100+
// Custom rule overrides (modify rule levels or disable rules)
90101
rules: {
91-
// Put rules you want to override here
92-
"@eslint-react/no-class-component": "error",
102+
"@eslint-react/no-missing-key": "warn",
93103
},
94104
});
95105
```

packages/plugins/eslint-plugin/src/configs/all.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,13 @@ export const rules = {
3838
"@eslint-react/no-duplicate-key": "warn",
3939
"@eslint-react/no-forward-ref": "warn",
4040
"@eslint-react/no-implicit-key": "warn",
41+
// "@eslint-react/no-leaked-conditional-rendering": "warn",
4142
"@eslint-react/no-missing-component-display-name": "warn",
4243
"@eslint-react/no-missing-context-display-name": "warn",
4344
"@eslint-react/no-missing-key": "error",
45+
"@eslint-react/no-misused-capture-owner-stack": "error",
4446
"@eslint-react/no-nested-component-definitions": "error",
47+
"@eslint-react/no-nested-lazy-component-declarations": "warn",
4548
"@eslint-react/no-prop-types": "error",
4649
"@eslint-react/no-redundant-should-component-update": "error",
4750
"@eslint-react/no-set-state-in-component-did-mount": "warn",
@@ -59,6 +62,8 @@ export const rules = {
5962
"@eslint-react/no-useless-forward-ref": "warn",
6063
"@eslint-react/no-useless-fragment": "warn",
6164
"@eslint-react/prefer-destructuring-assignment": "warn",
65+
"@eslint-react/prefer-react-namespace-import": "warn",
66+
// "@eslint-react/prefer-read-only-props": "warn",
6267
"@eslint-react/prefer-shorthand-boolean": "off",
6368
"@eslint-react/prefer-shorthand-fragment": "off",
6469

packages/plugins/eslint-plugin/src/configs/debug.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ export const rules = {
77
"@eslint-react/debug/function-component": "warn",
88
"@eslint-react/debug/hook": "warn",
99
"@eslint-react/debug/is-from-react": "warn",
10+
"@eslint-react/debug/jsx": "warn",
1011
} as const;
1112

1213
export const plugins = {

0 commit comments

Comments
 (0)