Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
136 commits
Select commit Hold shift + click to select a range
69ac594
docs: minor improvements
Rel1cx Apr 18, 2025
e9e44cc
refactor!: restructure rules
Rel1cx Apr 18, 2025
d1ac1a1
build!: update peer dependencies and minimum runtime versions across …
Rel1cx Apr 18, 2025
f354919
ci: update Node.js version in CI workflow from 18 to 20
Rel1cx Apr 18, 2025
8ec367c
chore: update dependencies to latest versions across multiple packages
Rel1cx Apr 18, 2025
1f39546
docs: minor improvements
Rel1cx Apr 18, 2025
8e2d68a
Merge branch 'main' into 2.0.0-next.0
Rel1cx Apr 18, 2025
f798e1f
Merge branch 'main' into 2.0.0-next
Rel1cx Apr 18, 2025
047138d
refactor!: remove `no-complex-conditional-rendering` rule and associa…
Rel1cx Apr 18, 2025
668d379
docs: minor improvements
Rel1cx Apr 18, 2025
4d1ded6
refactor: restructure core module
Rel1cx Apr 18, 2025
8588e54
release: 2.0.0-next.0
Rel1cx Apr 18, 2025
bf04bce
release: 2.0.0-next.0
Rel1cx Apr 18, 2025
5563e4c
build!: change build target to node 20 and esm
Rel1cx Apr 18, 2025
a807887
release: 2.0.0-next.1
Rel1cx Apr 18, 2025
36498f9
Merge branch 'main' into 2.0.0-next
Rel1cx Apr 18, 2025
9ce3362
Merge branch 'main' into 2.0.0-next
Rel1cx Apr 18, 2025
41e9feb
release: 2.0.0-next.2
Rel1cx Apr 18, 2025
e1fc626
Merge branch 'main' into 2.0.0-next
Rel1cx Apr 18, 2025
42ead71
Merge branch 'main' into 2.0.0-next
Rel1cx Apr 19, 2025
6435640
Merge branch 'main' into 2.0.0-next
Rel1cx Apr 19, 2025
fd911de
Merge branch 'main' into 2.0.0-next
Rel1cx Apr 19, 2025
c0de955
Merge branch 'main' into 2.0.0-next
Rel1cx Apr 19, 2025
42696d8
release: 2.0.0-next.3
Rel1cx Apr 19, 2025
a07e3ad
feat!: remove 'jsx-shorthand-*' rules (#1091)
Rel1cx Apr 20, 2025
2d9003f
feat!: remove 'no-useless-fragment' rule (#1092)
Rel1cx Apr 20, 2025
746cb07
release: 2.0.0-next.4
Rel1cx Apr 20, 2025
b9405ce
chore: update deps
Rel1cx Apr 20, 2025
a9e8915
chore: update deps
Rel1cx Apr 21, 2025
8eb9d82
Merge branch 'main' into 2.0.0-next
Rel1cx Apr 22, 2025
50d977a
Merge branch 'main' into 2.0.0-next
Rel1cx Apr 22, 2025
92f4fa1
Merge branch 'main' into 2.0.0-next
Rel1cx Apr 23, 2025
adaa264
feat!: merge `eslint-plugin-react-hooks-extra` into `eslint-plugin-re…
Rel1cx Apr 23, 2025
53fe260
refactor: minor improvements
Rel1cx Apr 23, 2025
65410d0
release: 2.0.0-next.5
Rel1cx Apr 23, 2025
8972be3
chore: update deps
Rel1cx Apr 24, 2025
e9b1f03
release: 2.0.0-next.6
Rel1cx Apr 24, 2025
ddc607c
release: 2.0.0-next.7
Rel1cx Apr 25, 2025
7f53748
chore: update deps
Rel1cx Apr 26, 2025
e2edb74
chore: update deps
Rel1cx Apr 27, 2025
f781fce
release: 2.0.0-next.8
Rel1cx Apr 27, 2025
8fdbadd
Merge branch 'main' into 2.0.0-next
Rel1cx Apr 27, 2025
c94b1fb
feat: add 'jsx-shorthand-*' rules
Rel1cx Apr 27, 2025
77c45a6
chore: update deps
Rel1cx Apr 28, 2025
37773e8
feat: update jsx-shorthand rules to use new message format and policy…
Rel1cx Apr 28, 2025
dbeb37c
docs: update docs
Rel1cx Apr 28, 2025
2a40d34
docs: update rules overview page
Rel1cx Apr 28, 2025
6f142b3
release: 2.0.0-next.9
Rel1cx Apr 28, 2025
1cb7049
refactor: code optimizations (#1098)
Rel1cx Apr 29, 2025
bde3a3f
release: 2.0.0-next.10
Rel1cx Apr 29, 2025
792be01
refactor: code optimizations (#1100)
Rel1cx Apr 30, 2025
7515cc3
release: 2.0.0-next.11
Rel1cx Apr 30, 2025
ad441cd
chore: update deps
Rel1cx May 1, 2025
322bcac
feat(website): add background effect to homepage
Rel1cx May 2, 2025
9bab1c4
feat(website): minor improvements
Rel1cx May 2, 2025
e355bfb
Merge branch 'main' into 2.0.0-next
Rel1cx May 2, 2025
f6dae0a
Merge branch 'main' into 2.0.0-next
Rel1cx May 2, 2025
e65829d
Merge branch 'main' into 2.0.0-next
Rel1cx May 2, 2025
6f6686f
Merge branch 'main' into 2.0.0-next
Rel1cx May 2, 2025
82a2f35
Merge branch 'main' into 2.0.0-next
Rel1cx May 2, 2025
32cadd3
release: 2.0.0-next.12
Rel1cx May 2, 2025
cb270fe
feat(website): add back light mode (#1104)
Rel1cx May 3, 2025
9c9854c
Merge branch 'main' into 2.0.0-next
Rel1cx May 3, 2025
4e926c9
chore: update deps
Rel1cx May 3, 2025
d786b9d
feat(website): minor improvements
Rel1cx May 3, 2025
b27f313
feat(website): minor improvements
Rel1cx May 3, 2025
f5e2cc3
feat: add 'jsx-key-before-spread'
Rel1cx May 4, 2025
13439d3
release: 2.0.0-next.13
Rel1cx May 4, 2025
0fd8aad
release: 2.0.0-beta.13
Rel1cx May 4, 2025
5af4827
Merge branch 'main' into 2.0.0-next
Rel1cx May 4, 2025
6da28cb
release: 2.0.0-next.14
Rel1cx May 5, 2025
9d6cf26
release: 2.0.0-beta.14
Rel1cx May 5, 2025
1a7c560
Merge branch 'main' into 2.0.0-next
Rel1cx May 5, 2025
ab50af2
fix(website): update 'Monorepo Structure' section of contributing page
Rel1cx May 5, 2025
c4072a2
release: 2.0.0-beta.15
Rel1cx May 7, 2025
e414a8a
refactor: remove unused code
Rel1cx May 7, 2025
9bb001b
refactor: remove deprecated
Rel1cx May 7, 2025
5d072e8
release: 2.0.0-next.16
Rel1cx May 7, 2025
44a4b9b
release: 2.0.0-beta.16
Rel1cx May 7, 2025
f24572b
chore: update dprint config
Rel1cx May 7, 2025
20838bb
refactor: remove unused code
Rel1cx May 7, 2025
5874d20
docs: update roadmap
Rel1cx May 7, 2025
01843b6
docs: update roadmap
Rel1cx May 7, 2025
d2de614
release: 2.0.0-next.17
Rel1cx May 7, 2025
462e107
release: 2.0.0-beta.17
Rel1cx May 7, 2025
a43ac0f
refactor: minor improvements
Rel1cx May 8, 2025
469756a
release: 2.0.0-next.18
Rel1cx May 10, 2025
405f2e4
release: 2.0.0-beta.18
Rel1cx May 12, 2025
0076492
release: 2.0.0-next.19
Rel1cx May 14, 2025
cd9aeb6
docs: minor improvements
Rel1cx May 14, 2025
3597642
release: 2.0.0-next.20
Rel1cx May 16, 2025
b99a82c
release: 2.0.0-next.21
Rel1cx May 22, 2025
4add72b
release: 2.0.0-next.23
Rel1cx May 25, 2025
d6a7141
release: 2.0.0-next.24
Rel1cx May 25, 2025
3080748
docs: minor improvements
Rel1cx May 25, 2025
65cf4dd
Merge branch 'main' into 2.0.0-next
Rel1cx May 25, 2025
44fe2d1
release: 2.0.0-next.25
Rel1cx May 25, 2025
01cb3f9
chore: update dprint config
Rel1cx May 25, 2025
cb9e808
feat: add back react-hooks-extra plugin for backward compatibility
Rel1cx May 27, 2025
b49ef51
chore: update deps
Rel1cx May 27, 2025
22c408c
release: 2.0.0-next.26
Rel1cx May 27, 2025
6071dcb
release: 2.0.0-next.27
Rel1cx May 31, 2025
9a581f1
release: 2.0.0-next.28
Rel1cx Jun 1, 2025
08a5200
release: 2.0.0-next.29
Rel1cx Jun 2, 2025
d4b3aca
release: 2.0.0-next.30
Rel1cx Jun 2, 2025
c80a7b2
Merge branch 'main' into 2.0.0-next
Rel1cx Jun 2, 2025
ccc5b90
release: 2.0.0-next.31
Rel1cx Jun 2, 2025
82f190a
[WIP] feat: add `unnecessary-use-effect` rule (#1115)
Rel1cx Jun 3, 2025
40b7dc7
release: 2.0.0-next.32
Rel1cx Jun 3, 2025
bacd6ca
release: 2.0.0-next.33
Rel1cx Jun 3, 2025
3d690ed
ci: update node version in github actions
Rel1cx Jun 3, 2025
c42b44b
docs: update rules overview page
Rel1cx Jun 3, 2025
b786121
docs(examples): add rspeedy-react-lynx-app to examples
Rel1cx Jun 3, 2025
5db53aa
chore: remove unneeded files
Rel1cx Jun 3, 2025
a0127df
release: 2.0.0-next.34
Rel1cx Jun 3, 2025
b628b70
release: 2.0.0-next.35
Rel1cx Jun 3, 2025
7e25eff
fix: fixed the forward compatibility of `eslint-plugin-react-hooks-ex…
Rel1cx Jun 4, 2025
2f53eb6
release: 2.0.0-next.36
Rel1cx Jun 4, 2025
4d7b5e0
fix: fixed jsx detection method not respect SkipEmptyArray hint, clos…
Rel1cx Jun 5, 2025
5b26e81
release: 2.0.0-next.37
Rel1cx Jun 6, 2025
a3a39b2
release: 2.0.0-next.38
Rel1cx Jun 7, 2025
e3debd7
release: 2.0.0-next.39
Rel1cx Jun 9, 2025
85174c3
release: 2.0.0-next.40
Rel1cx Jun 9, 2025
0fbfa9f
release: 2.0.0-next.41
Rel1cx Jun 10, 2025
6093b3c
release: 2.0.0-next.42
Rel1cx Jun 11, 2025
8524f3d
release: 2.0.0-next.43
Rel1cx Jun 12, 2025
69d7066
release: 2.0.0-next.44
Rel1cx Jun 14, 2025
9cf5c03
release: 2.0.0-next.45
Rel1cx Jun 15, 2025
34a400b
refactor: unexport 'no-unnecessary-use-effect' rule
Rel1cx Jun 15, 2025
c93154d
fix: recover forward compatibility for shorthand rules
Rel1cx Jun 15, 2025
15a8fdd
release: 2.0.0-next.46
Rel1cx Jun 16, 2025
a5025cd
release: 2.0.0-next.46
Rel1cx Jun 18, 2025
ad932a1
test: add 'vite-react-dom-app-v1' to examples for testing purpose
Rel1cx Jun 18, 2025
d533b0c
fix: recover forward compatibility for missing rules
Rel1cx Jun 18, 2025
52b0851
fix: fix test cases
Rel1cx Jun 18, 2025
e09866f
feat: add suggest to 'react-x/no-missing-button-type'
Rel1cx Jun 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ jobs:
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v4
- name: Setup node@23
- name: Setup node@24
uses: actions/setup-node@v4
with:
node-version: 23
node-version: 24
- name: Enable Corepack
run: corepack enable
- name: Install front-end dependencies
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
# - https://gh.io/supported-runners-and-hardware-resources
# - https://gh.io/using-larger-runners (GitHub.com only)
# Consider using larger runners or machines with greater resources for possible analysis time improvements.
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
runs-on: ${{ (matrix.language == 'swift' && 'ubuntu-24.04-arm') || 'ubuntu-latest' }}
timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }}
permissions:
# required for all workflows
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ jobs:
id-token: write
steps:
- uses: actions/checkout@v4
- name: Setup node@23
- name: Setup node@24
uses: actions/setup-node@v4
with:
node-version: 23
node-version: 24
registry-url: "https://registry.npmjs.org"
- name: Enable Corepack
run: corepack enable
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,23 +15,23 @@ jobs:
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v4
- name: Setup node@23
- name: Setup node@24
uses: actions/setup-node@v4
with:
node-version: 23
node-version: 24
- name: Enable Corepack
run: corepack enable
- name: Install front-end dependencies
run: pnpm install
- name: Build front-end assets
run: pnpm run build
- name: Test on node@23
- name: Test on node@24
run: pnpm run test
- name: Setup node@18
- name: Setup node@20
uses: actions/setup-node@v4
with:
node-version: 18
node-version: 20
- name: Enable Corepack
run: corepack enable
- name: Test on node@18
- name: Test on node@20
run: pnpm run test
1 change: 1 addition & 0 deletions .pkgs/configs/eslint.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ const templateIndentTags = [
"ts",
"tsx",
"html",
"glsl",
"dedent",
"outdent",
];
Expand Down
1 change: 1 addition & 0 deletions .pkgs/configs/eslint.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ const templateIndentTags = [
"ts",
"tsx",
"html",
"glsl",
"dedent",
"outdent",
];
Expand Down
6 changes: 3 additions & 3 deletions .pkgs/eslint-plugin-local/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,11 @@
"tsup": "^8.5.0"
},
"peerDependencies": {
"eslint": "^8.57.0 || ^9.0.0",
"typescript": "^4.9.5 || ^5.3.3"
"eslint": "^9.29.0",
"typescript": "^4.9.5 || ^5.4.5"
},
"engines": {
"bun": ">=1.0.15",
"node": ">=18.18.0"
"node": ">=20.19.0"
}
}
2 changes: 1 addition & 1 deletion .pkgs/eslint-plugin-local/tsup.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@ export default {
platform: "node",
sourcemap: false,
splitting: false,
target: "node18",
target: "node20",
treeshake: true,
} satisfies Options;
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@
- [`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).
- [`eslint-plugin-react-dom`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) - DOM specific rules for React DOM.
- [`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.
- [`eslint-plugin-react-hooks-extra`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-hooks-extra) - Extra React Hooks rules.
- [`eslint-plugin-react-naming-convention`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-naming-convention) - Naming convention rules.

### Unified
Expand All @@ -53,8 +52,8 @@
> [!NOTE]\
> ESLint React requires the following minimum versions:
>
> - Node.js: 18.18.0
> - ESLint: 8.57.0
> - Node.js: 20.19.0
> - ESLint: 9.24.0
> - TypeScript: 4.9.5

### Install
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.52.3-next.6
2.0.0-next.47
7 changes: 0 additions & 7 deletions apps/website/content/docs/contributing.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ flowchart TB
ReactX["eslint-plugin-react-x"]:::plugins
ReactDOM["eslint-plugin-react-dom"]:::plugins
WebAPI["eslint-plugin-react-web-api"]:::plugins
HooksExtra["eslint-plugin-react-hooks-extra"]:::plugins
NamingConvention["eslint-plugin-react-naming-convention"]:::plugins
Aggregated["Aggregated Plugin (@eslint-react/eslint-plugin)"]:::plugins
end
Expand All @@ -56,13 +55,11 @@ flowchart TB
Core -->|"dependency"| ReactX
Core -->|"dependency"| ReactDOM
Core -->|"dependency"| WebAPI
Core -->|"dependency"| HooksExtra
Core -->|"dependency"| NamingConvention

Shared -->|"dependency"| ReactX
Shared -->|"dependency"| ReactDOM
Shared -->|"dependency"| WebAPI
Shared -->|"dependency"| HooksExtra
Shared -->|"dependency"| NamingConvention

%% Utilities used by Core and Plugins
Expand All @@ -80,7 +77,6 @@ flowchart TB
ReactX -->|"aggregated"| Aggregated
ReactDOM -->|"aggregated"| Aggregated
WebAPI -->|"aggregated"| Aggregated
HooksExtra -->|"aggregated"| Aggregated
NamingConvention -->|"aggregated"| Aggregated

%% Website Documentation uses Core and Shared docs
Expand All @@ -97,7 +93,6 @@ flowchart TB
Scripts -->|"CI/CD"| ReactX
Scripts -->|"CI/CD"| ReactDOM
Scripts -->|"CI/CD"| WebAPI
Scripts -->|"CI/CD"| HooksExtra
Scripts -->|"CI/CD"| NamingConvention
Scripts -->|"CI/CD"| Aggregated
Scripts -->|"CI/CD"| Tests
Expand All @@ -114,7 +109,6 @@ flowchart TB
click ReactX "https://github.com/rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x"
click ReactDOM "https://github.com/rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom"
click WebAPI "https://github.com/rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-web-api"
click HooksExtra "https://github.com/rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-hooks-extra"
click NamingConvention "https://github.com/rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-naming-convention"
click Aggregated "https://github.com/rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin"
click Scripts "https://github.com/rel1cx/eslint-react/tree/main/scripts"
Expand Down Expand Up @@ -154,7 +148,6 @@ This section provides a summary of the packages in the monorepo.
- `packages/plugins/eslint-plugin-react-x`: Core React rules
- `packages/plugins/eslint-plugin-react-dom`: React DOM rules
- `packages/plugins/eslint-plugin-react-web-api`: Web API interaction rules
- `packages/plugins/eslint-plugin-react-hooks-extra`: Extra React Hooks rules
- `packages/plugins/eslint-plugin-react-naming-convention`: Naming convention rules
- `packages/plugins/eslint-plugin-react-debug`: Debugging rules for inspecting React patterns in code
- `packages/plugins/eslint-plugin`: A unified plugin that combines all individual plugins into one
Expand Down
1 change: 0 additions & 1 deletion apps/website/content/docs/faq.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@ Currently, it includes the following:
- [`eslint-plugin-react-x`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) - Core React rules.
- [`eslint-plugin-react-dom`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) - React DOM rules.
- [`eslint-plugin-react-web-api`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-web-api) - Web API interaction rules.
- [`eslint-plugin-react-hooks-extra`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-hooks-extra) - Extra React Hooks rules.
- [`eslint-plugin-react-naming-convention`](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-naming-convention) - Naming convention rules.
- [`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.
- [`@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.
Expand Down
4 changes: 2 additions & 2 deletions apps/website/content/docs/getting-started/javascript.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ import { Step, Steps } from "fumadocs-ui/components/steps";

<Callout type="info" title="This instruction requires the following minimum versions:">

- Node.js: 18.18.0
- ESLint: 8.57.0
- Node.js: 20.19.0
- ESLint: 9.24.0
- TypeScript: 4.9.5

</Callout>
Expand Down
4 changes: 2 additions & 2 deletions apps/website/content/docs/getting-started/typescript.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ import { Step, Steps } from "fumadocs-ui/components/steps";

<Callout type="info" title="This instruction requires the following minimum versions:">

- Node.js: 18.18.0
- ESLint: 8.57.0
- Node.js: 20.19.0
- ESLint: 9.24.0
- TypeScript: 4.9.5

</Callout>
Expand Down
25 changes: 10 additions & 15 deletions apps/website/content/docs/rules/meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,12 @@
"overview",
"---X Rules---",
"jsx-key-before-spread",
"jsx-no-comment-textnodes",
"jsx-no-duplicate-props",
"jsx-no-iife",
"jsx-no-undef",
"jsx-shorthand-boolean",
"jsx-shorthand-fragment",
"jsx-uses-react",
"jsx-uses-vars",
"no-access-state-in-setstate",
Expand All @@ -18,15 +21,15 @@
"no-children-to-array",
"no-class-component",
"no-clone-element",
"no-comment-textnodes",
"no-complex-conditional-rendering",
"no-component-will-mount",
"no-component-will-receive-props",
"no-component-will-update",
"no-context-provider",
"no-create-ref",
"no-default-props",
"no-direct-mutation-state",
"no-direct-set-state-in-use-effect",
"no-direct-set-state-in-use-layout-effect",
"no-duplicate-key",
"no-forward-ref",
"no-implicit-key",
Expand All @@ -43,6 +46,9 @@
"no-set-state-in-component-did-update",
"no-set-state-in-component-will-update",
"no-string-refs",
"no-unnecessary-use-callback",
"no-unnecessary-use-memo",
"no-unnecessary-use-prefix",
"no-unsafe-component-will-mount",
"no-unsafe-component-will-receive-props",
"no-unsafe-component-will-update",
Expand All @@ -52,14 +58,10 @@
"no-unused-state",
"no-use-context",
"no-useless-forward-ref",
"no-useless-fragment",
"prefer-destructuring-assignment",
"prefer-react-namespace-import",
"prefer-namespace-import",
"prefer-read-only-props",
"prefer-shorthand-boolean",
"prefer-shorthand-fragment",
"avoid-shorthand-boolean",
"avoid-shorthand-fragment",
"prefer-use-state-lazy-initialization",
"---DOM Rules---",
"dom-no-dangerously-set-innerhtml",
"dom-no-dangerously-set-innerhtml-with-children",
Expand All @@ -82,13 +84,6 @@
"web-api-no-leaked-interval",
"web-api-no-leaked-resize-observer",
"web-api-no-leaked-timeout",
"---Hooks Extra Rules---",
"hooks-extra-no-direct-set-state-in-use-effect",
"hooks-extra-no-direct-set-state-in-use-layout-effect",
"hooks-extra-no-unnecessary-use-callback",
"hooks-extra-no-unnecessary-use-memo",
"hooks-extra-no-unnecessary-use-prefix",
"hooks-extra-prefer-use-state-lazy-initialization",
"---Naming Convention Rules---",
"naming-convention-component-name",
"naming-convention-context-name",
Expand Down
14 changes: 6 additions & 8 deletions apps/website/content/docs/rules/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ The `jsx-*` rules check for issues exclusive to JSX syntax, which are absent fro
| [`jsx-no-duplicate-props`](./jsx-no-duplicate-props) | 1️⃣ | | Disallow duplicate props in JSX elements | |
| [`jsx-no-iife`](./jsx-no-iife) | 0️⃣ | `🧪` | Disallows `IIFE` in JSX elements | |
| [`jsx-no-undef`](./jsx-no-undef) | 0️⃣ | | Disallow undefined variables in JSX elements | |
| [`jsx-shorthand-boolean`](./jsx-shorthand-boolean) | 0️⃣ | `🔧` `⚙️` | Enforces the use of shorthand syntax for boolean attributes | |
| [`jsx-shorthand-fragment`](./jsx-shorthand-fragment) | 0️⃣ | `🔧` `⚙️` | Enforces the use of shorthand syntax for fragments | |
| [`jsx-uses-react`](./jsx-uses-react) | 1️⃣ | | Marks React variables as used when JSX is used | |
| [`jsx-uses-vars`](./jsx-uses-vars) | 1️⃣ | | Marks variables used in JSX elements as used | |
| [`no-access-state-in-setstate`](./no-access-state-in-setstate) | 2️⃣ | | Disallow accessing `this.state` inside `setState` calls | |
Expand Down Expand Up @@ -72,6 +74,9 @@ The `jsx-*` rules check for issues exclusive to JSX syntax, which are absent fro
| [`no-set-state-in-component-did-update`](./no-set-state-in-component-did-update) | 1️⃣ | | Disallow calling `this.setState` in `componentDidUpdate` outside of functions, such as callbacks | |
| [`no-set-state-in-component-will-update`](./no-set-state-in-component-will-update) | 1️⃣ | | Disallow calling `this.setState` in `componentWillUpdate` outside of functions, such as callbacks | |
| [`no-string-refs`](./no-string-refs) | 2️⃣ | `🔄` | Replaces string refs with callback refs | >=16.3.0 |
| [`no-unnecessary-use-callback`](./no-unnecessary-use-callback) | 0️⃣ | `🧪` | Disallow unnecessary usage of `useCallback` | |
| [`no-unnecessary-use-memo`](./no-unnecessary-use-memo) | 0️⃣ | `🧪` | Disallow unnecessary usage of `useMemo` | |
| [`no-unnecessary-use-prefix`](./no-unnecessary-use-prefix) | 0️⃣ | | Enforces that a function with the `use` prefix should use at least one Hook inside of it | |
| [`no-unsafe-component-will-mount`](./no-unsafe-component-will-mount) | 1️⃣ | | Warns the usage of `UNSAFE_componentWillMount` in class components | |
| [`no-unsafe-component-will-receive-props`](./no-unsafe-component-will-receive-props) | 1️⃣ | | Warns the usage of `UNSAFE_componentWillReceiveProps` in class components | |
| [`no-unsafe-component-will-update`](./no-unsafe-component-will-update) | 1️⃣ | | Warns the usage of `UNSAFE_componentWillUpdate` in class components | |
Expand All @@ -85,10 +90,7 @@ The `jsx-*` rules check for issues exclusive to JSX syntax, which are absent fro
| [`prefer-destructuring-assignment`](./prefer-destructuring-assignment) | 0️⃣ | | Enforces destructuring assignment for component props and context | |
| [`prefer-react-namespace-import`](./prefer-react-namespace-import) | 0️⃣ | `🔧` | Enforces React is imported via a namespace import | |
| [`prefer-read-only-props`](./prefer-read-only-props) | 0️⃣ | `💭` | Enforces read-only props in components | |
| [`prefer-shorthand-boolean`](./prefer-shorthand-boolean) | 0️⃣ | `🔧` | Enforces shorthand syntax for boolean attributes | |
| [`prefer-shorthand-fragment`](./prefer-shorthand-fragment) | 0️⃣ | `🔧` | Enforces shorthand syntax for fragments | |
| [`avoid-shorthand-boolean`](./avoid-shorthand-boolean) | 0️⃣ | `🔧` | Enforces explicit boolean values for boolean attributes | |
| [`avoid-shorthand-fragment`](./avoid-shorthand-fragment) | 0️⃣ | | Enforces explicit `<Fragment>` components instead of the shorthand `<>` or `</>` syntax | |
| [`prefer-use-state-lazy-initialization`](./prefer-use-state-lazy-initialization) | 1️⃣ | | Enforces function calls made inside `useState` to be wrapped in an `initializer function` | |

## DOM Rules

Expand Down Expand Up @@ -132,10 +134,6 @@ This section contains rules that are not part of the official `eslint-plugin-rea
| :--------------------------------------------------------------------------------------------------- | :-- | :--: | :---------------------------------------------------------------------------------------- |
| [`no-direct-set-state-in-use-effect`](./hooks-extra-no-direct-set-state-in-use-effect) | 1️⃣ | | Disallow direct calls to the `set` function of `useState` in `useEffect` |
| [`no-direct-set-state-in-use-layout-effect`](./hooks-extra-no-direct-set-state-in-use-layout-effect) | 0️⃣ | `🧪` | Disallow direct calls to the `set` function of `useState` in `useLayoutEffect` |
| [`no-unnecessary-use-callback`](./hooks-extra-no-unnecessary-use-callback) | 0️⃣ | `🧪` | Disallow unnecessary usage of `useCallback` |
| [`no-unnecessary-use-memo`](./hooks-extra-no-unnecessary-use-memo) | 0️⃣ | `🧪` | Disallow unnecessary usage of `useMemo` |
| [`no-unnecessary-use-prefix`](./hooks-extra-no-unnecessary-use-prefix) | 1️⃣ | | Enforces that a function with the `use` prefix should use at least one hook inside of it |
| [`prefer-use-state-lazy-initialization`](./hooks-extra-prefer-use-state-lazy-initialization) | 1️⃣ | | Enforces function calls made inside `useState` to be wrapped in an `initializer function` |

## Naming Convention Rules

Expand Down
Loading
Loading