Skip to content

Commit 6da28cb

Browse files
committed
release: 2.0.0-next.14
2 parents 5af4827 + 8a6ab74 commit 6da28cb

File tree

20 files changed

+59
-34
lines changed

20 files changed

+59
-34
lines changed

CHANGELOG.md

+8
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
## v1.49.0 (2025-05-05)
2+
3+
### ✨ New
4+
5+
- feat: add `jsx-key-before-spread`, closes #1093, closes #1087 by @Rel1cx in https://github.com/Rel1cx/eslint-react/pull/1105
6+
7+
**Full Changelog**: https://github.com/Rel1cx/eslint-react/compare/v1.48.5...v1.49.0
8+
19
## v1.48.5 (2025-04-25)
210

311
## 🐞 Fixes

VERSION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.0.0-beta.13
1+
2.0.0-next.14

apps/website/content/docs/changelog.md

+8
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@
22
title: Changelog
33
---
44

5+
## v1.49.0 (2025-05-05)
6+
7+
### ✨ New
8+
9+
- feat: add `jsx-key-before-spread`, closes #1093, closes #1087 by @Rel1cx in https://github.com/Rel1cx/eslint-react/pull/1105
10+
11+
**Full Changelog**: https://github.com/Rel1cx/eslint-react/compare/v1.48.5...v1.49.0
12+
513
## v1.48.5 (2025-04-25)
614

715
## 🐞 Fixes

apps/website/package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@
1414
"@eslint-react/eff": "workspace:*",
1515
"bsky-react-post": "^0.1.7",
1616
"clsx": "^2.1.1",
17-
"fumadocs-core": "15.2.13",
17+
"fumadocs-core": "15.2.14",
1818
"fumadocs-docgen": "2.0.0",
1919
"fumadocs-mdx": "11.6.2",
2020
"fumadocs-twoslash": "3.1.1",
2121
"fumadocs-typescript": "4.0.3",
22-
"fumadocs-ui": "15.2.13",
22+
"fumadocs-ui": "15.2.14",
2323
"lucide-react": "^0.507.0",
2424
"next": "^15.3.1",
2525
"next-view-transitions": "^0.3.4",

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@eslint-react/monorepo",
3-
"version": "2.0.0-beta.13",
3+
"version": "2.0.0-next.14",
44
"private": true,
55
"description": "Monorepo for eslint-plugin-react-[x, dom, web-api, naming-convention].",
66
"keywords": [

packages/core/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@eslint-react/core",
3-
"version": "2.0.0-beta.13",
3+
"version": "2.0.0-next.14",
44
"description": "ESLint React's ESLint utility module for static analysis of React core APIs and patterns.",
55
"homepage": "https://github.com/Rel1cx/eslint-react",
66
"bugs": {

packages/plugins/eslint-plugin-react-debug/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "eslint-plugin-react-debug",
3-
"version": "2.0.0-beta.13",
3+
"version": "2.0.0-next.14",
44
"description": "ESLint React's ESLint plugin for debugging related rules.",
55
"keywords": [
66
"react",

packages/plugins/eslint-plugin-react-dom/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "eslint-plugin-react-dom",
3-
"version": "2.0.0-beta.13",
3+
"version": "2.0.0-next.14",
44
"description": "ESLint React's ESLint plugin for React DOM related rules.",
55
"keywords": [
66
"react",

packages/plugins/eslint-plugin-react-naming-convention/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "eslint-plugin-react-naming-convention",
3-
"version": "2.0.0-beta.13",
3+
"version": "2.0.0-next.14",
44
"description": "ESLint React's ESLint plugin for naming convention related rules.",
55
"keywords": [
66
"react",

packages/plugins/eslint-plugin-react-web-api/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "eslint-plugin-react-web-api",
3-
"version": "2.0.0-beta.13",
3+
"version": "2.0.0-next.14",
44
"description": "ESLint React's ESLint plugin for interacting with Web APIs",
55
"keywords": [
66
"react",

packages/plugins/eslint-plugin-react-x/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "eslint-plugin-react-x",
3-
"version": "2.0.0-beta.13",
3+
"version": "2.0.0-next.14",
44
"description": "A set of composable ESLint rules for for libraries and frameworks that use React as a UI runtime.",
55
"keywords": [
66
"react",

packages/plugins/eslint-plugin-react-x/src/rules/jsx-key-before-spread.md

+8-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ react-x/jsx-key-before-spread
2525

2626
Enforces that the `key` attribute is placed before the spread attribute in JSX elements.
2727

28-
When using the JSX automatic runtime, `key` is a special attribute in the JSX transform. See the [Babel repl](https://babeljs.io/repl#?browsers=last%202%20chrome%20versions&build=&builtIns=false&corejs=3.21&spec=false&loose=false&code_lz=DwEwlgbgBA1gpgTwLwCICMKoG8B0eAOATgPb4DOAvlAPQB8A3AFCiTZ45GmWyKoBMmOkxbR4yFAGZMAYwA2AQzJkAcvIC2cVIIbNw0OYpXrNKTGNRSaDIA&forceAllTransforms=false&modules=false&shippedProposals=false&evaluate=true&fileSize=false&timeTravel=false&sourceType=module&lineWrap=true&presets=react&prettier=false&targets=&version=7.27.0&externalPlugins=&assumptions=%7B%7D) and [TypeScript playground](https://www.typescriptlang.org/play/?target=99&jsx=4#code/DwEwlgbgBA1gpgTwLwCICMKoG8B0eAOATgPb4DOAvlAPQB8A3ALABQok2eORplsiqAJkx0mrcNHjIUAZkwBjADYBDMmQBySgLZxUwhizbRFK9Vp0pMk1ABY99IA)
28+
When using the JSX automatic runtime, `key` is a special attribute in the JSX transform. See the [Babel repl](https://babeljs.io/repl#?browsers=last%202%20chrome%20versions&build=&builtIns=false&corejs=3.21&spec=false&loose=false&code_lz=DwEwlgbgBA1gpgTwLwCICMKoG8B0eAOATgPb4DOAvlAPQB8A3AFCiTZ45GmWyKoBMmOkxbR4yFAGZMAYwA2AQzJkAcvIC2cVIIbNw0OYpXrNKTGNRSaDIA&forceAllTransforms=false&modules=false&shippedProposals=false&evaluate=true&fileSize=false&timeTravel=false&sourceType=module&lineWrap=true&presets=react&prettier=false&targets=&version=7.27.0&externalPlugins=&assumptions=%7B%7D) and [TypeScript playground](https://www.typescriptlang.org/play/?target=99&jsx=4#code/DwEwlgbgBA1gpgTwLwCICMKoG8B0eAOATgPb4DOAvlAPQB8A3ALABQok2eORplsiqAJkx0mrcNHjIUAZkwBjADYBDMmQBySgLZxUwhizbRFK9Vp0pMk1ABY99IA).
2929

3030
If the `key` prop is _before_ any spread props, it is passed as the `key` argument of the `_jsx` / `_jsxs` / `_jsxDev` function. But if the `key` prop is _after_ spread props, The compiler uses `createElement` instead and passes `key` as a regular prop.
3131

@@ -49,3 +49,10 @@ If the `key` prop is _before_ any spread props, it is passed as the `key` argume
4949

5050
- [Rule source](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x/src/rules/jsx-key-before-spread.ts)
5151
- [Test source](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x/src/rules/jsx-key-before-spread.spec.ts)
52+
53+
---
54+
55+
## See Also
56+
57+
- [`no-implicit-key`](./no-implicit-key)\
58+
Prevents `key` from not being explicitly specified (e.g. spreading `key` from objects).

packages/plugins/eslint-plugin-react-x/src/rules/no-implicit-key.md

+2
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,8 @@ function MyComponent({ items }: MyComponentProps) {
8787

8888
## See Also
8989

90+
- [`jsx-key-before-spread`](./jsx-key-before-spread)\
91+
Enforces that the `key` attribute is placed before the spread attribute in JSX elements.
9092
- [`no-missing-key`](./no-missing-key)\
9193
Prevents missing `key` on items in list rendering.
9294
- [`no-duplicate-key`](./no-duplicate-key)\

packages/plugins/eslint-plugin/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@eslint-react/eslint-plugin",
3-
"version": "2.0.0-beta.13",
3+
"version": "2.0.0-next.14",
44
"description": "A unified plugin that combines all individual plugins from the eslint-react monorepo into one.",
55
"keywords": [
66
"react",

packages/shared/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@eslint-react/shared",
3-
"version": "2.0.0-beta.13",
3+
"version": "2.0.0-next.14",
44
"description": "ESLint React's Shared constants and functions.",
55
"homepage": "https://github.com/Rel1cx/eslint-react",
66
"bugs": {

packages/utilities/ast/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@eslint-react/ast",
3-
"version": "2.0.0-beta.13",
3+
"version": "2.0.0-next.14",
44
"description": "ESLint React's TSESTree AST utility module.",
55
"homepage": "https://github.com/Rel1cx/eslint-react",
66
"bugs": {

packages/utilities/eff/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@eslint-react/eff",
3-
"version": "2.0.0-beta.13",
3+
"version": "2.0.0-next.14",
44
"description": "JavaScript and TypeScript utilities (previously some re-exports of the effect library).",
55
"homepage": "https://github.com/Rel1cx/eslint-react",
66
"bugs": {

packages/utilities/kit/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@eslint-react/kit",
3-
"version": "2.0.0-beta.13",
3+
"version": "2.0.0-next.14",
44
"description": "ESLint React's plugin kit for building plugins and rules.",
55
"homepage": "https://github.com/Rel1cx/eslint-react",
66
"bugs": {

packages/utilities/var/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@eslint-react/var",
3-
"version": "2.0.0-beta.13",
3+
"version": "2.0.0-next.14",
44
"description": "ESLint React's TSESTree AST utility module for static analysis of variables.",
55
"homepage": "https://github.com/Rel1cx/eslint-react",
66
"bugs": {

pnpm-lock.yaml

+17-17
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)