diff --git a/lib/rules/void-dom-elements-no-children.js b/lib/rules/void-dom-elements-no-children.js index 71dd4ac954..2ee1132094 100644 --- a/lib/rules/void-dom-elements-no-children.js +++ b/lib/rules/void-dom-elements-no-children.js @@ -103,6 +103,12 @@ module.exports = { } const args = node.arguments; + + if (args.length < 1) { + // React.createElement() should not crash linter + return; + } + const elementName = args[0].value; if (!isVoidDOMElement(elementName)) { diff --git a/tests/lib/rules/void-dom-elements-no-children.js b/tests/lib/rules/void-dom-elements-no-children.js index 2350ef7081..c54e56b7ed 100644 --- a/tests/lib/rules/void-dom-elements-no-children.js +++ b/tests/lib/rules/void-dom-elements-no-children.js @@ -55,6 +55,10 @@ ruleTester.run('void-dom-elements-no-children', rule, { }, { code: 'React.createElement("img");' + }, { + code: 'React.createElement();' + }, { + code: 'document.createElement();' }, { code: ` const props = {};