1661 lines
71 KiB
Markdown
1661 lines
71 KiB
Markdown
# Changelog
|
|
|
|
> **Tags:**
|
|
> - [Breaking Change]
|
|
> - [Spec Compliancy]
|
|
> - [New Feature]
|
|
> - [Bug Fix]
|
|
> - [Documentation]
|
|
> - [Internal]
|
|
> - [Polish]
|
|
|
|
_Note: Gaps between patch versions are faulty, broken or test releases._
|
|
|
|
See [CHANGELOG - 6to5](CHANGELOG-6to5.md) for the pre-4.0.0 version changelog.
|
|
|
|
## 6.4.6 (2016-01-20)
|
|
|
|
* **Bug Fix**
|
|
* `babel-helper-remap-async-to-generator`: [#3288](https://github.com/babel/babel/pull/3288) Async arrow functions should compile to regular functions because they reference `arguments`.
|
|
|
|
## 6.4.5 (2016-01-19)
|
|
|
|
* **Bug Fix**
|
|
* `babel-plugin-transform-es2015-modules-commonjs`: [#3118](https://github.com/babel/babel/pull/3118) Fix bad import hoisting interaction (copy `_blockHoist` values) regarding import statements. ([T6738](https://phabricator.babeljs.io/T6738)). Thanks @benjamn for your patience for this one!
|
|
- This fixes:
|
|
```js
|
|
var _templateObject = (0, _taggedTemplateLiteral3.default)(["foo"], ["foo"]); // this should come after _taggedTemplateLiteral 2 and 3
|
|
var _taggedTemplateLiteral2 = require("babel-runtime/helpers/taggedTemplateLiteral");
|
|
var _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);
|
|
|
|
tag(_templateObject);
|
|
```
|
|
* `babel-types`, `babel-plugin-transform-es2015-modules-commonjs`, `babel-generator`: [#3183](https://github.com/babel/babel/pull/3183) Fix various source map issues. ([T6851](https://phabricator.babeljs.io/T6851)). Thanks for your work @kpdecker! Committed as [`de51bf5`](https://github.com/babel/babel/commit/de51bf5486bd038455d3d450ff34aa86111c3b91)
|
|
* `babel-helper-remap-async-to-generator`: [#3257](https://github.com/babel/babel/pull/3257) Fix issue with using `this` inside an arrow function ([T2765](https://phabricator.babeljs.io/T2765)). Thanks @horpto!
|
|
- This fixes:
|
|
```js
|
|
class A {
|
|
async method() {
|
|
() => this; // this `this` wasn't being transpiled correctly
|
|
}
|
|
}
|
|
```
|
|
* `babylon`: [#3272](https://github.com/babel/babel/pull/3272) Dedupe parser opts from passsed in multiple times. ([T3084](https://phabricator.babeljs.io/T3084)). Thanks @AgentME!
|
|
- This fixes a specific issue with the [react preset](https://babeljs.io/docs/plugins/preset-react/) since it includes `syntax-flow` and `transform-flow-strip-types` which caused an issue with the flow types not to be stripped and the general case of other people are including the flow syntax option in their own plugins.
|
|
* `babel-helper-define-map`, `babel-traverse`, `babel-plugin-transform-es2015-classes`: [#3274](https://github.com/babel/babel/pull/3274) Prevent method names in classes from being locally bound to the transformed function body. ([T6712](https://phabricator.babeljs.io/T6712)). Thanks @willheslam for helping to debug and coming up with alternative solutions for this issue!
|
|
- This fixes:
|
|
```js
|
|
SyntaxError: index.js: "foo" is read-only (This is an error on an internal node. Probably an internal error. Location has been estimated.)
|
|
1 | class Component {
|
|
2 | foo() {
|
|
3 | const foo = obj;
|
|
4 | }
|
|
5 | }
|
|
6 |
|
|
```
|
|
* `babel-helpers`: [#3276](https://github.com/babel/babel/pull/3276) Add missing return statements to `asyncToGenerator` helper.
|
|
* `babel-plugin-transform-es2015-modules-commonjs`: [#3282](https://github.com/babel/babel/pull/3282) Fixes an issue with using `default` as a specifier in an export.
|
|
- This fixes an issue with:
|
|
```js
|
|
export {default as foo} from "foo";
|
|
```
|
|
|
|
* **Documentation**
|
|
* `babel-traverse`: [#3269](https://github.com/babel/babel/pull/3269) Document visitors.explode. Thanks @forivall!
|
|
|
|
* **Internal**
|
|
* `babel-plugin-transform-es2015-parameters`: [#3263](https://github.com/babel/babel/pull/3263) Test coverage.
|
|
* `babel-core`: [#3268](https://github.com/babel/babel/pull/3268) Add a test for ([T2892](https://phabricator.babeljs.io/T2892)).
|
|
* [#3275](https://github.com/babel/babel/pull/3275) Temporarily change flow types to fix lint.
|
|
* [#3277](https://github.com/babel/babel/pull/3277) Fixup Makefile `.bin` references. Thanks @charliesome!
|
|
* [#3278](https://github.com/babel/babel/pull/3278) Use local bin references instead of implied global in Makefile.
|
|
* `babylon`: [#3284](https://github.com/babel/babel/pull/3284) Add some more flow types. Thanks @bmeck!
|
|
|
|
* **Polish**
|
|
* `babel-plugin-transform-es2015-parameters`: [#3264](https://github.com/babel/babel/pull/3264) Simplify code, add comments.
|
|
|
|
## 6.4.4 (2016-01-13)
|
|
|
|
* `babel-plugin-transform-regenerator`: Publishing issue ([T2892](https://phabricator.babeljs.io/T2892)).
|
|
|
|
## 6.4.3 (2016-01-13)
|
|
|
|
* **Bug Fix**
|
|
* `babel-plugin-transform-es2015-typeof-symbol`: [#3250](https://github.com/babel/babel/pull/3250) The typeof transform should always use the global `Symbol`.
|
|
* `babel-plugin-transform-es2015-modules-amd`: [#3252](https://github.com/babel/babel/pull/3252) Stop leaking directives
|
|
* `babel-pluginn-transform-es2015-unicode-regex`: [#3259](https://github.com/babel/babel/pull/3259) Use only `regexpu-core` instead of all of `regexpu`
|
|
* `babel-generator`: [Fix minified labeledStatement printing](https://github.com/babel/babel/commit/0d9459dbb65f7a717d97ec8c723935ae9a83bcf1)
|
|
* `babel-plugin-transform-regenerator`: [#3162](https://github.com/babel/babel/pull/3162) Make sure babel helper picks up `regeneratorRuntime`
|
|
|
|
* **Polish**
|
|
* `babel-types`: [#3261](https://github.com/babel/babel/pull/3261) Add ArrayExpression.elements.default
|
|
* `babel-register`: [#3232](https://github.com/babel/babel/pull/3232) Make sure the cache file's directory exists
|
|
|
|
* **Documentation**
|
|
* `babel-generator-options`: [#3251](https://github.com/babel/babel/pull/3251) Document babel-generator options
|
|
|
|
## 6.4.2 (2016-01-06)
|
|
|
|
* **Bug Fix**
|
|
* `babylon`: [#3244](https://github.com/babel/babel/pull/3244) fix error location for class properties with a missing semicolon (Ref [#3225](https://github.com/babel/babel/pull/3225)).
|
|
* `babel-plugin-transform-es2015-parameters`: [#3246](https://github.com/babel/babel/pull/3246) Support expressions in rest arg access for `arguments.length` optimization.
|
|
* `babel-generator`: [#3247](https://github.com/babel/babel/pull/3247) Parenthesize await/yield expression in `BinaryExpression` (Ref [#3229](https://github.com/babel/babel/pull/3229)).
|
|
|
|
## 6.4.1 (2016-01-06)
|
|
|
|
* **Bug Fix**
|
|
* `babel-types`: [#3245](https://github.com/babel/babel/pull/3245) Temporarily revert adding the `Binary` alias [#3217](https://github.com/babel/babel/pull/3217) and tests.
|
|
|
|
## 6.4.0 (2016-01-06)
|
|
|
|
Thanks to @samwgoldman for all the new flow support!
|
|
|
|
* **New Feature**
|
|
* `babylon`, `babel-types`, `babel-generator`: [#3202](https://github.com/babel/babel/pull/3202) Add support for `this` flow type.
|
|
* `babylon`, `babel-types`, `babel-generator`: [#3236](https://github.com/babel/babel/pull/3236) Add support for `export interface` flow syntax.
|
|
* `babylon`, `babel-types`, `babel-generator`, `babel-plugin-transform-flow-strip-types`, `babel-plugin-transform-flow-comments`: [#3230](https://github.com/babel/babel/pull/3230) Add support for `declare type` and `declare interface` flow syntax.
|
|
* `babylon`, `babel-types`, `babel-generator`, `babel-plugin-transform-flow-strip-types`, `babel-plugin-transform-flow-comments`: [#3203](https://github.com/babel/babel/pull/3203) Add support for flow mixins.
|
|
* `babel-cli`: [#3221](https://github.com/babel/babel/pull/3221): Handle `--nolazy` flag.
|
|
* `babel-plugin-transform-es2015-modules-systemjs`: [#3166](https://github.com/babel/babel/pull/3166) Add `__moduleName` support to `System.register`. Thanks @guybedford!
|
|
|
|
* **Bug Fix**
|
|
* `babel-plugin-transform-es2015-parameters`: [#3214](https://github.com/babel/babel/pull/3214) Bugfix for `arguments.length` optimization having the wrong length. Thanks @fabiomcosta!
|
|
* `babylon`: [#3220](https://github.com/babel/babel/pull/3220) Don't parse parenthesized string as a `Directive`.
|
|
* `babel-helpers`: [#3218](https://github.com/babel/babel/pull/3218) Defer to the built-in `typeof` if support for Symbols exists. Thanks @jdalton!
|
|
* `babel-generator`: [#3213](https://github.com/babel/babel/pull/3213) Fix various parentheses bugs.
|
|
* `babel-plugin-transform-react-display-name`: [#3216](https://github.com/babel/babel/pull/3216) More relaxed `displayName` inference.
|
|
* `babel-helper-function-name`: [#3215](https://github.com/babel/babel/pull/3215) Set function names from `AssignmentExpression`. Thanks @spicyj!
|
|
* `babel-generator`: [#3210](https://github.com/babel/babel/pull/3210) Use a print stack to determine in parenthesis needs to be added.
|
|
* `babel-plugin-transform-runtime`: [#3235](https://github.com/babel/babel/pull/3235) Ensure `opts.polyfill = false` behaves correctly for all visitors. Thanks @guybedford!
|
|
* `babel-plugin-transform-runtime`: Ensure `regenerator` option doesn't cancel out core-js polyfill.
|
|
* `babel-generator`: [#3229](https://github.com/babel/babel/pull/3229) Check for parentheses for `AwaitExpressions` and fix over-parentheses in `YieldExpressions`.
|
|
|
|
* **Breaking Change** (Accidental)
|
|
* `babylon`: [#3225](https://github.com/babel/babel/pull/3225) throw parse error if class properties do not have a semicolon.
|
|
* `babel-types`: [#3195](https://github.com/babel/babel/pull/3195) Allow `JSXText` node in `JSXElement` children property and remove `StringLiteral`.
|
|
|
|
* **Documentation**
|
|
* `babel-generator`: [#3240](https://github.com/babel/babel/pull/3240) Fix small in babel-generator README sample code. Thanks @athaeryn!
|
|
|
|
* **Internal**
|
|
* `babel-plugin-external-helpers`: [#3205](https://github.com/babel/babel/pull/3205) Renamed from `babel-plugin-external-helpers-2` due to someone taking the npm name beforehand.
|
|
* [#3233](https://github.com/babel/babel/pull/3233) Update LICENSE end date to 2016. Thanks @maclover7!
|
|
* `babylon`: [#3204](https://github.com/babel/babel/pull/3204) Prevent users from patching by building it.
|
|
* `babel-types`: [#3217](https://github.com/babel/babel/pull/3217) Add `Binary` alias to `AssignmentExpression`.
|
|
|
|
## 6.3.26
|
|
|
|
* **Bug Fix**
|
|
* `babel-plugin-transform-es2015-parameters`: [#3191](https://github.com/babel/babel/pull/3191) Fix the order of arguments initialization (fixes [T6809](http://phabricator.babeljs.io/T6809))
|
|
* `babel-traverse`: [#3198](https://github.com/babel/babel/pull/3198) In `evaluate()`, it should not mistake lack of confidence for falsy
|
|
|
|
* **Spec Compliancy**
|
|
* `babylon`, `babel-generator`, `babel-plugin-transform-regenerator`: [#3190](https://github.com/babel/babel/pull/3190): Remove `await *` from `babylon` and raise an error for that syntax since it was removed from the proposal and was causing an issue at runtime but not at compile time (fixes [T6688](http://phabricator.babeljs.io/T6688)).
|
|
|
|
* **Internal**
|
|
* Fix gulp build path to work on windows (fixes [T6855](http://phabricator.babeljs.io/T6855)).
|
|
* `babel`: [#3193](https://github.com/babel/babel/pull/3193) Point users to the cli docs
|
|
* `babel-core`: [#3196](https://github.com/babel/babel/pull/3196) Add a test for checking plugins/presets are resolved relative to `filename`
|
|
|
|
## 6.3.25
|
|
|
|
* **Bug Fix**
|
|
* `babylon`: [#3187](https://github.com/babel/babel/pull/3187) Multiple `"use strict"` in function causes outer scope to be parsed as strict
|
|
* `babel-generator`: [#3188](https://github.com/babel/babel/pull/3188) Correctly set `format.quotes` to `opts.quotes`
|
|
* `babel-generator`: [#3189](https://github.com/babel/babel/pull/3189) JSX attributes should use double qoutes
|
|
* `babel-traverse`: [#3192](https://github.com/babel/babel/pull/3192) Fixed static evaluation bug
|
|
|
|
* **Internal**
|
|
* `babel-plugin-transform-es2015-parameters`: [#3165](https://github.com/babel/babel/pull/3165) Optimize `arguments` access
|
|
|
|
## 6.3.24
|
|
|
|
* **Bug Fix**
|
|
* [#3184](https://github.com/babel/babel/pull/3184) Fixed overly permissive type inference.
|
|
|
|
## 6.3.22-6.3.23
|
|
|
|
> Skipped 6.3.22.
|
|
|
|
* **Internal**
|
|
* Renamed the `Flow Comments` plugin from `babel-plugin-flow-comments` to `babel-plugin-transform-flow-comments` for naming consistency.
|
|
|
|
## 6.3.21
|
|
|
|
* **Bug Fix**
|
|
* `babel-generator`: [#3173](https://github.com/babel/babel/pull/3173) Fix unhandled new-precedence edge cases regarding parentheses (fixes [T6829](https://phabricator.babeljs.io/T6829)).
|
|
* `babel-generator`: [#3180](https://github.com/babel/babel/pull/3180) Handle nested `IfStatement` with an `alternate.
|
|
* `babel-generator`: [#3182](https://github.com/babel/babel/pull/3182) Parenthesize `ArrowFunctionExpression` when part of a `LogicalExpression` or `BinaryExpression` (fixes [T6836](https://phabricator.babeljs.io/T6836)).
|
|
* `babel-traverse`: [#3171](https://github.com/babel/babel/pull/3171) Fix infinite recursion bug with `introspection` method.
|
|
* `transform-es2015-function-name`: [#3176](https://github.com/babel/babel/pull/3176) Stop transforming `ObjectMethod` (`MethodDefinition`) to a `FunctionExpression` since the `transform-es2015-shorthand-properties` plugin already does it.
|
|
* `transform-es2015-parameters`: [#3143](https://github.com/babel/babel/pull/3143) Optimizations for `RestElement` such as using `arguments.length` (fixes [T6774](https://phabricator.babeljs.io/T6774)).
|
|
|
|
* **Documentation**
|
|
* `babel-core`: [#3177](https://github.com/babel/babel/pull/3177) Clarify description of `comments` file config.
|
|
|
|
* **Internal**
|
|
* `*`: [#3179](https://github.com/babel/babel/pull/3179) Update flow to 0.20.0 and add `@noflow` until types are added in.
|
|
* `babel-generator`: [#3178](https://github.com/babel/babel/pull/3178) Fix type annotation for `shouldPrintComment`.
|
|
|
|
## 6.3.20
|
|
|
|
* **Bug Fix**
|
|
* `babel-generator`: [#3170](https://github.com/babel/babel/pull/3170) Fix invalid code generation for numeric `MemberExpression` (`5.toString()` -> `5..toString()`).
|
|
* `babel-types`: [#3172](https://github.com/babel/babel/pull/3172) Add `Expression` alias to `BindExpression`.
|
|
|
|
## 6.3.19
|
|
|
|
* **New Feature**
|
|
* `babel-plugin-flow-comments`: [#3157](https://github.com/babel/babel/pull/3157) Move `babel-plugin-flow-comments` to the babel repo and update for babel 6.
|
|
|
|
* **Bug Fix**
|
|
* `babel-runtime`: [#3142](https://github.com/babel/babel/pull/3142) Add a custom transform for `babel-runtime` builds to avoid circular dependencies (Fixes the `babel-runtime/helpers/typeof` issue).
|
|
* `babel-traverse`: [#3161](https://github.com/babel/babel/pull/3161) Only rename the *outer function bindings on name conflict.
|
|
* `babel-generator`: [#3167](https://github.com/babel/babel/pull/3167) Use the left most node from the right to check if we need spaces in `BinaryExpressions`.
|
|
|
|
## 6.3.18
|
|
|
|
* **Bug Fix**
|
|
* `babylon`: [#3107](https://github.com/babel/babel/pull/3107) Fix incorrect directive parsing
|
|
* `babel-generator`: [#3158](https://github.com/babel/babel/pull/3158) Parenthesize object expression when it may end up at the start of an expression
|
|
* `babel-plugin-transform-regenerator`: [#3160](https://github.com/babel/babel/pull/3160) Fix typo
|
|
|
|
* **Polish**
|
|
* `babel-types`: [#2933](https://github.com/babel/babel/pull/2933) Generate documentation for babel-types.
|
|
* `babel-plugin-transform-es2015-parameter`: [#2833](https://github.com/babel/babel/pull/2833) Optimize `arguments` usage.
|
|
* `babel-messages`: [#3123](https://github.com/babel/babel/pull/3123) clarify `traverseNeedsParent` message.
|
|
|
|
## 6.3.17
|
|
|
|
* **Bug Fix**
|
|
* `babel-types`: [#3153](https://github.com/babel/babel/pull/3153) DoWhileStatement should take node type `Statement` as body.
|
|
|
|
* **New Feature**
|
|
* `babel-generator`: [#3152](https://github.com/babel/babel/pull/3152) Add a new minified format option to do possibly dangerous byte saving.
|
|
|
|
* **Internal**
|
|
* `babel-traverse`: [#3151](https://github.com/babel/babel/pull/3151) Support ObjectProperty in `Scope.isPure`
|
|
|
|
* **Polish**
|
|
* `babel-cli`: [#3150](https://github.com/babel/babel/pull/3150) Do not prefer global when installing babel-cli
|
|
|
|
## 6.3.16
|
|
|
|
* **Bug Fix**
|
|
* `babel-traverse`:
|
|
* [#3137](https://github.com/babel/babel/pull/3137) Set the correct `parent` and `parentPath` for new a `NodePath` (fixes an issue with `export * from './a'` and `es2015-modules-commonjs`).
|
|
* `babel-generator`:
|
|
* [#3145](https://github.com/babel/babel/pull/3146) Always print `""` in `compact` mode for consistency (gzip). Will be changed in a new mode (a supserset of `compact`) in a later patch.
|
|
* [#3146](https://github.com/babel/babel/pull/3146) Don't print comments in `compact` mode.
|
|
* [#3147](https://github.com/babel/babel/pull/3147) Don't print parentheses on `throw` statements with `SequenceExpression`.
|
|
|
|
* **Internal**
|
|
* `babel-traverse`:
|
|
* [#3138](https://github.com/babel/babel/pull/3138) Support `UnaryExpression` in `isPure` check.
|
|
|
|
## 6.3.15
|
|
|
|
* **Bug Fix**
|
|
* `babel-generator`:
|
|
* [#3111](https://github.com/babel/babel/pull/3111) Compact Mode: remove unnecessary `()` from a `NewExpressions` when possible (`new x()` -> `new x`).
|
|
* `babel-helper-function-name`:
|
|
* [#3138](https://github.com/babel/babel/pull/3138) Skip name inference on certain uses of classes until we can handle them.
|
|
* `babel-traverse`:
|
|
* [#3141](https://github.com/babel/babel/pull/3141) Fix bug with evaluating an expression on its own binding.
|
|
* `babel-plugin-transform-es2015-destructuring`:
|
|
* [#3136](https://github.com/babel/babel/pull/3136) Seperate the destructuring statement from the export statement before converting.
|
|
* `babel-plugin-transform-es2015-classes`:
|
|
* [#3134](https://github.com/babel/babel/pull/3134) Ensure default exports have a name before splitting them.
|
|
* [#3135](https://github.com/babel/babel/pull/3135) Pass `async` and `generator` properties when converting a `ClassMethod`.
|
|
|
|
## 6.3.14
|
|
|
|
* **Bug Fix**
|
|
* `babel-traverse`:
|
|
* [#3133](https://github.com/babel/babel/pull/3133) Fix regression with scope in switch statement (fixes an issue with `transform-es2015-spread`). Related to [#3127](https://github.com/babel/babel/pull/3127).
|
|
|
|
## 6.3.8-6.3.13
|
|
|
|
Testing [lerna](https://github.com/sebmck/lerna) - A tool for managing JavaScript projects with multiple packages.
|
|
|
|
* **Bug Fix**
|
|
* `babylon`, `babel-types`, `babel-generator`:
|
|
* [#3130](https://github.com/babel/babel/pull/3130) Add support for `NullLiteralTypeAnnotation` (`null` literal type) in flow.
|
|
|
|
## 6.3.2
|
|
|
|
* **Bug Fix**
|
|
* `babel-core`:
|
|
* [#3108](https://github.com/babel/babel/pull/3108) Omit sourcemaps that cannot be used and fix source path.
|
|
* `babel-register`:
|
|
* [#3116](https://github.com/babel/babel/pull/3116) Disable processing `.babelrc` a second time.
|
|
* `babel-traverse`:
|
|
* [#3127](https://github.com/babel/babel/pull/3127) Ensure we always push into a `BlockStatement` (fixes a `babel-plugin-transform-class-properties` issue).
|
|
* `babel-plugin-transform-class-properties`:
|
|
* [#3113](https://github.com/babel/babel/pull/3113) Fix issue with using static class properties.
|
|
* `babel-plugin-transform-es2015-classes`:
|
|
* [#3112](https://github.com/babel/babel/pull/3112) Fix issue with `return super()` in class constructor causing a `super() hasn't been called` error.
|
|
* `babel-plugin-transform-inline-environment-variables`:
|
|
* Fix typo with `replaceWith`.
|
|
* `babel-plugin-transform-regenerator`:
|
|
* [#3119](https://github.com/babel/babel/pull/3119) Ensure that generator functions always have an `Identifier` (fixes an issue with exporting a generator as a default).
|
|
|
|
## 6.3.1
|
|
|
|
* **Bug Fix**
|
|
* `babel-generator`:
|
|
* [#3121](https://github.com/babel/babel/pull/3121) Fix spacing in binary expression when right is a binary expression and has a unary on the left in compact mode. Ex: `(a+(+b*2))` should be -> `a+ +b*2`
|
|
|
|
## 6.3.0
|
|
|
|
* **Bug Fix**
|
|
* Fix use of old `literal` to use `stringLiteral` in babel-types.
|
|
* Fix issue with `babel-template` crashing in IE due to unpopulated error stack.
|
|
* Check for empty decorators list in `transform-class-properties`
|
|
* Fix babylon parser not allowing multiple parameters in arrow functions with flow types
|
|
* Fix exported async functions being hoisted and as a result being undefined.
|
|
|
|
* **Polish**
|
|
* Add validation to more JSX node types.
|
|
* Add validation for CallExpression, NewExpression, SequenceExpression, ArrayExpression, and TemplateLiteral.
|
|
* Add `ObjectMember` abstract type to AST for `ObjectProperty` and `ObjectMethod`.
|
|
* Optimize `asyncToGenerator` helper template.
|
|
* Respect spacing for assignment, binary expressions, and while loop in compact mode.
|
|
* Fix up semicolon omission in compact mode.
|
|
|
|
## 6.2.2
|
|
|
|
* **Bug Fix**
|
|
* Fix ES2015 classes being revisited twice causing state issues when inside.
|
|
|
|
## 6.2.1
|
|
|
|
* **Polish**
|
|
* Add `dirname` to unknown plugin resolution error.
|
|
|
|
## 6.2.0
|
|
|
|
* **New Feature**
|
|
* Add support for `function.sent`.
|
|
* **Internal**
|
|
* Bump `invariant` depenency version.
|
|
* **Polish**
|
|
* Infer filename from the base directory when resolving plugins and presets.
|
|
* Allow JSX pragma to be specified in line comments.
|
|
* **Bug Fix**
|
|
* Print a block when encountering consequents that are if statements.
|
|
* Fix some issues related to printing of auxiliary comments.
|
|
|
|
## 6.1.21
|
|
|
|
* **Bug Fix**
|
|
* Add check to avoid revisiting classes.
|
|
* **Internal**
|
|
* Add internal aliases for plugins for debugging.
|
|
* **Bug Fix**
|
|
* Avoid duplicate auxiliary starts if inside an aux section.
|
|
|
|
## 6.1.20
|
|
|
|
* **Polish**
|
|
* Only infer whitespace when we've been passed tokens in the code generator.
|
|
* Refactor JSX inlining to reduce parsing cost.
|
|
* **Bug Fix**
|
|
* Fix queueing of nested paths being pushed onto the priority queue.
|
|
|
|
## 6.1.19
|
|
|
|
* **Bug Fix**
|
|
* Add config check to `package.json` `babel` reading.
|
|
* Fix source maps merging.
|
|
* Ignore callee supers when doing spread compilation
|
|
* **Polish**
|
|
* Add hard error when we see decorators.
|
|
|
|
## 6.1.4
|
|
|
|
* **Bug Fix**
|
|
* Fix class transformation bug for export declarations with no `id`.
|
|
* Fix regenerator plugin being passed an invalid function `id`.
|
|
* Add support for async to generator helper on object and class methods.
|
|
* Fix looking up undefined nodes when walking back up the tree in typeof symbol plugin.
|
|
* Fix accidental serialisation of template literals in the code generator when the object of a member expression.
|
|
* Add missing `Expression` alias to `TypeCastExpression`.
|
|
* Move `children` prop pushing to after props to ensure correct order in the react inline elements plugin.
|
|
* Fix `buildExternalHelpers` script ignoring non-underscored helpers.
|
|
* Fix exported classes with static class properties.
|
|
* **Spec Compliancy**
|
|
* Add support for computed mutators in `babel-plugin-transform-es2015-computed-properties`.
|
|
* **Polish**
|
|
* Make interop for plugins with the `__esModule` work for all plugins no matter how they're imported/specified.
|
|
* Make it illegal for plugins to specify a catch-all `enter`/`exit` visitor method.
|
|
* Ignore `babel-runtime` version mismatch in `babel-doctor`.
|
|
* Omit `defaultProps` helper when there are no props in the react inline elements plugin.
|
|
* Add validators for ES2015 export nodes.
|
|
* Add missing core node validators.
|
|
* Update `runtime` plugin `core-js` definitions.
|
|
* **Internal**
|
|
* Add `babel-plugin-transform-react-display-name` to the `react` preset.
|
|
* Clean up scope cache.
|
|
* Move `babel/register` into a separate `babel-register` package.
|
|
* Add `react-jsx-source` plugin and add it to the `react` preset.
|
|
|
|
## 6.1.3
|
|
|
|
* **Internal**
|
|
* Add `allowTopLevelThis` option to `babel-plugin-transform-es2015-modules-commonjs`.
|
|
|
|
## 6.1.2
|
|
|
|
* **Bug Fix**
|
|
* Fix bug where the parser wouldn't allow typed annotated default parametesr in arrow functions.
|
|
* Add existence check to `NodePath#has` to ensure safeness when making comparisons.
|
|
* Protect against replacing a class expression with a name inferred version that would
|
|
result in it never being transformed.
|
|
* When transforming JSX to an inline object, make sure invalid identifier keys are quoted.
|
|
* Fix recursion in async to generator transforms due to referring to the inner generator function.
|
|
* Convert arrow functions to normal functions when remapping to a generator.
|
|
* Fix source map merging.
|
|
* Add line break test to the `updateContext` of `name` tokens in the parser to fix parsing of JSX and regexs with ASI.
|
|
* Fix object rest/spread in arrow function parameters not being allowed in the parser.
|
|
* Ensure that unaries are parenthesised the same as function expressions.
|
|
* **Internal**
|
|
* Move `Symbol.hasInstance` transform out of `babel-plugin-es2015-symbols` to `babel-plugin-es2015-instanceof` as it has nothing to do with symbols.
|
|
* Add `babel-browser` package with the browser build.
|
|
* **Polish**
|
|
* Add npm 3 check to `babel-doctor`.
|
|
* Autoclear the `babel/register` cache when it gets too big to be serialised.
|
|
* **Spec Compliancy**
|
|
* Add support for flow existential type parameters.
|
|
|
|
## 6.1.1
|
|
|
|
* **Bug Fix**
|
|
* Stop looking for configs in `babel-doctor` when we get to the root.
|
|
|
|
## 6.1.0
|
|
|
|
* **New Feature**
|
|
* Add `babel-doctor` CLI.
|
|
|
|
## 6.0.20
|
|
|
|
* **Bug Fix**
|
|
* In the callable class constructor plugin, don't transform derived classes as the constructor call cannot be inherited.
|
|
* Fix JSX inline elements plugin from attempting to create properties out of JSX containers.
|
|
* Fix infinite recursion error when attempting to resolve the execution status of functions that contain references to themselves.
|
|
|
|
## 6.0.19
|
|
|
|
* **Bug Fix**
|
|
* Fix function paths not being accurate.
|
|
* **Polish**
|
|
* Change `t.getOuterBindingIdentifiers` to completely ignore function expressions as they cause no outer bindings to be set.
|
|
* Clean up `auxiliaryComment` option.
|
|
|
|
## 6.0.18
|
|
|
|
* **Polish**
|
|
* Add error when calling builder methods with too many arguments than it can take.
|
|
* Rename `RegexLiteral` node to `RegExpLiteral`.
|
|
* Rename `NumberLiteral` node to `NumericLiteral`.
|
|
* **Bug Fix**
|
|
* Make all fields of a `ForStatement` optional.
|
|
|
|
## 6.0.17
|
|
|
|
* **Polish**
|
|
* Add `Symbol` existence check to `typeof` helper.
|
|
* **Bug Fix**
|
|
* When merging options, take precedence over the current array.
|
|
* Fix export of parameters when renaming the binding of exported functions.
|
|
* Fix minify booleans plugin.
|
|
* Fix simplify comparison operator plugin.
|
|
* Don't include children if it's empty in react inline elements plugin.
|
|
|
|
## 6.0.16
|
|
|
|
* **Internal**
|
|
* Instead of throwing on a foreign node path. Ignore it and create a new one.
|
|
* **Bug Fix**
|
|
* Ensure there's a newline after prepended original shebang.
|
|
* Ignore non-origin template nodes when replacing placeholders in `babel-template`.
|
|
* Fix `runtime` plugin helper generation.
|
|
* Fix bug where async class methods weren't having their `await`s converted to `yield`s in the async to generator helper.
|
|
|
|
## 6.0.15
|
|
|
|
* **Bug Fix**
|
|
* Fix async function remap helper from outputing incorrect calls causing wrong scoping.
|
|
|
|
## 6.0.14
|
|
|
|
* **Spec Compliancy**
|
|
* Update exponentiation operator precedence.
|
|
* Fix parser bug where arrow functions have a higher precedence than they should.
|
|
* **Bug Fix**
|
|
* Fix SystemJS module formatter exporting function parameters.
|
|
* Ensure that invalid identifier JSX attribute keys are quoted when transforming to calls.
|
|
* Fix ES3 property literal plugin.
|
|
* Fix parameters after defaults in arrow functions refering to the wrong `arguments`.
|
|
|
|
## 6.0.13
|
|
|
|
* **Bug Fix**
|
|
* Don't consider uncomputed object method property identifier to be a reference.
|
|
|
|
## 6.0.12
|
|
|
|
* **Bug Fix**
|
|
* Rename misspelt `babel-plugin-transform-class-constructor-call` package.
|
|
* Add strict mode plugin to module transforms.
|
|
* Only ignore cloning of plugin instances when cloning babelrc configs.
|
|
* Add shebang to bin file in `babel` complain package.
|
|
* Remove asserts from `babel-transform-regenerator` as we may have multiple packages interacting.
|
|
* Add `babel-plugin-transform-es2015-modules-commonjs` to `babel-preset-es2015`.
|
|
|
|
## 6.0.0
|
|
|
|
* **Internal**
|
|
* Split up internals into packages.
|
|
* **Breaking Change**
|
|
* Remove `loose` option in favor of plugin options.
|
|
* Remove `optional`, `whitelist` and `blacklist` options since plugins are now explicitly defined.
|
|
* Plugins now just return a plain object rather than construct a `Plugin` instance.
|
|
* Change the signature of visitor methods to `.call(state, path, state)` rather than `.call(path, node, parent, scope, state)`.
|
|
* All plugin traversals are now merged for performance.
|
|
* The `MethodDefinition` node type has been renamed to `ClassMethod` and it's `FunctionExpression` `value` property has been coerced into the main method node.
|
|
* The `Property` node type has been renamed to `ObjectProperty`.
|
|
* The `Property` node type with the boolean flag `method` has been renamed to `ObjectMethod` and it's `FunctionExpression` `value` property has been coerced into the main method node.
|
|
* The `Literal` node type has been unoverloaded and split into `BooleanLiteral`, `RegExpLiteral`, `NumericLiteral`, `StringLiteral` and `NullLiteral`.
|
|
* The `SpreadProperty` (from `object-rest-spread`) node type has been split into `RestProperty` (for `ObjectPattern`) and `SpreadProperty` (for `ObjectExpression`)
|
|
* Remove `module.exports` export interop for CommonJS module formatter.
|
|
* `externalHelpers` option has been moved into the plugin `babel-plugin-external-helpers-2`.
|
|
* Remove ability to use `enter`/`exit` catch-all handlers in plugins.
|
|
* **New Feature**
|
|
* Add plugin options.
|
|
* Add callable class constructor.
|
|
|
|
## 5.8.26
|
|
|
|
* **Internal**
|
|
* Republish to get fix for runtime `typeof-react-element` helper.
|
|
|
|
## 5.8.25
|
|
|
|
* **Internal**
|
|
* Rename `define` method to avoid webpack assuming those files are AMD.
|
|
|
|
## 5.8.24
|
|
|
|
* **Spec Compliancy**
|
|
* Updated `optimisation.react.inlineElements` transformer to React 0.14 output. Thanks [@spicyj](https://github.com/spicyj)!
|
|
* **Polish**
|
|
* Add support for evaluating more static nodes. Thanks [@hzoo](https://github.com/hzoo)!
|
|
|
|
## 5.8.23
|
|
|
|
* **Bug Fix**
|
|
* Fix a bug where pushed scope bindings weren't properly being registered.
|
|
|
|
## 5.8.22
|
|
|
|
* **Bug Fix**
|
|
* Fix bug causing regexes to cause a syntax error after a block.
|
|
* **Internal**
|
|
* Expose `File`.
|
|
|
|
## 5.8.21
|
|
|
|
* **New Feature**
|
|
* Add support for Flow export types.
|
|
* **Bug Fix**
|
|
* Fix flow type annotations on object properties being lost.
|
|
* Fix bug effecting nested arrow functions.
|
|
* Check valid `export default` `function`/`class` token when parsing export default before converting to a declaration to avoid turning expressions into declarations.
|
|
* **Polish**
|
|
* Add an exception to non-existent bindings when checking if we need to wrap block scoping blocks in a closure.
|
|
* Make comment retainment for multiple replacement nodes more predictable.
|
|
* **Internal**
|
|
* Remove `operator` property from `AssignmentPattern` nodes.
|
|
* Update `es7.asyncFunctions` and `es7.objectRestSpread` to stage 2.
|
|
|
|
## 5.8.13-5.8.20
|
|
|
|
**The CHANGELOG was broken for these releases. Git tags were not pushed in the correct order and are therefore incorrect. It's recommended you NOT use any versions within this range.**
|
|
|
|
* **New Feature**
|
|
* Add `es6.spec.modules` transformer.
|
|
* **Bug Fix**
|
|
* Don't register export declarations as a module binding.
|
|
* Register import bindings to the specifier instead of the declaration.
|
|
* `export *` should not export `default`.
|
|
* Clear `rawValue from JSX attribute values to avoid outputting the raw source verbatim.
|
|
* Add support for boolean flow literals.
|
|
* Fix bug where files that babel can compile weren't being written when ignored with the `--copy-files` flag.
|
|
* Create new raw identifiers instead of cloning the original user one when exploding export specifiers to fix source map issues resulting in incorrect locations.
|
|
* Break on hitting a terminator paren triggering character to avoid pushing multiple starting parens.
|
|
* Consider comment starting character to be a terminatorless separator to avoid starting comments breaking terminatorless nodes.
|
|
* **Internal**
|
|
* Use `json5` for parsing `.babelrc` files and `JSON` for `package.json`.
|
|
* Update Regenerator dependency to `0.8.35`.
|
|
* Remove flow types from being scope tracked.
|
|
* **Polish**
|
|
* Only register export declarations in scope tracking if they're of a valid type.
|
|
* Only output code frame and message on syntax errors in CLI.
|
|
* Set decorated initialisers that have no `initialiser` to `undefined`.
|
|
* Optimise common `typeof` cases in `es6.spec.symbols` transformer.
|
|
|
|
## 5.8.12
|
|
|
|
* **Bug Fix**
|
|
* Fix bug in lookahead causing decorators to be cleared.
|
|
|
|
## 5.8.11
|
|
|
|
* **Bug Fix**
|
|
* Check if module options are nully instead of falsy to allow empty strings as `moduleRoot` etc.
|
|
* Fix bug where reassigning the rest parameter wouldn't result in a deoptimisation.
|
|
|
|
## 5.8.9
|
|
|
|
* **Bug Fix**
|
|
* Fix issue in parser where the flow plugin wasn't using state to refer to whether it as in a type or not causing lookaheads to cause breakages.
|
|
|
|
## 5.8.8
|
|
|
|
* **Bug Fix**
|
|
* Fix comments not being attached if they're touching the start of their node.
|
|
|
|
## 5.8.7
|
|
|
|
* Never published, environment issues, again.
|
|
|
|
## 5.8.6
|
|
|
|
* **Bug Fix**
|
|
* Remove `rawValue` for JSX inner text.
|
|
|
|
## 5.8.5
|
|
|
|
* **Polish**
|
|
* Rewrite parentheses insertion for terminatorless nodes such as `BreakStatement` to be much more stable and cleaner.
|
|
* Use `Object.setPrototypeOf` and fallback to `__proto__` in `inherits` helper.
|
|
|
|
## 5.8.2-5.8.4
|
|
|
|
Issues with publish process.
|
|
|
|
## 5.8.1
|
|
|
|
* **Bug Fix**
|
|
* Fix regression where async arrow functions couldn't have type annotation parameters.
|
|
* Output type annotations of type instantiation parameters.
|
|
* **Polish**
|
|
* Prepend to highest loop when performing rest parameter allocation optimisation.
|
|
* Add comment attachment to parser.
|
|
* Add support for retaining inner comments of empty blocks.
|
|
|
|
## 5.8.0
|
|
|
|
* Never released due to publish environment issues.
|
|
|
|
## 5.7.4
|
|
|
|
* **Bug Fix**
|
|
* Fix comments containg `@flow` being completely removed from output rather than just the specific directive.
|
|
|
|
## 5.7.3
|
|
|
|
* **Bug Fix**
|
|
* Add shim file for broken file path that old versions of the CLI would attempt to use.
|
|
|
|
## 5.7.2
|
|
|
|
* **Bug Fix**
|
|
* Fix performance issue in code generator when comment columns would attempt to match up in `compact` mode causing large amounts of whitespace.
|
|
* Fix single line comments not outputting a newline in `compact` mode.
|
|
* **Polish**
|
|
* Add support for flow return types for arrow functions.
|
|
|
|
## 5.7.1
|
|
|
|
* **Bug Fix**
|
|
* Add back mistakenly removed `replaceWithSourceString` method.
|
|
|
|
## 5.7.0
|
|
|
|
* **Bug Fix**
|
|
* Deopt on spread elements when performing array destructuring unpack optimisation.
|
|
* **New Feature**
|
|
* Add `shouldPrintComment` option to control comment output.
|
|
* Add `.babelignore` file to be consistent with other tools.
|
|
* Allow `.babelrc` configs to be specified via `package.json`.
|
|
* **Polish**
|
|
* Don't ignore comments when using `compact: true` option.
|
|
* Add support for Flow `import typeof`.
|
|
* Fix incorrect inheritance method position when using loose mode classes and constructor isn't the first item.
|
|
* **Internal**
|
|
* Completely fork Acorn with `babylon`.
|
|
* Rewrite build system to accommodate for multiple packages.
|
|
|
|
## 5.6.17
|
|
|
|
* **Bug Fix**
|
|
* Fix `CodeGenerator.findCommonStringDelimiter` causing a stack overflow.
|
|
|
|
## 5.6.16
|
|
|
|
* **Internal**
|
|
* Fix `recast` version to avoid pulling in a newer version.
|
|
* **New Feature**
|
|
* Add support for functions in `util.shouldIgnore`.
|
|
* **Polish**
|
|
* Strip flow directives in flow transformer.
|
|
* Add a check for out of bounds default parameters, drastically improving performance and removes engine deoptimisations.
|
|
* Various performance optimisations by [@samccone](https://github.com/samccone) 💅✨
|
|
* Delay `this` assignment when referencing this inside an arrow function pre-bare super in derived class constructors.
|
|
* Split up class body pushing if the constructor is in the wrong order.
|
|
* **Bug Fix**
|
|
* Fix hoisting of `ForInStatement` `init` variables in `system` module formatter.
|
|
* `PathHoister`: Don't hoist to the same function as their original paths function parent.
|
|
* `PathHoister`: Push each violation paths ancestry to the breakOnScopePaths collection to avoid constant hoisting to nested paths.fix tail call recursion on functions with less arguments than parameters.
|
|
* Disallow `super.*` before `super()` in derived class constructors.
|
|
* Properly regenerate scope for replaced nodes. Thanks [@loganfsmyth](https://github.com/loganfsmyth)!
|
|
* Move up template literal simplification logic to avoid breaking on single elements.
|
|
|
|
## 5.6.13-5.6.15
|
|
|
|
* Setting up automatic Travis releases.
|
|
|
|
## 5.6.12
|
|
|
|
* **Bug Fix**
|
|
* Fix finding parent for top-level shadowed functions.
|
|
|
|
## 5.6.11
|
|
|
|
** **Internal**
|
|
* Merge `es6.parameters.rest` and `es6.parameters.default` transformers. See commit [c0fd4c1f9e0b18231f585c4fa793e4cb0e01aed1](https://github.com/babel/babel/commit/c0fd4c1f9e0b18231f585c4fa793e4cb0e01aed1) for more info.
|
|
|
|
## 5.6.10
|
|
|
|
* **Bug Fix**
|
|
* Fix faulty internal require check.
|
|
* **Polish**
|
|
* Add support for trailing commas in arrow function parameter lists.
|
|
|
|
## 5.6.8
|
|
|
|
* **Bug Fix**
|
|
* Fix binary expressions colliding with unary expression operators in compact mode.
|
|
* Fix node properties being set to `null` when using computed properties.
|
|
|
|
## 5.6.7
|
|
|
|
* **Bug Fix**
|
|
* Fix hoisting of `ForXStatement` `left` `var`s when inserting a block scoping IIFE.
|
|
* **Polish**
|
|
* Combine all leading computed property initialisers into the root object in loose mode.
|
|
* **Internal**
|
|
* Deprecate returning of replacement strings from visitor methods.
|
|
|
|
## 5.6.6
|
|
|
|
* **Bug Fix**
|
|
* Fix weird parser bug where `void` type annotations were being parsed as keywords causing the tokeniser to lose track of context.
|
|
|
|
## 5.6.5
|
|
|
|
* **Bug Fix**
|
|
* Fix nested functions causing rest parameter optimisation to not properly detect when it should deopt on a reference.
|
|
* **Internal**
|
|
* Update Regenerator `0.8.31`.
|
|
|
|
## 5.6.4
|
|
|
|
* **Internal**
|
|
* Add `ParenthesizedExpression` node type.
|
|
|
|
## 5.6.3
|
|
|
|
* **Bug Fix**
|
|
* Fix rest parameter array allocation loop being incorrectly aliased.
|
|
|
|
## 5.6.2
|
|
|
|
* **Bug Fix**
|
|
* Fix method key literals not turning into computed member expression in loose mode.
|
|
* Elect rest parameters in spread element position as candidates instead of replacing them in place.
|
|
|
|
## 5.6.0
|
|
|
|
* **Bug Fix**
|
|
* Fix istanbul interop for register hook when registering for non-existence extension.
|
|
* Fix super class constructor call differing for no constructor in derived classes.
|
|
* Disable module import receiver when in loose mode.
|
|
* Fix duplicate filenames when using `babel` CLI when passing multiple matching patterns.
|
|
* Register labels as bindings to fix undeclared variable checks.
|
|
* **Polish**
|
|
* Remove unnecessary string binary expressions when transforming template literals.
|
|
* Support module live bindings in arbitary positions not in Program statement position.
|
|
* Throw error when attemping to replace a `Program` root node with another node not of type `Program`.
|
|
* Optimise rest parameters in spread element position and allocate rest array at the earliest common ancestor of all references.
|
|
* Generate original number representation when value was not changed.
|
|
* Check for invalid binding identifiers when generating inferred method names.
|
|
* Don't terminate CLI when watching files fail compilation on init.
|
|
* **New Feature**
|
|
* Add new plugin API.
|
|
* **Internal**
|
|
* Split react displayName addition into a plugin.
|
|
* Add check for `JSXMemberExpression` to `t.isReferenced`.
|
|
* Move `validation.undeclaredVariableCheck` transformer up.
|
|
* Start great core-to-plugin exodus.
|
|
* Add `BindingIdentifier` virtual type.
|
|
* Hidden class optimisations.
|
|
* Array allocation optimisations.
|
|
* Update `regenerator`.
|
|
* Update `js-tokens`.
|
|
* Sync with upstream Acorn.
|
|
|
|
## 5.5.8
|
|
|
|
* **Internal**
|
|
* Remove extremely unprofessional and harsh error message for those hotlinking to `resolve-rc`.
|
|
|
|
## 5.5.7
|
|
|
|
* **Bug Fix**
|
|
* Push newline after decorators when doing code gen.
|
|
* Rewriting error handling to normalise options before merging them.
|
|
* Remove duplicate keys in `alias-keys.json` causing errors in strict mode.
|
|
* Fix `$ babel --help` not showing optional transformers as such.
|
|
* **New Feature**
|
|
* Add `auxiliaryCommentBefore` and `auxiliaryCommentAfter` options.
|
|
|
|
## 5.5.6
|
|
|
|
* **Bug Fix**
|
|
* Fix `let` binding collision in loop head not properly replacing `AssignmentExpression`s.
|
|
|
|
## 5.5.5
|
|
|
|
* **Bug Fix**
|
|
* Fix `file.opts` not being set before `file.log.deprecate` was called causing a `ReferenceError` as it was checking for a property on it.
|
|
|
|
## 5.5.4
|
|
|
|
* **Bug Fix**
|
|
* Add back missing `shouldIgnore` check.
|
|
* Log message on deprecated options rather than throw an error.
|
|
* Fix name of `auxiliaryComment` option when attempting Istanbul interop in `babel/register`.
|
|
|
|
## 5.5.3
|
|
|
|
* **Bug Fix**
|
|
* Fix weird state bug when traversing overa `node` `ClassProperty` instead of `path` in the `es6.classes` transformer.
|
|
|
|
## 5.5.2
|
|
|
|
* **Bug Fix**
|
|
* Fix `NodePath#isPure` on `Property` nodes.
|
|
* Use cwd instead of entry file directory when working out relative directory for `babel/register`.
|
|
* **Internal**
|
|
* Add scary warning for those few who choose to use the WIP experimental transformers.
|
|
|
|
## 5.5.1
|
|
|
|
* **Bug Fix**
|
|
* Remove `ClassProperty` nodes always in the `Flow` transformer. This is fine now since class properties aren't supported in any engine that supports classes but the `es7.classProperties` transformer will need to be updated in the future to desugar to ES6 classes instead of relying on the `es6.classes` transformer from being ran.
|
|
|
|
## 5.5.0
|
|
|
|
* **Bug Fix**
|
|
* Allow pushing declarations to `SwitchStatement`s.
|
|
* Fix `minification.removeDebugger` to remove `DebuggerStatement`s rather than `ExpressionStatement`s with an identifier of `debugger`.
|
|
* Check LHS in `ForInStatement` and `ForOfStatement` for constant violations.
|
|
* Register function `id` as a reference when naming methods to avoid collisions.
|
|
* Support key literals when checking for the existence of `displayName` property when attempting to add it for `React.createClass`.
|
|
* Remove `ExportDefaultSpecifier` check from `t.isDefaultSpecifier`.
|
|
* Don't consider `JSXIdentifier` HTML tag identifiers to be references.
|
|
* **Polish**
|
|
* Update `minification.deadCodeElimination` transformer to remove all statements after completion statements.
|
|
* Update `minification.deadCodeElimination` transformer to not inline single used bindings that exist in different scopes.
|
|
* When performing Istanbul interop in `babel/register`, add the auxiliary comment `"istanbul ignore text"` to get more accurate coverage.
|
|
* Add `--nolazy` argument to `babel-node`.
|
|
* Add support for `cluster` forking.
|
|
* Perform scope tracking in a single pass instead of multiple.
|
|
* Smarten up type inferrence and resolution to support the whole array of language constructs.
|
|
* Optimise module metadata retrieval into a single pass.
|
|
* Ignore trailing commas when inferring newlines.
|
|
* Rename `minification.inlineExpressions` transformer to `minification.constantFolding`.
|
|
* Check path relative to entry file when checking to see if we're inside `node_modules` when using `babel/register`.
|
|
* Upgrade `regenerator`.
|
|
|
|
## 5.4.7
|
|
|
|
* **Bug Fix**
|
|
* Don't consider `JSXAttribute` `names` to be valid `ReferencedIdentifier`s.
|
|
|
|
## 5.4.6
|
|
|
|
* **Bug Fix**
|
|
* Fix `spec.functionName` transformer incorrectly attempting to rename a binding that doesn't exist as it's a global.
|
|
* **Internal**
|
|
* Deprecate custom module formatters.
|
|
|
|
## 5.4.5
|
|
|
|
* **Bug Fix**
|
|
* Add `JSXIdentifier` as a valid `ReferencedIdentifier` visitor virtual type.
|
|
* Ignore `CallExpression` `_prettyCall` when the `retainLines` option is enabled.
|
|
* Inherit comments to new declaration node when exploding module declarations.
|
|
* Fix `es6.tailCall` transformer failing on calls that exceed the max parameters of the function.
|
|
|
|
## 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**
|
|
* Fix `module` being incorrectly rewritten when used as in an export declaration.
|
|
* When performing single-reference inlining, ensure that the single reference isn't a child of the binding itself.
|
|
* Fix a bug in `minification.deadCodeElimination` where a new binding instance was being created for local class bindings instead of just inheriting the parent one.
|
|
* Fix bug with paren printing in `compact` and `retainLines` mode where a left paren was already printed before catching up.
|
|
* **Internal**
|
|
* Handle contexts for paths much better. This will ensure that the path node location info is in sync.
|
|
|
|
## 5.4.2
|
|
|
|
* **Polish**
|
|
* `ignore` and `only` patterns are now **very** liberal. The pattern can now exist anywhere in the path.
|
|
|
|
## 5.4.1
|
|
|
|
* **Bug Fix**
|
|
* Add missing `slash` dependency. Thanks [@browncolyn](https://github.com/browncolyn)!
|
|
* **Polish**
|
|
* Clean up `shouldIgnore` algorithm to work how you'd expect rather than being a hacky piece of shit. It now crawls the entire path, checking each section of it against the input ignore/only patterns. This means that the pattern `foo` will ignore the paths `foo/bar.js`, `bar/foo` etc.
|
|
|
|
## 5.4.0
|
|
|
|
* **New Feature**
|
|
* Added [function bind syntax](https://github.com/zenparsing/es-function-bind) behind stage 0. Thanks [@RReverser](https://github.com/rreverser)!
|
|
* Added `env` option. Especially handy when using the `.babelrc`.
|
|
* **Bug Fix**
|
|
* Fix files not properly being ignored when `babel.transform` ignores them when using `$ babel`.
|
|
* Fix scope tracking registering loop head bindings to their `VariableDeclaration` instead of `VariableDeclarator`.
|
|
* **Polish**
|
|
* Normalise path separators for souce map paths when using `$ babel`.
|
|
* Rework `PathHoister` to ignore global references and to not deopt on reassignments to referenced bindings, instead it tries to hoist to the highest scope.
|
|
* Added missing exponential operator inlining. Thanks [@nkt](https://github.com/nkt)!
|
|
* Optimise `regenerator` transformer. Thanks [@benjamn](https://github.com/benjamn)!
|
|
|
|
## 5.3.3
|
|
|
|
* **Bug Fix**
|
|
* Fix `minification.deadCodeElimination` transformer incorrectly trying to inline import declarations.
|
|
* Fix `minification.inlineExpression` transformer getting into an infinite loop.
|
|
|
|
## 5.3.2
|
|
|
|
* **Bug Fix**
|
|
* Fix patterns not being considered when hoisting variables in the `es6.blockScoping` transformer.
|
|
|
|
## 5.3.1
|
|
|
|
* **Bug Fix**
|
|
* Fix unique export specifiers not being cloned when exploding class and function exports,
|
|
* **Polish**
|
|
* Turn import remaps to sequence expressions to remove their context and improve performance.
|
|
|
|
## 5.3.0
|
|
|
|
**Speeeeeeed**
|
|
|
|

|
|
|
|
* **Spec Compliancy**
|
|
* Allow trailing param commas for methods when using the `es7.trailingCommas` transformer.
|
|
* **Bug Fix**
|
|
* Fix `es6.blockScoping` transformer not properly ignoring `break` in `SwitchCase`.
|
|
* Fix lookahead context saving to avoid weird tokenizer state.
|
|
* Explode duplicate identifiers in export/import specifiers and property shorthand to create unique objects.
|
|
* Skip loose mode for class methods when they have decorators.
|
|
* When removing nodes, share their comments with their siblings.
|
|
* Properly hoist temp param declarations when doing TCO.
|
|
* **Internal**
|
|
* Add `--harmony_generators` flag to `$ babel-node`.
|
|
* Internal AST traversals have been minimised **drastically**. Transformers have been grouped together which means entire tree traversals are much fewer. Visiting nodes is now also skipped if the traversal context can detect that the handler is a noop. This sames precious cycles as it avoids constructing traversal paths and creating a new traversal context. See issues [#1472](https://github.com/babel/babel/issues/1472) and [#1486](https://github.com/babel/babel/issues/1486) for related discussion.
|
|
* **Polish**
|
|
* Move many `utility` transformers to `minification`.
|
|
|
|
## 5.2.17
|
|
|
|
* **Bug Fix**
|
|
* Fix auxiliary comments not properly being attached to function declaration helpers.
|
|
* Add `Super` node type to `ast-types` patch.
|
|
* Ignore parameter bindings when attempting to inline them in the `minification.deadCodeElimination` transformer.
|
|
* Correct `extensions` arguments when using the Babel CLI.
|
|
|
|
## 5.2.16
|
|
|
|
* **Bug Fix**
|
|
* Fix plugins being disabled when using the whitelist.
|
|
* Fix correct function scope being passed to `nameMethod.property` when inferring the function name for class methods.
|
|
* Fix incorrect extensions reference causing weird issues when using the Babel CLI.
|
|
* Fix destructuring param reference replacements not inheriting from their original param.
|
|
* **Spec Compliancy**
|
|
* Fix order that method decorators are ran in.
|
|
|
|
## 5.2.15
|
|
|
|
* **Bug Fix**
|
|
* Fix initializer descriptor add attempt if it doesn't exist.
|
|
|
|
## 5.2.14
|
|
|
|
* **Bug Fix**
|
|
* Fix bug with initializer decorators where the descriptors weren't being defined if there was no `initializer` property.
|
|
* **Internal**
|
|
* Expose `retainLines` option to CLI.
|
|
* Fix `retainLines` option not being taken into consideration when doing multiple variable declaration declarators generation.
|
|
* Expose minified and unminified copies of dist scripts.
|
|
|
|
## 5.2.13
|
|
|
|
* **Bug Fix**
|
|
* Fix `ExportDeclaration`s being incorrectly removed when using the `utility.deadCodeElimination` transformer.
|
|
* Fix position of `utility` transformers.
|
|
* **New Feature**
|
|
* Add built-in `esquery` support.
|
|
* **Internal**
|
|
* Consolidate notion of "virtual types".
|
|
|
|
## 5.2.12
|
|
|
|
* **Polish**
|
|
* Make UID generation based on module declarations **much** nicer.
|
|
* **Internal**
|
|
* Remove internal check for traversal path replacement of self. This is a pattern that **could** come up in the wild and it could lead to pretty nasty code and may lead to internal regressions as the test coverage isn't 100% :( Instead, just put it in the fast path.
|
|
|
|
## 5.2.11
|
|
|
|
* **Internal**
|
|
* Rename `getModuleName` option to `getModuleId`, doh.
|
|
|
|
## 5.2.10
|
|
|
|
* **Bug Fix**
|
|
* Fix numerous issues in `replaceWithSourceString`. Thanks [@pangratz](https://github.com/pangratz)!
|
|
* **New Feature**
|
|
* Add `getModuleName` option. Thanks [@jayphelps](https://github.com/jayphelps)!
|
|
|
|
## 5.2.9
|
|
|
|
* **Bug Fix**
|
|
* Fix `_blockHoist` transformer incorrectly sorting nodes on shitty environments that aren't spec compliant in their key order.
|
|
* Fix broken `parse` API method reference to an undeclared import.
|
|
|
|
## 5.2.7
|
|
|
|
* **Bug Fix**
|
|
* Move `utility.deadCodeElimination` transformer up to avoid race conditions.
|
|
* Fix shorthand property scope binding renaming.
|
|
* **Polish**
|
|
* Turn helper variable declarations into function declarations if possible.
|
|
* **Internal**
|
|
* Removed native inheritance support from classes.
|
|
* Added `replaceWithSourceString` path API.
|
|
* Split up `es3.propertyLiterals` and `es3.memberExpressionLiterals` transformers to `minfication.propertyLiterals` and `es3.memberExpressionLiterals`.
|
|
|
|
## 5.2.6
|
|
|
|
* **Internal**
|
|
* Fix transformer aliases being accidently set as deprecated ones.
|
|
* Expose `Pipeline` as `TransformerPipeline` instead.
|
|
|
|
## 5.2.5
|
|
|
|
* **Bug Fix**
|
|
* Fix `parse` API not adding all the correct pipeline transformers.
|
|
|
|
## 5.2.4
|
|
|
|
* **Bug Fix**
|
|
* Fix race condition with the Node API being loaded awkwardly and not being able to initialise itself when used in the browser.
|
|
* **Internal**
|
|
* Expose `transform.pipeline`.
|
|
|
|
## 5.2.3
|
|
|
|
* **Bug Fix**
|
|
* Fix plugin containers being called with an undefined import. Thanks [@timbur](https://github.com/timbur)!
|
|
* Allow Flow object separators to be commas. Thanks [@monsanto](https://github.com/monsanto)!
|
|
* Add missing `Statement` and `Declaration` node aliases to flow types.
|
|
|
|
## 5.2.2
|
|
|
|
* **Internal**
|
|
* Allow `util.arrayify` to take arbitrary types and coerce it into an array.
|
|
|
|
## 5.2.1
|
|
|
|
* **Bug Fix**
|
|
* Fix regression in `node/register` that caused `node_modules` to not be ignored.
|
|
|
|
## 5.2.0
|
|
|
|
* **Bug Fix**
|
|
* Fix plugin strings splitting arbitrarily on `:` which caused full paths on Windows to fail as they include `:` after the drive letter.
|
|
* Call class property `initializer`s with their target instead of their descriptor.
|
|
* Fix `ignore` and `only` not properly working on Windows path separators. Thanks [@stagas](https://github.com/stagas)!
|
|
* Fix `resolveRc` running on files twice causing issues. Thanks [@lukescott](https://github.com/lukescott)!
|
|
* Fix shorthand properties not correctly being target for `isReferenced` checks. Thanks [@monsanto](https://github.com/monsanto)!
|
|
* **Polish**
|
|
* Allow passing an array of globs to `babel/register` `only` and `ignore` options. Thanks [@Mark-Simulacrum](https://github.com/Mark-Simulacrum)!
|
|
* When inferring function names that collide with upper bindings, instead of doing the wrapper, instead rename them.
|
|
* Consider constant-like variable declaration functions to always refer to themselves so TOC can be performed.
|
|
* Process globs manually when using `$ babel` as some shells such as Windows don't explode them. Thanks [@jden](https://github.com/jden)!
|
|
* Add alternative way to execute plugins via a closure that's called with the current Babel instance.
|
|
* **Internal**
|
|
* Remove multiple internal transformers in favor of directly doing things when we need to. Previously, declarations such as `_ref` that we needed to create in specific scopes were done at the very end via the `_declarations` transformer. Now, they're done and added to the scope **right** when they're needed. This gets rid of the crappy `_declarations` property on scope nodes and fixes the crappy regenerator bug where it was creating a new `BlockStatement` so the declarations were being lost.
|
|
* Rework transformer traversal optimisation. Turns out that calling a `check` function for **every single node** in the AST is ridiculously expensive. 300,000 nodes timesed by ~30 transformers meant that it took tens of seconds to perform while it's quicker to just do the unnecessary traversal. Seems obvious in hindsight.
|
|
* **New Feature**
|
|
* Add `jscript` transformer that turns named function expressions into function declarations to get around [JScript's horribly broken function expression semantics](https://kangax.github.io/nfe/#jscript-bugs). Thanks [@kondi](https://github.com/kondi)!
|
|
* Add `@@hasInstance` support to objects when using the `es6.spec.symbols` transformer.
|
|
* Add `retainLines` option that retains the line (but not the columns!) of the input code.
|
|
|
|
## 5.1.13
|
|
|
|
* **Polish**
|
|
* Remove symbol check from `defineProperty` helper.
|
|
|
|
## 5.1.12
|
|
|
|
* **Bug Fix**
|
|
* Fix `resolveModuleSource` not being ran on `ExportAllDeclaration`s.
|
|
* Fix `.babelrc` being resolved multiple times when using the require hook.
|
|
* Fix parse error on spread properties in assignment position.
|
|
* Fix `externalHelpers` option being incorrectly listed as type `string`.
|
|
* **Internal**
|
|
* Upgrade `core-js` to `0.9.0`.
|
|
* **Spec Compliancy**
|
|
* Fix object decorators not using the `initializer` pattern.
|
|
* Remove property initializer descriptor reflection.
|
|
|
|
## 5.1.11
|
|
|
|
* **Bug Fix**
|
|
* Memoise and bind member expression decorators.
|
|
* Move JSX children cleaning to opening element visitor. Fixes elements not being cleaned in certain scenarios.
|
|
* Consider `SwitchStatement`s to be `Scopable`.
|
|
* Fix `bluebirdCoroutines` calling `interopRequireWildcard` before it's defined.
|
|
* Add space to `do...while` code generation.
|
|
* Validate `super` use before `this` on `super` exit rather than entrance.
|
|
* **Polish**
|
|
* Add Babel name to logger.
|
|
|
|
## 5.1.10
|
|
|
|
* **Bug Fix**
|
|
* Remove `makePredicate` from acorn in favor of an `indexOf`.
|
|
* Remove statements to expression explosion when inserting a block statement.
|
|
* **Internal**
|
|
* Remove runtime compatibility check.
|
|
|
|
## 5.1.9
|
|
|
|
* **Bug Fix**
|
|
* Fix class property initializers with `undefined` values not being correctly writable.
|
|
* Fix self inferring generators incorrectly causing a stack error.
|
|
* Fix default export specifiers not triggering AMD `module` argument inclusion.
|
|
* Fix assignments not having their module references properly remapped.
|
|
* **Internal**
|
|
* Upgrade to latest `acorn`.
|
|
* **Polish**
|
|
* Make invalid LHS pattern error messages nicer.
|
|
|
|
## 5.1.8
|
|
|
|
* **Bug Fix**
|
|
* Only make parenthesized object pattern LHS illegal.
|
|
|
|
## 5.1.7
|
|
|
|
* **Internal**
|
|
* Add `parse` node API.
|
|
|
|
## 5.1.6
|
|
|
|
* **Bug Fix**
|
|
* Fix `runtime` built-in catchall not properly checking for local variables.
|
|
|
|
## 5.1.5
|
|
|
|
* **Internal**
|
|
* Bump `core-js` version.
|
|
|
|
## 5.1.4
|
|
|
|
* **Polish**
|
|
* Add missing `Reflect` methods to runtime transformer.
|
|
|
|
## 5.1.3
|
|
|
|
* **Internal**
|
|
* Switch entirely to vanilla regenerator.
|
|
* Clean up and make the parsing of decorators stateless.
|
|
* **Bug Fix**
|
|
* Don't do TCO on generators and async functions.
|
|
* Add missing `core-js` runtime definitions.
|
|
|
|
## 5.1.2
|
|
|
|
* **Bug Fix**
|
|
* Add `getIterator` and `isIterable` to `babel-runtime` build script.
|
|
|
|
## 5.1.1
|
|
|
|
* **Bug Fix**
|
|
* Add missing runtime symbol definitions.
|
|
|
|
## 5.1.0
|
|
|
|
* **Bug Fix**
|
|
* Fix super reference when using decorators.
|
|
* Don't do array unpack optimisation when member expressions are present.
|
|
* Add missing descriptors for undecorated class properties.
|
|
* Don't consider `arguments` and `eval` valid function names when doing function name inferrence.
|
|
* Fix scope tracking of constants in loop heads.
|
|
* Parse `AwaitExpression` as a unary instead of an assignment.
|
|
* Fix regex evaluation when attempting static evaluation.
|
|
* Don't emit tokens when doing a lookahead.
|
|
* Add missing `test` declaration to `utility.deadCodeElimination` transformer.
|
|
* **Internal**
|
|
* Upgrade `regenerator` to the latest and use my branch with the hope of eventually switching to vanilla regenerator.
|
|
* Add support for the replacement of for loop `init`s with statements.
|
|
* Upgrade dependencies.
|
|
* **Polish**
|
|
* When adding the scope IIFE when using default parameters, don't shadow the function expression, just `apply` `this` and `arguments` if necessary.
|
|
* Use path basename as non-default import fallback.
|
|
* **New Feature**
|
|
* Add [trailing function comma proposal](https://github.com/jeffmo/es-trailing-function-commas). Thanks [@AluisioASG](https://github.com/AluisioASG)!
|
|
* Add support for object literal decorators.
|
|
* Make core-js modular when using the `runtime` transformer.
|
|
|
|
## 5.0.12
|
|
|
|
* **Bug Fix**
|
|
* Fix incorrect remapping of module references inside of a function id redirection container.
|
|
|
|
## 5.0.11
|
|
|
|
* **Bug Fix**
|
|
* Fix new `for...of` loops not properly inheriting their original loop.
|
|
* **Internal**
|
|
* Disable scope instance cache.
|
|
* **Polish**
|
|
* Allow comments in `.babelrc` JSON.
|
|
|
|
## 5.0.9
|
|
|
|
* **Polish**
|
|
* Use `moduleId` for UMD global name if available.
|
|
* **Bug Fix**
|
|
* Fix UMD global `module` variable shadowing the `amd`/`common` `module` variable.
|
|
* Fix Flow param type annotation regression.
|
|
* Fix function name collision `toString` wrapper. Thanks [@alawatthe](https://github.com/alawatthe)!
|
|
|
|
## 5.0.8
|
|
|
|
* **Bug Fix**
|
|
* Fix falsy static class properties not being writable.
|
|
* Fix block scoping collisions not properly detecting modules and function clashes.
|
|
* Skip `this` before `super` for derived constructors on functions.
|
|
|
|
## 5.0.7
|
|
|
|
* **New Feature**
|
|
* Add `--ignore` and `--only` support to the CLI.
|
|
* **Bug Fix**
|
|
* Remove `HOMEPATH` environment variable from home resolution in `babel/register` cache.
|
|
* **Internal**
|
|
* Disable WIP path resolution introducing infinite recursion in some code examples.
|
|
* **Polish**
|
|
* Add live binding to CommonJS default imports.
|
|
|
|
## 5.0.6
|
|
|
|
* **Bug Fix**
|
|
* Fix mangling of import references that collide with properties on `Object.prototype`.
|
|
* Fix duplicate declarations incorrectly being reported for `var`.
|
|
|
|
## 5.0.5
|
|
|
|
* **Internal**
|
|
* Upgrade `core-js`.
|
|
* **Bug Fix**
|
|
* Fix arrays not being supported in `util.list`.
|
|
|
|
## 5.0.4
|
|
|
|
* **Polish**
|
|
* Check for top level `breakConfig` in `resolveRc`.
|
|
|
|
## 5.0.3
|
|
|
|
* **Bug Fix**
|
|
* Make relative location absolute before calling `resolveRc`.
|
|
* **Internal**
|
|
* Switch to global UID registry.
|
|
* Add `breakConfig` option to prevent Babel from erroring when hitting that option.
|
|
|
|
## 5.0.1
|
|
|
|
* **Bug Fix**
|
|
* Fix duplicate declaration regression.
|
|
* Fix not being able to call non-writable methods.
|
|
|
|
## 5.0.0
|
|
|
|
* **New Feature**
|
|
* Decorators based on [@wycat's](https://github.com/wycats) [stage 1 proposal](https://github.com/wycats/javascript-decorators).
|
|
* Class property initializers based on [@jeffmo's](https://github.com/jeffmo) [stage 0 proposal](https://gist.github.com/jeffmo/054df782c05639da2adb).
|
|
* Export extensions based on [@leebyron's](https://github.com/leebyron) [stage 1 proposal](https://github.com/leebyron/ecmascript-more-export-from).
|
|
* UMD module formatter now supports globals.
|
|
* Add `es3.runtime`, `optimisation.react.inlineElements` and `optimisation.react.constantElements` transformers.
|
|
* Add stage option that replaces the experimental one.
|
|
* Allow ES7 transformer to be enabled via `optional` instead of only via `stage`.
|
|
* Infer string quotes to use in the code generator.
|
|
* Consider `export { foo as default };` to be the same as `export default foo;`.
|
|
* Add `nonStandard` option that can be set to `false` to remove parser support for JSX and Flow.
|
|
* Add `jsxPragma` option.
|
|
* Automatically generate CLI options based on internal API options.
|
|
* Add support for `.babelrc` on absolute paths.
|
|
* Plugin API!
|
|
* **Internal**
|
|
* Export `options` in browser API.
|
|
* Rewritten parser.
|
|
* Don't block hoist when runtime transformer is enabled in system module formatter.
|
|
* Rewritten the internal traversal and node replacement API to use "paths" that abstracts out node relationships.
|
|
* **Polish**
|
|
* JSX output is now more inline with the official JSX transformer.
|
|
* Hoist block scoping IIFE - this improves memory usage and performance.
|
|
* Better IIFE detection - references are now checked to see if they're referencing the binding we're searching for.
|
|
* Check for import reassignments in constants transformer.
|
|
* Make method definitions with expression bodies illegal.
|
|
* Save register cache on tick instead of `SIGINT`.
|
|
* Enable strict mode on babel-node eval flag.
|
|
* **Bug Fixes**
|
|
* Add support for live bindings. This change also increases the reliablity of export specifier renaming.
|
|
* Add support for super update and non equals assignment expressions.
|
|
* Rename shadow constructor binding in classes.
|
|
* Seed next iteration bindings with previous fresh bindings when reassinging loop block scoped variables.
|
|
* Fix new expression spread referencing the wrong constructor.
|
|
* Call `resolveModuleSource` on dynamic imports.
|
|
* Added `param` to list of duplicate declaration kinds.
|
|
* **Breaking Changes**
|
|
* The Babel playground has been removed.
|
|
* ES7 Abstract References have been removed.
|
|
* Experimental option has been removed in favor of a stage option.
|
|
* Rename `returnUsedHelpers` to `metadataUsedHelpers`.
|
|
|
|
## 4.7.16
|
|
|
|
* **Bug Fix**
|
|
* Fix constructor spreading of typed arrays.
|
|
* Fix break/continue/return aliasing of non-loops in block scoping transformer.
|
|
|
|
## 4.7.15
|
|
|
|
* **Bug Fix**
|
|
* Fix constructor spreading of collections.
|
|
|
|
## 4.7.14
|
|
|
|
* **Bug Fix**
|
|
* Fix constructor spreading of `Promise`.
|
|
* **Internal**
|
|
* Deprecate remaining playground transformers and abstract references.
|
|
|
|
## 4.7.13
|
|
|
|
* **Bug Fix**
|
|
* Handle comments on use strict directives.
|
|
* Fix assignment patterns with a left side pattern.
|
|
* **Polish**
|
|
* Special case `this` when doing expression memoisation.
|
|
|
|
## 4.7.12
|
|
|
|
* **Bug Fix**
|
|
* Deprecate `playground.methodBinding`.
|
|
|
|
## 4.7.11
|
|
|
|
* **Bug Fix**
|
|
* Fix unicode regexes stripping their unicode flag before being passed on two `regexpu`.
|
|
|
|
## 4.7.10
|
|
|
|
* **Internal**
|
|
* Deprecate `playground.methodBinding` and `playground.objectGetterMemoization`.
|
|
* **Bug Fix**
|
|
* Fix `inputSourceMap` option. Thanks [@Rich-Harris](https://github.com/Rich-Harris)!
|
|
|
|
## 4.7.9
|
|
|
|
* **Polish**
|
|
* Allow `inputSourceMap` to be set to `false` to skip the source map inference.
|
|
* Infer computed literal property names.
|
|
* **Bug Fix**
|
|
* Fix nested labeled for-ofs.
|
|
* Fix block scoping `break` colliding with the parent switch case.
|
|
* **Internal**
|
|
* Upgrade `acorn-babel`.
|
|
|
|
## 4.7.8
|
|
|
|
* **Bug Fix**
|
|
* Fix computed classes not properly setting symbols.
|
|
|
|
## 4.7.7
|
|
|
|
* **Bug Fix**
|
|
* Fix `types` API exposure.
|
|
|
|
## 4.7.6
|
|
|
|
* **Bug Fix**
|
|
* Fix non-Identifier/Literal computed class methods.
|
|
* **Polish**
|
|
* Add a fallback if `stack` on an error is unconfigurable.
|
|
* Hoist `esModule` module declarations to the top of the file to handle circular dependencies better.
|
|
|
|
## 4.7.5
|
|
|
|
* **Bug Fix**
|
|
* Don't remap` break`s to call the iterator return.
|
|
* **Polish**
|
|
* Use a different helper for computed classes for much nicer output. Also fixes a bug in symbols being non-enumerable so they wouldn't be set on the class.
|
|
|
|
## 4.7.4
|
|
|
|
* **Bug Fix**
|
|
* Rewrite named function expressions in optional async function transformers.
|
|
* Hoist directives.
|
|
* Remove `Number` from the list of valid `runtime` constructors.
|
|
* **Internal**
|
|
* `spec.typeofSymbol` transformer has been renamed to `es6.symbols`.
|
|
|
|
## 4.7.2
|
|
|
|
* **New Feature**
|
|
* `"both"` option for `sourceMap`.
|
|
* Add output types to external helpers. Thanks [@neVERberleRfellerER](https://github.com/neVERberleRfellerER)!
|
|
* **Bug Fix**
|
|
* Fix node duplication sometimes resulting in a recursion error.
|
|
* Ignore `break`s within cases inside `for...of`.
|
|
* **Polish**
|
|
* Split up variable declarations and export declarations to allow easier transformation.
|
|
|
|
## 4.7.0
|
|
|
|
* **Bug Fix**
|
|
* Add `alternate` to list of `STATEMENT_OR_BLOCK` keys.
|
|
* Add support for module specifiers to `t.isReferenced`.
|
|
* **New Feature**
|
|
* Add `inputSourceMap` option.
|
|
* **Polish**
|
|
* Throw an error on different `babel` and `babel-runtime` versions.
|
|
* Replicate module environment for `babel-node` eval.
|
|
* Clean up classes output.
|
|
* **Spec Compliancy**
|
|
* Make it illegal to use a rest parameter on a setter.
|
|
|
|
## 4.6.6
|
|
|
|
* **Bug Fix**
|
|
* Fix incorrect method call in `utility.deadCodeElimination` transformer.
|
|
* Fix `es6.blockScopingTDZ` transformer duplicating binding nodes.
|
|
|
|
## 4.6.5
|
|
|
|
* **Internal**
|
|
* `useStrict` transformer has been renamed to `strict`.
|
|
|
|
## 4.6.4
|
|
|
|
* **Bug Fix**
|
|
* Fix `ForOfStatement` not proplery inheriting labels.
|
|
* When in closure mode in block scoping transformer, properly check for variable shadowing.
|
|
* **New Feature**
|
|
* New `utility.inlineEnvironmentVariables` and `utility.inlineExpression` transformers.
|
|
|
|
## 4.6.3
|
|
|
|
* **Bug Fix**
|
|
* Fix `arguments` being incorrectly aliased in arrow function rest parameter optimisation.
|
|
* Make deoptimisation trigger safer.
|
|
* **New Feature**
|
|
* Flow types are now retained when blacklisting the `flow` transformer.
|
|
|
|
## 4.6.1
|
|
|
|
* **Bug Fix**
|
|
* Fix generators in template directory being transformed.
|
|
* Fix exposure of `util` for plugins.
|
|
|
|
## 4.6.0
|
|
|
|
* **New Feature**
|
|
* Desugar sticky regexes to a new constructor expression so it can be handled by a polyfill.
|
|
* **Spec Compliancy**
|
|
* `for...of` now outputs in a lengthy `try...catch` this is to ensure spec compliancy in regards to iterator returns and abrupt completions. See [google/traceur-compiler#1773](https://github.com/google/traceur-compiler/issues/1773) and [babel/babel/#838](https://github.com/babel/babel/issues/838) for more information.
|
|
* **Polish**
|
|
* Rest parameters that are only refered to via number properties on member expressions are desugared into a direct `arguments` reference. Thanks [@neVERberleRfellerER](https://github.com/neVERberleRfellerER)!
|
|
* `$ babel` no longer exits on syntax errors.
|
|
* **Internal**
|
|
* Upgrade `browserify`.
|
|
* Upgrade `source-map`.
|
|
* Publicly expose more internals.
|
|
|
|
## 4.5.5
|
|
|
|
* **Polish**
|
|
* Delete old extensions when overriding them in `babel/register`.
|
|
|
|
## 4.5.3
|
|
|
|
* **Bug Fix**
|
|
* Fix whitelisting logic for helper build script.
|
|
|
|
## 4.5.2
|
|
|
|
* **New Feature**
|
|
* `returnUsedHelpers` option and add whitelist to `buildHelpers`.
|
|
* **Bug Fix**
|
|
* Fix function arity on self referencing inferred named functions.
|
|
* **Internal**
|
|
* Bump `acorn-babel`.
|
|
* Start converting source to ES6...
|
|
|
|
## 4.5.1
|
|
|
|
**Babel now compiles itself!**
|
|
|
|

|
|
|
|
## 4.5.0
|
|
|
|
* **New Feature**
|
|
* Add `.babelrc` support.
|
|
* **Bug Fix**
|
|
* Move use strict directives to the module formatter bodies.
|
|
* **Internal**
|
|
* Make default `bin/babel` behaviour to ignore non-compilable files and add a `--copy-files` flag to revert to the old behaviour.
|
|
|
|
## 4.4.6
|
|
|
|
* **Bug Fix**
|
|
* Fix extending a class expression with no methods/only constructor. Thanks [@neVERberleRfellerER](https://github.com/neVERberleRfellerER)!
|
|
* Allow `MemberExpression` as a valid `left` of `ForOfStatement`.
|
|
* **Polish**
|
|
* Throw an error when people try and transpile code with the `@jsx React.DOM` pragma as it conflicts with the custom jsx constructo method detection.
|
|
* Crawl all comments for `@jsx` pragma.
|
|
* **Internal**
|
|
* Upgrade `chalk`.
|
|
* Upgrade `core-js`.
|
|
|
|
## 4.4.5
|
|
|
|
* **Internal**
|
|
* Remove function self reference optimisation.
|
|
|
|
## 4.4.4
|
|
|
|
* **Bug Fix**
|
|
* Handle inferred function ids to be reassigned and deopt to a slower but working equivalent.
|
|
* Don't unpack array patterns that have more elements than their right hand array expression.
|
|
* **Polish**
|
|
* Improve syntax highlighting in the code frame. Thanks [@lydell](https://github.com/lydell)!
|
|
* **Internal**
|
|
* Upgrade `acorn-babel`.
|
|
|
|
## 4.4.3
|
|
|
|
* **Bug Fix**
|
|
* Fix `for...of` iterator break returns being duplicated.
|
|
* Only call `return` on the iterator if it exists.
|
|
* **Internal**
|
|
* Rename `selfContained` transformer to `runtime`.
|
|
|
|
## 4.4.2
|
|
|
|
* **New Feature**
|
|
* Add `moduleId` option for specifying a custom module id.
|
|
|
|
## 4.4.0
|
|
|
|
* **New Feature**
|
|
* `/*** @jsx NAMESPACE **/` comments are now honored by the `react` transformer.
|
|
* `getModuleName` option.
|
|
* Infer function expression names. Thanks [@RReverser](https://github.com/RReverser)!
|
|
* **Bug Fix**
|
|
* Add proper control flow for tail recursion optimisation.
|
|
* **Internal**
|
|
* Remove useless `format` options and move the `format.compact` option to `format`.
|
|
* **Polish**
|
|
* Newline handling of the code generator has been heavily improved.
|
|
* Code generator now deopts whitespace if the input size is >100KB.
|
|
|
|
## 4.3.0
|
|
|
|
* **Breaking Change**
|
|
* Remove `commonStandard` module formatter and make it the default behaviour of all the strict module formatters.
|
|
|
|
## 4.2.1
|
|
|
|
* **Polish**
|
|
* Add auxiliary comment to let scoping closure flow control.
|
|
|
|
## 4.2.0
|
|
|
|
* **Polish**
|
|
* Use an assignment instead of a define for `__esModule` in loose mode.
|
|
* **Internal**
|
|
* Add error for `eval();` usage and enable strict mode for parsing.
|
|
|
|
## 4.1.0
|
|
|
|
* **New Feature**
|
|
* Add `BABEL_CACHE_PATH` and `BABEL_DISABLE_CACHE` environment variables.
|
|
* **Internal**
|
|
* Replace many internal util functions with modules. Thanks [@sindresorhus](https://github.com/sindresorhus)!
|
|
|
|
## 4.0.2
|
|
|
|
* **Bug Fix**
|
|
* Fix generators not properly propagating their internal declarations.
|
|
* **Polish**
|
|
* Update setter param length error message.
|
|
* Use ranges on dependencies.
|
|
|
|
## 4.0.0
|
|
|
|
* 6to5 is now known as Babel.
|
|
* Global helpers/runtime has now been given the more descriptive name of "external helpers".
|