gitextract_41bugypo/ ├── .editorconfig ├── .eslint-doc-generatorrc.js ├── .eslintrc ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ └── bug_report.yml │ └── workflows/ │ ├── node-18+.yml │ ├── node-minors.yml │ ├── node-pretest.yml │ ├── npm-publish.yml │ ├── rebase.yml │ ├── release.yml │ ├── require-allow-edits.yml │ ├── smoke-test.yml │ └── type-check.yml ├── .gitignore ├── .markdownlint.json ├── .markdownlintignore ├── .npmrc ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── SECURITY.md ├── build.tsconfig.json ├── configs/ │ ├── all.js │ ├── jsx-runtime.js │ └── recommended.js ├── docs/ │ └── rules/ │ ├── async-server-action.md │ ├── boolean-prop-naming.md │ ├── button-has-type.md │ ├── checked-requires-onchange-or-readonly.md │ ├── default-props-match-prop-types.md │ ├── destructuring-assignment.md │ ├── display-name.md │ ├── forbid-component-props.md │ ├── forbid-dom-props.md │ ├── forbid-elements.md │ ├── forbid-foreign-prop-types.md │ ├── forbid-prop-types.md │ ├── forward-ref-uses-ref.md │ ├── function-component-definition.md │ ├── hook-use-state.md │ ├── iframe-missing-sandbox.md │ ├── jsx-boolean-value.md │ ├── jsx-child-element-spacing.md │ ├── jsx-closing-bracket-location.md │ ├── jsx-closing-tag-location.md │ ├── jsx-curly-brace-presence.md │ ├── jsx-curly-newline.md │ ├── jsx-curly-spacing.md │ ├── jsx-equals-spacing.md │ ├── jsx-filename-extension.md │ ├── jsx-first-prop-new-line.md │ ├── jsx-fragments.md │ ├── jsx-handler-names.md │ ├── jsx-indent-props.md │ ├── jsx-indent.md │ ├── jsx-key.md │ ├── jsx-max-depth.md │ ├── jsx-max-props-per-line.md │ ├── jsx-newline.md │ ├── jsx-no-bind.md │ ├── jsx-no-comment-textnodes.md │ ├── jsx-no-constructed-context-values.md │ ├── jsx-no-duplicate-props.md │ ├── jsx-no-leaked-render.md │ ├── jsx-no-literals.md │ ├── jsx-no-script-url.md │ ├── jsx-no-target-blank.md │ ├── jsx-no-undef.md │ ├── jsx-no-useless-fragment.md │ ├── jsx-one-expression-per-line.md │ ├── jsx-pascal-case.md │ ├── jsx-props-no-multi-spaces.md │ ├── jsx-props-no-spread-multi.md │ ├── jsx-props-no-spreading.md │ ├── jsx-sort-default-props.md │ ├── jsx-sort-props.md │ ├── jsx-space-before-closing.md │ ├── jsx-tag-spacing.md │ ├── jsx-uses-react.md │ ├── jsx-uses-vars.md │ ├── jsx-wrap-multilines.md │ ├── no-access-state-in-setstate.md │ ├── no-adjacent-inline-elements.md │ ├── no-array-index-key.md │ ├── no-arrow-function-lifecycle.md │ ├── no-children-prop.md │ ├── no-danger-with-children.md │ ├── no-danger.md │ ├── no-deprecated.md │ ├── no-did-mount-set-state.md │ ├── no-did-update-set-state.md │ ├── no-direct-mutation-state.md │ ├── no-find-dom-node.md │ ├── no-invalid-html-attribute.md │ ├── no-is-mounted.md │ ├── no-multi-comp.md │ ├── no-namespace.md │ ├── no-object-type-as-default-prop.md │ ├── no-redundant-should-component-update.md │ ├── no-render-return-value.md │ ├── no-set-state.md │ ├── no-string-refs.md │ ├── no-this-in-sfc.md │ ├── no-typos.md │ ├── no-unescaped-entities.md │ ├── no-unknown-property.md │ ├── no-unsafe.md │ ├── no-unstable-nested-components.md │ ├── no-unused-class-component-methods.md │ ├── no-unused-prop-types.md │ ├── no-unused-state.md │ ├── no-will-update-set-state.md │ ├── prefer-es6-class.md │ ├── prefer-exact-props.md │ ├── prefer-read-only-props.md │ ├── prefer-stateless-function.md │ ├── prop-types.md │ ├── react-in-jsx-scope.md │ ├── require-default-props.md │ ├── require-optimization.md │ ├── require-render-return.md │ ├── self-closing-comp.md │ ├── sort-comp.md │ ├── sort-default-props.md │ ├── sort-prop-types.md │ ├── state-in-constructor.md │ ├── static-property-placement.md │ ├── style-prop-object.md │ └── void-dom-elements-no-children.md ├── index.js ├── lib/ │ ├── rules/ │ │ ├── async-server-action.js │ │ ├── boolean-prop-naming.js │ │ ├── button-has-type.js │ │ ├── checked-requires-onchange-or-readonly.js │ │ ├── default-props-match-prop-types.js │ │ ├── destructuring-assignment.js │ │ ├── display-name.js │ │ ├── forbid-component-props.js │ │ ├── forbid-dom-props.js │ │ ├── forbid-elements.js │ │ ├── forbid-foreign-prop-types.js │ │ ├── forbid-prop-types.js │ │ ├── forward-ref-uses-ref.js │ │ ├── function-component-definition.js │ │ ├── hook-use-state.js │ │ ├── iframe-missing-sandbox.js │ │ ├── index.js │ │ ├── jsx-boolean-value.js │ │ ├── jsx-child-element-spacing.js │ │ ├── jsx-closing-bracket-location.js │ │ ├── jsx-closing-tag-location.js │ │ ├── jsx-curly-brace-presence.js │ │ ├── jsx-curly-newline.js │ │ ├── jsx-curly-spacing.js │ │ ├── jsx-equals-spacing.js │ │ ├── jsx-filename-extension.js │ │ ├── jsx-first-prop-new-line.js │ │ ├── jsx-fragments.js │ │ ├── jsx-handler-names.js │ │ ├── jsx-indent-props.js │ │ ├── jsx-indent.js │ │ ├── jsx-key.js │ │ ├── jsx-max-depth.js │ │ ├── jsx-max-props-per-line.js │ │ ├── jsx-newline.js │ │ ├── jsx-no-bind.js │ │ ├── jsx-no-comment-textnodes.js │ │ ├── jsx-no-constructed-context-values.js │ │ ├── jsx-no-duplicate-props.js │ │ ├── jsx-no-leaked-render.js │ │ ├── jsx-no-literals.js │ │ ├── jsx-no-script-url.js │ │ ├── jsx-no-target-blank.js │ │ ├── jsx-no-undef.js │ │ ├── jsx-no-useless-fragment.js │ │ ├── jsx-one-expression-per-line.js │ │ ├── jsx-pascal-case.js │ │ ├── jsx-props-no-multi-spaces.js │ │ ├── jsx-props-no-spread-multi.js │ │ ├── jsx-props-no-spreading.js │ │ ├── jsx-sort-default-props.js │ │ ├── jsx-sort-props.js │ │ ├── jsx-space-before-closing.js │ │ ├── jsx-tag-spacing.js │ │ ├── jsx-uses-react.js │ │ ├── jsx-uses-vars.js │ │ ├── jsx-wrap-multilines.js │ │ ├── no-access-state-in-setstate.js │ │ ├── no-adjacent-inline-elements.js │ │ ├── no-array-index-key.js │ │ ├── no-arrow-function-lifecycle.js │ │ ├── no-children-prop.js │ │ ├── no-danger-with-children.js │ │ ├── no-danger.js │ │ ├── no-deprecated.js │ │ ├── no-did-mount-set-state.js │ │ ├── no-did-update-set-state.js │ │ ├── no-direct-mutation-state.js │ │ ├── no-find-dom-node.js │ │ ├── no-invalid-html-attribute.js │ │ ├── no-is-mounted.js │ │ ├── no-multi-comp.js │ │ ├── no-namespace.js │ │ ├── no-object-type-as-default-prop.js │ │ ├── no-redundant-should-component-update.js │ │ ├── no-render-return-value.js │ │ ├── no-set-state.js │ │ ├── no-string-refs.js │ │ ├── no-this-in-sfc.js │ │ ├── no-typos.js │ │ ├── no-unescaped-entities.js │ │ ├── no-unknown-property.js │ │ ├── no-unsafe.js │ │ ├── no-unstable-nested-components.js │ │ ├── no-unused-class-component-methods.js │ │ ├── no-unused-prop-types.js │ │ ├── no-unused-state.js │ │ ├── no-will-update-set-state.js │ │ ├── prefer-es6-class.js │ │ ├── prefer-exact-props.js │ │ ├── prefer-read-only-props.js │ │ ├── prefer-stateless-function.js │ │ ├── prop-types.js │ │ ├── react-in-jsx-scope.js │ │ ├── require-default-props.js │ │ ├── require-optimization.js │ │ ├── require-render-return.js │ │ ├── self-closing-comp.js │ │ ├── sort-comp.js │ │ ├── sort-default-props.js │ │ ├── sort-prop-types.js │ │ ├── state-in-constructor.js │ │ ├── static-property-placement.js │ │ ├── style-prop-object.js │ │ └── void-dom-elements-no-children.js │ ├── types.d.ts │ └── util/ │ ├── Components.js │ ├── annotations.js │ ├── ast.js │ ├── componentUtil.js │ ├── defaultProps.js │ ├── docsUrl.js │ ├── error.js │ ├── eslint.js │ ├── getTokenBeforeClosingBracket.js │ ├── isCreateContext.js │ ├── isCreateElement.js │ ├── isDestructuredFromPragmaImport.js │ ├── isFirstLetterCapitalized.js │ ├── jsx.js │ ├── lifecycleMethods.js │ ├── linkComponents.js │ ├── log.js │ ├── makeNoMethodSetStateRule.js │ ├── message.js │ ├── pragma.js │ ├── propTypes.js │ ├── propTypesSort.js │ ├── propWrapper.js │ ├── props.js │ ├── report.js │ ├── usedPropTypes.js │ ├── variable.js │ └── version.js ├── package.json ├── test/ │ ├── eslint-remote-tester.config.js │ └── mocha.opts ├── test-published-types/ │ ├── .npmrc │ ├── index.js │ ├── package.json │ └── tsconfig.json ├── tests/ │ ├── fixtures/ │ │ ├── flat-config/ │ │ │ ├── config-all/ │ │ │ │ ├── eslint.config-deep.js │ │ │ │ ├── eslint.config-root.js │ │ │ │ └── test.jsx │ │ │ ├── config-jsx-runtime/ │ │ │ │ ├── eslint.config-deep.js │ │ │ │ ├── eslint.config-root.js │ │ │ │ └── test.jsx │ │ │ ├── config-recommended/ │ │ │ │ ├── eslint.config-deep.js │ │ │ │ ├── eslint.config-root.js │ │ │ │ └── test.jsx │ │ │ ├── plugin/ │ │ │ │ ├── eslint.config.js │ │ │ │ └── test.jsx │ │ │ └── plugin-and-config/ │ │ │ ├── eslint.config-deep.js │ │ │ ├── eslint.config-root.js │ │ │ └── test.jsx │ │ └── version/ │ │ ├── detect-version/ │ │ │ ├── detect-version-child/ │ │ │ │ ├── node_modules/ │ │ │ │ │ ├── flow-bin/ │ │ │ │ │ │ └── package.json │ │ │ │ │ └── react/ │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ │ └── test.js │ │ │ ├── node_modules/ │ │ │ │ ├── flow-bin/ │ │ │ │ │ └── package.json │ │ │ │ └── react/ │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ └── test.js │ │ ├── detect-version-missing/ │ │ │ ├── node_modules/ │ │ │ │ └── react/ │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ └── test.js │ │ └── detect-version-sibling/ │ │ ├── node_modules/ │ │ │ ├── flow-bin/ │ │ │ │ └── package.json │ │ │ └── react/ │ │ │ ├── index.js │ │ │ └── package.json │ │ └── test.js │ ├── flat-config.js │ ├── helpers/ │ │ ├── getESLintCoreRule.js │ │ ├── getRuleDefiner.js │ │ ├── parsers.js │ │ └── ruleTester.js │ ├── index.js │ ├── lib/ │ │ └── rules/ │ │ ├── async-server-action.js │ │ ├── boolean-prop-naming.js │ │ ├── button-has-type.js │ │ ├── checked-requires-onchange-or-readonly.js │ │ ├── default-props-match-prop-types.js │ │ ├── destructuring-assignment.js │ │ ├── display-name.js │ │ ├── forbid-component-props.js │ │ ├── forbid-dom-props.js │ │ ├── forbid-elements.js │ │ ├── forbid-foreign-prop-types.js │ │ ├── forbid-prop-types.js │ │ ├── forward-ref-uses-ref.js │ │ ├── function-component-definition.js │ │ ├── hook-use-state.js │ │ ├── iframe-missing-sandbox.js │ │ ├── jsx-boolean-value.js │ │ ├── jsx-child-element-spacing.js │ │ ├── jsx-closing-bracket-location.js │ │ ├── jsx-closing-tag-location.js │ │ ├── jsx-curly-brace-presence.js │ │ ├── jsx-curly-newline.js │ │ ├── jsx-curly-spacing.js │ │ ├── jsx-equals-spacing.js │ │ ├── jsx-filename-extension.js │ │ ├── jsx-first-prop-new-line.js │ │ ├── jsx-fragments.js │ │ ├── jsx-handler-names.js │ │ ├── jsx-indent-props.js │ │ ├── jsx-indent.js │ │ ├── jsx-key.js │ │ ├── jsx-max-depth.js │ │ ├── jsx-max-props-per-line.js │ │ ├── jsx-newline.js │ │ ├── jsx-no-bind.js │ │ ├── jsx-no-comment-textnodes.js │ │ ├── jsx-no-constructed-context-values.js │ │ ├── jsx-no-duplicate-props.js │ │ ├── jsx-no-leaked-render.js │ │ ├── jsx-no-literals.js │ │ ├── jsx-no-script-url.js │ │ ├── jsx-no-target-blank.js │ │ ├── jsx-no-undef.js │ │ ├── jsx-no-useless-fragment.js │ │ ├── jsx-one-expression-per-line.js │ │ ├── jsx-pascal-case.js │ │ ├── jsx-props-no-multi-spaces.js │ │ ├── jsx-props-no-spread-multi.js │ │ ├── jsx-props-no-spreading.js │ │ ├── jsx-sort-default-props.js │ │ ├── jsx-sort-props.js │ │ ├── jsx-space-before-closing.js │ │ ├── jsx-tag-spacing.js │ │ ├── jsx-uses-react.js │ │ ├── jsx-uses-vars.js │ │ ├── jsx-wrap-multilines.js │ │ ├── no-access-state-in-setstate.js │ │ ├── no-adjacent-inline-elements.js │ │ ├── no-array-index-key.js │ │ ├── no-arrow-function-lifecycle.js │ │ ├── no-children-prop.js │ │ ├── no-danger-with-children.js │ │ ├── no-danger.js │ │ ├── no-deprecated.js │ │ ├── no-did-mount-set-state.js │ │ ├── no-did-update-set-state.js │ │ ├── no-direct-mutation-state.js │ │ ├── no-find-dom-node.js │ │ ├── no-invalid-html-attribute.js │ │ ├── no-is-mounted.js │ │ ├── no-multi-comp.js │ │ ├── no-namespace.js │ │ ├── no-object-type-as-default-prop.js │ │ ├── no-redundant-should-component-update.js │ │ ├── no-render-return-value.js │ │ ├── no-set-state.js │ │ ├── no-string-refs.js │ │ ├── no-this-in-sfc.js │ │ ├── no-typos.js │ │ ├── no-unescaped-entities.js │ │ ├── no-unknown-property.js │ │ ├── no-unsafe.js │ │ ├── no-unstable-nested-components.js │ │ ├── no-unused-class-component-methods.js │ │ ├── no-unused-prop-types.js │ │ ├── no-unused-state.js │ │ ├── no-will-update-set-state.js │ │ ├── prefer-es6-class.js │ │ ├── prefer-exact-props.js │ │ ├── prefer-read-only-props.js │ │ ├── prefer-stateless-function.js │ │ ├── prop-types.js │ │ ├── react-in-jsx-scope.js │ │ ├── require-default-props.js │ │ ├── require-optimization.js │ │ ├── require-render-return.js │ │ ├── self-closing-comp.js │ │ ├── sort-comp.js │ │ ├── sort-default-props.js │ │ ├── sort-prop-types.js │ │ ├── state-in-constructor.js │ │ ├── static-property-placement.js │ │ ├── style-prop-object.js │ │ └── void-dom-elements-no-children.js │ └── util/ │ ├── .eslintrc │ ├── Components.js │ ├── ast.js │ ├── isFirstLetterCapitalized.js │ ├── jsx.js │ ├── linkComponents.js │ ├── pragma.js │ ├── propWrapper.js │ ├── variable.js │ └── version.js ├── tsconfig.json └── types/ ├── rules/ │ └── jsx-no-literals.d.ts └── string.prototype.repeat/ └── index.d.ts