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 5e3554262c..5d43d59cf1 100644 --- a/packages/babel/src/transformation/transformers/optimisation/react.inline-elements.js +++ b/packages/babel/src/transformation/transformers/optimisation/react.inline-elements.js @@ -60,11 +60,6 @@ export var visitor = { objProps.push(t.property("init", key, value)); } - // metadata - pushElemProp("$$typeof", file.addHelper("typeof-react-element")); - pushElemProp("type", type); - pushElemProp("ref", t.literal(null)); - if (node.children.length) { var children = react.buildChildren(node); children = children.length === 1 ? children[0] : t.arrayExpression(children); @@ -85,10 +80,14 @@ export var visitor = { props = t.callExpression(file.addHelper("default-props"), [t.memberExpression(type, t.identifier("defaultProps")), props]); } - pushElemProp("props", props); - - // key + // metadata + pushElemProp("$$typeof", file.addHelper("typeof-react-element")); + pushElemProp("type", type); pushElemProp("key", key); + pushElemProp("ref", t.literal(null)); + + pushElemProp("props", props); + pushElemProp("_owner", t.literal(null)); return obj; } diff --git a/packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/inline-elements/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/inline-elements/expected.js index eaa34b3340..486db2f496 100644 --- a/packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/inline-elements/expected.js +++ b/packages/babel/test/fixtures/transformation/optimisation.react.constant-elements/inline-elements/expected.js @@ -5,9 +5,10 @@ var _typeofReactElement = typeof Symbol === "function" && Symbol["for"] && Symbo var _ref = { $$typeof: _typeofReactElement, type: "foo", + key: null, ref: null, props: {}, - key: null + _owner: null }; function render() { return _ref; @@ -18,11 +19,12 @@ function render() { var _ref2 = { $$typeof: _typeofReactElement, type: "foo", + key: null, ref: null, props: { children: text }, - key: null + _owner: null }; return function () { return _ref2; diff --git a/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/component-with-props/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/component-with-props/expected.js index 83e97ffb7c..53d45c8c49 100644 --- a/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/component-with-props/expected.js +++ b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/component-with-props/expected.js @@ -3,9 +3,10 @@ ({ $$typeof: babelHelpers.typeofReactElement, type: Baz, + key: null, ref: null, props: babelHelpers.defaultProps(Baz.defaultProps, { foo: "bar" }), - key: null + _owner: null }); \ No newline at end of file diff --git a/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/component/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/component/expected.js index 78504409d1..0f7be9b542 100644 --- a/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/component/expected.js +++ b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/component/expected.js @@ -3,7 +3,8 @@ ({ $$typeof: babelHelpers.typeofReactElement, type: Baz, + key: null, ref: null, props: babelHelpers.defaultProps(Baz.defaultProps, {}), - key: null + _owner: null }); \ No newline at end of file diff --git a/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/html-element-with-props/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/html-element-with-props/expected.js index 093fab0776..adac374b6f 100644 --- a/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/html-element-with-props/expected.js +++ b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/html-element-with-props/expected.js @@ -3,9 +3,10 @@ ({ $$typeof: babelHelpers.typeofReactElement, type: "foo", + key: null, ref: null, props: { bar: "foo" }, - key: null + _owner: null }); \ No newline at end of file diff --git a/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/html-element/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/html-element/expected.js index 4b16b457e3..88fb7293c7 100644 --- a/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/html-element/expected.js +++ b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/html-element/expected.js @@ -3,7 +3,8 @@ ({ $$typeof: babelHelpers.typeofReactElement, type: "foo", + key: null, ref: null, props: {}, - key: null + _owner: null }); \ No newline at end of file diff --git a/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/key/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/key/expected.js index 3834cf1d12..d103b14c73 100644 --- a/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/key/expected.js +++ b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/key/expected.js @@ -3,7 +3,8 @@ ({ $$typeof: babelHelpers.typeofReactElement, type: Foo, + key: "foo", ref: null, props: babelHelpers.defaultProps(Foo.defaultProps, {}), - key: "foo" + _owner: null }); \ No newline at end of file diff --git a/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/nested-components/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/nested-components/expected.js index d61f6f2de3..ca5c4af20b 100644 --- a/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/nested-components/expected.js +++ b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/nested-components/expected.js @@ -3,16 +3,18 @@ ({ $$typeof: babelHelpers.typeofReactElement, type: Foo, + key: null, ref: null, props: babelHelpers.defaultProps(Foo.defaultProps, { children: [bar, { $$typeof: babelHelpers.typeofReactElement, type: Baz, + key: "baz", ref: null, props: babelHelpers.defaultProps(Baz.defaultProps, {}), - key: "baz" + _owner: null }], className: "foo" }), - key: null + _owner: null }); \ No newline at end of file diff --git a/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/nested-html-elements/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/nested-html-elements/expected.js index f9518ba2b7..7c59ecd0ba 100644 --- a/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/nested-html-elements/expected.js +++ b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/nested-html-elements/expected.js @@ -3,10 +3,11 @@ ({ $$typeof: babelHelpers.typeofReactElement, type: "div", + key: null, ref: null, props: { children: bar, className: "foo" }, - key: null + _owner: null }); \ No newline at end of file diff --git a/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/nested/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/nested/expected.js index 1f152abd02..d4cf94ca81 100644 --- a/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/nested/expected.js +++ b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/nested/expected.js @@ -3,16 +3,18 @@ ({ $$typeof: babelHelpers.typeofReactElement, type: "div", + key: null, ref: null, props: { children: [bar, { $$typeof: babelHelpers.typeofReactElement, type: Baz, + key: "baz", ref: null, props: babelHelpers.defaultProps(Baz.defaultProps, {}), - key: "baz" + _owner: null }], className: "foo" }, - key: null + _owner: null }); \ No newline at end of file diff --git a/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/self-closing-component-with-props/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/self-closing-component-with-props/expected.js index 83e97ffb7c..53d45c8c49 100644 --- a/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/self-closing-component-with-props/expected.js +++ b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/self-closing-component-with-props/expected.js @@ -3,9 +3,10 @@ ({ $$typeof: babelHelpers.typeofReactElement, type: Baz, + key: null, ref: null, props: babelHelpers.defaultProps(Baz.defaultProps, { foo: "bar" }), - key: null + _owner: null }); \ No newline at end of file diff --git a/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/self-closing-component/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/self-closing-component/expected.js index 78504409d1..0f7be9b542 100644 --- a/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/self-closing-component/expected.js +++ b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/self-closing-component/expected.js @@ -3,7 +3,8 @@ ({ $$typeof: babelHelpers.typeofReactElement, type: Baz, + key: null, ref: null, props: babelHelpers.defaultProps(Baz.defaultProps, {}), - key: null + _owner: null }); \ No newline at end of file diff --git a/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/self-closing-html-element-with-props/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/self-closing-html-element-with-props/expected.js index 093fab0776..adac374b6f 100644 --- a/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/self-closing-html-element-with-props/expected.js +++ b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/self-closing-html-element-with-props/expected.js @@ -3,9 +3,10 @@ ({ $$typeof: babelHelpers.typeofReactElement, type: "foo", + key: null, ref: null, props: { bar: "foo" }, - key: null + _owner: null }); \ No newline at end of file diff --git a/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/self-closing-html-element/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/self-closing-html-element/expected.js index 4b16b457e3..88fb7293c7 100644 --- a/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/self-closing-html-element/expected.js +++ b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/self-closing-html-element/expected.js @@ -3,7 +3,8 @@ ({ $$typeof: babelHelpers.typeofReactElement, type: "foo", + key: null, ref: null, props: {}, - key: null + _owner: null }); \ No newline at end of file diff --git a/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/shorthand-attributes/expected.js b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/shorthand-attributes/expected.js index 0239a2fe42..0aed56de13 100644 --- a/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/shorthand-attributes/expected.js +++ b/packages/babel/test/fixtures/transformation/optimisation.react.inline-elements/shorthand-attributes/expected.js @@ -3,9 +3,10 @@ ({ $$typeof: babelHelpers.typeofReactElement, type: Foo, + key: null, ref: null, props: babelHelpers.defaultProps(Foo.defaultProps, { bar: true }), - key: null + _owner: null }); \ No newline at end of file