* Implement MemberExpressionToFunctions helper
Fixes #7733.
This will also be used to simplify the Private Fields transform, which had [almost the same code](ccd941057a/packages/babel-plugin-proposal-class-properties/src/index.js (L114-L217)) hand written.
* Cleanup
* Little more comment cleanup
* Use unary plus
This can't be redefined, unlike the `Number` identifier.
* Review comments
* Remove unused deps
@babel/plugin-transform-exponentiation-operator
Compile exponentiation operator to ES5
Example
// x ** y
let squared = 2 ** 2;
// same as: 2 * 2
let cubed = 2 ** 3;
// same as: 2 * 2 * 2
// x **= y
let a = 2;
a **= 2;
// same as: a = a * a;
let b = 3;
b **= 3;
// same as: b = b * b * b;
Installation
npm install --save-dev @babel/plugin-transform-exponentiation-operator
Usage
Via .babelrc (Recommended)
.babelrc
{
"plugins": ["@babel/plugin-transform-exponentiation-operator"]
}
Via CLI
babel --plugins @babel/plugin-transform-exponentiation-operator script.js
Via Node API
require("@babel/core").transform("code", {
plugins: ["@babel/plugin-transform-exponentiation-operator"]
});