From 5c816edc1d146767143ce894707bd7284aca400c Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Mon, 23 Dec 2024 21:49:15 -0800 Subject: [PATCH 1/5] [actions] publish action: allow additional URL --- .github/workflows/npm-publish.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index 004c88360e..2e654951b6 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -105,6 +105,7 @@ jobs: nodejs.org:443 prod.api.stepsecurity.io:443 registry.npmjs.org:443 + raw.githubusercontent.com:443 - uses: actions/checkout@v4 with: From 82a196a0b2c7c5c91e57f320428b58900cb4a8cf Mon Sep 17 00:00:00 2001 From: Andrew Patton Date: Mon, 9 Dec 2024 18:21:00 -0800 Subject: [PATCH 2/5] [Fix] `no-unknown-property`: support `onBeforeToggle`, `popoverTarget`, `popoverTargetAction` attributes --- CHANGELOG.md | 5 +++++ lib/rules/no-unknown-property.js | 8 +++++--- tests/lib/rules/no-unknown-property.js | 9 +++++++++ 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a7b13f285b..904a29a460 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,11 @@ This change log adheres to standards from [Keep a CHANGELOG](https://keepachange ## Unreleased +### Fixed +* [`no-unknown-property`]: support `onBeforeToggle`, `popoverTarget`, `popoverTargetAction` attributes ([#3865][] @acusti) + +[#3865]: https://github.com/jsx-eslint/eslint-plugin-react/pull/3865 + ## [7.37.3] - 2024.12.23 ### Fixed diff --git a/lib/rules/no-unknown-property.js b/lib/rules/no-unknown-property.js index 9a21c96fad..b38c588064 100644 --- a/lib/rules/no-unknown-property.js +++ b/lib/rules/no-unknown-property.js @@ -259,8 +259,8 @@ const DOM_PROPERTY_NAMES_TWO_WORDS = [ 'onCompositionUpdate', 'onCut', 'onDoubleClick', 'onDrag', 'onDragEnd', 'onDragEnter', 'onDragExit', 'onDragLeave', 'onError', 'onFocus', 'onInput', 'onKeyDown', 'onKeyPress', 'onKeyUp', 'onLoad', 'onWheel', 'onDragOver', 'onDragStart', 'onDrop', 'onMouseDown', 'onMouseEnter', 'onMouseLeave', 'onMouseMove', 'onMouseOut', 'onMouseOver', - 'onMouseUp', 'onPaste', 'onScroll', 'onSelect', 'onSubmit', 'onToggle', 'onTransitionEnd', 'radioGroup', 'readOnly', 'referrerPolicy', - 'rowSpan', 'srcDoc', 'srcLang', 'srcSet', 'useMap', 'fetchPriority', + 'onMouseUp', 'onPaste', 'onScroll', 'onSelect', 'onSubmit', 'onBeforeToggle', 'onToggle', 'onTransitionEnd', 'radioGroup', + 'readOnly', 'referrerPolicy', 'rowSpan', 'srcDoc', 'srcLang', 'srcSet', 'useMap', 'fetchPriority', // SVG attributes // See https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute 'crossOrigin', 'accentHeight', 'alignmentBaseline', 'arabicForm', 'attributeName', @@ -317,9 +317,11 @@ const DOM_PROPERTY_NAMES_TWO_WORDS = [ 'onMouseMoveCapture', 'onMouseOutCapture', 'onMouseOverCapture', 'onMouseUpCapture', // Video specific 'autoPictureInPicture', 'controlsList', 'disablePictureInPicture', 'disableRemotePlayback', + // popovers + 'popoverTarget', 'popoverTargetAction', ]; -const DOM_PROPERTIES_IGNORE_CASE = ['charset', 'allowFullScreen', 'webkitAllowFullScreen', 'mozAllowFullScreen', 'webkitDirectory']; +const DOM_PROPERTIES_IGNORE_CASE = ['charset', 'allowFullScreen', 'webkitAllowFullScreen', 'mozAllowFullScreen', 'webkitDirectory', 'popoverTarget', 'popoverTargetAction']; const ARIA_PROPERTIES = [ // See https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes diff --git a/tests/lib/rules/no-unknown-property.js b/tests/lib/rules/no-unknown-property.js index 97ae42ea57..e746ef56bc 100644 --- a/tests/lib/rules/no-unknown-property.js +++ b/tests/lib/rules/no-unknown-property.js @@ -188,6 +188,15 @@ ruleTester.run('no-unknown-property', rule, { `, }, + { + code: ` +
+ + +
Greetings, one and all!
+
+ `, + }, ]), invalid: parsers.all([ { From efc021fbece010b3f4a658cd1b05753e9e2776f1 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Fri, 10 Jan 2025 10:24:56 -0800 Subject: [PATCH 3/5] [types] fix types of flat configs Fixes #3874. --- CHANGELOG.md | 2 ++ index.js | 10 ++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 904a29a460..7bec3e261d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,9 @@ This change log adheres to standards from [Keep a CHANGELOG](https://keepachange ### Fixed * [`no-unknown-property`]: support `onBeforeToggle`, `popoverTarget`, `popoverTargetAction` attributes ([#3865][] @acusti) +* [types] fix types of flat configs ([#3874][] @ljharb) +[#3874]: https://github.com/jsx-eslint/eslint-plugin-react/pull/3874 [#3865]: https://github.com/jsx-eslint/eslint-plugin-react/pull/3865 ## [7.37.3] - 2024.12.23 diff --git a/index.js b/index.js index 365f17446c..64ff9bbdc4 100644 --- a/index.js +++ b/index.js @@ -90,19 +90,21 @@ const configs = { 'react/jsx-uses-react': SEVERITY_OFF, }, }, + flat: /** @type {Record} */ ({ + __proto__: null, + }), }; /** @typedef {{ plugins: { react: typeof plugin }, rules: import('eslint').Linter.RulesRecord, languageOptions: { parserOptions: import('eslint').Linter.ParserOptions } }} ReactFlatConfig */ -/** @type {{ deprecatedRules: typeof deprecatedRules, rules: typeof allRules, configs: typeof configs & { flat?: Record }}} */ +/** @type {{ deprecatedRules: typeof deprecatedRules, rules: typeof allRules, configs: typeof configs & { flat: Record }}} */ const plugin = { deprecatedRules, rules: allRules, configs, }; -/** @type {Record} */ -configs.flat = { +Object.assign(configs.flat, { recommended: { plugins: { react: plugin }, rules: configs.recommended.rules, @@ -118,6 +120,6 @@ configs.flat = { rules: configs['jsx-runtime'].rules, languageOptions: { parserOptions: configs['jsx-runtime'].parserOptions }, }, -}; +}); module.exports = plugin; From cfd5edd4f66905ea3300d3ee96289b9fefbbfb5f Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Sun, 12 Jan 2025 13:23:16 -0800 Subject: [PATCH 4/5] [Dev Deps] update `@babel/eslint-parser` --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9b34448353..45c0830f8c 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ }, "devDependencies": { "@babel/core": "^7.26.0", - "@babel/eslint-parser": "^7.25.9", + "@babel/eslint-parser": "^7.26.5", "@babel/plugin-syntax-decorators": "^7.25.9", "@babel/plugin-syntax-do-expressions": "^7.25.9", "@babel/plugin-syntax-function-bind": "^7.25.9", From e6b5b41191690ee166d0cca1e9db27092b910f03 Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Sun, 12 Jan 2025 13:25:31 -0800 Subject: [PATCH 5/5] Update CHANGELOG and bump version --- CHANGELOG.md | 3 +++ package.json | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7bec3e261d..60155e7599 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,10 +7,13 @@ This change log adheres to standards from [Keep a CHANGELOG](https://keepachange ## Unreleased +## [7.37.4] - 2025.01.12 + ### Fixed * [`no-unknown-property`]: support `onBeforeToggle`, `popoverTarget`, `popoverTargetAction` attributes ([#3865][] @acusti) * [types] fix types of flat configs ([#3874][] @ljharb) +[7.37.4]: https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.37.3...v7.37.4 [#3874]: https://github.com/jsx-eslint/eslint-plugin-react/pull/3874 [#3865]: https://github.com/jsx-eslint/eslint-plugin-react/pull/3865 diff --git a/package.json b/package.json index 45c0830f8c..e8b927ef18 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "eslint-plugin-react", - "version": "7.37.3", + "version": "7.37.4", "author": "Yannick Croissant ", "description": "React specific linting rules for ESLint", "main": "index.js",