initial commit taken from gitlab.lrz.de

This commit is contained in:
privatereese
2018-08-24 18:09:42 +02:00
parent ae54ed4c48
commit fc05486403
28494 changed files with 2159823 additions and 0 deletions

View File

@@ -0,0 +1,4 @@
node_modules
*.log
src
test

View File

@@ -0,0 +1,98 @@
# babel-plugin-transform-es2015-arrow-functions
> Compile ES2015 arrow functions to ES5
## Example
**In**
```javascript
var a = () => {};
var a = (b) => b;
const double = [1,2,3].map((num) => num * 2);
console.log(double); // [2,4,6]
var bob = {
_name: "Bob",
_friends: ["Sally", "Tom"],
printFriends() {
this._friends.forEach(f =>
console.log(this._name + " knows " + f));
}
};
console.log(bob.printFriends());
```
**Out**
```javascript
var a = function a() {};
var a = function a(b) {
return b;
};
var double = [1, 2, 3].map(function (num) {
return num * 2;
});
console.log(double); // [2,4,6]
var bob = {
_name: "Bob",
_friends: ["Sally", "Tom"],
printFriends: function printFriends() {
var _this = this;
this._friends.forEach(function (f) {
return console.log(_this._name + " knows " + f);
});
}
};
console.log(bob.printFriends());
```
[Try in REPL](http://babeljs.io/repl/#?evaluate=true&lineWrap=true&presets=es2015%2Ces2015-loose&experimental=false&loose=false&spec=false&code=var%20a%20%3D%20()%20%3D%3E%20%7B%7D%3B%0Avar%20a%20%3D%20(b)%20%3D%3E%20b%3B%0A%0Aconst%20double%20%3D%20%5B1%2C2%2C3%5D.map((num)%20%3D%3E%20num%20*%202)%3B%0Aconsole.log(double)%3B%20%2F%2F%20%5B2%2C4%2C6%5D%0A%0Avar%20bob%20%3D%20%7B%0A%20%20_name%3A%20%22Bob%22%2C%0A%20%20_friends%3A%20%5B%22Sally%22%2C%20%22Tom%22%5D%2C%0A%20%20printFriends()%20%7B%0A%20%20%20%20this._friends.forEach(f%20%3D%3E%0A%20%20%20%20%20%20console.log(this._name%20%2B%20%22%20knows%20%22%20%2B%20f))%3B%0A%20%20%7D%0A%7D%3B%0Aconsole.log(bob.printFriends())%3B&playground=true)
## Installation
```sh
npm install --save-dev babel-plugin-transform-es2015-arrow-functions
```
## Usage
### Via `.babelrc` (Recommended)
**.babelrc**
```js
// without options
{
"plugins": ["transform-es2015-arrow-functions"]
}
// with options
{
"plugins": [
["transform-es2015-arrow-functions", { "spec": true }]
]
}
```
### Via CLI
```sh
babel --plugins transform-es2015-arrow-functions script.js
```
### Via Node API
```javascript
require("babel-core").transform("code", {
plugins: ["transform-es2015-arrow-functions"]
});
```
## Options
* `spec` - This option wraps the generated function in `.bind(this)` and keeps uses of `this` inside the function as-is, instead of using a renamed `this`. It also adds a runtime check to ensure the functions are not instantiated.

View File

@@ -0,0 +1,34 @@
"use strict";
exports.__esModule = true;
exports.default = function (_ref) {
var t = _ref.types;
return {
visitor: {
ArrowFunctionExpression: function ArrowFunctionExpression(path, state) {
if (state.opts.spec) {
var node = path.node;
if (node.shadow) return;
node.shadow = { this: false };
node.type = "FunctionExpression";
var boundThis = t.thisExpression();
boundThis._forceShadow = path;
path.ensureBlock();
path.get("body").unshiftContainer("body", t.expressionStatement(t.callExpression(state.addHelper("newArrowCheck"), [t.thisExpression(), boundThis])));
path.replaceWith(t.callExpression(t.memberExpression(node, t.identifier("bind")), [t.thisExpression()]));
} else {
path.arrowFunctionToShadowed();
}
}
}
};
};
module.exports = exports["default"];

View File

@@ -0,0 +1,93 @@
{
"_args": [
[
"babel-plugin-transform-es2015-arrow-functions@^6.8.0",
"/home/bernhard/freifunk-app/node_modules/babel-preset-fbjs"
]
],
"_from": "babel-plugin-transform-es2015-arrow-functions@>=6.8.0 <7.0.0",
"_id": "babel-plugin-transform-es2015-arrow-functions@6.22.0",
"_inCache": true,
"_installable": true,
"_location": "/babel-plugin-transform-es2015-arrow-functions",
"_nodeVersion": "6.9.0",
"_npmOperationalInternal": {
"host": "packages-12-west.internal.npmjs.com",
"tmp": "tmp/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz_1484872427408_0.779699427774176"
},
"_npmUser": {
"email": "hi@henryzoo.com",
"name": "hzoo"
},
"_npmVersion": "3.10.10",
"_phantomChildren": {},
"_requested": {
"name": "babel-plugin-transform-es2015-arrow-functions",
"raw": "babel-plugin-transform-es2015-arrow-functions@^6.8.0",
"rawSpec": "^6.8.0",
"scope": null,
"spec": ">=6.8.0 <7.0.0",
"type": "range"
},
"_requiredBy": [
"/babel-preset-fbjs",
"/babel-preset-react-native"
],
"_resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
"_shasum": "452692cb711d5f79dc7f85e440ce41b9f244d221",
"_shrinkwrap": null,
"_spec": "babel-plugin-transform-es2015-arrow-functions@^6.8.0",
"_where": "/home/bernhard/freifunk-app/node_modules/babel-preset-fbjs",
"dependencies": {
"babel-runtime": "^6.22.0"
},
"description": "Compile ES2015 arrow functions to ES5",
"devDependencies": {
"babel-helper-plugin-test-runner": "^6.22.0"
},
"directories": {},
"dist": {
"shasum": "452692cb711d5f79dc7f85e440ce41b9f244d221",
"tarball": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz"
},
"keywords": [
"babel-plugin"
],
"license": "MIT",
"main": "lib/index.js",
"maintainers": [
{
"name": "amasad",
"email": "amjad.masad@gmail.com"
},
{
"name": "hzoo",
"email": "hi@henryzoo.com"
},
{
"name": "jmm",
"email": "npm-public@jessemccarthy.net"
},
{
"name": "loganfsmyth",
"email": "loganfsmyth@gmail.com"
},
{
"name": "sebmck",
"email": "sebmck@gmail.com"
},
{
"name": "thejameskyle",
"email": "me@thejameskyle.com"
}
],
"name": "babel-plugin-transform-es2015-arrow-functions",
"optionalDependencies": {},
"readme": "ERROR: No README data found!",
"repository": {
"type": "git",
"url": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-es2015-arrow-functions"
},
"scripts": {},
"version": "6.22.0"
}