make PathHoister much more flexible, now ignores global references and will not deopt on reassignments and will instead hoist as high as it can, this also fixes #1529 since the order of operations has changed
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
var Foo = React.createClass({
|
||||
render: function render() {
|
||||
return <div foo={notDeclared}></div>;
|
||||
}
|
||||
});
|
||||
@@ -0,0 +1,9 @@
|
||||
"use strict";
|
||||
|
||||
var _ref = <div foo={notDeclared}></div>;
|
||||
|
||||
var Foo = React.createClass({
|
||||
render: function render() {
|
||||
return _ref;
|
||||
}
|
||||
});
|
||||
@@ -0,0 +1,11 @@
|
||||
function render(text) {
|
||||
return function () {
|
||||
return <div>{text}</div>;
|
||||
};
|
||||
}
|
||||
|
||||
function render() {
|
||||
return function (text) {
|
||||
return <div>{text}</div>;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
"use strict";
|
||||
|
||||
function render(text) {
|
||||
var _ref = <div>{text}</div>;
|
||||
|
||||
return function () {
|
||||
return _ref;
|
||||
};
|
||||
}
|
||||
|
||||
function render() {
|
||||
return function (text) {
|
||||
return <div>{text}</div>;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
function render(text) {
|
||||
text += "yes";
|
||||
|
||||
return function () {
|
||||
return <div>{text}</div>;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
"use strict";
|
||||
|
||||
function render(text) {
|
||||
text += "yes";
|
||||
|
||||
var _ref = <div>{text}</div>;
|
||||
|
||||
return function () {
|
||||
return _ref;
|
||||
};
|
||||
}
|
||||
@@ -1,4 +1,2 @@
|
||||
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
||||
|
||||
React.createElement(Component, _extends({}, props, {
|
||||
React.createElement(Component, babelHelpers._extends({}, props, {
|
||||
sound: "moo" }));
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
class App extends React.Component {
|
||||
render() {
|
||||
const navbarHeader = <div className="navbar-header">
|
||||
<a className="navbar-brand" href="/">
|
||||
<img src="/img/logo/logo-96x36.png" />
|
||||
</a>
|
||||
</div>;
|
||||
|
||||
return <div>
|
||||
<nav className="navbar navbar-default">
|
||||
<div className="container">
|
||||
{navbarHeader}
|
||||
</div>
|
||||
</nav>
|
||||
</div>;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
var _ref = React.createElement(
|
||||
"div",
|
||||
{ className: "navbar-header" },
|
||||
React.createElement(
|
||||
"a",
|
||||
{ className: "navbar-brand", href: "/" },
|
||||
React.createElement("img", { src: "/img/logo/logo-96x36.png" })
|
||||
)
|
||||
);
|
||||
|
||||
var App = (function (_React$Component) {
|
||||
function App() {
|
||||
babelHelpers.classCallCheck(this, App);
|
||||
|
||||
if (_React$Component != null) {
|
||||
_React$Component.apply(this, arguments);
|
||||
}
|
||||
}
|
||||
|
||||
babelHelpers.inherits(App, _React$Component);
|
||||
babelHelpers.createClass(App, [{
|
||||
key: "render",
|
||||
value: function render() {
|
||||
var navbarHeader = _ref;
|
||||
|
||||
return React.createElement(
|
||||
"div",
|
||||
null,
|
||||
React.createElement(
|
||||
"nav",
|
||||
{ className: "navbar navbar-default" },
|
||||
React.createElement(
|
||||
"div",
|
||||
{ className: "container" },
|
||||
navbarHeader
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
}]);
|
||||
return App;
|
||||
})(React.Component);
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"optional": ["optimisation.react.constantElements"]
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
{
|
||||
"externalHelpers": true,
|
||||
"blacklist": ["strict"]
|
||||
}
|
||||
|
||||
@@ -1,3 +1 @@
|
||||
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
||||
|
||||
React.createElement(Component, _extends({}, x, { y: 2, z: true }));
|
||||
React.createElement(Component, babelHelpers._extends({}, x, { y: 2, z: true }));
|
||||
|
||||
@@ -1,3 +1 @@
|
||||
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
||||
|
||||
React.createElement(Component, _extends({ y: 2, z: true }, x));
|
||||
React.createElement(Component, babelHelpers._extends({ y: 2, z: true }, x));
|
||||
|
||||
@@ -1,3 +1 @@
|
||||
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
||||
|
||||
React.createElement(Component, _extends({ y: 2 }, x, { z: true }));
|
||||
React.createElement(Component, babelHelpers._extends({ y: 2 }, x, { z: true }));
|
||||
|
||||
Reference in New Issue
Block a user