eslint-plugin-react
Advanced tools
Comparing version 7.29.0 to 7.29.1
@@ -38,2 +38,4 @@ /** | ||
const reportC = require('../util/report'); | ||
const jsxUtil = require('../util/jsx'); | ||
const isCreateElement = require('../util/isCreateElement'); | ||
@@ -421,2 +423,13 @@ // ------------------------------------------------------------------------------ | ||
let fn = node.parent; | ||
while (fn && fn.type !== 'FunctionDeclaration' && fn.type !== 'FunctionExpression') { | ||
fn = fn.parent; | ||
} | ||
if ( | ||
!fn | ||
|| !jsxUtil.isReturningJSX((n) => isCreateElement(n, context), node, context) | ||
) { | ||
return; | ||
} | ||
const openingIndent = getNodeIndent(node); | ||
@@ -423,0 +436,0 @@ const closingIndent = getNodeIndent(node, true); |
@@ -111,3 +111,3 @@ /** | ||
'ArrayExpression, JSXElement > JSXElement'(node) { | ||
const jsx = (node.type === 'ArrayExpression' ? node.elements : node.parent.children).filter((x) => x.type === 'JSXElement'); | ||
const jsx = (node.type === 'ArrayExpression' ? node.elements : node.parent.children).filter((x) => x && x.type === 'JSXElement'); | ||
if (jsx.length === 0) { | ||
@@ -123,5 +123,7 @@ return; | ||
if (keys.length === 0) { | ||
report(context, messages.missingArrayKey, 'missingArrayKey', { | ||
node: element, | ||
}); | ||
if (node.type === 'ArrayExpression') { | ||
report(context, messages.missingArrayKey, 'missingArrayKey', { | ||
node: element, | ||
}); | ||
} | ||
} else { | ||
@@ -128,0 +130,0 @@ keys.forEach((attr) => { |
@@ -73,4 +73,6 @@ /** | ||
const defaultVersion = '999.999.999'; | ||
function getReactVersionFromContext(context) { | ||
let confVer = '999.999.999'; | ||
let confVer = defaultVersion; | ||
// .eslintrc shared settings (https://eslint.org/docs/user-guide/configuring#adding-shared-settings) | ||
@@ -93,3 +95,7 @@ if (context.settings && context.settings.react && context.settings.react.version) { | ||
confVer = /^[0-9]+\.[0-9]+$/.test(confVer) ? `${confVer}.0` : confVer; | ||
return semver.coerce(confVer.split('.').map((part) => Number(part)).join('.')).version; | ||
const result = semver.coerce(confVer.split('.').map((part) => Number(part)).join('.')); | ||
if (!result) { | ||
error(`Warning: React version specified in eslint-plugin-react-settings must be a valid semver version, or "detect"; got “${confVer}”`); | ||
} | ||
return result ? result.version : defaultVersion; | ||
} | ||
@@ -116,3 +122,3 @@ | ||
function getFlowVersionFromContext(context) { | ||
let confVer = '999.999.999'; | ||
let confVer = defaultVersion; | ||
// .eslintrc shared settings (https://eslint.org/docs/user-guide/configuring#adding-shared-settings) | ||
@@ -133,3 +139,7 @@ if (context.settings.react && context.settings.react.flowVersion) { | ||
confVer = /^[0-9]+\.[0-9]+$/.test(confVer) ? `${confVer}.0` : confVer; | ||
return semver.coerce(confVer.split('.').map((part) => Number(part)).join('.')).version; | ||
const result = semver.coerce(confVer.split('.').map((part) => Number(part)).join('.')); | ||
if (!result) { | ||
error(`Warning: Flow version specified in eslint-plugin-react-settings must be a valid semver version, or "detect"; got “${confVer}”`); | ||
} | ||
return result ? result.version : defaultVersion; | ||
} | ||
@@ -136,0 +146,0 @@ |
{ | ||
"name": "eslint-plugin-react", | ||
"version": "7.29.0", | ||
"version": "7.29.1", | ||
"author": "Yannick Croissant <yannick.croissant+npm@gmail.com>", | ||
@@ -5,0 +5,0 @@ "description": "React specific linting rules for ESLint", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
704508
19595