From 2868dc68bc63ff6abce6cef2fa21e39dad3008b4 Mon Sep 17 00:00:00 2001 From: kokobeware Date: Sat, 27 May 2017 15:29:41 -0400 Subject: [PATCH 1/3] Fix void-dom-elements-no-children crash React.createElement() crashes the linter since first argument is undefined. --- lib/rules/void-dom-elements-no-children.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/rules/void-dom-elements-no-children.js b/lib/rules/void-dom-elements-no-children.js index fcc1c3f61b..c4197b08cc 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 = { } var args = node.arguments; + + if (args.length < 1) { + // React.createElement() should not crash linter + return; + } + var elementName = args[0].value; if (!isVoidDOMElement(elementName)) { From a024a09d99c0d5cd040250da3780b76303190183 Mon Sep 17 00:00:00 2001 From: kokobeware Date: Sat, 27 May 2017 15:34:23 -0400 Subject: [PATCH 2/3] Update void-dom-elements-no-children.js tests --- tests/lib/rules/void-dom-elements-no-children.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/lib/rules/void-dom-elements-no-children.js b/tests/lib/rules/void-dom-elements-no-children.js index d3d0b23e84..7760b3e6d4 100644 --- a/tests/lib/rules/void-dom-elements-no-children.js +++ b/tests/lib/rules/void-dom-elements-no-children.js @@ -53,6 +53,10 @@ ruleTester.run('void-dom-elements-no-children', rule, { code: 'document.createElement("img")' }, { code: 'React.createElement("img");' + },{ + code: 'React.createElement();' + },{ + code: 'document.createElement();' }, { code: [ 'const props = {}', From fffa6c5d5c8b14ce0badca8267858d59526c0c86 Mon Sep 17 00:00:00 2001 From: kokobeware Date: Sat, 27 May 2017 15:43:03 -0400 Subject: [PATCH 3/3] Fix formatting --- tests/lib/rules/void-dom-elements-no-children.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/lib/rules/void-dom-elements-no-children.js b/tests/lib/rules/void-dom-elements-no-children.js index 7760b3e6d4..7786bc48ae 100644 --- a/tests/lib/rules/void-dom-elements-no-children.js +++ b/tests/lib/rules/void-dom-elements-no-children.js @@ -53,9 +53,9 @@ ruleTester.run('void-dom-elements-no-children', rule, { code: 'document.createElement("img")' }, { code: 'React.createElement("img");' - },{ + }, { code: 'React.createElement();' - },{ + }, { code: 'document.createElement();' }, { code: [