babel-source 5.1.2 → 5.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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