Skip to content

Latest commit

 

History

History
1093 lines (769 loc) · 32.2 KB

CHANGELOG-6to5.md

File metadata and controls

1093 lines (769 loc) · 32.2 KB

6to5 Changelog

3.6.6

  • Internal
  • Upgrade core-js.
  • Bug Fix
  • Fix temp variables not being properly pushed inside of while loops.
  • New Feature
  • Add auxiliaryComment/--auxiliary-comment option that prepends comments to auxiliary helpers.

3.6.5

  • Internal
  • Upgrade core-js.
  • Bug Fix
  • Fix block scoping leaking variables in IIFE mode.
  • Fix tail call transformer exploding on return statements as the consequent of an if statement.
  • New Feature
  • Add validation.react transformer.

3.6.4

  • New Feature
  • Add support for flow type casts and module types.

3.6.3

  • Internal
  • Upgrade acorn-6to5.
  • Use default property on 6to5-runtime.

3.6.2

  • Polish
  • Use better iterator detection in slicedToArray helper and add support for it to the selfContained transformer.

3.6.1

  • Bug Fix
  • Multiline JSX string literals are now supported.
  • Fix scope tracking import specifiers incorrectly.
  • Fix templates incorrectly recursing into their replacements.
  • Internal
  • Type inferrence now extends to function return types.
  • Upgrade acorn-6to5.

3.6.0

  • New Feature
  • Add playground class property initializers.
  • Polish
  • Completely reimplemented scope tracking, can now track types and optimise certain helpers based on it.
  • Extremely fast tail recursion optimisation implementation. Thanks @RReverser!
  • Internal
  • kexec has been removed as an optional dependency and must be user installed.
  • Upgrade regenerator-6to5.
  • Upgrade acorn-6to5.
  • Upgrade core-js.

3.5.3

  • Enable es6.tailCall transformer with the first implementation that only works with self referencing calls until we can implement nested tail calls elegantly.

3.5.2

  • Disable es6.tailCall temporairly after reports of it breaking.

3.5.1

  • Polish
  • Allow tail calls to work across files without the runtime.
  • Internal
  • Upgrade acorn-6to5.

3.5.0

  • Bug Fix
  • Destructuring patterns as the left operator in ForInStatement/ForOfStatement.
  • Polish
  • Make default parameter IIFE invocation smarter.
  • Make __esModule flag non-enumerable. Thanks @daliwali!
  • Internal
  • More performance improvements.
  • Parsing is now ~30% faster thanks to marijnh/acorn@7264bc0178e7e6af7cfe02e9e0c6b26ee0e6007f.
  • New Feature
  • Optional es6.blockScopingTDZ is now completely functional and handles all edgecases.
  • super in object literals.
  • Tail call optimisation. Thanks @RReverser!

3.4.1

  • Bug Fix
  • Fix conflicting --module-ids shorthand arg in $ 6to5.
  • Add require hook options to cache key.
  • Fix strict module formatter.

3.4.0

  • New Feature
  • Add commonStandard module formatter.
  • Bug Fix
  • Fix conflicting --module-ids shorthand arg in $ 6to5.
  • Internal
  • Lots of internal refactoring with scope tracking and traversal.
  • Polish
  • Don't return map in the API result if sourceMap was set to "inline".

3.3.12

  • Bug Fix
  • Don't override MemberExpressions with core-js in selfContained if a local binding exists.

3.3.11

  • Bug Fix
  • Fix the require cache.

3.3.10

  • Internal
  • Restructure transformers so they're only ran if the AST contains nodes that they need to worry about. Improves transpilation speed significantly.
  • Bug Fix
  • Fix source maps not tracking end of node locations.
  • Spec Compliancy
  • Use static super references as the home object is actually done at definition time.
  • Polish
  • Force the es6.destructuring transformer to be whitelisted when the es7.objectSpread transformer is.
  • Join sibling string literals when creating JSX.

3.3.9

  • Bug Fix
  • Fix super inside of functions.
  • Fix super constructor inheritance.

3.3.7

  • Bug Fix
  • Add --use-strict to valid node flags in 6to5-node.
  • Fix booleans not being properly stripped from the arguments in 6to5-node.
  • Force .js extension when writing files to directories with 6to5.

3.3.5

  • Bug Fix
  • Fix block scoping inside of while loops.
  • Make module name regex more conservative. Thanks @johlrich!
  • Fix block scoping of constants.
  • Fix istanbul interop.
  • Make JSX transforming more inline with the official transformer with spaces after non-empty last lines.
  • Polish
  • Make it illegal to export a property called __esModule.

3.3.4

  • Polish
  • Add istanbul require interop.
  • Bug Fix
  • Fix incorrect source map column tracking in specific scenarios.

3.3.3

  • Polish
  • Remap top level this to undefined instead of throwing an error.
  • Bug Fix
  • Run selfContained transformer over the regenerator runtime when building 6to5-runtime.
  • Fix t.isReferenced not properly allowing value nodes.

3.3.1

  • Bug Fix
  • Block hoist assignment pattern destructuring.

3.3.0

  • Bug Fix
  • Do all transforms before the regenerator transform is ran.
  • New Feature
  • Added back the 2.x optional runtime.

3.2.1

  • Bug Fix
  • Fix block scoping transformer rewriting breaks and continues to inner labels.

3.2.0

  • Bug Fix
  • Fixed scope tracking for default parameters IIFE.
  • Fixed block scoped functions.
  • Improved bin/6to5 path resolution.
  • New Feature
  • You can now trigger super setters in classes. Thanks @kruppel!
  • Add resolveSourceMap option.
  • Better support and output for block scoping loops with labels.

3.1.1

  • Polish
  • Drop enumerable: false clause from class method definitions as enumerable already defaults to false.
  • Bug Fix
  • Properly transform XJSIdentifier nodes referencing this into a ThisExpression.

3.1.0

3.0.16

  • Bug Fix
  • Don't ignore dynamic import specifiers.
  • Internal
  • Upgrade regenerator-6to5.
  • Polish
  • Use Object.assign in place of extends helper if it exists.
  • Require individual lodash methods. Thanks @stefanpenner!

3.0.15

  • Bug Fix
  • Use debug/node instead of debug to avoid browserify using the browser version that references window.

3.0.14

  • New Feature
  • Add --optional argument to 6to5-node.
  • Bug Fix
  • Fix bug in asyncToGenerator helper where it was incorrectly calling generator iterator functions.

3.0.13

  • Bug Fix
  • Fix modules loose mode using modules instead of es6.modules.

3.0.12

  • Internal
  • Add internal debug messages.
  • Bug Fix
  • Add noScope option to traverse.clearProperties.

3.0.11

  • Bug Fix
  • Fix ast-types RestElement definition.
  • Make es6.forOf loose mode more versatile and support destructuring.

3.0.10

  • Bug Fix
  • In types.getIds make sure the declaration inside of ExportDeclaration is actually a Declaration.

3.0.9

  • Bug Fix
  • Make t.isReferenced more powerful, actually take into consideration all contexts were identifier nodes aren't actually references.
  • Don't camelcase underscores when converting a string to a valid identifier.

3.0.8

  • Bug Fix
  • Split up default function declaration exports due to regenerator destroying the parent export declaration.

3.0.7

  • Internal
  • Upgrade core-js to 0.4.9.
  • Bug Fix
  • Add id to function express scope tracking.

3.0.6

  • Bug Fix
  • Fix block scope variable tracking stopping whenever it hits a new scope.
  • Fix block scope variable tracking breaking on all block statement scopes that have a for loop parent.

3.0.5

  • Internal
  • More reliable default parameter scope.

3.0.4

  • Bug Fix
  • Remove traversal stops from block scope tracking.

3.0.3

  • Internal
  • Ignore options starting with _.

3.0.2

  • Internal
  • Add common plugin options to valid options list.

3.0.1

  • Internal
  • Downgrade kexec as 1.1.0 throws compilation errors.

3.0.0

  • Polish
  • Generated code autoindentation.
  • Moved global uid registry to a scope registry resulting in nicer uids.
  • this is now illegal in the top level scope when using the default useStrict transformer.
  • New asyncToGenerator helper that's much more compact.
  • Throw errors on unknown options.
  • More reliable default parameter scope.
  • Helpers are now compact and have no newlines.
  • Internal
  • Rewritten a lot of the internals to much simpler.
  • Removed TDZ from default parameters as it was very wonky and unreliable.
  • Upgrade core-js to 0.4.6.
  • Upgrade acorn-6to5.
  • JSX support is now on-par with react-tools/esprima.
  • Shorthand destructuring.
  • Bug Fix
  • Generators now work flawlessly with any parameter transformers.
  • Optional async function transformers should not name their functions.
  • Remove unlink event watching in bin/6to5.
  • Fix regenerator variable declarations being incorrectly hoisted breaking scope.
  • Transformers that attempted to simplify expressions that had no consequence now take into account whether it's one of the last statements/expressions in the script.
  • New Feature
  • New selfContained transformer.
  • New undeclaredVariableCheck optional transformer.
  • Added --blacklist and --whitelist options to 6to5-node.
  • Breaking Change
  • Caching is now always enabled for the require hook. It also now no longer caches require resolutions.
  • Bare super(); only works inside of constructors.
  • Removed the optional runtime in favor of the selfContained transformer.
  • This shorthand has been removed from the playground.
  • 6to5/polyfill can now only be required once.
  • CLI
    • --indent option has been removed.
    • --include-regenerator option has been removed.
    • --amd-modules-id option has been removed, use --module-ids instead.
  • Options
    • amdModuleIds option has been removed, use moduleIds instead.
    • includeRegenerator has been removed.
    • ignoreRegex fallback has now been dropped from the require hook. register(/foo/);, register({ ignoreRegex: /foo/ }) -> register({ ignore: /foo/ }).
  • Modules
    • Module interop now only collapses to module.exports when there's a single export that's default.
    • Imports and exports are now illegal anywhere except the root level by default. Set modules to loose mode to allow them everywhere.
  • Transformers
    • Optional fast transformer backwards compatibility support has been removed. Use loose mode.
    • Removed the coreAliasing transformer in favor of selfContained.
    • Renamed transformers:
    • specNoForInOfAssignment -> validation.noForInOfAssignment
    • specSetters -> validation.setters
    • specBlockScopedFunctions -> spec.blockScopedFunctions
    • malletOperator -> playground.malletOperator
    • methodBinding -> playground.methodBinding
    • memoizationOperator -> playground.memoizationOperator
    • objectGetterMemoization -> playground.objectGetterMemoization
    • modules -> es6.modules
    • propertyNameShorthand -> es6.properties.shorthand
    • arrayComprehension -> es7.comprehensions
    • generatorComprehension -> es7.comprehensions
    • arrowFunctions -> es6.arrowFunctions
    • classes -> es6.classes
    • objectSpread -> es7.objectSpread
    • exponentiationOperator -> es7.exponentiationOperator
    • spread -> es6.spread
    • templateLiterals -> es6.templateLiterals
    • propertyMethodAssignment -> es6.properties.shorthand
    • computedPropertyNames -> es6.properties.computed
    • defaultParameters -> es6.parameters.default
    • restParameters -> es6.parameters.rest
    • destructuring -> es6.destructuring
    • forOf -> es6.forOf
    • unicodeRegex -> es6.unicodeRegex
    • abstractReferences -> es7.abstractReferences
    • constants -> es6.constants
    • letScoping -> es6.blockScoping
    • blockScopingTDZ -> es6.blockScopingTDZ
    • generators -> regenerator
    • protoToAssign -> spec.protoToAssign
    • typeofSymbol -> spec.typeofSymbol
    • coreAliasing -> selfContained
    • undefinedToVoid -> spec.undefinedToVoid
    • undeclaredVariableCheck -> validation.undeclaredVariableCheck
    • specPropertyLiterals -> minification.propertyLiterals
    • specMemberExpressionLiterals -> minification.memberExpressionLiterals

2.13.7

  • Bug Fix
  • Don't realias variables that are already declared in optional coreAliasing transformer.

2.13.6

  • Bug Fix
  • Add NewExpression as a valid parent for parentheses insertion for ConditionalExpression.

2.13.5

  • Bug Fix
  • Allow rest parameters to be destructuring patterns.
  • Internal
  • Upgrade kexec to 1.1.0.

2.13.4

  • Bug Fix
  • Fix ordering of destructuring and default params.
  • Fix loop body scope.
  • Fix for...of transformation not retaining it's scope.
  • Add destructuring assignment support to scope tracking.
  • Polish
  • More reliable newlines for pretty printing variable declarations.

2.13.3

  • Internal
  • Add coverage and vendor to npmignore.

2.13.2

  • Bug Fix
  • Fix super inside of nested functions.
  • Internal
  • Move let scoping TDZ into a separate transformer until it's more solid.
  • Use process.stdin.write instead of console.log in bin to avoid sprintfification.

2.13.1

  • New Feature
  • Temporal dead zone for block binding.

2.13.0

  • New Feature
  • Block scoped functions.
  • Add --loose all option.
  • Add playground mallet operator thanks to @jridgewell.
  • Bug Fix
  • Rewrote large parts of the let scoping transformer. Now passes all known tests.
  • Internal
  • Even more optimisations thanks to the awesome @gaearon.
  • Upgrade acorn-6to5.
    • Fixes exponentation operator thanks to @charliesome.
    • Fix flow optional parameters with types.
  • Upgrade chokidar to 0.12.6.
  • Upgrade commander to 2.6.0.
  • Upgrade core-js to 0.4.5.
  • Upgrade estraverse to 1.9.1.
  • Upgrade jshint to 2.5.11.
  • Upgrade regenerator to 0.8.9.
  • Upgrade regexpu to 1.0.0.
  • Upgrade source-map to 0.1.43.
  • Upgrade source-map-support to 0.2.9.
  • Upgrade browserify to 8.1.1.
  • Upgrade chai to 1.10.0.
  • Upgrade istanbul to 0.3.5.
  • Upgrade mocha to 2.1.0.
  • Upgrade uglify-js to 2.4.16.

2.12.6

  • Bug Fix
  • Add missing flow type traversal keys.

2.12.5

  • Internal
  • Fix incorrect for...in loop still causing ember-script issues.

2.12.4

  • Polish
  • Rest parameters now allocate the array before populating.
  • Internal
  • for...in loops have been changed to optimized for loops - better performance and no enumeration of protoype keys.
  • Parts of the code generator have now been optimized thanks to gaearon.

2.12.3

  • Spec Compliancy
  • Optional typeof transformer checks for undefined before passing it to the helper.
  • Class methods are now named.

2.12.2

  • Internal
  • Exclude nodes in function parameters and catch clauses from isReferenced check.

2.12.1

  • Internal
  • Add .jsx to list of allowed extensions.

2.12.0

  • Bug Fix
  • Support non-string JSX literals.
  • New Feature
  • Loose mode for some transformers that enables non-spec behavior.
  • Internal
  • Uglify --mangle sort has been added to the build script, cutting minified scripts in half.

2.11.4

  • Internal
  • Make all dependency versions fixed.

2.11.3

  • Bug Fix
  • Allow a string to be passed as the optional option.

2.11.2

  • Bug Fix
  • Support esprima-style catch clause handlers.
  • Polish
  • Don't print a stacktrace for syntax errors in the CLI.

2.11.1

  • Bug Fix
  • Remove stray console.log outputting debug code.
  • Remove Dict from coreAliasing.

2.11.0

  • Bug Fix
  • Fix unnecessary IIFE in default parameters on method calls.
  • Add support for supers inside of closures.
  • New Feature
  • Add --keep-module-id-extensions/keepModuleIdExtensions option to keep extensions in module ids.
  • Polish
  • Special case single argument spread properties in super inside classes.
  • Don't use a variable declaration for class declaration IFFE.
  • Rename inherits helper parameters.
  • coreAliasing transformer now aliases Promise, Set, Map and more. Thanks @AluisioASG.

2.10.1

  • Internal
  • Upgrade core-js to 0.4.4.
  • New Feature
  • Added --include-regenerator option to CLI and includeRegenerator option to API that includes the regenerator runtime if necessary.

2.10.0

  • New Feature
  • Add classesFastSuper optional transformer that doesn't support parent getters and prototype changing.
  • Add forOfFast transformer that speeds up for...of on arrays but produces more code.
  • Add --react-compat to bin/6to5.
  • Spec Compliancy
  • Disallow setters without a single parameter.
  • Add configurable and writable to defined properties.
  • Use define instead of assignment for class methods.
  • Polish
  • Fix bin name in 6to5-node --help.
  • Fix shorthand --whitelist name in bin/6to5.
  • Internal
  • Hot code optimisation of traversal etc thanks to gaearon.

2.9.4

  • Bug Fix
  • Support UpdateExpressions as MemberExpression objects.

2.9.3

  • Bug Fix
  • Remove exportsWildcard helper in favor of defaults.

2.9.2

  • Bug Fix
  • Pass exports to exportWildcard helper to allow for use inside the optional runtime.

2.9.1

  • Bug Fix
  • Fix runtime generator breaking the helper inclusion loop.

2.9.0

  • Internal
  • Upgrade acorn-6to5.
    • Now supports destructuring shorthand properties.

2.8.1

  • Bug Fix
  • Fix computed accessors on object literals.

2.8.0

  • New Feature
  • Add commonStrict, amdStrict and umdStrict module formatters that remove module.exports interop assignment.
  • Add --indent option to the 6to5 CLI.

2.7.4

  • Polish
  • Inherit assignments from their declaration in destructuring.
  • Properly align multi-declarator variable declarations.

2.7.3

  • Polish
  • Indent and add newlines to React.createElement calls in react transformer.
  • Remove Object.assign calls and replace it with an extends helper.

2.7.1

  • New Feature
  • Expose version on browser and node API.
  • Internal
  • Upgrade core-js to 0.4.1

2.7.0

  • Spec Compliancy
  • Disallow reassignments of imports.
  • New Feature
  • reactCompat option to enable pre-v0.12 react components.

2.6.3

  • Bug Fix
  • Fix 2.6.0 regression caused by faulty export default from a source handling.

2.6.2

  • Bug Fix
  • Fix rest parameter keys when on functions with params.

2.6.1

  • Bug Fix
  • Fix rest parameter arguments key.

2.6.0

  • Bug Fix
  • Better handling of number literal property keys.
  • Handle NewExpression paren insertion edegcases better.
  • Internal
  • Fix incorrect AST node identifier("this").
  • Better toIdentifier method that handles reserved words.
  • Upgrade acorn-6to5.
    • Fix exponentiation operator precedence.
    • Fix line terminators after async contextual keywords.
    • Add semicolons as class elements inside of a class body.
  • Upgrade to core-js 4.0.0.
  • Upgrade to regenerator 0.8.3.
    • Fix non-loop labeled statements.
  • New Feature
  • Basic destructuring defaults
  • Add .es to list of supported extensions.
  • Add optional typeofSymbol transformer.
  • Use a for loop for rest parameters instead of Array.prototype.slice.
  • Polish
  • Move "use strict"; to inside module bodies instead of at the top of the file.
  • Better handling of dynamic imports.
  • Spec Compliancy
  • Class inheritance now has a function or null type check.
  • Add interopRequireWildcard around wildcard imports and exports to handle non-object exports.

2.5.0

  • Remove noDuplicateProperties transformer.
  • Better generated UIDs based on nodes.
  • Default parameters now use arguments[i], conditionals and variable declarations instead of using long-form if statements.

2.4.10

  • Upgrade acorn-6to5.

2.4.9

  • Upgrade acorn-6to5.
  • Add optional protoToAssign transformer.
  • Fix missing properties from computed property keys.
  • Make ES7 comprehensions let variables.

2.4.8

  • Make require("6to5/register") work with browserify - #370. Thanks @hughsk!

2.4.7

  • Upgrade acorn-6to5.

2.4.6

  • Move coreAliasing and undefinedToVoid transformers down to catch moduleFormatter transforms.

2.4.5

  • Avoid printing comments if they've already been output.

2.4.4

  • Add module type to browser build <script> handler.
  • Fix some MemberExpression modifying incorrectly setting property to a MemberExpression.

2.4.3

  • Upgrade acorn-6to5.
  • Add support for FunctionDeclarations in bluebirdCoroutines and asyncToGenerators transformers.

2.4.2

  • Upgrade acorn-6to5.
  • Better uids generated for various transformers based on parent node.
  • Alias flat references in coreAliasing transformer.

2.4.1

  • Better whitespace handling of parenthesized expressions due to trailing comments.
  • Fix yield inside of comprehensions.

2.4.0

  • Use a closure always for classes with a super.
  • Always use native loops for array comprehensions.
  • Allow yield inside of comprehensions.
  • Add optional bluebirdCoroutine transformer.
  • Add optional asyncToGenerator transformer.
  • Move useStrict transformer to before _moduleFormatter causing "use strict"; to always be placed the very top.

2.3.2

  • Add parens on expressions with trailing comments.

2.3.1

  • Add undefinedToVoid optional transformer.
  • Use Object.defineProperty for computed properties.

2.3.0

  • Upgrade acorn-6to5.
  • Support circular references and hoist variable declarations in system module formatter.
  • Add optional transformers, including a new coreAliasing transformer that aliases native ES6 static properties to their core-js equivalent.

2.2.0

  • Make system module formatter modules anonymous by default.
  • Fix duplicate comments being output, breaking code.

2.1.0

  • Add cache option to register hook.
  • Update core-js.
  • Fix starting newline not being added on case statements.
  • Fix destructuring VariableDeclarations not inside BlockStatements and Program.

2.0.4

  • Avoid being greedy when destructuring array iterables.

2.0.3

  • Hoist function declarations in system module formatter for circular references.
  • Hoist default function declarations in umd and amd module formatters for circular references.

2.0.2

  • Inherit comments in for-of transformer.
  • Remove interopRequire from system module formatter.

2.0.1

  • Remap UpdateExpression module export binding.
  • Fix automatic closure on PrivateDeclaration in classes.

2.0.0

  • Make string literal generation only escapes unicode that it has to.
  • Internal code generation format options have been exposed.
  • Change playground method binding operator from : to # removing ambiguous syntax with terns.
  • Fix rest parameters in async and generator functions.
  • Export/import declarations replace by the modules transformer now inherit comments.
  • Added playground flag to 6to5-node.
  • 6to5-node now behaves the same as node.
  • 6to5-node now uses kexec to become the forked process to correctly propagate signals on unix.
  • Constants are now block scoped.
  • Exposed ast transformer.
  • Merged commonInterop and common module formatters.
  • Fix generator comprehensions not inheriting arguments, this etc.
  • Object and class mutator shorthand are now enumerable.
  • Remove regenerator Generator has already finished error which isn't spec-compliant.
  • Expose internal spec transformers that nicen up code output.
  • Add export variable declaration default initializers.
  • Propagate export declaration reassignments.
  • Add initializer default to block scoped variable declarations within a loop.
  • Flow type support.
  • Make async/await contextual keywords.
  • Allow yielding of non-objects.
  • Class declarations now lack an IIFE.
  • Support falsy and null super classes.
  • Add support for experimental abstract references private declarations.
  • Leave out IIFE for class declarations.
  • Switched to core-js from es6-symbol and es6-shim for built-in polyfill.
  • amd and umd module formatters now behave the same as common with interopRequire.
  • Micro-optimizations to boost performance by 200%.
  • Rename module formatter methods import to importDeclaration and export to exportDeclaration.
  • Support multiple declarators in export variable declarations.
  • Freeze tagged template literal object.
  • Remove inlined regenerator fork.
  • Remove ParenthesizedExpression.
  • Rename object-spread helper to object-without-properties.
  • Rename class-props helper to prototype-properties.
  • Rename extends helper to inherits.
  • Completely rewritten system module formatter.

1.15.0

  • Don't alias GeneratorFunction and check the name which causes minifiers to remove the name and throw an error later on when we check if it's set.

1.14.18

  • Fix files only containg comments not being output.
  • Fix duplicate comments on property key shorthands.

1.14.17

  • Add default initializer to let variables within loop bodies.
  • Fix excessive break replacement inside of switches in let scoping.

1.14.16

  • Add object getter memos and this shorthand to playground.
  • Fix while loops in let scoping.
  • Upgrade acorn-6to5.

1.14.14

  • Fix template literals escaping.

1.14.13

  • Fix let scoping of while loops.
  • Make class methods enumerable.

1.14.12

  • Fix duplicate dynamic expressions in call spread.

1.14.10

  • Fix let scoping unneccesary override.

1.14.6

  • Avoid ensuring a block on non-array node replacements.

1.14.5

  • Upgrade acorn-6to5.
  • Fix JSON recursion error for unknown code generator node types.
  • Ensure that a statement is a block on block/statement types when replacing them with multiple nodes.

1.14.4

  • Merge pretzel maps and method binding.

1.14.3

  • Add playground pretzel maps.

1.14.2

  • Fix commonInterop default export handling.
  • Fix keyworded property key identifiers being turned into computed property key literals.

1.14.1

  • Inherit comments from ClassDeclaration.

1.14.0

1.13.13

  • Fix --debug in bin/6to5-node. Thanks @timoxley.

1.13.12

  • Ignore XJSEmptyExpressions in react transformer output.

1.13.11

  • Fix util.regexify on falsy values.
  • Fix _aliasFunction with rest parameters.
  • Export as module.exports instead of exports.default if there are no other ExportDeclarations in commonInterop module formatter.
  • Add system module formatter. Thanks @douglasduteil.

1.13.10

  • Add support for AssignmentExpression destructuring outside of ExpressionStatement.

1.13.9

  • Fix VirtualPropertyExpression visitor keys.

1.13.8

  • Only use a single reference in abstract references.

1.13.7

  • Upgrade acorn-6to5.
  • Add experimental exponentiation operator support.

1.13.6

  • Fix experimental object spread/rest helper.

1.13.5

  • Upgrade acorn-6to5.
  • Add experimental support for object spread/rest.
  • Change arguments to array to an additional helper method.

1.13.4

  • Fix single spread element returning itself.

1.13.3

  • Upgrade acorn-6to5.
  • Add experimental support for abstract references.

1.13.2

  • Optimize Array.from usage by adding a helper method.
  • Upgrade acorn-6to5.

1.13.1

  • Fix constructor spread optimisation. Thanks @zloirock.

1.13.0

  • Put experimental ES7 features behind a flag --experimental and experimental option.
  • Constructor spread performance increase. Thanks @RReverser.
  • Use self instead of window in the optional 6to5 runtime. Thanks @RReverser.

1.12.26

  • Support computed property destructuring.

1.12.25

  • Update acorn-6to5, ast-types, es6-shim, chokidar, estraverse and private.

1.12.24

  • Collect references that haven't been declared in scope.

1.12.23

  • Fix generator function export hoisting.

1.12.22

  • Update fs-readdir-recursive and chokidar.
  • Support array destructuring on iterables.
  • Make amd module id optional. Thanks @webpro.

1.12.21

  • Fix unneccesary let scoping replacement.
  • Add commonInterop module formatter. Thanks @Naddiseo.
  • Fix return outside of function body bug. Thanks @brentburg.
  • Add more flexible option types.

1.12.20

  • Append sourceMappingURL when using bin/6to5 and output sourcemaps.

1.12.19

  • Add comments option and --remove-comments flag. Thanks @webpro.
  • Embed regenerator.

1.12.18

  • Use global reference instead of window.

1.12.17

  • Add moduleName, sourceRoot and filenameRelative options. Thanks @darvelo.
  • Traversal optimisations.

1.12.16

  • Fix comments not being retained from MethodDefinition in classes.
  • Add temporal dead zone in default parameters.

1.12.15

  • Update acorn-6to5.

1.12.14

  • Fix duplicate let scoping in functions.
  • Make JSX whitespace more React-compliant.
  • Add _memberExpressionKeywords transformer that turns keyword identifiers to computed literals.
  • Upgrade regenerator-6to5.

1.12.13

  • Support duplicate constants within different block scopes.
  • Fix for-head duplication testing and replacement.
  • Support raw property on tagged template literals.

1.12.12

  • Make scope tracker more reliable to handle all edgecases.

1.12.11

  • Block scope classes.
  • Fix generation of integer Literals in MemberExpression.

1.12.10

  • Fix let scoping var hoisting.

1.12.9

  • Escape unicode characters when generating string Literals.
  • Fix semicolons being output for statements in ExportDeclaration.
  • Fix WithStatement missing parenthesis.

1.12.8

  • Temporarily forbid AssignmentExpression destructuring outside of ExpressionStatement.

1.12.7

  • Update to latest acorn-6to5.

1.12.6

  • Update to latest acorn-6to5.

1.12.5

  • Fix excessive whitespace trimming resulting in innaccurate sourcemap line.

1.12.4

  • Add doc folder for documentation.

1.12.3

  • Support generator comprehensions.
  • Use Array.from instead of Array.prototype.slice in spread transformer.
  • Support spread in NewExpressions.

1.12.2

  • Upgrade matcha to 0.6.0 and browserify to 6.3.2.
  • Add own trimRight helper instead of relying on the string instance method.
  • Support JSX spreads that aren't the first.

1.12.1

  • Fix this and arguments mapping in the _aliasFunctions transformer.

1.12.0

  • Combine jsx and react transformers to react.
  • Update react syntax output to React v0.12.

1.11.15

  • Fix JSX literal whitespace generation.

1.11.14

  • Avoid using a switch for let-scoping continue and break statements and use an if statement instead.
  • Remove excess whitespace and newlines from JSX literals.

1.11.13

  • Update regenerator-6to5
  • Add support for most escodegen formatting options