From 3118f4d013c09d0261cd554b4be0e0ab98f5e45c Mon Sep 17 00:00:00 2001 From: Roy Sutton Date: Fri, 24 Feb 2017 13:51:36 -0800 Subject: [PATCH] Address review feedback --- lib/rules/no-invalid-default-props.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/rules/no-invalid-default-props.js b/lib/rules/no-invalid-default-props.js index 0c1b934fae..48825d4a33 100644 --- a/lib/rules/no-invalid-default-props.js +++ b/lib/rules/no-invalid-default-props.js @@ -73,7 +73,8 @@ module.exports = { * @returns {Boolean} `true` if the node is a defaultProps declaration, `false` if not */ function isDefaultPropsDeclaration(node) { - return (getPropertyName(node) === 'defaultProps' || getPropertyName(node) === 'getDefaultProps'); + var propName = getPropertyName(node); + return (propName === 'defaultProps' || propName === 'getDefaultProps'); } /** @@ -424,7 +425,8 @@ module.exports = { // e.g.: // MyComponent.propTypes.baz = React.PropTypes.string; - if (node.parent.type === 'MemberExpression' && node.parent.parent.type === 'AssignmentExpression') { + if (node.parent.type === 'MemberExpression' && node.parent.parent && + node.parent.parent.type === 'AssignmentExpression') { if (isPropType) { addPropTypesToComponent(component, [{ @@ -520,8 +522,9 @@ module.exports = { return; } - var isPropType = getPropertyName(node) === 'propTypes'; - var isDefaultProp = getPropertyName(node) === 'defaultProps' || getPropertyName(node) === 'getDefaultProps'; + var propName = getPropertyName(node); + var isPropType = propName === 'propTypes'; + var isDefaultProp = propName === 'defaultProps' || propName === 'getDefaultProps'; if (!isPropType && !isDefaultProp) { return;