Comparing version 6.11.2 to 6.11.3
@@ -16,7 +16,21 @@ # Changelog | ||
See the [Babel Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md) for the pre-6.8.0 version changelog. | ||
See the [Babel Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md) for the pre-6.8.0 version Changelog. | ||
### Bug Fix | ||
- [#139](https://github.com/babel/babylon/issues/139) Don't do the duplicate check if not an identifier (#140) @hzoo | ||
```js | ||
// regression with duplicate export check | ||
SyntaxError: ./typography.js: `undefined` has already been exported. Exported identifiers must be unique. (22:13) | ||
20 | | ||
21 | export const { rhythm } = typography; | ||
> 22 | export const { TypographyStyle } = typography | ||
``` | ||
Bail out for now, and make a change to account for destructuring in the next release. | ||
## 6.11.1 (2016-09-22) | ||
### Hot Fix | ||
### Bug Fix | ||
- [#137](https://github.com/babel/babylon/pull/137) - Fix a regression with duplicate exports - it was erroring on all keys in `Object.prototype`. @danez | ||
@@ -23,0 +37,0 @@ |
@@ -721,2 +721,4 @@ "use strict"; | ||
var firstRestLocation = null; | ||
while (!this.eat(_types.types.braceR)) { | ||
@@ -748,3 +750,17 @@ if (first) { | ||
node.properties.push(prop); | ||
continue; | ||
if (isPattern) { | ||
var position = this.state.start; | ||
if (firstRestLocation !== null) { | ||
this.unexpected(firstRestLocation, "Cannot have multiple rest elements when destructuring"); | ||
} else if (this.eat(_types.types.braceR)) { | ||
break; | ||
} else if (this.match(_types.types.comma) && this.lookahead().type === _types.types.braceR) { | ||
this.unexpected(position, "A trailing comma is not permitted after the rest element"); | ||
} else { | ||
firstRestLocation = position; | ||
continue; | ||
} | ||
} else { | ||
continue; | ||
} | ||
} | ||
@@ -789,2 +805,6 @@ | ||
if (firstRestLocation !== null) { | ||
this.unexpected(firstRestLocation, "The rest element has to be the last element when destructuring"); | ||
} | ||
if (decorators.length) { | ||
@@ -811,4 +831,4 @@ this.raise(this.state.start, "You have trailing decorators with no property"); | ||
if (!prop.computed && prop.key.type === "Identifier" && (prop.key.name === "get" || prop.key.name === "set") && !this.match(_types.types.comma) && !this.match(_types.types.braceR)) { | ||
if (isGenerator || isAsync || isPattern) this.unexpected(); | ||
if (!isPattern && !prop.computed && prop.key.type === "Identifier" && (prop.key.name === "get" || prop.key.name === "set") && !this.match(_types.types.comma) && !this.match(_types.types.braceR)) { | ||
if (isGenerator || isAsync) this.unexpected(); | ||
prop.kind = prop.key.name; | ||
@@ -815,0 +835,0 @@ this.parsePropertyName(prop); |
{ | ||
"name": "babylon", | ||
"version": "6.11.2", | ||
"version": "6.11.3", | ||
"description": "A JavaScript parser", | ||
@@ -37,7 +37,8 @@ "author": "Sebastian McKenzie <sebmck@gmail.com>", | ||
"prepublish": "cross-env BABEL_ENV=production npm run build", | ||
"preversion": "npm run test", | ||
"preversion": "npm run test && npm run changelog", | ||
"test": "npm run build && npm run lint && npm run test-only", | ||
"test-only": "ava test", | ||
"test_cov": "cross-env BABEL_ENV=test npm run build && npm run lint && nyc ava test", | ||
"watch": "babel src --out-dir lib --watch" | ||
"watch": "babel src --out-dir lib --watch", | ||
"changelog": "git log `git describe --tags --abbrev=0`..HEAD --pretty=format:' * %s (%an)' | grep -v 'Merge pull request'" | ||
}, | ||
@@ -44,0 +45,0 @@ "nyc": { |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
226972
5435