Implement assumptions defined in the babel/rfcs#5 RFC

- `mutableTemplateObject` and `ignoreToPrimitiveHint` (#12408)
- `setClassMethods` (#12407)
- `setComputedProperties` (#12490)
- `ignoreFunctionLength` (#12491)
- `noDocumentAll` (#12481)
- `iterableIsArray` and `arrayLikeIsIterable` (#12489)
- `pureGetters` (#12504)
- `skipForOfIteratorClosing` (#12496)
- `objectRestNoSymbols`, `setSpreadProperties` and `pureGetters` (#12505)
- `noNewArrows` (#12613, #12793)
- `setPublicClassFields` and `privateFieldsAsProperties` (#12497)
- `constantReexports` and `enumerableModuleMeta` (#12618)
- `constantSuper`, `superIsCallableConstructor` and `noClassCalls` (#12726)

Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
Co-authored-by: Huáng Jùnliàng <JLHwung@users.noreply.github.com>
This commit is contained in:
Nicolò Ribaudo
2020-12-11 20:28:38 +01:00
parent 7965c15557
commit 6ef7b51a11
586 changed files with 5747 additions and 201 deletions

View File

@@ -1,7 +0,0 @@
{
"plugins": [
"external-helpers",
["transform-arrow-functions", { "spec": true }],
"transform-function-name"
]
}

View File

@@ -0,0 +1,10 @@
function foo() {
arr.map(x => x * x);
var f = (x, y) => x * y;
(function () {
return () => this;
})();
return {
g: () => this
}
}

View File

@@ -0,0 +1,29 @@
function foo() {
var _this = this;
arr.map(function (x) {
babelHelpers.newArrowCheck(this, _this);
return x * x;
}.bind(this));
var f = function f(x, y) {
babelHelpers.newArrowCheck(this, _this);
return x * y;
}.bind(this);
(function () {
var _this2 = this;
return function () {
babelHelpers.newArrowCheck(this, _this2);
return this;
}.bind(this);
})();
return {
g: function g() {
babelHelpers.newArrowCheck(this, _this);
return this;
}.bind(this)
};
}

View File

@@ -0,0 +1,6 @@
{
"plugins": ["external-helpers", "transform-arrow-functions"],
"assumptions": {
"noNewArrows": false
}
}

View File

@@ -0,0 +1,6 @@
var _this = this;
let a = function a() {
babelHelpers.newArrowCheck(this, _this);
return 1;
}.bind(this);

View File

@@ -0,0 +1,9 @@
{
"plugins": [
"external-helpers",
["transform-arrow-functions", { "spec": false }]
],
"assumptions": {
"noNewArrows": false
}
}

View File

@@ -0,0 +1,6 @@
var _this = this;
let a = function a() {
babelHelpers.newArrowCheck(this, _this);
return 1;
}.bind(this);

View File

@@ -0,0 +1,9 @@
{
"plugins": [
"external-helpers",
["transform-arrow-functions", { "spec": true }]
],
"assumptions": {
"noNewArrows": true
}
}

View File

@@ -0,0 +1,3 @@
let a = function () {
return 1;
};