Mark transpiled JSX elements as pure (#11126)

* Mark transpiled JSX elements as pure

* Avoid duble annotation

* Add "pure" option to the React preset

* Fix generator indentation

* Update tests

* Add tests for the "pure" option

* Update windows fixtures
This commit is contained in:
Nicolò Ribaudo
2020-03-19 15:43:54 +01:00
committed by GitHub
parent fa7ec81771
commit f3912ac08f
246 changed files with 613 additions and 314 deletions

View File

@@ -1,3 +1,4 @@
/*#__PURE__*/
babelHelpers.jsx("div", {
children: "foo"
}, void 0, "bar");

View File

@@ -1,3 +1,4 @@
/*#__PURE__*/
babelHelpers.jsx(Baz, {
foo: "bar"
});

View File

@@ -1 +1,2 @@
/*#__PURE__*/
babelHelpers.jsx(Baz, {});

View File

@@ -1,6 +1,6 @@
var TestComponent = React.createClass({
render: function () {
return babelHelpers.jsx("span", {
return /*#__PURE__*/babelHelpers.jsx("span", {
className: this.props.someProp
});
}

View File

@@ -1 +1,2 @@
React.createElement(React.Fragment, null, babelHelpers.jsx("span", {}), babelHelpers.jsx("div", {}));
/*#__PURE__*/
React.createElement(React.Fragment, null, /*#__PURE__*/babelHelpers.jsx("span", {}), /*#__PURE__*/babelHelpers.jsx("div", {}));

View File

@@ -1,3 +1,4 @@
/*#__PURE__*/
babelHelpers.jsx("foo", {
bar: "foo"
});

View File

@@ -1 +1,2 @@
/*#__PURE__*/
babelHelpers.jsx("foo", {});

View File

@@ -1,3 +1,4 @@
/*#__PURE__*/
babelHelpers.jsx(Foo, {
"data-value": "bar"
}, "foo" + "baz");

View File

@@ -1,3 +1,4 @@
/*#__PURE__*/
babelHelpers.jsx(Foo, {
"data-value": "bar"
}, "foo");

View File

@@ -4,5 +4,5 @@ var _export = require("./export");
//index.js file
function ParentComponent() {
return babelHelpers.jsx(_export.form.TestComponent, {});
return /*#__PURE__*/babelHelpers.jsx(_export.form.TestComponent, {});
}

View File

@@ -7,6 +7,6 @@ exports.default = void 0;
var _reactBootstrap = require("react-bootstrap");
var _default = CustomModal = () => babelHelpers.jsx(_reactBootstrap.Modal.Header, {}, void 0, "foobar");
var _default = CustomModal = () => /*#__PURE__*/babelHelpers.jsx(_reactBootstrap.Modal.Header, {}, void 0, "foobar");
exports.default = _default;

View File

@@ -1 +1,2 @@
/*#__PURE__*/
babelHelpers.jsx(Baz, {});

View File

@@ -1,3 +1,4 @@
/*#__PURE__*/
babelHelpers.jsx(Foo, {
className: "foo"
}, void 0, bar, babelHelpers.jsx(Baz, {}, "baz"));
}, void 0, bar, /*#__PURE__*/babelHelpers.jsx(Baz, {}, "baz"));

View File

@@ -1,3 +1,4 @@
/*#__PURE__*/
babelHelpers.jsx("div", {
className: "foo"
}, void 0, bar);

View File

@@ -1,3 +1,4 @@
/*#__PURE__*/
babelHelpers.jsx("div", {
className: "foo"
}, void 0, bar, babelHelpers.jsx(Baz, {}, "baz"));
}, void 0, bar, /*#__PURE__*/babelHelpers.jsx(Baz, {}, "baz"));

View File

@@ -1,3 +1,4 @@
/*#__PURE__*/
React.createElement(Foo, {
ref: "bar"
});

View File

@@ -1,3 +1,4 @@
/*#__PURE__*/
babelHelpers.jsx(Baz, {
foo: "bar"
});

View File

@@ -1 +1,2 @@
/*#__PURE__*/
babelHelpers.jsx(Baz, {});

View File

@@ -1,3 +1,4 @@
/*#__PURE__*/
babelHelpers.jsx("foo", {
bar: "foo"
});

View File

@@ -1 +1,2 @@
/*#__PURE__*/
babelHelpers.jsx("foo", {});

View File

@@ -1,3 +1,4 @@
/*#__PURE__*/
babelHelpers.jsx(Foo, {
bar: true
});

View File

@@ -1 +1,2 @@
/*#__PURE__*/
React.createElement(Foo, bar);