Skip to content

Commit a4bf7da

Browse files
committed
[Fix] no-namespace: fix crash on non-string React.createElement name
Fixes #3082
1 parent eeb0144 commit a4bf7da

File tree

3 files changed

+9
-2
lines changed

3 files changed

+9
-2
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,11 @@ This change log adheres to standards from [Keep a CHANGELOG](http://keepachangel
55

66
## Unreleased
77

8+
### Fixed
9+
* [`no-namespace`]: fix crash on non-string React.createElement name ([#3082] @ljharb)
10+
11+
[#3082]: https://github.com/yannickcr/eslint-plugin-react/pull/3082
12+
813
## [7.26.0] - 2021.09.20
914

1015
### Added

lib/rules/no-namespace.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ module.exports = {
4040
CallExpression(node) {
4141
if (isCreateElement(node, context) && node.arguments.length > 0 && node.arguments[0].type === 'Literal') {
4242
const name = node.arguments[0].value;
43-
if (name.indexOf(':') === -1) return undefined;
43+
if (!name || name.indexOf(':') === -1) return undefined;
4444
report(context, messages.noNamespace, 'noNamespace', {
4545
node,
4646
data: {
@@ -51,7 +51,7 @@ module.exports = {
5151
},
5252
JSXOpeningElement(node) {
5353
const name = elementType(node);
54-
if (name.indexOf(':') === -1) return undefined;
54+
if (!name || name.indexOf(':') === -1) return undefined;
5555
report(context, messages.noNamespace, 'noNamespace', {
5656
node,
5757
data: {

tests/lib/rules/no-namespace.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,8 @@ ruleTester.run('no-namespace', rule, {
7474
code: '<Object.TestComponent />'
7575
}, {
7676
code: 'React.createElement("Object.TestComponent")'
77+
}, {
78+
code: 'React.createElement(null)'
7779
}],
7880

7981
invalid: [{

0 commit comments

Comments
 (0)