Skip to content

Commit 739ece1

Browse files
authored
Merge pull request #1298 from jseminck/jsx-no-target-blank
Fix crash in jsx-no-target-blank
2 parents 75fb917 + 322afa4 commit 739ece1

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

lib/rules/jsx-no-target-blank.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ function isTargetBlank(attr) {
1515
}
1616

1717
function hasExternalLink(element) {
18-
return element.attributes.find(function (attr) {
18+
return element.attributes.some(function (attr) {
1919
return attr.name &&
2020
attr.name.name === 'href' &&
2121
attr.value.type === 'Literal' &&
@@ -25,7 +25,7 @@ function hasExternalLink(element) {
2525

2626
function hasSecureRel(element) {
2727
return element.attributes.find(function (attr) {
28-
if (attr.name.name === 'rel') {
28+
if (attr.type === 'JSXAttribute' && attr.name.name === 'rel') {
2929
const tags = attr.value && attr.value.type === 'Literal' && attr.value.value.toLowerCase().split(' ');
3030
return tags && (tags.indexOf('noopener') >= 0 && tags.indexOf('noreferrer') >= 0);
3131
}

tests/lib/rules/jsx-no-target-blank.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ ruleTester.run('jsx-no-target-blank', rule, {
3131
{code: '<a randomTag></a>'},
3232
{code: '<a href="foobar" target="_blank" rel="noopener noreferrer"></a>'},
3333
{code: '<a target="_blank" {...spreadProps} rel="noopener noreferrer"></a>'},
34+
{code: '<a {...spreadProps} target="_blank" rel="noopener noreferrer" href="http://example.com">s</a>'},
3435
{code: '<a target="_blank" rel="noopener noreferrer" {...spreadProps}></a>'},
3536
{code: '<p target="_blank"></p>'},
3637
{code: '<a href="foobar" target="_BLANK" rel="NOOPENER noreferrer"></a>'},

0 commit comments

Comments
 (0)