babel-source 5.1.2 → 5.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YWRiNTllN2Q0YmVhZTMwNWQxNDNkOGU2N2NhYmI5YTE0M2M1MGQ1ZQ==
4
+ MjQ4MGEwMTdkOTk1YzBlNWJmZDYzMzFiNGJjZjEwYTAwZGJiNGNiYw==
5
5
  data.tar.gz: !binary |-
6
- ODY2N2UyNjQ4MGE4MDRjMzJlNWQyZTVmNDY1N2FlZjIxZDhjNDA3Nw==
6
+ ODI2YzM2MGUxMTMxZTZkYzg2ODdkNmI0NzNhZTllODAxY2UwNGRkNQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- N2VmNGIxMGQ2OTdiYzgyYThlYmE0YTMyMjI2Mjk1MjY1ZTcyNGEyYzIwNTMw
10
- OGU0YmVmNzRlYzIwYmFiYmViNWIxMmM1NzgxMzMyNzA1NzY4NDAxNDNjMjJk
11
- N2YzZjVmZjIxODNiNDZiNmNlN2RhNTY1ODYzOGM4NWE2OWMwY2U=
9
+ MDdmYmE1NzE5Njc1Njg4ZTgzNDQ0NzBmMzEyMTljYzg4NGY4MTg1NDFkNTNm
10
+ MWE3MjI4MGYzNDUzMTk3MWNiYzA2YzdkMGJkMTM0ZWJlMzJkMjY0NDk1MTE3
11
+ ZjA0YzdiOTAzM2E1OTA3NmU1MGQ4ZmVmOTQwOWVmZDdkODIxNjE=
12
12
  data.tar.gz: !binary |-
13
- Y2YyYWNjOTI5Y2U0ZTkxZTYwYjBmOGYxNDU5MjVjN2FhY2Q1MGEzMmVkNGI2
14
- ZDZkMmZhODNjYzczNjQ5MmNhN2U0ZmYxOTJmZTA5YTkzYjkxM2M0ZGZiMWFj
15
- YmYxYTIzZWQ0YmYwMGVkYWUwMmRjMjQyOWYwMWIzZDBlZjZmMTg=
13
+ OWM2OWI3NDQwMDFiNjVhNjdlODhiNDhhNzRhN2Y0YjZiZDc3Njg1MDlhZWVj
14
+ ZDljNjg5Mjc5M2E3ODBmZTcxYmI3MDU0NWU3MGY2YjAxNTM3NTYyZGZlMTc2
15
+ MmMwOWFjZjVhOWMxNDdmZWI0Mjg3NzQxZDM1Y2I2N2YzNzFkNmY=
@@ -1985,25 +1985,27 @@ pp.parseObj = function (isPattern, refShorthandDefaultPos) {
1985
1985
  first = true,
1986
1986
  propHash = {};
1987
1987
  node.properties = [];
1988
+ var decorators = [];
1988
1989
  this.next();
1989
1990
  while (!this.eat(tt.braceR)) {
1990
1991
  if (!first) {
1991
1992
  this.expect(tt.comma);
1992
1993
  if (this.afterTrailingComma(tt.braceR)) break;
1993
1994
  } else first = false;
1994
-
1995
1995
  while (this.type === tt.at) {
1996
- this.decorators.push(this.parseDecorator());
1996
+ decorators.push(this.parseDecorator());
1997
1997
  }
1998
-
1999
1998
  var prop = this.startNode(),
2000
1999
  isGenerator = false,
2001
2000
  isAsync = false,
2002
2001
  start = undefined;
2002
+ if (decorators.length) {
2003
+ prop.decorators = decorators;
2004
+ decorators = [];
2005
+ }
2003
2006
  if (this.options.features["es7.objectRestSpread"] && this.type === tt.ellipsis) {
2004
2007
  prop = this.parseSpread();
2005
2008
  prop.type = "SpreadProperty";
2006
- this.takeDecorators(prop);
2007
2009
  node.properties.push(prop);
2008
2010
  continue;
2009
2011
  }
@@ -2027,10 +2029,9 @@ pp.parseObj = function (isPattern, refShorthandDefaultPos) {
2027
2029
  }
2028
2030
  this.parseObjPropValue(prop, start, isGenerator, isAsync, isPattern, refShorthandDefaultPos);
2029
2031
  this.checkPropClash(prop, propHash);
2030
- this.takeDecorators(prop);
2031
2032
  node.properties.push(this.finishNode(prop, "Property"));
2032
2033
  }
2033
- if (this.decorators.length) {
2034
+ if (decorators.length) {
2034
2035
  this.raise(this.start, "You have trailing decorators with no property");
2035
2036
  }
2036
2037
  return this.finishNode(node, isPattern ? "ObjectPattern" : "ObjectExpression");
@@ -3679,14 +3680,18 @@ pp.parseClass = function (node, isStatement) {
3679
3680
  var classBody = this.startNode();
3680
3681
  classBody.body = [];
3681
3682
  this.expect(tt.braceL);
3683
+ var decorators = [];
3682
3684
  while (!this.eat(tt.braceR)) {
3683
3685
  if (this.eat(tt.semi)) continue;
3684
3686
  if (this.type === tt.at) {
3685
- this.decorators.push(this.parseDecorator());
3687
+ decorators.push(this.parseDecorator());
3686
3688
  continue;
3687
3689
  }
3688
3690
  var method = this.startNode();
3689
- this.takeDecorators(method);
3691
+ if (decorators.length) {
3692
+ method.decorators = decorators;
3693
+ decorators = [];
3694
+ }
3690
3695
  var isGenerator = this.eat(tt.star),
3691
3696
  isAsync = false;
3692
3697
  this.parsePropertyName(method);
@@ -3724,7 +3729,7 @@ pp.parseClass = function (node, isStatement) {
3724
3729
  }
3725
3730
  this.parseClassMethod(classBody, method, isGenerator, isAsync);
3726
3731
  }
3727
- if (this.decorators.length) {
3732
+ if (decorators.length) {
3728
3733
  this.raise(this.start, "You have trailing decorators with no method");
3729
3734
  }
3730
3735
  node.body = this.finishNode(classBody, "ClassBody");
@@ -14668,6 +14673,7 @@ var map = _interopRequire(require("lodash/collection/map"));
14668
14673
  var t = _interopRequireWildcard(require("../../../types"));
14669
14674
 
14670
14675
  exports.Function = function (node, parent, scope, file) {
14676
+ if (node.generator || node.async) return;
14671
14677
  var tailCall = new TailCallTransformer(this, scope, file);
14672
14678
  tailCall.run();
14673
14679
  };
@@ -16497,6 +16503,7 @@ module.exports={
16497
16503
  "cosh": "math/cosh",
16498
16504
  "expm1": "math/expm1",
16499
16505
  "fround": "math/fround",
16506
+ "hypot": "math/hypot",
16500
16507
  "pot": "math/pot",
16501
16508
  "imul": "math/imul",
16502
16509
  "log10": "math/log10",
@@ -16526,6 +16533,30 @@ module.exports={
16526
16533
  "toPrimitive": "symbol/to-primitive",
16527
16534
  "toStringTag": "symbol/to-string-tag",
16528
16535
  "unscopables": "symbol/unscopables"
16536
+ },
16537
+ "String": {
16538
+ "at": "string/at",
16539
+ "codePointAt": "string/code-point-at",
16540
+ "endsWith": "string/ends-with",
16541
+ "escapeHTML": "string/escape-html",
16542
+ "fromCodePoint": "string/from-code-point",
16543
+ "includes": "string/includes",
16544
+ "raw": "string/raw",
16545
+ "repeat": "string/repeat",
16546
+ "startsWith": "string/starts-with",
16547
+ "unescapeHTML": "string/unescape-html"
16548
+ },
16549
+ "Number": {
16550
+ "epsilon": "number/epsilon",
16551
+ "isFinite": "number/is-finite",
16552
+ "isInteger": "number/is-integer",
16553
+ "isNaN": "number/is-nan",
16554
+ "isSafeInteger": "number/is-safe-integer",
16555
+ "MAX_SAFE_INTEGER": "number/max-safe-integer",
16556
+ "MIN_SAFE_INTEGER": "number/min-safe-integer",
16557
+ "parseFloat": "number/parse-float",
16558
+ "parseInt": "number/parse-int",
16559
+ "random": "number/random"
16529
16560
  }
16530
16561
  }
16531
16562
  }
@@ -16539,6 +16570,8 @@ var _interopRequire = function (obj) { return obj && obj.__esModule ? obj["defau
16539
16570
 
16540
16571
  var includes = _interopRequire(require("lodash/collection/includes"));
16541
16572
 
16573
+ var traverse = _interopRequire(require("../../../../traversal"));
16574
+
16542
16575
  var util = _interopRequireWildcard(require("../../../../util"));
16543
16576
 
16544
16577
  var has = _interopRequire(require("lodash/object/has"));
@@ -16551,53 +16584,81 @@ var isSymbolIterator = t.buildMatchMemberExpression("Symbol.iterator");
16551
16584
 
16552
16585
  var RUNTIME_MODULE_NAME = "babel-runtime";
16553
16586
 
16554
- var astVisitor = {
16555
- enter: function enter(node, parent, scope, file) {
16556
- var prop;
16587
+ var astVisitor = traverse.explode({
16588
+ Identifier: function Identifier(node, parent, scope, file) {
16589
+ if (!this.isReferenced()) return;
16590
+ if (t.isMemberExpression(parent)) return;
16591
+ if (!has(definitions.builtins, node.name)) return;
16592
+ if (scope.getBindingIdentifier(node.name)) return;
16593
+
16594
+ // Symbol() -> _core.Symbol(); new Promise -> new _core.Promise
16595
+ var modulePath = definitions.builtins[node.name];
16596
+ return file.addImport("" + RUNTIME_MODULE_NAME + "/core-js/" + modulePath, node.name, true);
16597
+ },
16598
+
16599
+ CallExpression: function CallExpression(node, parent, scope, file) {
16600
+ // arr[Symbol.iterator]() -> _core.$for.getIterator(arr)
16601
+
16602
+ var callee = node.callee;
16603
+ if (node.arguments.length) return;
16604
+
16605
+ if (!t.isMemberExpression(callee)) return;
16606
+ if (!callee.computed) return;
16607
+
16608
+ var prop = callee.property;
16609
+ if (!isSymbolIterator(prop)) return;
16610
+
16611
+ return t.callExpression(file.addImport("" + RUNTIME_MODULE_NAME + "/core-js/get-iterator", "getIterator", true), [callee.object]);
16612
+ },
16557
16613
 
16558
- if (this.isMemberExpression() && this.isReferenced()) {
16614
+ BinaryExpression: function BinaryExpression(node, parent, scope, file) {
16615
+ // Symbol.iterator in arr -> core.$for.isIterable(arr)
16616
+
16617
+ if (node.operator !== "in") return;
16618
+
16619
+ var left = node.left;
16620
+ if (!isSymbolIterator(left)) return;
16621
+
16622
+ return t.callExpression(file.addImport("" + RUNTIME_MODULE_NAME + "/core-js/is-iterable", "isIterable", true), [node.right]);
16623
+ },
16624
+
16625
+ MemberExpression: {
16626
+ enter: function enter(node, parent, scope, file) {
16559
16627
  // Array.from -> _core.Array.from
16628
+
16629
+ if (!this.isReferenced()) return;
16630
+
16560
16631
  var obj = node.object;
16561
- prop = node.property;
16632
+ var prop = node.property;
16562
16633
 
16563
16634
  if (!t.isReferenced(obj, node)) return;
16564
16635
 
16565
16636
  if (node.computed) return;
16566
- if (!has(definitions.methods, obj.name)) return;
16567
- if (!has(definitions.methods[obj.name], prop.name)) return;
16568
- if (scope.getBindingIdentifier(obj.name)) return;
16569
16637
 
16570
- var modulePath = definitions.methods[obj.name][prop.name];
16571
- return file.addImport("" + RUNTIME_MODULE_NAME + "/core-js/" + modulePath, "" + obj.name + "$" + prop.name, true);
16572
- } else if (this.isReferencedIdentifier() && !t.isMemberExpression(parent) && has(definitions.builtins, node.name) && !scope.getBindingIdentifier(node.name)) {
16573
- // Symbol() -> _core.Symbol(); new Promise -> new _core.Promise
16574
- var modulePath = definitions.builtins[node.name];
16575
- return file.addImport("" + RUNTIME_MODULE_NAME + "/core-js/" + modulePath, node.name, true);
16576
- } else if (this.isCallExpression()) {
16577
- // arr[Symbol.iterator]() -> _core.$for.getIterator(arr)
16638
+ if (!has(definitions.methods, obj.name)) return;
16578
16639
 
16579
- var callee = node.callee;
16580
- if (node.arguments.length) return false;
16640
+ var methods = definitions.methods[obj.name];
16641
+ if (!has(methods, prop.name)) return;
16581
16642
 
16582
- if (!t.isMemberExpression(callee)) return false;
16583
- if (!callee.computed) return false;
16643
+ if (scope.getBindingIdentifier(obj.name)) return;
16584
16644
 
16585
- prop = callee.property;
16586
- if (!isSymbolIterator(prop)) return false;
16645
+ var modulePath = methods[prop.name];
16646
+ return file.addImport("" + RUNTIME_MODULE_NAME + "/core-js/" + modulePath, "" + obj.name + "$" + prop.name, true);
16647
+ },
16587
16648
 
16588
- return t.callExpression(file.addImport("" + RUNTIME_MODULE_NAME + "/core-js/get-iterator", "getIterator", true), [callee.object]);
16589
- } else if (this.isBinaryExpression()) {
16590
- // Symbol.iterator in arr -> core.$for.isIterable(arr)
16649
+ exit: function exit(node, parent, scope, file) {
16650
+ if (!this.isReferenced()) return;
16591
16651
 
16592
- if (node.operator !== "in") return;
16652
+ var prop = node.property;
16653
+ var obj = node.object;
16593
16654
 
16594
- var left = node.left;
16595
- if (!isSymbolIterator(left)) return;
16655
+ if (!has(definitions.builtins, obj.name)) return;
16596
16656
 
16597
- return t.callExpression(file.addImport("" + RUNTIME_MODULE_NAME + "/core-js/is-iterable", "isIterable", true), [node.right]);
16657
+ var modulePath = definitions.builtins[obj.name];
16658
+ return t.memberExpression(file.addImport("" + RUNTIME_MODULE_NAME + "/core-js/" + modulePath, "" + obj.name, true), prop);
16598
16659
  }
16599
16660
  }
16600
- };
16661
+ });
16601
16662
 
16602
16663
  exports.metadata = {
16603
16664
  optional: true
@@ -16622,7 +16683,7 @@ exports.Identifier = function (node, parent, scope, file) {
16622
16683
  return file.get("regeneratorIdentifier");
16623
16684
  }
16624
16685
  };
16625
- },{"../../../../types":155,"../../../../util":159,"./definitions":130,"lodash/collection/includes":239,"lodash/object/has":327}],132:[function(require,module,exports){
16686
+ },{"../../../../traversal":146,"../../../../types":155,"../../../../util":159,"./definitions":130,"lodash/collection/includes":239,"lodash/object/has":327}],132:[function(require,module,exports){
16626
16687
  "use strict";
16627
16688
 
16628
16689
  var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { "default": obj }; };
@@ -17350,6 +17411,9 @@ traverse.removeProperties = function (tree) {
17350
17411
  traverse.explode = function (obj) {
17351
17412
  for (var type in obj) {
17352
17413
  var fns = obj[type];
17414
+ if (typeof fns === "function") {
17415
+ obj[type] = fns = { enter: fns };
17416
+ }
17353
17417
 
17354
17418
  var aliases = t.FLIPPED_ALIAS_KEYS[type];
17355
17419
  if (aliases) {
@@ -40378,16 +40442,24 @@ var visitor = types.PathVisitor.fromMethodsObject({
40378
40442
  }
40379
40443
 
40380
40444
  var outerBody = [];
40381
- var bodyBlock = path.value.body;
40382
- bodyBlock.body = bodyBlock.body.filter(function (node) {
40445
+ var innerBody = [];
40446
+ var bodyPath = path.get("body", "body");
40447
+
40448
+ bodyPath.each(function(childPath) {
40449
+ var node = childPath.value;
40383
40450
  if (node && node._blockHoist != null) {
40384
40451
  outerBody.push(node);
40385
- return false;
40386
40452
  } else {
40387
- return true;
40453
+ innerBody.push(node);
40388
40454
  }
40389
40455
  });
40390
40456
 
40457
+ if (outerBody.length > 0) {
40458
+ // Only replace the inner body if we actually hoisted any statements
40459
+ // to the outer body.
40460
+ bodyPath.replace(innerBody);
40461
+ }
40462
+
40391
40463
  var outerFnExpr = getOuterFnExpr(path);
40392
40464
  // Note that getOuterFnExpr has the side-effect of ensuring that the
40393
40465
  // function has a name (so node.id will always be an Identifier), even
@@ -70811,14 +70883,14 @@ function through (write, end, opts) {
70811
70883
  var delegate = context.delegate;
70812
70884
  if (delegate) {
70813
70885
  if (method === "return" ||
70814
- (method === "throw" && delegate.iterator.throw === undefined)) {
70886
+ (method === "throw" && delegate.iterator[method] === undefined)) {
70815
70887
  // A return or throw (when the delegate iterator has no throw
70816
70888
  // method) always terminates the yield* loop.
70817
70889
  context.delegate = null;
70818
70890
 
70819
70891
  // If the delegate iterator has a return method, give it a
70820
70892
  // chance to clean up.
70821
- var returnMethod = delegate.iterator.return;
70893
+ var returnMethod = delegate.iterator["return"];
70822
70894
  if (returnMethod) {
70823
70895
  var record = tryCatch(returnMethod, delegate.iterator, arg);
70824
70896
  if (record.type === "throw") {
@@ -77290,7 +77362,7 @@ module.exports = function (str) {
77290
77362
  module.exports={
77291
77363
  "name": "babel-core",
77292
77364
  "description": "Turn ES6 code into readable vanilla ES5 with source maps",
77293
- "version": "5.1.2",
77365
+ "version": "5.1.3",
77294
77366
  "author": "Sebastian McKenzie <sebmck@gmail.com>",
77295
77367
  "homepage": "https://babeljs.io/",
77296
77368
  "repository": "babel/babel",
@@ -77335,7 +77407,7 @@ module.exports={
77335
77407
  "output-file-sync": "^1.1.0",
77336
77408
  "path-is-absolute": "^1.0.0",
77337
77409
  "private": "^0.1.6",
77338
- "regenerator": "https://github.com/sebmck/regenerator/archive/block-hoist.tar.gz",
77410
+ "regenerator": "^0.8.20",
77339
77411
  "regexpu": "^1.1.2",
77340
77412
  "repeating": "^1.1.2",
77341
77413
  "shebang-regex": "^1.0.0",
@@ -2656,14 +2656,14 @@ module.exports = require('./modules/$').core;
2656
2656
  var delegate = context.delegate;
2657
2657
  if (delegate) {
2658
2658
  if (method === "return" ||
2659
- (method === "throw" && delegate.iterator.throw === undefined)) {
2659
+ (method === "throw" && delegate.iterator[method] === undefined)) {
2660
2660
  // A return or throw (when the delegate iterator has no throw
2661
2661
  // method) always terminates the yield* loop.
2662
2662
  context.delegate = null;
2663
2663
 
2664
2664
  // If the delegate iterator has a return method, give it a
2665
2665
  // chance to clean up.
2666
- var returnMethod = delegate.iterator.return;
2666
+ var returnMethod = delegate.iterator["return"];
2667
2667
  if (returnMethod) {
2668
2668
  var record = tryCatch(returnMethod, delegate.iterator, arg);
2669
2669
  if (record.type === "throw") {
@@ -1,7 +1,7 @@
1
1
  module Babel
2
2
  module Source
3
- VERSION = "5.1.2"
4
- DATE = Time.at(1428911563)
3
+ VERSION = "5.1.3"
4
+ DATE = Time.at(1428942240)
5
5
  PATH = File.expand_path("../..", __FILE__)
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: babel-source
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.1.2
4
+ version: 5.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sebastian McKenzie