[babel 8] Remove useSpread and useBuiltIns jsx options (#12593)

* [babel 8] Remove `useSpread` and `useBuiltIns` jsx options

backport of 8cc8696851fa4bf02d7f6ae591404626d1ca32a3

Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
Co-authored-by: Brian Ng <bng412@gmail.com>

* Update fixtures (Windows)

Co-authored-by: Huáng Jùnliàng <jlhwung@gmail.com>
Co-authored-by: Brian Ng <bng412@gmail.com>
Co-authored-by: Babel Bot <babel-bot@users.noreply.github.com>
This commit is contained in:
Nicolò Ribaudo
2021-01-08 18:16:30 +01:00
committed by GitHub
parent 606c91cd33
commit fce3e7124a
67 changed files with 429 additions and 139 deletions

View File

@@ -0,0 +1,3 @@
<Component
{...props}
sound="moo" />

View File

@@ -0,0 +1,4 @@
/*#__PURE__*/
React.createElement(Component, babelHelpers.extends({}, props, {
sound: "moo"
}));

View File

@@ -1,4 +1,4 @@
/*#__PURE__*/
React.createElement(Component, babelHelpers.extends({}, props, {
React.createElement(Component, { ...props,
sound: "moo"
}));
});

View File

@@ -0,0 +1,3 @@
{
"BABEL_8_BREAKING": false
}

View File

@@ -0,0 +1,3 @@
var div = /*#__PURE__*/React.createElement(Component, babelHelpers.extends({}, props, {
foo: "bar"
}));

View File

@@ -0,0 +1,3 @@
{
"BABEL_8_BREAKING": true
}

View File

@@ -1,3 +1,3 @@
var div = /*#__PURE__*/React.createElement(Component, babelHelpers.extends({}, props, {
var div = /*#__PURE__*/React.createElement(Component, { ...props,
foo: "bar"
}));
});

View File

@@ -0,0 +1,3 @@
{
"BABEL_8_BREAKING": false
}

View File

@@ -0,0 +1,10 @@
var x = (
<>
<div>
<div key="1" />
<div key="2" meow="wolf" />
<div key="3" />
<div {...props} key="4" />
</div>
</>
);

View File

@@ -0,0 +1,3 @@
{
"BABEL_8_BREAKING": false
}

View File

@@ -0,0 +1,10 @@
var x = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
key: "1"
}), /*#__PURE__*/React.createElement("div", {
key: "2",
meow: "wolf"
}), /*#__PURE__*/React.createElement("div", {
key: "3"
}), /*#__PURE__*/React.createElement("div", babelHelpers.extends({}, props, {
key: "4"
}))));

View File

@@ -0,0 +1,3 @@
{
"BABEL_8_BREAKING": true
}

View File

@@ -5,6 +5,6 @@ var x = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/Reac
meow: "wolf"
}), /*#__PURE__*/React.createElement("div", {
key: "3"
}), /*#__PURE__*/React.createElement("div", babelHelpers.extends({}, props, {
}), /*#__PURE__*/React.createElement("div", { ...props,
key: "4"
}))));
})));

View File

@@ -0,0 +1,5 @@
/*#__PURE__*/
React.createElement(Component, babelHelpers.extends({}, x, {
y: 2,
z: true
}));

View File

@@ -1,5 +1,5 @@
/*#__PURE__*/
React.createElement(Component, babelHelpers.extends({}, x, {
React.createElement(Component, { ...x,
y: 2,
z: true
}));
});

View File

@@ -0,0 +1,5 @@
/*#__PURE__*/
React.createElement(Component, babelHelpers.extends({
y: 2,
z: true
}, x));

View File

@@ -1,5 +1,6 @@
/*#__PURE__*/
React.createElement(Component, babelHelpers.extends({
React.createElement(Component, {
y: 2,
z: true
}, x));
z: true,
...x
});

View File

@@ -0,0 +1,6 @@
/*#__PURE__*/
React.createElement(Component, babelHelpers.extends({
y: 2
}, x, {
z: true
}));

View File

@@ -1,6 +1,6 @@
/*#__PURE__*/
React.createElement(Component, babelHelpers.extends({
y: 2
}, x, {
React.createElement(Component, {
y: 2,
...x,
z: true
}));
});

View File

@@ -0,0 +1,5 @@
{
"BABEL_8_BREAKING": true,
"plugins": [["transform-react-jsx", { "useBuiltIns": false }]],
"throws": "@babel/plugin-transform-react-jsx: Since \"useBuiltIns\" is removed in Babel 8, you can remove it from the config."
}

View File

@@ -0,0 +1,5 @@
{
"BABEL_8_BREAKING": true,
"plugins": [["transform-react-jsx", { "useBuiltIns": true }]],
"throws": "@babel/plugin-transform-react-jsx: Since \"useBuiltIns\" is removed in Babel 8, you can remove it from the config."
}

View File

@@ -0,0 +1,5 @@
{
"BABEL_8_BREAKING": true,
"plugins": [["transform-react-jsx", { "useSpread": false }]],
"throws": "transform-react-jsx: Since Babel 8, an inline object with spread elements is always used, and the \"useSpread\" option is no longer available. Please remove it from your config."
}

View File

@@ -0,0 +1,5 @@
{
"BABEL_8_BREAKING": true,
"plugins": [["transform-react-jsx", { "useSpread": true }]],
"throws": "transform-react-jsx: Since Babel 8, an inline object with spread elements is always used, and the \"useSpread\" option is no longer available. Please remove it from your config."
}

View File

@@ -0,0 +1,3 @@
{
"BABEL_8_BREAKING": true
}

View File

@@ -0,0 +1 @@
var div = <Component {...props} foo="bar" />

View File

@@ -0,0 +1,6 @@
{
"plugins": ["transform-react-jsx", ["proposal-object-rest-spread", {
"loose": true,
"useBuiltIns": false
}], "external-helpers"]
}

View File

@@ -0,0 +1,3 @@
var div = /*#__PURE__*/React.createElement(Component, babelHelpers.extends({}, props, {
foo: "bar"
}));

View File

@@ -0,0 +1 @@
var div = <Component {...props} foo="bar" />

View File

@@ -0,0 +1,6 @@
{
"plugins": ["transform-react-jsx", ["proposal-object-rest-spread", {
"loose": true,
"useBuiltIns": true
}]]
}

View File

@@ -1,4 +0,0 @@
{
"plugins": [["transform-react-jsx", { "useBuiltIns": "invalidOption" }]],
"throws": "transform-react-jsx currently only accepts a boolean option for useBuiltIns (defaults to false)"
}

View File

@@ -1,3 +0,0 @@
{
"plugins": [["transform-react-jsx", { "useBuiltIns": true }]]
}

View File

@@ -1,4 +0,0 @@
{
"plugins": [["transform-react-jsx", { "useSpread": 0 }]],
"throws": "transform-react-jsx currently only accepts a boolean option for useSpread (defaults to false)"
}

View File

@@ -1,6 +0,0 @@
{
"plugins": [
["transform-react-jsx", { "useSpread": true, "useBuiltIns": true }]
],
"throws": "transform-react-jsx currently only accepts useBuiltIns or useSpread but not both"
}

View File

@@ -1,3 +0,0 @@
var div = /*#__PURE__*/React.createElement(Component, { ...props,
foo: "bar"
});

View File

@@ -1,3 +0,0 @@
{
"plugins": [["transform-react-jsx", { "useSpread": true }]]
}