Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change the reporting for no-unused-prop-types #2292

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion lib/rules/no-unused-prop-types.js
Expand Up @@ -104,7 +104,7 @@ module.exports = {

if (prop.node && !isPropUsed(component, prop)) {
context.report({
node: prop.node.value || prop.node,
node: prop.node.key || prop.node,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if the fallback to prop.node here is actually needed? If the fallback is used then it will report like this:

Screen Shot 2019-05-27 at 08 02 12

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe it is for flow object type? It seems that babel-eslint does not provide key in ObjectTypeProperty nodes demo.

message: UNUSED_MESSAGE,
data: {
name: prop.fullName
Expand Down
62 changes: 31 additions & 31 deletions tests/lib/rules/no-unused-prop-types.js
Expand Up @@ -3229,7 +3229,7 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [{
message: '\'unused\' PropType is defined but prop is never used',
line: 3,
column: 13
column: 5
}]
}, {
code: [
Expand All @@ -3245,7 +3245,7 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [{
message: '\'name\' PropType is defined but prop is never used',
line: 3,
column: 11
column: 5
}]
}, {
code: [
Expand All @@ -3262,7 +3262,7 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [{
message: '\'name\' PropType is defined but prop is never used',
line: 3,
column: 11
column: 5
}]
}, {
code: [
Expand Down Expand Up @@ -4061,7 +4061,7 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [{
message: '\'unused\' PropType is defined but prop is never used',
line: 3,
column: 13
column: 5
}]
}, {
code: [
Expand All @@ -4079,7 +4079,7 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [{
message: '\'unused\' PropType is defined but prop is never used',
line: 3,
column: 13
column: 5
}]
}, {
code: [
Expand All @@ -4097,7 +4097,7 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [{
message: '\'unused\' PropType is defined but prop is never used',
line: 3,
column: 13
column: 5
}]
}, {
code: [
Expand All @@ -4114,7 +4114,7 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [{
message: '\'unused\' PropType is defined but prop is never used',
line: 3,
column: 13
column: 5
}]
}, {
code: [
Expand All @@ -4132,7 +4132,7 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [{
message: '\'unused\' PropType is defined but prop is never used',
line: 3,
column: 13
column: 5
}]
}, {
code: [
Expand All @@ -4149,7 +4149,7 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [{
message: '\'unused\' PropType is defined but prop is never used',
line: 3,
column: 13
column: 5
}]
}, {
code: [
Expand All @@ -4167,7 +4167,7 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [{
message: '\'unused\' PropType is defined but prop is never used',
line: 3,
column: 13
column: 5
}]
}, {
code: [
Expand All @@ -4184,7 +4184,7 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [{
message: '\'unused\' PropType is defined but prop is never used',
line: 3,
column: 13
column: 5
}]
}, {
code: [
Expand All @@ -4202,7 +4202,7 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [{
message: '\'unused\' PropType is defined but prop is never used',
line: 3,
column: 13
column: 5
}]
}, {
code: [
Expand All @@ -4219,7 +4219,7 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [{
message: '\'unused\' PropType is defined but prop is never used',
line: 3,
column: 13
column: 5
}]
}, {
code: [
Expand All @@ -4236,7 +4236,7 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [{
message: '\'something\' PropType is defined but prop is never used',
line: 3,
column: 16
column: 5
}]
}, {
code: [
Expand All @@ -4252,7 +4252,7 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [{
message: '\'something\' PropType is defined but prop is never used',
line: 3,
column: 16
column: 5
}]
}, {
code: [
Expand All @@ -4273,7 +4273,7 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [{
message: '\'bar\' PropType is defined but prop is never used',
line: 4,
column: 10
column: 5
}]
}, {
// Multiple props used inside of an async class property
Expand All @@ -4294,7 +4294,7 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [{
message: '\'baz\' PropType is defined but prop is never used',
line: 5,
column: 10
column: 5
}]
}, {
code: [
Expand All @@ -4313,7 +4313,7 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [{
message: '\'bar\' PropType is defined but prop is never used',
line: 10,
column: 8
column: 3
}]
}, {
code: [
Expand All @@ -4334,7 +4334,7 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [{
message: '\'bar\' PropType is defined but prop is never used',
line: 4,
column: 10
column: 5
}]
}, {
// Multiple destructured props inside of async class property
Expand Down Expand Up @@ -4375,7 +4375,7 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [{
message: '\'bar\' PropType is defined but prop is never used',
line: 4,
column: 10
column: 5
}]
}, {
code: [
Expand All @@ -4394,7 +4394,7 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [{
message: '\'bar\' PropType is defined but prop is never used',
line: 10,
column: 8
column: 3
}]
}, {
code: [
Expand All @@ -4415,7 +4415,7 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [{
message: '\'bar\' PropType is defined but prop is never used',
line: 4,
column: 10
column: 5
}]
}, {
// Multiple destructured props inside of async class method
Expand All @@ -4437,7 +4437,7 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [{
message: '\'baz\' PropType is defined but prop is never used',
line: 5,
column: 10
column: 5
}]
}, {
// factory functions that return async functions
Expand All @@ -4460,7 +4460,7 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [{
message: '\'baz\' PropType is defined but prop is never used',
line: 5,
column: 10
column: 5
}]
}, {
code: [
Expand All @@ -4479,7 +4479,7 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [{
message: '\'bar\' PropType is defined but prop is never used',
line: 10,
column: 8
column: 3
}]
}, {
code: [
Expand All @@ -4498,7 +4498,7 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [{
message: '\'bar\' PropType is defined but prop is never used',
line: 10,
column: 8
column: 3
}],
settings: {
propWrapperFunctions: ['forbidExtraProps']
Expand All @@ -4521,7 +4521,7 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [{
message: '\'bar\' PropType is defined but prop is never used',
line: 4,
column: 10
column: 5
}],
settings: {
propWrapperFunctions: ['forbidExtraProps']
Expand All @@ -4547,7 +4547,7 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [{
message: '\'foo\' PropType is defined but prop is never used',
line: 3,
column: 10
column: 5
}]
}, {
// Multiple props used inside of an async function
Expand All @@ -4571,7 +4571,7 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [{
message: '\'baz\' PropType is defined but prop is never used',
line: 13,
column: 8
column: 3
}]
}, {
// Multiple props used inside of an async arrow function
Expand All @@ -4595,7 +4595,7 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [{
message: '\'foo\' PropType is defined but prop is never used',
line: 11,
column: 8
column: 3
}]
}, {
// None of the props are used issue #1162
Expand Down Expand Up @@ -4739,7 +4739,7 @@ ruleTester.run('no-unused-prop-types', rule, {
errors: [{
message: "'unusedProp' PropType is defined but prop is never used",
line: 7,
column: 23
column: 11
}]
}, {
code: `
Expand Down