Skip to content

Commit 8926cf2

Browse files
committed
docs: update changelog and roadmap
1 parent 071c13a commit 8926cf2

File tree

3 files changed

+95
-63
lines changed

3 files changed

+95
-63
lines changed

CHANGELOG.md

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -39,21 +39,41 @@
3939

4040
We've added the following new rules:
4141

42-
- **`react-x/jsx-shorthand-boolean`**: Enforces a consistent style for boolean attributes
43-
- **`react-x/jsx-shorthand-fragment`**: Enforces a consistent style for React Fragments
44-
- **`react-x/no-forbidden-props`**: Disallows specific props on components
45-
- **`react-x/no-unnecessary-key`**: Reports unnecessary `key` props on elements
46-
- **`react-x/no-unused-props`**: Reports unused props in components
47-
- **`react-dom/no-string-style-prop`**: Disallows string values for the `style` prop
48-
- **`react-dom/prefer-namespace-import`**: Enforces using a namespace import for `react-dom`
42+
- `react-x/jsx-shorthand-boolean`: Enforces a consistent style for boolean attributes
43+
- `react-x/jsx-shorthand-fragment`: Enforces a consistent style for React Fragments
44+
- `react-x/no-forbidden-props`: Disallows specific props on components
45+
- `react-x/no-unnecessary-key`: Reports unnecessary `key` props on elements
46+
- `react-x/no-unused-props`: Reports unused props in components
47+
- `react-dom/no-string-style-prop`: Disallows string values for the `style` prop
48+
- `react-dom/prefer-namespace-import`: Enforces using a namespace import for `react-dom`
4949

5050
We've added the following new rules to `recommended-type-checked` presets:
5151

52-
- **`react-x/no-unused-props`**: Reports unused props in components
52+
- `react-x/no-unused-props`: Reports unused props in components
53+
54+
We've added codemod features to the following rules:
55+
56+
- `react-x/no-component-did-update`
57+
- `react-x/no-component-will-receive-props`
58+
- `react-x/no-component-will-update`
59+
- `react-x/no-context-provider`
60+
- `react-x/no-forward-ref`
61+
- `react-x/no-string-refs`
62+
63+
We've added auto-fix features to the following rules:
64+
65+
- `react-x/prefer-namespace-import`
66+
- `react-dom/prefer-namespace-import`
67+
68+
We've added suggestion-fix features to the following rules:
69+
70+
- `react-dom/no-missing-button-type`
71+
- `react-dom/no-missing-iframe-sandbox`
72+
- `react-dom/no-unsafe-target-blank`
5373

5474
We've also added new configuration presets:
5575

56-
- **`disable-conflict-eslint-plugin-react`**: Disable rules in `eslint-plugin-react` that conflict with rules in our plugins
76+
- `disable-conflict-eslint-plugin-react`: Disable rules in `eslint-plugin-react` that conflict with rules in our plugins
5777

5878
### 🐞 Fixes
5979

apps/website/content/docs/changelog.md

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -43,21 +43,41 @@ title: Changelog
4343

4444
We've added the following new rules:
4545

46-
- **`react-x/jsx-shorthand-boolean`**: Enforces a consistent style for boolean attributes
47-
- **`react-x/jsx-shorthand-fragment`**: Enforces a consistent style for React Fragments
48-
- **`react-x/no-forbidden-props`**: Disallows specific props on components
49-
- **`react-x/no-unnecessary-key`**: Reports unnecessary `key` props on elements
50-
- **`react-x/no-unused-props`**: Reports unused props in components
51-
- **`react-dom/no-string-style-prop`**: Disallows string values for the `style` prop
52-
- **`react-dom/prefer-namespace-import`**: Enforces using a namespace import for `react-dom`
46+
- `react-x/jsx-shorthand-boolean`: Enforces a consistent style for boolean attributes
47+
- `react-x/jsx-shorthand-fragment`: Enforces a consistent style for React Fragments
48+
- `react-x/no-forbidden-props`: Disallows specific props on components
49+
- `react-x/no-unnecessary-key`: Reports unnecessary `key` props on elements
50+
- `react-x/no-unused-props`: Reports unused props in components
51+
- `react-dom/no-string-style-prop`: Disallows string values for the `style` prop
52+
- `react-dom/prefer-namespace-import`: Enforces using a namespace import for `react-dom`
5353

5454
We've added the following new rules to `recommended-type-checked` presets:
5555

56-
- **`react-x/no-unused-props`**: Reports unused props in components
56+
- `react-x/no-unused-props`: Reports unused props in components
57+
58+
We've added codemod features to the following rules:
59+
60+
- `react-x/no-component-did-update`
61+
- `react-x/no-component-will-receive-props`
62+
- `react-x/no-component-will-update`
63+
- `react-x/no-context-provider`
64+
- `react-x/no-forward-ref`
65+
- `react-x/no-string-refs`
66+
67+
We've added auto-fix features to the following rules:
68+
69+
- `react-x/prefer-namespace-import`
70+
- `react-dom/prefer-namespace-import`
71+
72+
We've added suggestion-fix features to the following rules:
73+
74+
- `react-dom/no-missing-button-type`
75+
- `react-dom/no-missing-iframe-sandbox`
76+
- `react-dom/no-unsafe-target-blank`
5777

5878
We've also added new configuration presets:
5979

60-
- **`disable-conflict-eslint-plugin-react`**: Disable rules in `eslint-plugin-react` that conflict with rules in our plugins
80+
- `disable-conflict-eslint-plugin-react`: Disable rules in `eslint-plugin-react` that conflict with rules in our plugins
6181

6282
### 🐞 Fixes
6383

Lines changed: 37 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,65 @@
1-
---
2-
title: Roadmap
3-
---
1+
# Milestone 2.0
42

5-
## Milestone 2.0
6-
7-
### System Requirements
3+
## System Requirements
84

95
Minimum supported versions:
106

117
- [x] Node.js: 20.19.0
12-
- [x] ESLint: 9.24.0
13-
- [x] TypeScript: 4.9.5
8+
- [x] ESLint: 9.36.0
9+
- [x] TypeScript: 5.9.2
1410

15-
### Package Distribution
11+
## Package Distribution
1612

1713
- [x] Publish ESM-Only packages
1814

19-
### Plugins (with ecological niche explanation)
15+
## Plugins (with ecological niche explanation)
2016

2117
- [x] `eslint-plugin-react-x` - X Rules (renderer-agnostic, compatible with x-platform)
2218
- [x] `eslint-plugin-react-dom` - DOM Specific rules for React DOM
2319
- [x] `eslint-plugin-react-web-api` - Rules for interacting with Web APIs
24-
- [x] `eslint-plugin-react-hooks` - Extra Hooks rules for React
20+
- [x] `eslint-plugin-react-hooks-extra` - Extra Hooks rules for React
2521
- [x] `eslint-plugin-react-naming-convention` - Naming convention rules designed for React projects
2622
- ... (Free to combine with other plugins from the community)
2723

28-
### Add codemod feature to rules that can be transformed (using auto-fix) safely
24+
## Add codemod feature to rules that can be transformed (using auto-fix) safely
2925

30-
- [x] `no-component-did-update`
31-
- [x] `no-component-will-receive-props`
32-
- [x] `no-component-will-update`
33-
- [x] `no-context-provider`
34-
- [x] `no-forward-ref`
35-
- [x] `no-string-refs`
26+
- [x] `react-x/no-component-did-update`
27+
- [x] `react-x/no-component-will-receive-props`
28+
- [x] `react-x/no-component-will-update`
29+
- [x] `react-x/no-context-provider`
30+
- [x] `react-x/no-forward-ref`
31+
- [x] `react-x/no-string-refs`
3632

37-
### Add auto-fix feature to rules that can be auto-fixed safely
33+
## Add auto-fix feature to rules that can be auto-fixed safely
3834

39-
- [ ] `function-component-definition`
40-
- [x] `prefer-namespace-import`
35+
- [x] `react-x/prefer-namespace-import`
36+
- [x] `react-dom/prefer-namespace-import`
4137

42-
### Add suggestion-fix feature to rules that can be fixed interactively
38+
## Add suggestion-fix feature to rules that can be fixed interactively
4339

44-
- [x] `dom/no-missing-button-type`
45-
- [x] `dom/no-missing-iframe-sandbox`
46-
- [ ] `dom/no-unsafe-iframe-sandbox`
47-
- [x] `dom/no-unsafe-target-blank`
40+
- [x] `react-dom/no-missing-button-type`
41+
- [x] `react-dom/no-missing-iframe-sandbox`
42+
- [x] `react-dom/no-unsafe-target-blank`
4843

49-
### New Rules
44+
## New Rules
5045

51-
- [x] `jsx-no-comment-textnodes` - Disallow text nodes with comments in JSX (Replaces `no-comment-textnodes`)
52-
- [x] `no-context-provider` - Replaces usages of `<Context.Provider>` with `<Context>` (React 19)
53-
- [x] `no-forward-ref` - Replaces usages of `forwardRef` with passing `ref` as a prop (React 19)
54-
- [x] `no-use-context` - Replaces usages of `useContext` with `use` (React 19)
55-
- [x] `prefer-namespace-import` - Enforces the use of namespace imports for React (Replaces `prefer-react-namespace-import`)
56-
- [ ] `react-dom/no-unmount-component-at-node` - Replaces usages of `ReactDom.unmountComponentAtNode()` with `root.unmount()` (React 19)
46+
- [x] `react-x/jsx-no-comment-textnodes` - Disallow text nodes with comments in JSX (Replaces `no-comment-textnodes`)
47+
- [x] `react-x/no-context-provider` - Replaces usages of `<Context.Provider>` with `<Context>` (React 19)
48+
- [x] `react-x/no-forward-ref` - Replaces usages of `forwardRef` with passing `ref` as a prop (React 19)
49+
- [x] `react-x/no-use-context` - Replaces usages of `useContext` with `use` (React 19)
50+
- [x] `react-x/prefer-namespace-import` - Enforces the use of namespace imports for React (Replaces `prefer-react-namespace-import`)
5751
- [x] `react-dom/no-hydrate` - Replaces usages of `ReactDom.hydrate()` with `hydrateRoot()` (React 19)
5852
- [x] `react-dom/no-render` - Replaces usages of `ReactDom.render()` with `createRoot(node).render()` (React 19)
5953
- [x] `react-dom/no-use-form-state` - Replaces the usages of `useFormState()` to use `useActionState()` (React 19)
6054
- [x] `react-dom/prefer-namespace-import` - Enforces the use of namespace imports for ReactDOM
6155
- [x] `naming-convention/context-name` - Enforces context name to be a valid component name with the suffix `Context` (React 19)
62-
- [ ] `function-component-definition` - Enforce the definition of function components ([Rel1cx/eslint-react#739](https://github.com/Rel1cx/eslint-react/issues/739))
63-
- [ ] `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))
64-
65-
### Removed Rules
66-
67-
- [x] `avoid-shorthand-boolean` - Replaced by `jsx-shorthand-boolean`
68-
- [x] `avoid-shorthand-fragment` - Replaced by `jsx-shorthand-fragment`
69-
- [x] `no-comment-textnodes` - Replaced by `jsx-no-comment-textnodes`
70-
- [x] `prefer-react-namespace-import` - Replaced by `prefer-namespace-import`
71-
- [x] `prefer-shorthand-boolean` - Replaced by `jsx-shorthand-boolean`
72-
- [x] `prefer-shorthand-fragment` - Replaced by `jsx-shorthand-fragment`
73-
- [x] `hooks-extra/no-direct-set-state-in-use-layout-effect` - Merged into `hooks-extra/no-direct-set-state-in-use-effect`
56+
57+
## Removed Rules
58+
59+
- [x] `react-x/avoid-shorthand-boolean` - Replaced by `jsx-shorthand-boolean`
60+
- [x] `react-x/avoid-shorthand-fragment` - Replaced by `jsx-shorthand-fragment`
61+
- [x] `react-x/no-comment-textnodes` - Replaced by `jsx-no-comment-textnodes`
62+
- [x] `react-x/prefer-react-namespace-import` - Replaced by `prefer-namespace-import`
63+
- [x] `react-x/prefer-shorthand-boolean` - Replaced by `jsx-shorthand-boolean`
64+
- [x] `react-x/prefer-shorthand-fragment` - Replaced by `jsx-shorthand-fragment`
65+
- [x] `react-hooks-extra/no-direct-set-state-in-use-layout-effect` - Merged into `hooks-extra/no-direct-set-state-in-use-effect`

0 commit comments

Comments
 (0)