Closed
Description
When upgrading to 7.8 from 7.7.0 eslint trigger the following error:
Cannot read property 'name' of undefined
TypeError: Cannot read property 'name' of undefined
at getPropKey (/usr/app/node_modules/eslint-plugin-react/lib/rules/boolean-prop-naming.js:79:45)
at forEach.prop (/usr/app/node_modules/eslint-plugin-react/lib/rules/boolean-prop-naming.js:114:25)
at Array.forEach (<anonymous>)
at validatePropNaming (/usr/app/node_modules/eslint-plugin-react/lib/rules/boolean-prop-naming.js:113:25)
at Object.ClassProperty (/usr/app/node_modules/eslint-plugin-react/lib/rules/boolean-prop-naming.js:175:11)
at updatedRuleInstructions.(anonymous function) (/usr/app/node_modules/eslint-plugin-react/lib/util/Components.js:698:75)
at listeners.(anonymous function).forEach.listener (/usr/app/node_modules/eslint/lib/util/safe-emitter.js:47:58)
at Array.forEach (<anonymous>)
at Object.emit (/usr/app/node_modules/eslint/lib/util/safe-emitter.js:47:38)
at NodeEventGenerator.applySelector (/usr/app/node_modules/eslint/lib/util/node-event-generator.js:251:26)
at NodeEventGenerator.applySelectors (/usr/app/node_modules/eslint/lib/util/node-event-generator.js:280:22)
at NodeEventGenerator.enterNode (/usr/app/node_modules/eslint/lib/util/node-event-generator.js:294:14)
at CodePathAnalyzer.enterNode (/usr/app/node_modules/eslint/lib/code-path-analysis/code-path-analyzer.js:608:23)
at Traverser.enter [as _enter] (/usr/app/node_modules/eslint/lib/linter.js:865:28)
at Traverser._traverse (/usr/app/node_modules/eslint/lib/util/traverser.js:132:14)
at Traverser._traverse (/usr/app/node_modules/eslint/lib/util/traverser.js:144:34)
I was able to reproduce with this simple code:
import PropTypes from 'prop-types'
import React from 'react'
class MyComponent extends React.Component {
static propTypes = {
requiredObject: PropTypes.shape({}).isRequired,
}
render() {
return null
}
}
I believe this is due to f980c38 introducing a check for simple PropTypes.bool.isRequired
but not handling the case where isRequired
is added after a function.
Metadata
Metadata
Assignees
Labels
No labels