Skip to content

Commit

Permalink
[Fix] prefer-read-only-props: avoid crash from #3064
Browse files Browse the repository at this point in the history
See #3068
  • Loading branch information
ljharb committed Sep 5, 2021
1 parent 9325fa5 commit 230ffe1
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 4 deletions.
2 changes: 1 addition & 1 deletion lib/rules/prefer-read-only-props.js
Expand Up @@ -51,7 +51,7 @@ module.exports = {
Object.keys(component.declaredPropTypes).forEach((propName) => {
const prop = component.declaredPropTypes[propName];

if (!isFlowPropertyType(prop.node)) {
if (!prop.node || !isFlowPropertyType(prop.node)) {
return;
}

Expand Down
37 changes: 34 additions & 3 deletions tests/lib/rules/prefer-read-only-props.js
Expand Up @@ -29,7 +29,7 @@ const parserOptions = {
const ruleTester = new RuleTester({parserOptions});
ruleTester.run('prefer-read-only-props', rule, {

valid: [
valid: [].concat(
{
// Class component with type parameter
code: `
Expand Down Expand Up @@ -162,8 +162,39 @@ ruleTester.run('prefer-read-only-props', rule, {
}
`,
parser: parsers.BABEL_ESLINT
}
],
},
parsers.TS([{
code: `
import React from "react";
interface Props {
name: string;
}
const MyComponent: React.FC<Props> = ({ name }) => {
return <div>{name}</div>;
};
export default MyComponent;
`,
parser: parsers.TYPESCRIPT_ESLINT
}, {
code: `
import React from "react";
interface Props {
name: string;
}
const MyComponent: React.FC<Props> = ({ name }) => {
return <div>{name}</div>;
};
export default MyComponent;
`,
parser: parsers['@TYPESCRIPT_ESLINT']
}])
),

invalid: [
{
Expand Down

0 comments on commit 230ffe1

Please sign in to comment.