Skip to content

Commit b833535

Browse files
jseminckljharb
authored andcommitted
[Fix] no-unused-prop-types: Change the reporting to point to a more accurate node
Fixes #2287
1 parent edc5fe2 commit b833535

File tree

2 files changed

+32
-32
lines changed

2 files changed

+32
-32
lines changed

lib/rules/no-unused-prop-types.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ module.exports = {
104104

105105
if (prop.node && !isPropUsed(component, prop)) {
106106
context.report({
107-
node: prop.node.value || prop.node,
107+
node: prop.node.key || prop.node,
108108
message: UNUSED_MESSAGE,
109109
data: {
110110
name: prop.fullName

tests/lib/rules/no-unused-prop-types.js

+31-31
Original file line numberDiff line numberDiff line change
@@ -3229,7 +3229,7 @@ ruleTester.run('no-unused-prop-types', rule, {
32293229
errors: [{
32303230
message: '\'unused\' PropType is defined but prop is never used',
32313231
line: 3,
3232-
column: 13
3232+
column: 5
32333233
}]
32343234
}, {
32353235
code: [
@@ -3245,7 +3245,7 @@ ruleTester.run('no-unused-prop-types', rule, {
32453245
errors: [{
32463246
message: '\'name\' PropType is defined but prop is never used',
32473247
line: 3,
3248-
column: 11
3248+
column: 5
32493249
}]
32503250
}, {
32513251
code: [
@@ -3262,7 +3262,7 @@ ruleTester.run('no-unused-prop-types', rule, {
32623262
errors: [{
32633263
message: '\'name\' PropType is defined but prop is never used',
32643264
line: 3,
3265-
column: 11
3265+
column: 5
32663266
}]
32673267
}, {
32683268
code: [
@@ -4061,7 +4061,7 @@ ruleTester.run('no-unused-prop-types', rule, {
40614061
errors: [{
40624062
message: '\'unused\' PropType is defined but prop is never used',
40634063
line: 3,
4064-
column: 13
4064+
column: 5
40654065
}]
40664066
}, {
40674067
code: [
@@ -4079,7 +4079,7 @@ ruleTester.run('no-unused-prop-types', rule, {
40794079
errors: [{
40804080
message: '\'unused\' PropType is defined but prop is never used',
40814081
line: 3,
4082-
column: 13
4082+
column: 5
40834083
}]
40844084
}, {
40854085
code: [
@@ -4097,7 +4097,7 @@ ruleTester.run('no-unused-prop-types', rule, {
40974097
errors: [{
40984098
message: '\'unused\' PropType is defined but prop is never used',
40994099
line: 3,
4100-
column: 13
4100+
column: 5
41014101
}]
41024102
}, {
41034103
code: [
@@ -4114,7 +4114,7 @@ ruleTester.run('no-unused-prop-types', rule, {
41144114
errors: [{
41154115
message: '\'unused\' PropType is defined but prop is never used',
41164116
line: 3,
4117-
column: 13
4117+
column: 5
41184118
}]
41194119
}, {
41204120
code: [
@@ -4132,7 +4132,7 @@ ruleTester.run('no-unused-prop-types', rule, {
41324132
errors: [{
41334133
message: '\'unused\' PropType is defined but prop is never used',
41344134
line: 3,
4135-
column: 13
4135+
column: 5
41364136
}]
41374137
}, {
41384138
code: [
@@ -4149,7 +4149,7 @@ ruleTester.run('no-unused-prop-types', rule, {
41494149
errors: [{
41504150
message: '\'unused\' PropType is defined but prop is never used',
41514151
line: 3,
4152-
column: 13
4152+
column: 5
41534153
}]
41544154
}, {
41554155
code: [
@@ -4167,7 +4167,7 @@ ruleTester.run('no-unused-prop-types', rule, {
41674167
errors: [{
41684168
message: '\'unused\' PropType is defined but prop is never used',
41694169
line: 3,
4170-
column: 13
4170+
column: 5
41714171
}]
41724172
}, {
41734173
code: [
@@ -4184,7 +4184,7 @@ ruleTester.run('no-unused-prop-types', rule, {
41844184
errors: [{
41854185
message: '\'unused\' PropType is defined but prop is never used',
41864186
line: 3,
4187-
column: 13
4187+
column: 5
41884188
}]
41894189
}, {
41904190
code: [
@@ -4202,7 +4202,7 @@ ruleTester.run('no-unused-prop-types', rule, {
42024202
errors: [{
42034203
message: '\'unused\' PropType is defined but prop is never used',
42044204
line: 3,
4205-
column: 13
4205+
column: 5
42064206
}]
42074207
}, {
42084208
code: [
@@ -4219,7 +4219,7 @@ ruleTester.run('no-unused-prop-types', rule, {
42194219
errors: [{
42204220
message: '\'unused\' PropType is defined but prop is never used',
42214221
line: 3,
4222-
column: 13
4222+
column: 5
42234223
}]
42244224
}, {
42254225
code: [
@@ -4236,7 +4236,7 @@ ruleTester.run('no-unused-prop-types', rule, {
42364236
errors: [{
42374237
message: '\'something\' PropType is defined but prop is never used',
42384238
line: 3,
4239-
column: 16
4239+
column: 5
42404240
}]
42414241
}, {
42424242
code: [
@@ -4252,7 +4252,7 @@ ruleTester.run('no-unused-prop-types', rule, {
42524252
errors: [{
42534253
message: '\'something\' PropType is defined but prop is never used',
42544254
line: 3,
4255-
column: 16
4255+
column: 5
42564256
}]
42574257
}, {
42584258
code: [
@@ -4273,7 +4273,7 @@ ruleTester.run('no-unused-prop-types', rule, {
42734273
errors: [{
42744274
message: '\'bar\' PropType is defined but prop is never used',
42754275
line: 4,
4276-
column: 10
4276+
column: 5
42774277
}]
42784278
}, {
42794279
// Multiple props used inside of an async class property
@@ -4294,7 +4294,7 @@ ruleTester.run('no-unused-prop-types', rule, {
42944294
errors: [{
42954295
message: '\'baz\' PropType is defined but prop is never used',
42964296
line: 5,
4297-
column: 10
4297+
column: 5
42984298
}]
42994299
}, {
43004300
code: [
@@ -4313,7 +4313,7 @@ ruleTester.run('no-unused-prop-types', rule, {
43134313
errors: [{
43144314
message: '\'bar\' PropType is defined but prop is never used',
43154315
line: 10,
4316-
column: 8
4316+
column: 3
43174317
}]
43184318
}, {
43194319
code: [
@@ -4334,7 +4334,7 @@ ruleTester.run('no-unused-prop-types', rule, {
43344334
errors: [{
43354335
message: '\'bar\' PropType is defined but prop is never used',
43364336
line: 4,
4337-
column: 10
4337+
column: 5
43384338
}]
43394339
}, {
43404340
// Multiple destructured props inside of async class property
@@ -4375,7 +4375,7 @@ ruleTester.run('no-unused-prop-types', rule, {
43754375
errors: [{
43764376
message: '\'bar\' PropType is defined but prop is never used',
43774377
line: 4,
4378-
column: 10
4378+
column: 5
43794379
}]
43804380
}, {
43814381
code: [
@@ -4394,7 +4394,7 @@ ruleTester.run('no-unused-prop-types', rule, {
43944394
errors: [{
43954395
message: '\'bar\' PropType is defined but prop is never used',
43964396
line: 10,
4397-
column: 8
4397+
column: 3
43984398
}]
43994399
}, {
44004400
code: [
@@ -4415,7 +4415,7 @@ ruleTester.run('no-unused-prop-types', rule, {
44154415
errors: [{
44164416
message: '\'bar\' PropType is defined but prop is never used',
44174417
line: 4,
4418-
column: 10
4418+
column: 5
44194419
}]
44204420
}, {
44214421
// Multiple destructured props inside of async class method
@@ -4437,7 +4437,7 @@ ruleTester.run('no-unused-prop-types', rule, {
44374437
errors: [{
44384438
message: '\'baz\' PropType is defined but prop is never used',
44394439
line: 5,
4440-
column: 10
4440+
column: 5
44414441
}]
44424442
}, {
44434443
// factory functions that return async functions
@@ -4460,7 +4460,7 @@ ruleTester.run('no-unused-prop-types', rule, {
44604460
errors: [{
44614461
message: '\'baz\' PropType is defined but prop is never used',
44624462
line: 5,
4463-
column: 10
4463+
column: 5
44644464
}]
44654465
}, {
44664466
code: [
@@ -4479,7 +4479,7 @@ ruleTester.run('no-unused-prop-types', rule, {
44794479
errors: [{
44804480
message: '\'bar\' PropType is defined but prop is never used',
44814481
line: 10,
4482-
column: 8
4482+
column: 3
44834483
}]
44844484
}, {
44854485
code: [
@@ -4498,7 +4498,7 @@ ruleTester.run('no-unused-prop-types', rule, {
44984498
errors: [{
44994499
message: '\'bar\' PropType is defined but prop is never used',
45004500
line: 10,
4501-
column: 8
4501+
column: 3
45024502
}],
45034503
settings: {
45044504
propWrapperFunctions: ['forbidExtraProps']
@@ -4521,7 +4521,7 @@ ruleTester.run('no-unused-prop-types', rule, {
45214521
errors: [{
45224522
message: '\'bar\' PropType is defined but prop is never used',
45234523
line: 4,
4524-
column: 10
4524+
column: 5
45254525
}],
45264526
settings: {
45274527
propWrapperFunctions: ['forbidExtraProps']
@@ -4547,7 +4547,7 @@ ruleTester.run('no-unused-prop-types', rule, {
45474547
errors: [{
45484548
message: '\'foo\' PropType is defined but prop is never used',
45494549
line: 3,
4550-
column: 10
4550+
column: 5
45514551
}]
45524552
}, {
45534553
// Multiple props used inside of an async function
@@ -4571,7 +4571,7 @@ ruleTester.run('no-unused-prop-types', rule, {
45714571
errors: [{
45724572
message: '\'baz\' PropType is defined but prop is never used',
45734573
line: 13,
4574-
column: 8
4574+
column: 3
45754575
}]
45764576
}, {
45774577
// Multiple props used inside of an async arrow function
@@ -4595,7 +4595,7 @@ ruleTester.run('no-unused-prop-types', rule, {
45954595
errors: [{
45964596
message: '\'foo\' PropType is defined but prop is never used',
45974597
line: 11,
4598-
column: 8
4598+
column: 3
45994599
}]
46004600
}, {
46014601
// None of the props are used issue #1162
@@ -4739,7 +4739,7 @@ ruleTester.run('no-unused-prop-types', rule, {
47394739
errors: [{
47404740
message: "'unusedProp' PropType is defined but prop is never used",
47414741
line: 7,
4742-
column: 23
4742+
column: 11
47434743
}]
47444744
}, {
47454745
code: `

0 commit comments

Comments
 (0)