Define default value for vars shadowing params (#11307)
* Define default value for vars shadowing params * Remove from package.json * Only convert traverse the params if needed This prevents this plugin from running after the destructuring transform, which causes #11256 * Review * Review * Update packages/babel-plugin-transform-parameters/src/params.js [skip ci] Co-Authored-By: Brian Ng <bng412@gmail.com> Co-authored-by: Brian Ng <bng412@gmail.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
function foo() {
|
||||
var a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 2;
|
||||
return function () {
|
||||
return function (a) {
|
||||
function a() {}
|
||||
}();
|
||||
}(a);
|
||||
}
|
||||
|
||||
@@ -10,11 +10,13 @@ var Test = /*#__PURE__*/function () {
|
||||
babelHelpers.createClass(Test, [{
|
||||
key: "invite",
|
||||
value: function invite() {
|
||||
var _this = this;
|
||||
|
||||
var p = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : a;
|
||||
return function () {
|
||||
var a;
|
||||
this;
|
||||
}.apply(this);
|
||||
_this;
|
||||
}();
|
||||
}
|
||||
}]);
|
||||
return Test;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
function foo(a = 2) {
|
||||
for (var a, i = 0; i < 1; i++);
|
||||
expect(a).toBe(undefined);
|
||||
expect(a).toBe(2);
|
||||
}
|
||||
foo();
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
function f() {
|
||||
var a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 2;
|
||||
var b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3;
|
||||
return function () {
|
||||
return function (b) {
|
||||
var b = 4;
|
||||
return a + b;
|
||||
}();
|
||||
}(b);
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
function f() {
|
||||
var a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 2;
|
||||
var b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3;
|
||||
return function () {
|
||||
return function (a) {
|
||||
var _a = {
|
||||
a: 4
|
||||
},
|
||||
a = _a.a;
|
||||
return a + b;
|
||||
}();
|
||||
}(a);
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
function foo(_ref) {
|
||||
var a = _ref.a,
|
||||
b = _ref.b;
|
||||
return function () {
|
||||
return function (a) {
|
||||
var a = 3;
|
||||
var c = 2;
|
||||
var d = a + b + c;
|
||||
}();
|
||||
}(a);
|
||||
}
|
||||
|
||||
@@ -3,9 +3,9 @@ function foo(_ref) {
|
||||
a = _ref2[0],
|
||||
b = _ref2[1];
|
||||
|
||||
return function () {
|
||||
return function (a) {
|
||||
var a = 3;
|
||||
var c = 2;
|
||||
var d = a + b + c;
|
||||
}();
|
||||
}(a);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
function foo() {
|
||||
var a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 2;
|
||||
return function () {
|
||||
return function (a) {
|
||||
var a = 1;
|
||||
}();
|
||||
}(a);
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
function f() {
|
||||
var a = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 2;
|
||||
var b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3;
|
||||
return function () {
|
||||
return function (a) {
|
||||
var _a = {
|
||||
a: 4
|
||||
},
|
||||
a = _a.a;
|
||||
return a + b;
|
||||
}();
|
||||
}(a);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
(function () {
|
||||
let i = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "__proto__";
|
||||
return function () {
|
||||
return function (i) {
|
||||
for (var i in {});
|
||||
}();
|
||||
}(i);
|
||||
});
|
||||
|
||||
7
packages/babel-plugin-transform-parameters/test/fixtures/regression/11256/input.js
vendored
Normal file
7
packages/babel-plugin-transform-parameters/test/fixtures/regression/11256/input.js
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
class A {
|
||||
a = b => {
|
||||
{
|
||||
({ b } = {});
|
||||
}
|
||||
};
|
||||
}
|
||||
8
packages/babel-plugin-transform-parameters/test/fixtures/regression/11256/options.json
vendored
Normal file
8
packages/babel-plugin-transform-parameters/test/fixtures/regression/11256/options.json
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"plugins": [
|
||||
"proposal-class-properties",
|
||||
"transform-parameters",
|
||||
"transform-destructuring",
|
||||
["external-helpers", { "helperVersion": "7.100.0" }]
|
||||
]
|
||||
}
|
||||
11
packages/babel-plugin-transform-parameters/test/fixtures/regression/11256/output.js
vendored
Normal file
11
packages/babel-plugin-transform-parameters/test/fixtures/regression/11256/output.js
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
class A {
|
||||
constructor() {
|
||||
babelHelpers.defineProperty(this, "a", b => {
|
||||
{
|
||||
var _ref = {};
|
||||
b = _ref.b;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
6
packages/babel-plugin-transform-parameters/test/fixtures/regression/11303/exec.js
vendored
Normal file
6
packages/babel-plugin-transform-parameters/test/fixtures/regression/11303/exec.js
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
function test(a, b = 1) {
|
||||
var a = a + b;
|
||||
return a;
|
||||
}
|
||||
|
||||
expect(test(2)).toBe(3);
|
||||
4
packages/babel-plugin-transform-parameters/test/fixtures/regression/11303/input.js
vendored
Normal file
4
packages/babel-plugin-transform-parameters/test/fixtures/regression/11303/input.js
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
function test(a, b = 1) {
|
||||
var a = a + b;
|
||||
return a;
|
||||
}
|
||||
5
packages/babel-plugin-transform-parameters/test/fixtures/regression/11303/options.json
vendored
Normal file
5
packages/babel-plugin-transform-parameters/test/fixtures/regression/11303/options.json
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"plugins": [
|
||||
"transform-parameters"
|
||||
]
|
||||
}
|
||||
7
packages/babel-plugin-transform-parameters/test/fixtures/regression/11303/output.js
vendored
Normal file
7
packages/babel-plugin-transform-parameters/test/fixtures/regression/11303/output.js
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
function test(a) {
|
||||
let b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
||||
return function (a) {
|
||||
var a = a + b;
|
||||
return a;
|
||||
}(a);
|
||||
}
|
||||
Reference in New Issue
Block a user