Compare commits
27 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ee46f45c90 | ||
|
|
c45ce61550 | ||
|
|
b36cf11ac8 | ||
|
|
dca0f72e4d | ||
|
|
68a99ed1e9 | ||
|
|
af4feb4d88 | ||
|
|
de1e965fec | ||
|
|
430c5df0e7 | ||
|
|
9b12f799f7 | ||
|
|
f3a9c6ee5d | ||
|
|
e0aceeafef | ||
|
|
7643d86047 | ||
|
|
98af01a73c | ||
|
|
e280a810c3 | ||
|
|
7a59575d1e | ||
|
|
b01d8448a0 | ||
|
|
9b3c8569f7 | ||
|
|
12104f822f | ||
|
|
b4cd2df745 | ||
|
|
887ffed84c | ||
|
|
9be3d9c8e1 | ||
|
|
9d3dff3b7a | ||
|
|
55114ec631 | ||
|
|
9c3d00d3c3 | ||
|
|
90b8826e73 | ||
|
|
65f39bbf6f | ||
|
|
e9eced846f |
15
CHANGELOG.md
15
CHANGELOG.md
@@ -13,6 +13,21 @@ _Note: Gaps between patch versions are faulty/broken releases._
|
||||
|
||||
See [CHANGELOG - 6to5](CHANGELOG-6to5.md) for the pre-4.0.0 version changelog.
|
||||
|
||||
## 5.4.4
|
||||
|
||||
* **Bug Fix**
|
||||
* Fix bug where replacing variable declarations in the head of a `for` loop would turn them into `ExpressionStatement`s.
|
||||
* Fix renaming of assignment expressions that were non-identifiers ie. patterns.
|
||||
* Force space before `class` `id` to avoid breaking named classes when using `compact` mode.
|
||||
* Add assignment pattern explosion to avoid initial duplicate nodes.
|
||||
* Ignore this and arguments when performing TCO on shadowed functions.
|
||||
* **Polish**
|
||||
* Rename `sourceMapName` option to `sourceMapTarget`. Thanks [@getify](https://github.com/getify)!
|
||||
* Better detection of completion records, ignore those in `Function`s.
|
||||
* Clarified descriptions of the options that are enabled by default.
|
||||
* Resolve `\`babel-plugin-${name}\`` plugin names **before** just checking the `name`. Thanks [@jquense](https://github.com/jquense)!
|
||||
* Update AMD module formatter to add import default remapping.
|
||||
|
||||
## 5.4.3
|
||||
|
||||
* **Bug Fix**
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "babel-core",
|
||||
"description": "Turn ES6 code into readable vanilla ES5 with source maps",
|
||||
"version": "5.4.3",
|
||||
"description": "A compiler for writing next generation JavaScript",
|
||||
"version": "5.4.4",
|
||||
"author": "Sebastian McKenzie <sebmck@gmail.com>",
|
||||
"homepage": "https://babeljs.io/",
|
||||
"license": "MIT",
|
||||
@@ -41,6 +41,7 @@
|
||||
"esutils": "^2.0.0",
|
||||
"fs-readdir-recursive": "^0.1.0",
|
||||
"globals": "^6.4.0",
|
||||
"home-or-tmp": "^1.0.0",
|
||||
"is-integer": "^1.0.4",
|
||||
"js-tokens": "1.0.0",
|
||||
"leven": "^1.0.1",
|
||||
@@ -60,8 +61,7 @@
|
||||
"source-map-support": "^0.2.10",
|
||||
"strip-json-comments": "^1.0.2",
|
||||
"to-fast-properties": "^1.0.0",
|
||||
"trim-right": "^1.0.0",
|
||||
"user-home": "^1.1.1"
|
||||
"trim-right": "^1.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"babel": "5.3.1",
|
||||
|
||||
@@ -14,7 +14,8 @@ module.exports = function (commander, filenames, opts) {
|
||||
var dest = path.join(commander.outDir, relative);
|
||||
|
||||
var data = util.compile(src, {
|
||||
sourceFileName: slash(path.relative(dest + "/..", src))
|
||||
sourceFileName: slash(path.relative(dest + "/..", src)),
|
||||
sourceMapTarget: path.basename(relative)
|
||||
});
|
||||
if (data.ignored) return;
|
||||
|
||||
|
||||
@@ -16,7 +16,8 @@ module.exports = function (commander, filenames, opts) {
|
||||
|
||||
var buildResult = function () {
|
||||
var map = new sourceMap.SourceMapGenerator({
|
||||
file: slash(commander.outFile || "stdout")
|
||||
file: path.basename(commander.outFile) || "stdout",
|
||||
sourceRoot: opts.sourceRoot
|
||||
});
|
||||
|
||||
var code = "";
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"name": "babel",
|
||||
"description": "Turn ES6 code into readable vanilla ES5 with source maps",
|
||||
"version": "5.4.2",
|
||||
"version": "5.4.3",
|
||||
"author": "Sebastian McKenzie <sebmck@gmail.com>",
|
||||
"homepage": "https://babeljs.io/",
|
||||
"license": "MIT",
|
||||
"repository": "babel/babel",
|
||||
"preferGlobal": true,
|
||||
"dependencies": {
|
||||
"babel-core": "^5.4.2",
|
||||
"babel-core": "^5.4.3",
|
||||
"chokidar": "^1.0.0",
|
||||
"commander": "^2.6.0",
|
||||
"convert-source-map": "^1.1.0",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "babel-runtime",
|
||||
"description": "babel selfContained runtime",
|
||||
"version": "5.4.2",
|
||||
"version": "5.4.3",
|
||||
"license": "MIT",
|
||||
"repository": "babel/babel",
|
||||
"author": "Sebastian McKenzie <sebmck@gmail.com>",
|
||||
|
||||
@@ -61,8 +61,8 @@ export function parse(code, opts = {}) {
|
||||
opts.sourceType = "module";
|
||||
opts.ecmaVersion = Infinity;
|
||||
opts.plugins = {
|
||||
flow: true,
|
||||
jsx: true
|
||||
jsx: true,
|
||||
flow: true
|
||||
};
|
||||
opts.features = {};
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import path from "path";
|
||||
import os from "os";
|
||||
import fs from "fs";
|
||||
import userHome from "user-home";
|
||||
import homeOrTmp from "home-or-tmp";
|
||||
|
||||
const FILENAME = process.env.BABEL_CACHE_PATH || path.join(userHome || os.tmpdir(), ".babel.json");
|
||||
const FILENAME = process.env.BABEL_CACHE_PATH || path.join(homeOrTmp, ".babel.json");
|
||||
var data = {};
|
||||
|
||||
export function save() {
|
||||
|
||||
@@ -3,7 +3,7 @@ export function ClassDeclaration(node, print) {
|
||||
this.push("class");
|
||||
|
||||
if (node.id) {
|
||||
this.space();
|
||||
this.push(" ");
|
||||
print(node.id);
|
||||
}
|
||||
|
||||
|
||||
@@ -39,6 +39,12 @@ export function Property(node, print) {
|
||||
print(node.key);
|
||||
this.push("]");
|
||||
} else {
|
||||
// print `({ foo: foo = 5 } = {})` as `({ foo = 5 } = {});`
|
||||
if (t.isAssignmentPattern(node.value) && t.isIdentifier(node.key) && node.key.name === node.value.left.name) {
|
||||
print(node.value);
|
||||
return;
|
||||
}
|
||||
|
||||
print(node.key);
|
||||
|
||||
// shorthand!
|
||||
|
||||
@@ -8,7 +8,7 @@ export default class SourceMap {
|
||||
|
||||
if (opts.sourceMaps) {
|
||||
this.map = new sourceMap.SourceMapGenerator({
|
||||
file: opts.sourceMapName,
|
||||
file: opts.sourceMapTarget,
|
||||
sourceRoot: opts.sourceRoot
|
||||
});
|
||||
|
||||
|
||||
@@ -27,7 +27,6 @@ export default function (code, opts = {}) {
|
||||
}
|
||||
|
||||
var ast = acorn.parse(code, parseOpts);
|
||||
|
||||
estraverse.attachComments(ast, comments, tokens);
|
||||
ast = normalizeAst(ast, comments, tokens);
|
||||
return ast;
|
||||
|
||||
@@ -168,7 +168,7 @@ export default class File {
|
||||
|
||||
defaults(opts, {
|
||||
sourceFileName: opts.filenameRelative,
|
||||
sourceMapName: opts.filenameRelative
|
||||
sourceMapTarget: opts.filenameRelative
|
||||
});
|
||||
|
||||
//
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
"nonStandard": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "enable support for JSX and Flow"
|
||||
"description": "enable/disable support for JSX and Flow (on by default)"
|
||||
},
|
||||
|
||||
"experimental": {
|
||||
@@ -51,7 +51,7 @@
|
||||
},
|
||||
|
||||
"highlightCode": {
|
||||
"description": "ANSI syntax highlight code frames",
|
||||
"description": "enable/disable ANSI syntax highlighting of code frames (on by default)",
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
},
|
||||
@@ -148,7 +148,7 @@
|
||||
"comments": {
|
||||
"type": "boolean",
|
||||
"default": true,
|
||||
"description": "output comments in generated output"
|
||||
"description": "strip/output comments in generated output (on by default)"
|
||||
},
|
||||
|
||||
"compact": {
|
||||
@@ -197,6 +197,11 @@
|
||||
},
|
||||
|
||||
"sourceMapName": {
|
||||
"alias": "sourceMapTarget",
|
||||
"description": "DEPRECATED - Please use sourceMapTarget"
|
||||
},
|
||||
|
||||
"sourceMapTarget": {
|
||||
"type": "string",
|
||||
"description": "set `file` on returned source map"
|
||||
},
|
||||
|
||||
@@ -35,7 +35,7 @@ export default class PluginManager {
|
||||
var match = name.match(/^(.*?):(after|before)$/);
|
||||
if (match) [, name, position] = match;
|
||||
|
||||
var loc = util.resolveRelative(name) || util.resolveRelative(`babel-plugin-${name}`);
|
||||
var loc = util.resolveRelative(`babel-plugin-${name}`) || util.resolveRelative(name);
|
||||
if (loc) {
|
||||
return {
|
||||
position: position,
|
||||
|
||||
@@ -92,9 +92,9 @@ export default class AMDFormatter extends DefaultFormatter {
|
||||
// import foo from "foo";
|
||||
var uid = this.scope.generateUidIdentifier(specifier.local.name);
|
||||
nodes.push(t.variableDeclaration("var", [
|
||||
t.variableDeclarator(uid, t.callExpression(this.file.addHelper("interop-require"), [ref]))
|
||||
t.variableDeclarator(uid, t.callExpression(this.file.addHelper("interop-require-default"), [ref]))
|
||||
]));
|
||||
ref = uid;
|
||||
ref = t.memberExpression(uid, t.identifier("default"));
|
||||
} else {
|
||||
// import { foo } from "foo";
|
||||
var imported = specifier.imported;
|
||||
|
||||
@@ -8,41 +8,39 @@ import map from "lodash/collection/map";
|
||||
import * as t from "../../types";
|
||||
|
||||
var hoistVariablesVisitor = {
|
||||
enter(node, parent, scope, state) {
|
||||
if (t.isFunction(node)) {
|
||||
// nothing inside is accessible
|
||||
return this.skip();
|
||||
Function() {
|
||||
// nothing inside is accessible
|
||||
this.skip();
|
||||
},
|
||||
|
||||
VariableDeclaration(node, parent, scope, state) {
|
||||
if (node.kind !== "var" && !t.isProgram(parent)) { // let, const
|
||||
// can't be accessed
|
||||
return;
|
||||
}
|
||||
|
||||
if (t.isVariableDeclaration(node)) {
|
||||
if (node.kind !== "var" && !t.isProgram(parent)) { // let, const
|
||||
// can't be accessed
|
||||
return;
|
||||
// ignore block hoisted nodes as these can be left in
|
||||
if (state.formatter._canHoist(node)) return;
|
||||
|
||||
var nodes = [];
|
||||
|
||||
for (var i = 0; i < node.declarations.length; i++) {
|
||||
var declar = node.declarations[i];
|
||||
state.hoistDeclarators.push(t.variableDeclarator(declar.id));
|
||||
if (declar.init) {
|
||||
// no initializer so we can just hoist it as-is
|
||||
var assign = t.expressionStatement(t.assignmentExpression("=", declar.id, declar.init));
|
||||
nodes.push(assign);
|
||||
}
|
||||
|
||||
// ignore block hoisted nodes as these can be left in
|
||||
if (state.formatter._canHoist(node)) return;
|
||||
|
||||
var nodes = [];
|
||||
|
||||
for (var i = 0; i < node.declarations.length; i++) {
|
||||
var declar = node.declarations[i];
|
||||
state.hoistDeclarators.push(t.variableDeclarator(declar.id));
|
||||
if (declar.init) {
|
||||
// no initializer so we can just hoist it as-is
|
||||
var assign = t.expressionStatement(t.assignmentExpression("=", declar.id, declar.init));
|
||||
nodes.push(assign);
|
||||
}
|
||||
}
|
||||
|
||||
// for (var i in test)
|
||||
// for (var i = 0;;)
|
||||
if (t.isFor(parent) && parent.left === node) {
|
||||
return node.declarations[0].id;
|
||||
}
|
||||
|
||||
return nodes;
|
||||
}
|
||||
|
||||
// for (var i in test)
|
||||
// for (var i = 0;;)
|
||||
if (t.isFor(parent) && (parent.left === node || parent.init === node)) {
|
||||
return node.declarations[0].id;
|
||||
}
|
||||
|
||||
return nodes;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -84,8 +84,6 @@ export function BlockStatement(block, parent, scope, file) {
|
||||
export { BlockStatement as Program };
|
||||
|
||||
function replace(node, parent, scope, remaps) {
|
||||
if (!t.isReferencedIdentifier(node, parent)) return;
|
||||
|
||||
var remap = remaps[node.name];
|
||||
if (!remap) return;
|
||||
|
||||
@@ -100,11 +98,21 @@ function replace(node, parent, scope, remaps) {
|
||||
}
|
||||
|
||||
var replaceVisitor = {
|
||||
enter: replace
|
||||
ReferencedIdentifier: replace,
|
||||
|
||||
AssignmentExpression(node, parent, scope, remaps) {
|
||||
var ids = this.getBindingIdentifiers();
|
||||
for (var name in ids) {
|
||||
replace(ids[name], node, scope, remaps);
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
function traverseReplace(node, parent, scope, remaps) {
|
||||
replace(node, parent, scope, remaps);
|
||||
if (t.isIdentifier(node)) {
|
||||
replace(node, parent, scope, remaps);
|
||||
}
|
||||
|
||||
scope.traverse(node, replaceVisitor, remaps);
|
||||
}
|
||||
|
||||
|
||||
@@ -44,12 +44,14 @@ var visitor = {
|
||||
},
|
||||
|
||||
ThisExpression(node, parent, scope, state) {
|
||||
state.needsThis = true;
|
||||
state.thisPaths.push(this);
|
||||
if (!state.isShadowed) {
|
||||
state.needsThis = true;
|
||||
state.thisPaths.push(this);
|
||||
}
|
||||
},
|
||||
|
||||
ReferencedIdentifier(node, parent, scope, state) {
|
||||
if (node.name === "arguments") {
|
||||
if (node.name === "arguments" && !state.isShadowed) {
|
||||
state.needsArguments = true;
|
||||
state.argumentsPaths.push(this);
|
||||
}
|
||||
@@ -67,8 +69,9 @@ class TailCallTransformer {
|
||||
this.needsThis = false;
|
||||
this.thisPaths = [];
|
||||
|
||||
this.ownerId = path.node.id;
|
||||
this.vars = [];
|
||||
this.isShadowed = path.isArrowFunctionExpression() || path.is("shadow");
|
||||
this.ownerId = path.node.id;
|
||||
this.vars = [];
|
||||
|
||||
this.scope = scope;
|
||||
this.path = path;
|
||||
|
||||
@@ -5,9 +5,9 @@ export var metadata = {
|
||||
group: "builtin-setup"
|
||||
};
|
||||
|
||||
function buildClone(bindingKey, refKey) {
|
||||
function buildClone(bindingKey, refKey, check?) {
|
||||
return function (node) {
|
||||
if (node[bindingKey] === node[refKey]) {
|
||||
if (node[bindingKey] === node[refKey] || (check && check(node))) {
|
||||
node[refKey] = t.removeComments(clone(node[refKey]));
|
||||
}
|
||||
};
|
||||
@@ -25,6 +25,9 @@ function buildListClone(listKey, bindingKey, refKey) {
|
||||
};
|
||||
}
|
||||
|
||||
export var Property = buildClone("value", "key");
|
||||
export var Property = buildClone("value", "key", function (node) {
|
||||
return t.isAssignmentPattern(node.value) && node.value.left === node.key;
|
||||
});
|
||||
|
||||
export var ExportDeclaration = buildListClone("specifiers", "local", "exported");
|
||||
export var ImportDeclaration = buildListClone("specifiers", "local", "imported");
|
||||
|
||||
@@ -260,10 +260,15 @@ export default class TraversalPath {
|
||||
|
||||
do {
|
||||
var container = path.container;
|
||||
|
||||
if (path.isFunction()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (Array.isArray(container) && path.key !== container.length - 1) {
|
||||
return false;
|
||||
}
|
||||
} while (path = path.parentPath && !path.isProgram());
|
||||
} while ((path = path.parentPath) && !path.isProgram());
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -708,7 +713,7 @@ export default class TraversalPath {
|
||||
}
|
||||
|
||||
// replacing a statement with an expression so wrap it in an expression statement
|
||||
if (this.isPreviousType("Statement") && t.isExpression(replacement)) {
|
||||
if (this.isPreviousType("Statement") && t.isExpression(replacement) && !this.canHaveVariableDeclarationOrExpression()) {
|
||||
replacement = t.expressionStatement(replacement);
|
||||
}
|
||||
|
||||
@@ -728,6 +733,20 @@ export default class TraversalPath {
|
||||
this.setScope();
|
||||
}
|
||||
|
||||
/**
|
||||
* This checks whether or now we're in one of the following positions:
|
||||
*
|
||||
* for (KEY in right);
|
||||
* for (KEY;;);
|
||||
*
|
||||
* This is because these spots allow VariableDeclarations AND normal expressions so we need to tell the
|
||||
* path replacement that it's ok to replace this with an expression.
|
||||
*/
|
||||
|
||||
canHaveVariableDeclarationOrExpression() {
|
||||
return (this.key === "init" || this.key === "left") && this.parentPath.isFor();
|
||||
}
|
||||
|
||||
/**
|
||||
* Description
|
||||
*/
|
||||
@@ -754,20 +773,22 @@ export default class TraversalPath {
|
||||
* Description
|
||||
*/
|
||||
|
||||
getLastStatements(): Array<TraversalPath> {
|
||||
getCompletionRecords(): Array<TraversalPath> {
|
||||
var paths = [];
|
||||
|
||||
var add = function (path) {
|
||||
if (path) paths = paths.concat(path.getLastStatements());
|
||||
if (path) paths = paths.concat(path.getCompletionRecords());
|
||||
};
|
||||
|
||||
if (this.isIfStatement()) {
|
||||
add(this.get("consequent"));
|
||||
add(this.get("alternate"));
|
||||
} else if (this.isDoExpression()) {
|
||||
} else if (this.isDoExpression() || this.isFor() || this.isWhile()) {
|
||||
add(this.get("body"));
|
||||
} else if (this.isProgram() || this.isBlockStatement()) {
|
||||
add(this.get("body").pop());
|
||||
} else if (this.isFunction()) {
|
||||
return this.get("body").getCompletionRecords();
|
||||
} else {
|
||||
paths.push(this);
|
||||
}
|
||||
@@ -788,19 +809,27 @@ export default class TraversalPath {
|
||||
var container = t.functionExpression(null, [], t.blockStatement(nodes));
|
||||
container.shadow = true;
|
||||
|
||||
this.replaceWith(t.callExpression(container, []));
|
||||
this.traverse(hoistVariablesVisitor);
|
||||
|
||||
// add implicit returns to all ending expression statements
|
||||
var last = this.getLastStatements();
|
||||
var last = this.get("callee").getCompletionRecords();
|
||||
for (var i = 0; i < last.length; i++) {
|
||||
var lastNode = last[i];
|
||||
if (lastNode.isExpressionStatement()) {
|
||||
lastNode.replaceWith(t.returnStatement(lastNode.node.expression));
|
||||
var loop = lastNode.findParent((node, path) => path.isLoop());
|
||||
if (loop) {
|
||||
var uid = this.get("callee").scope.generateDeclaredUidIdentifier("ret");
|
||||
this.get("callee.body").pushContainer("body", t.returnStatement(uid));
|
||||
lastNode.get("expression").replaceWith(
|
||||
t.assignmentExpression("=", uid, lastNode.node.expression)
|
||||
);
|
||||
} else {
|
||||
lastNode.replaceWith(t.returnStatement(lastNode.node.expression));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.replaceWith(t.callExpression(container, []));
|
||||
|
||||
this.traverse(hoistVariablesVisitor);
|
||||
|
||||
return this.node;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
const foo = "foo";
|
||||
|
||||
function foobar() {
|
||||
for (let item of [1, 2, 3]) {
|
||||
let foo = "bar";
|
||||
[bar, foo] = [1, 2];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
"use strict";
|
||||
|
||||
var foo = "foo";
|
||||
|
||||
function foobar() {
|
||||
var _arr = [1, 2, 3];
|
||||
|
||||
for (var _i = 0; _i < _arr.length; _i++) {
|
||||
var item = _arr[_i];
|
||||
var _foo = "bar";
|
||||
bar = 1;
|
||||
_foo = 2;
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
define(["exports", "foo"], function (exports, _foo) {
|
||||
"use strict";
|
||||
|
||||
var _foo2 = babelHelpers.interopRequire(_foo);
|
||||
var _foo2 = babelHelpers.interopRequireDefault(_foo);
|
||||
|
||||
var _foo22 = babelHelpers.interopRequire(_foo);
|
||||
var _foo22 = babelHelpers.interopRequireDefault(_foo);
|
||||
|
||||
_foo2;
|
||||
_foo22;
|
||||
_foo2["default"];
|
||||
_foo22["default"];
|
||||
});
|
||||
@@ -1,8 +1,8 @@
|
||||
define(["exports", "foo"], function (exports, _foo) {
|
||||
"use strict";
|
||||
|
||||
var _foo2 = babelHelpers.interopRequire(_foo);
|
||||
var _foo2 = babelHelpers.interopRequireDefault(_foo);
|
||||
|
||||
_foo2;
|
||||
_foo2["default"];
|
||||
_foo.baz;
|
||||
});
|
||||
@@ -5,7 +5,7 @@ define(["exports", "foo", "foo-bar", "./directory/foo-bar"], function (exports,
|
||||
value: true
|
||||
});
|
||||
|
||||
var _foo2 = babelHelpers.interopRequire(_foo);
|
||||
var _foo2 = babelHelpers.interopRequireDefault(_foo);
|
||||
|
||||
exports.test = test;
|
||||
var test2 = 5;
|
||||
@@ -13,7 +13,7 @@ define(["exports", "foo", "foo-bar", "./directory/foo-bar"], function (exports,
|
||||
exports.test2 = test2;
|
||||
exports["default"] = test;
|
||||
|
||||
_foo2;
|
||||
_foo2["default"];
|
||||
_foo;
|
||||
_foo.bar;
|
||||
_foo.foo;
|
||||
|
||||
@@ -6,6 +6,8 @@ export function nextOdd(n) {
|
||||
|
||||
export var p = 5;
|
||||
|
||||
for (var a in b) ;
|
||||
|
||||
export var isOdd = (function (isEven) {
|
||||
return function (n) {
|
||||
return !isEven(n);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
System.register(["./evens"], function (_export) {
|
||||
"use strict";
|
||||
|
||||
var isEven, p, isOdd;
|
||||
var isEven, p, a, isOdd;
|
||||
|
||||
_export("nextOdd", nextOdd);
|
||||
|
||||
@@ -18,6 +18,8 @@ System.register(["./evens"], function (_export) {
|
||||
|
||||
_export("p", p);
|
||||
|
||||
for (a in b);
|
||||
|
||||
isOdd = (function (isEven) {
|
||||
return function (n) {
|
||||
return !isEven(n);
|
||||
|
||||
@@ -13,10 +13,10 @@
|
||||
})(this, function (exports, _foo) {
|
||||
"use strict";
|
||||
|
||||
var _foo2 = babelHelpers.interopRequire(_foo);
|
||||
var _foo2 = babelHelpers.interopRequireDefault(_foo);
|
||||
|
||||
var _foo22 = babelHelpers.interopRequire(_foo);
|
||||
var _foo22 = babelHelpers.interopRequireDefault(_foo);
|
||||
|
||||
_foo2;
|
||||
_foo22;
|
||||
_foo2["default"];
|
||||
_foo22["default"];
|
||||
});
|
||||
@@ -13,7 +13,7 @@
|
||||
})(this, function (exports, _foo) {
|
||||
"use strict";
|
||||
|
||||
var _foo2 = babelHelpers.interopRequire(_foo);
|
||||
var _foo2 = babelHelpers.interopRequireDefault(_foo);
|
||||
|
||||
_foo.baz;
|
||||
});
|
||||
@@ -17,7 +17,7 @@
|
||||
value: true
|
||||
});
|
||||
|
||||
var _foo2 = babelHelpers.interopRequire(_foo);
|
||||
var _foo2 = babelHelpers.interopRequireDefault(_foo);
|
||||
|
||||
exports.test = test;
|
||||
var test2 = 5;
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
(function(){
|
||||
var foo = () => {
|
||||
this;
|
||||
arguments;
|
||||
foo();
|
||||
};
|
||||
foo();
|
||||
});
|
||||
@@ -0,0 +1,13 @@
|
||||
"use strict";
|
||||
|
||||
(function () {
|
||||
var _this = this,
|
||||
_arguments = arguments;
|
||||
|
||||
var foo = function foo() {
|
||||
_this;
|
||||
_arguments;
|
||||
foo();
|
||||
};
|
||||
foo();
|
||||
});
|
||||
@@ -1,7 +1,7 @@
|
||||
define(["exports", "foo", "babel-runtime/helpers/interop-require"], function (exports, _foo, _babelRuntimeHelpersInteropRequire) {
|
||||
define(["exports", "foo", "babel-runtime/helpers/interop-require-default"], function (exports, _foo, _babelRuntimeHelpersInteropRequireDefault) {
|
||||
"use strict";
|
||||
|
||||
var _foo2 = (0, _babelRuntimeHelpersInteropRequire["default"])(_foo);
|
||||
var _foo2 = (0, _babelRuntimeHelpersInteropRequireDefault["default"])(_foo);
|
||||
|
||||
_foo2;
|
||||
});
|
||||
_foo2["default"];
|
||||
});
|
||||
@@ -1,17 +1,17 @@
|
||||
(function (global, factory) {
|
||||
if (typeof define === "function" && define.amd) {
|
||||
define(["exports", "foo", "babel-runtime/helpers/interop-require"], factory);
|
||||
define(["exports", "foo", "babel-runtime/helpers/interop-require-default"], factory);
|
||||
} else if (typeof exports !== "undefined") {
|
||||
factory(exports, require("foo"), require("babel-runtime/helpers/interop-require"));
|
||||
factory(exports, require("foo"), require("babel-runtime/helpers/interop-require-default"));
|
||||
} else {
|
||||
var mod = {
|
||||
exports: {}
|
||||
};
|
||||
factory(mod.exports, global.foo, global._interopRequire);
|
||||
factory(mod.exports, global.foo, global._interopRequireDefault);
|
||||
global.actual = mod.exports;
|
||||
}
|
||||
})(this, function (exports, _foo, _babelRuntimeHelpersInteropRequire) {
|
||||
})(this, function (exports, _foo, _babelRuntimeHelpersInteropRequireDefault) {
|
||||
"use strict";
|
||||
|
||||
var _foo2 = (0, _babelRuntimeHelpersInteropRequire["default"])(_foo);
|
||||
});
|
||||
var _foo2 = (0, _babelRuntimeHelpersInteropRequireDefault["default"])(_foo);
|
||||
});
|
||||
@@ -9,3 +9,12 @@ var bar = {
|
||||
get(arg, "baz");
|
||||
}
|
||||
};
|
||||
|
||||
var f = function ({ foo = "bar" }) {
|
||||
var obj = {
|
||||
// same name as parameter
|
||||
foo: function () {
|
||||
foo;
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
@@ -11,3 +11,16 @@ var bar = {
|
||||
_get(arg, "baz");
|
||||
}
|
||||
};
|
||||
|
||||
var f = function f(_ref) {
|
||||
var _ref$foo = _ref.foo;
|
||||
|
||||
var _foo = _ref$foo === undefined ? "bar" : _ref$foo;
|
||||
|
||||
var obj = {
|
||||
// same name as parameter
|
||||
foo: function foo() {
|
||||
_foo;
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user