Skip to content

Commit

Permalink
Merge pull request #1341 from DianaSuvorova/flowShape
Browse files Browse the repository at this point in the history
[no-unused-prop-types] flow should respect skipShapeProps
  • Loading branch information
ljharb committed Aug 4, 2017
2 parents f0487f2 + 942e594 commit 95acd93
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 0 deletions.
3 changes: 3 additions & 0 deletions lib/rules/no-unused-prop-types.js
Expand Up @@ -431,6 +431,9 @@ module.exports = {
}
return true;
case 'ObjectTypeAnnotation':
if (skipShapeProps) {
return true;
}
const shapeTypeDefinition = {
type: 'shape',
children: []
Expand Down
25 changes: 25 additions & 0 deletions tests/lib/rules/no-unused-prop-types.js
Expand Up @@ -1994,6 +1994,24 @@ ruleTester.run('no-unused-prop-types', rule, {
'export default connect(mapStateToProps, mapDispatchToProps)(HellowQueries)'
].join('\n'),
parser: 'babel-eslint'
}, {
// issue #1335
code: [
'type Props = {',
' foo: {',
' bar: boolean',
' }',
'};',

'class DigitalServices extends React.Component {',
' props: Props',
' render() {',
' const { foo } = this.props;',
' return <div>{foo.bar}</div>;',
' }',
'}'
].join('\n'),
parser: 'babel-eslint'
}
],

Expand Down Expand Up @@ -2591,6 +2609,7 @@ ruleTester.run('no-unused-prop-types', rule, {
'}'
].join('\n'),
parser: 'babel-eslint',
options: [{skipShapeProps: false}],
errors: [
{message: '\'name.unused\' PropType is defined but prop is never used'}
]
Expand All @@ -2605,6 +2624,7 @@ ruleTester.run('no-unused-prop-types', rule, {
'}'
].join('\n'),
parser: 'babel-eslint',
options: [{skipShapeProps: false}],
errors: [
{message: '\'name.unused\' PropType is defined but prop is never used'}
]
Expand All @@ -2618,6 +2638,7 @@ ruleTester.run('no-unused-prop-types', rule, {
'}'
].join('\n'),
parser: 'babel-eslint',
options: [{skipShapeProps: false}],
errors: [
{message: '\'person.name.unused\' PropType is defined but prop is never used'}
]
Expand All @@ -2632,6 +2653,7 @@ ruleTester.run('no-unused-prop-types', rule, {
'}'
].join('\n'),
parser: 'babel-eslint',
options: [{skipShapeProps: false}],
errors: [
{message: '\'person.name.unused\' PropType is defined but prop is never used'}
]
Expand All @@ -2650,6 +2672,7 @@ ruleTester.run('no-unused-prop-types', rule, {
'}'
].join('\n'),
parser: 'babel-eslint',
options: [{skipShapeProps: false}],
errors: [
{message: '\'people.*.name.unused\' PropType is defined but prop is never used'}
]
Expand All @@ -2669,6 +2692,7 @@ ruleTester.run('no-unused-prop-types', rule, {
'}'
].join('\n'),
parser: 'babel-eslint',
options: [{skipShapeProps: false}],
errors: [
{message: '\'people.*.name.unused\' PropType is defined but prop is never used'}
]
Expand All @@ -2683,6 +2707,7 @@ ruleTester.run('no-unused-prop-types', rule, {
'}'
].join('\n'),
parser: 'babel-eslint',
options: [{skipShapeProps: false}],
errors: [
{message: '\'result.ok\' PropType is defined but prop is never used'},
{message: '\'result.ok\' PropType is defined but prop is never used'}
Expand Down

0 comments on commit 95acd93

Please sign in to comment.