jsx-eslint / eslint-plugin-react

React-specific linting rules for ESLint
MIT License
8.99k stars 2.77k forks source link

[Bug]: autofix for jsx-closing-bracket-location deletes comments #3793

Open Vladyslav-Soldatenko opened 3 months ago

Vladyslav-Soldatenko commented 3 months ago

Is there an existing issue for this?

Description Overview

When using jsx-closing-bracket-location with "after-props" setting, on autofix it deletes all comments which exist before actual non-comment prop (usually it's commented props).

For example, if run eslint --fix on this file image

it will remove all comments before src prop image

Same goes, of course, for html tags which have both opening and closing tags image

comments will be removed in this case as well

I often find myself commenting some props for testing, and this deleting bothers me. To avoid it, I need to move props here and there so that there's a non-commented line before closing bracket

Expected Behavior

I think the expected behavior should be to make last comment be commented with "/ .... /" and place closing bracket there as shown below. Technically it will be "after props", but will not remove comments which might be needed by developer

image

If maintainers find this issue suitable for fix, I'll try to fix it myself

eslint-plugin-react version

v7.35.0

eslint version

v8.24.0

node version

v16.17.1

TotooriaHyperion commented 2 months ago

same problem here

eslint-plugin-react version v7.35.0

eslint version v8.57.0

node version v18.20.3