Skip to content

Commit 84d48bc

Browse files
committed
Add RSC rules to recommended presets
- Merge rsc rules and plugins into the recommended config - Update docs to mention the rsc preset in Bare Bones - Update docs to mention the rsc preset in General Purpose - Align plugin export order by placing dom after rsc
1 parent 44da41a commit 84d48bc

5 files changed

Lines changed: 25 additions & 22 deletions

File tree

README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -123,19 +123,19 @@ export default defineConfig(
123123
### Bare Bones
124124

125125
- `x`\
126-
Enable rules for `"react"`.
126+
Enable rules for React.
127+
- `rsc`\
128+
- Enable rules for React Server Components.
127129
- `dom`\
128-
Enable rules for `"react-dom"`.
130+
Enable rules for React DOM.
129131
- `web-api`\
130132
Enable rules for interacting with Web APIs.
131-
- `rsc`\
132-
- Enable rules for React Server Components.
133133

134134
### General Purpose
135135

136136
- `recommended`\
137137
Enforce rules that are recommended by ESLint React for general-purpose React + React DOM projects.\
138-
_This preset includes the `x`, `dom`, and `web-api` presets._
138+
_This preset includes the `x`, `rsc`, `dom`, and `web-api` presets._
139139

140140
- `strict`\
141141
Same as the `recommended` preset but enables additional strict rules.
@@ -167,12 +167,12 @@ export default defineConfig(
167167

168168
### Other
169169

170+
- `disable-rsc`\
171+
Disable rules in the `rsc` preset.
170172
- `disable-dom`\
171173
Disable rules in the `dom` preset.
172174
- `disable-web-api`\
173175
Disable rules in the `web-api` preset.
174-
- `disable-rsc`\
175-
Disable rules in the `rsc` preset.
176176
- `disable-experimental`\
177177
Disable rules that have an "🧪 Experimental" feature flag.
178178
- `disable-type-checked`\

apps/website/content/docs/presets.mdx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,19 @@ The following presets are available in `@eslint-react/eslint-plugin`:
77
## Bare Bones
88

99
- `x`\
10-
Enable rules for `"react"`.
10+
Enable rules for React.
11+
- `rsc`\
12+
- Enable rules for React Server Components.
1113
- `dom`\
12-
Enable rules for `"react-dom"`.
14+
Enable rules for React DOM.
1315
- `web-api`\
1416
Enable rules for interacting with Web APIs.
15-
- `rsc`\
16-
Enable rules for React Server Components.
1717

1818
## General Purpose
1919

2020
- `recommended`\
2121
Enforce rules that are recommended by ESLint React for general-purpose React + React DOM projects.\
22-
_This preset includes the `x`, `dom`, and `web-api` presets._
22+
_This preset includes the `x`, `rsc`, `dom`, and `web-api` presets._
2323

2424
- `strict`\
2525
Same as the `recommended` preset but enables additional strict rules.
@@ -45,12 +45,12 @@ The following presets are available in `@eslint-react/eslint-plugin`:
4545

4646
## Other
4747

48+
- `disable-rsc`\
49+
Disable rules in the `rsc` preset.
4850
- `disable-dom`\
4951
Disable rules in the `dom` preset.
5052
- `disable-web-api`\
5153
Disable rules in the `web-api` preset.
52-
- `disable-rsc`\
53-
Disable rules in the `rsc` preset.
5454
- `disable-experimental`\
5555
Disable rules that have an "🧪 Experimental" feature flag.
5656
- `disable-type-checked`\

packages/plugins/eslint-plugin/README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -123,19 +123,19 @@ export default defineConfig(
123123
### Bare Bones
124124

125125
- `x`\
126-
Enable rules for `"react"`.
126+
Enable rules for React.
127+
- `rsc`\
128+
- Enable rules for React Server Components.
127129
- `dom`\
128-
Enable rules for `"react-dom"`.
130+
Enable rules for React DOM.
129131
- `web-api`\
130132
Enable rules for interacting with Web APIs.
131-
- `rsc`\
132-
- Enable rules for React Server Components.
133133

134134
### General Purpose
135135

136136
- `recommended`\
137137
Enforce rules that are recommended by ESLint React for general-purpose React + React DOM projects.\
138-
_This preset includes the `x`, `dom`, and `web-api` presets._
138+
_This preset includes the `x`, `rsc`, `dom`, and `web-api` presets._
139139

140140
- `strict`\
141141
Same as the `recommended` preset but enables additional strict rules.
@@ -167,12 +167,12 @@ export default defineConfig(
167167

168168
### Other
169169

170+
- `disable-rsc`\
171+
Disable rules in the `rsc` preset.
170172
- `disable-dom`\
171173
Disable rules in the `dom` preset.
172174
- `disable-web-api`\
173175
Disable rules in the `web-api` preset.
174-
- `disable-rsc`\
175-
Disable rules in the `rsc` preset.
176176
- `disable-experimental`\
177177
Disable rules that have an "🧪 Experimental" feature flag.
178178
- `disable-type-checked`\

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,8 +107,8 @@ export const rules = {
107107

108108
export const plugins = {
109109
...x.plugins,
110-
...dom.plugins,
111110
...rsc.plugins,
111+
...dom.plugins,
112112
"@eslint-react/hooks-extra": reactHooksExtra,
113113
"@eslint-react/naming-convention": reactNamingConvention,
114114
"@eslint-react/web-api": reactWebApi,

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,15 @@ import reactHooksExtra from "eslint-plugin-react-hooks-extra";
33
import reactNamingConvention from "eslint-plugin-react-naming-convention";
44

55
import * as dom from "./dom";
6+
import * as rsc from "./rsc";
67
import * as webApi from "./web-api";
78
import * as x from "./x";
89

910
export const name = "@eslint-react/recommended";
1011

1112
export const rules = {
1213
...x.rules,
14+
...rsc.rules,
1315
...dom.rules,
1416
...webApi.rules,
1517
"@eslint-react/hooks-extra/no-direct-set-state-in-use-effect": "warn",
@@ -20,6 +22,7 @@ export const rules = {
2022

2123
export const plugins = {
2224
...x.plugins,
25+
...rsc.plugins,
2326
...dom.plugins,
2427
...webApi.plugins,
2528
"@eslint-react/hooks-extra": reactHooksExtra,

0 commit comments

Comments
 (0)