Skip to content

Commit d232811

Browse files
committed
Remove flow version and decide the Props argument location based on the number of TypedArguments
1 parent 1a8af56 commit d232811

File tree

3 files changed

+4
-46
lines changed

3 files changed

+4
-46
lines changed

lib/rules/prop-types.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ const has = require('has');
1111
const Components = require('../util/Components');
1212
const variable = require('../util/variable');
1313
const annotations = require('../util/annotations');
14-
const flowVersionUtil = require('../util/flowVersion');
1514

1615
// ------------------------------------------------------------------------------
1716
// Constants
@@ -859,7 +858,10 @@ module.exports = {
859858
*/
860859
function resolveSuperParameterPropsType(node) {
861860
let annotation;
862-
if (flowVersionUtil.test(context, '0.53.0')) {
861+
862+
// Flow <=0.52 had 3 required TypedParameters of which the second one is the Props.
863+
// Flow >=0.53 has 2 optional TypedParameters of which the first one is the Props.
864+
if (node.superTypeParameters.params.length <= 2) {
863865
annotation = node.superTypeParameters.params[0];
864866
} else {
865867
annotation = node.superTypeParameters.params[1];

lib/util/flowVersion.js

Lines changed: 0 additions & 28 deletions
This file was deleted.

tests/lib/rules/prop-types.js

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1486,7 +1486,6 @@ ruleTester.run('prop-types', rule, {
14861486
' }',
14871487
'}'
14881488
].join('\n'),
1489-
settings: {react: {flowVersion: '0.52.0'}},
14901489
parser: 'babel-eslint'
14911490
}, {
14921491
code: [
@@ -1500,7 +1499,6 @@ ruleTester.run('prop-types', rule, {
15001499
' }',
15011500
'}'
15021501
].join('\n'),
1503-
settings: {react: {flowVersion: '0.52.0'}},
15041502
parser: 'babel-eslint'
15051503
}, {
15061504
code: [
@@ -1516,7 +1514,6 @@ ruleTester.run('prop-types', rule, {
15161514
' }',
15171515
'}'
15181516
].join('\n'),
1519-
settings: {react: {flowVersion: '0.52.0'}},
15201517
parser: 'babel-eslint'
15211518
}, {
15221519
code: [
@@ -1537,7 +1534,6 @@ ruleTester.run('prop-types', rule, {
15371534
' }',
15381535
'}'
15391536
].join('\n'),
1540-
settings: {react: {flowVersion: '0.52.0'}},
15411537
parser: 'babel-eslint'
15421538
}, {
15431539
code: [
@@ -1550,7 +1546,6 @@ ruleTester.run('prop-types', rule, {
15501546
' }',
15511547
'}'
15521548
].join('\n'),
1553-
settings: {react: {flowVersion: '0.52.0'}},
15541549
parser: 'babel-eslint'
15551550
}, {
15561551
code: [
@@ -1561,7 +1556,6 @@ ruleTester.run('prop-types', rule, {
15611556
' }',
15621557
'}'
15631558
].join('\n'),
1564-
settings: {react: {flowVersion: '0.52.0'}},
15651559
parser: 'babel-eslint'
15661560
},
15671561
{
@@ -1576,7 +1570,6 @@ ruleTester.run('prop-types', rule, {
15761570
}
15771571
}
15781572
`,
1579-
settings: {react: {flowVersion: '0.53.0'}},
15801573
parser: 'babel-eslint'
15811574
}, {
15821575
code: `
@@ -1590,7 +1583,6 @@ ruleTester.run('prop-types', rule, {
15901583
}
15911584
}
15921585
`,
1593-
settings: {react: {flowVersion: '0.53.0'}},
15941586
parser: 'babel-eslint'
15951587
},
15961588
// issue #1288
@@ -2872,7 +2864,6 @@ ruleTester.run('prop-types', rule, {
28722864
column: 35,
28732865
type: 'Identifier'
28742866
}],
2875-
settings: {react: {flowVersion: '0.52.0'}},
28762867
parser: 'babel-eslint'
28772868
}, {
28782869
code: [
@@ -2892,7 +2883,6 @@ ruleTester.run('prop-types', rule, {
28922883
column: 13,
28932884
type: 'Property'
28942885
}],
2895-
settings: {react: {flowVersion: '0.52.0'}},
28962886
parser: 'babel-eslint'
28972887
}, {
28982888
code: [
@@ -2914,7 +2904,6 @@ ruleTester.run('prop-types', rule, {
29142904
column: 7,
29152905
type: 'Property'
29162906
}],
2917-
settings: {react: {flowVersion: '0.52.0'}},
29182907
parser: 'babel-eslint'
29192908
}, {
29202909
code: [
@@ -2931,7 +2920,6 @@ ruleTester.run('prop-types', rule, {
29312920
column: 40,
29322921
type: 'Identifier'
29332922
}],
2934-
settings: {react: {flowVersion: '0.52.0'}},
29352923
parser: 'babel-eslint'
29362924
}, {
29372925
code: [
@@ -2948,7 +2936,6 @@ ruleTester.run('prop-types', rule, {
29482936
column: 42,
29492937
type: 'Identifier'
29502938
}],
2951-
settings: {react: {flowVersion: '0.52.0'}},
29522939
parser: 'babel-eslint'
29532940
}, {
29542941
code: [
@@ -2967,7 +2954,6 @@ ruleTester.run('prop-types', rule, {
29672954
column: 42,
29682955
type: 'Identifier'
29692956
}],
2970-
settings: {react: {flowVersion: '0.52.0'}},
29712957
parser: 'babel-eslint'
29722958
}, {
29732959
code: `
@@ -2987,7 +2973,6 @@ ruleTester.run('prop-types', rule, {
29872973
column: 37,
29882974
type: 'Identifier'
29892975
}],
2990-
settings: {react: {flowVersion: '0.53.0'}},
29912976
parser: 'babel-eslint'
29922977
}, {
29932978
code: `
@@ -3007,7 +2992,6 @@ ruleTester.run('prop-types', rule, {
30072992
column: 37,
30082993
type: 'Identifier'
30092994
}],
3010-
settings: {react: {flowVersion: '0.53.0'}},
30112995
parser: 'babel-eslint'
30122996
}
30132997
]

0 commit comments

Comments
 (0)