Skip to content

Commit adaa264

Browse files
authored
feat!: merge eslint-plugin-react-hooks-extra into eslint-plugin-react-x (#1094)
1 parent 92f4fa1 commit adaa264

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+141
-463
lines changed

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ A series of composable ESLint rules for React and friends.
4141
- [`eslint-plugin-react-x`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) - X Rules (renderer-agnostic, compatible with x-platform).
4242
- [`eslint-plugin-react-dom`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) - DOM specific rules for React DOM.
4343
- [`eslint-plugin-react-web-api`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-web-api) - Rules for interacting with Web APIs.
44-
- [`eslint-plugin-react-hooks-extra`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-hooks-extra) - Extra React Hooks rules.
4544
- [`eslint-plugin-react-naming-convention`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-naming-convention) - Naming convention rules.
4645

4746
### Unified

apps/website/content/docs/contributing.mdx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ flowchart TB
3838
ReactX["eslint-plugin-react-x"]:::plugins
3939
ReactDOM["eslint-plugin-react-dom"]:::plugins
4040
WebAPI["eslint-plugin-react-web-api"]:::plugins
41-
HooksExtra["eslint-plugin-react-hooks-extra"]:::plugins
4241
NamingConvention["eslint-plugin-react-naming-convention"]:::plugins
4342
Aggregated["Aggregated Plugin (@eslint-react/eslint-plugin)"]:::plugins
4443
end
@@ -114,7 +113,6 @@ flowchart TB
114113
click ReactX "https://github.com/rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x"
115114
click ReactDOM "https://github.com/rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom"
116115
click WebAPI "https://github.com/rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-web-api"
117-
click HooksExtra "https://github.com/rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-hooks-extra"
118116
click NamingConvention "https://github.com/rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-naming-convention"
119117
click Aggregated "https://github.com/rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin"
120118
click Scripts "https://github.com/rel1cx/eslint-react/tree/main/scripts"
@@ -154,7 +152,6 @@ This section provides a summary of the packages in the monorepo.
154152
- `packages/plugins/eslint-plugin-react-x`: Core React rules
155153
- `packages/plugins/eslint-plugin-react-dom`: React DOM rules
156154
- `packages/plugins/eslint-plugin-react-web-api`: Web API interaction rules
157-
- `packages/plugins/eslint-plugin-react-hooks-extra`: Extra React Hooks rules
158155
- `packages/plugins/eslint-plugin-react-naming-convention`: Naming convention rules
159156
- `packages/plugins/eslint-plugin-react-debug`: Debugging rules for inspecting React patterns in code
160157
- `packages/plugins/eslint-plugin`: A unified plugin that combines all individual plugins into one

apps/website/content/docs/faq.mdx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ Currently, it includes the following:
3939
- [`eslint-plugin-react-x`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) - Core React rules.
4040
- [`eslint-plugin-react-dom`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) - React DOM rules.
4141
- [`eslint-plugin-react-web-api`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-web-api) - Web API interaction rules.
42-
- [`eslint-plugin-react-hooks-extra`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-hooks-extra) - Extra React Hooks rules.
4342
- [`eslint-plugin-react-naming-convention`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-naming-convention) - Naming convention rules.
4443
- [`eslint-plugin-react-debug`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-debug) - Debugging rules for inspecting React patterns in code.
4544
- [`@eslint-react/eslint-plugin`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin) - A unified plugin that combines all individual plugins into one.

apps/website/content/docs/roadmap.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ Minimum supported versions:
2121
- [x] `eslint-plugin-react-x` - X Rules (renderer-agnostic, compatible with x-platform)
2222
- [x] `eslint-plugin-react-dom` - DOM Specific rules for React DOM
2323
- [x] `eslint-plugin-react-web-api` - Rules for interacting with Web APIs
24-
- [x] `eslint-plugin-react-hooks-extra` - Extra rules for `eslint-plugin-react-hooks`
2524
- [x] `eslint-plugin-react-naming-convention` - Naming convention rules designed for React projects
2625
- ... (Free to combine with other plugins from the community)
2726

@@ -65,7 +64,11 @@ Minimum supported versions:
6564
- [x] `react-dom/prefer-namespace-import` - Enforces the use of namespace imports for ReactDOM
6665
- [x] `naming-convention/context-name` - Enforces context name to be a valid component name with the suffix `Context` (React 19)
6766
- [ ] `function-component-definition` - Enforce the definition of function components ([Rel1cx/eslint-react#739](https://github.com/Rel1cx/eslint-react/issues/739))
68-
- [ ] `hooks-extra/no-circular-effect` - Detect circular `set` (and `dispatch`) functions and deps patterns in `useEffect` like Hooks ([Rel1cx/eslint-react#755](https://github.com/Rel1cx/eslint-react/issues/755))
67+
- [ ] `no-circular-effect` - Detect circular `set` (and `dispatch`) functions and deps patterns in `useEffect` like Hooks ([Rel1cx/eslint-react#755](https://github.com/Rel1cx/eslint-react/issues/755))
68+
69+
### Removed Plugins
70+
71+
- [x] `eslint-plugin-react-hooks-extra` - Extra rules for `eslint-plugin-react-hooks` - Merged into `eslint-plugin-react-x`
6972

7073
### Removed Rules
7174

apps/website/content/docs/rules/meta.json

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
"no-create-ref",
2525
"no-default-props",
2626
"no-direct-mutation-state",
27+
"no-direct-set-state-in-use-effect",
28+
"no-direct-set-state-in-use-layout-effect",
2729
"no-duplicate-key",
2830
"no-forward-ref",
2931
"no-implicit-key",
@@ -40,6 +42,9 @@
4042
"no-set-state-in-component-did-update",
4143
"no-set-state-in-component-will-update",
4244
"no-string-refs",
45+
"no-unnecessary-use-callback",
46+
"no-unnecessary-use-memo",
47+
"no-unnecessary-use-prefix",
4348
"no-unsafe-component-will-mount",
4449
"no-unsafe-component-will-receive-props",
4550
"no-unsafe-component-will-update",
@@ -52,6 +57,7 @@
5257
"prefer-destructuring-assignment",
5358
"prefer-namespace-import",
5459
"prefer-read-only-props",
60+
"prefer-use-state-lazy-initialization",
5561
"---DOM Rules---",
5662
"dom-no-dangerously-set-innerhtml",
5763
"dom-no-dangerously-set-innerhtml-with-children",
@@ -74,13 +80,6 @@
7480
"web-api-no-leaked-interval",
7581
"web-api-no-leaked-resize-observer",
7682
"web-api-no-leaked-timeout",
77-
"---Hooks Extra Rules---",
78-
"hooks-extra-no-direct-set-state-in-use-effect",
79-
"hooks-extra-no-direct-set-state-in-use-layout-effect",
80-
"hooks-extra-no-unnecessary-use-callback",
81-
"hooks-extra-no-unnecessary-use-memo",
82-
"hooks-extra-no-unnecessary-use-prefix",
83-
"hooks-extra-prefer-use-state-lazy-initialization",
8483
"---Naming Convention Rules---",
8584
"naming-convention-component-name",
8685
"naming-convention-context-name",

0 commit comments

Comments
 (0)