diff --git a/packages/babel/src/transformation/file/index.js b/packages/babel/src/transformation/file/index.js index e16aacb978da..aefe11e40b47 100644 --- a/packages/babel/src/transformation/file/index.js +++ b/packages/babel/src/transformation/file/index.js @@ -92,6 +92,7 @@ export default class File { "temporal-undefined", "temporal-assert-defined", "self-global", + "typeof-react-element", "default-props", "instanceof", diff --git a/packages/babel/src/transformation/templates/helper-typeof-react-element.js b/packages/babel/src/transformation/templates/helper-typeof-react-element.js new file mode 100644 index 000000000000..ac36f49c67ef --- /dev/null +++ b/packages/babel/src/transformation/templates/helper-typeof-react-element.js @@ -0,0 +1 @@ +(typeof Symbol === 'function' && Symbol.for && Symbol.for('react.element')) || 0xeac7 diff --git a/packages/babel/src/transformation/transformers/optimisation/react.inline-elements.js b/packages/babel/src/transformation/transformers/optimisation/react.inline-elements.js index 8c7c182ed430..5e3554262cf6 100644 --- a/packages/babel/src/transformation/transformers/optimisation/react.inline-elements.js +++ b/packages/babel/src/transformation/transformers/optimisation/react.inline-elements.js @@ -61,6 +61,7 @@ export var visitor = { } // metadata + pushElemProp("$$typeof", file.addHelper("typeof-react-element")); pushElemProp("type", type); pushElemProp("ref", t.literal(null));