Skip to content

Commit c6264d0

Browse files
committed
Check for createElement being called from React
Fixes #996. This will prevent document.createElement triggering a false positive for react/display-name.
1 parent 682ae68 commit c6264d0

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

lib/util/Components.js

+2
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,8 @@ function componentRule(rule, context) {
258258
var returnsReactCreateElement =
259259
node[property] &&
260260
node[property].callee &&
261+
node[property].callee.object &&
262+
node[property].callee.object.name === 'React' &&
261263
node[property].callee.property &&
262264
node[property].callee.property.name === 'createElement'
263265
;

tests/lib/rules/display-name.js

+7
Original file line numberDiff line numberDiff line change
@@ -378,6 +378,13 @@ ruleTester.run('display-name', rule, {
378378
')'
379379
].join('\n'),
380380
parser: 'babel-eslint'
381+
}, {
382+
code: [
383+
'module.exports = {',
384+
' createElement: tagName => document.createElement(tagName)',
385+
'};'
386+
].join('\n'),
387+
parser: 'babel-eslint'
381388
}],
382389

383390
invalid: [{

0 commit comments

Comments
 (0)