diff --git a/CHANGELOG.md b/CHANGELOG.md index 3f205ca1f3..4c7f7ef26b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# 1.14.6 + + * Avoid ensuring a block on non-array node replacements. + # 1.14.5 * Upgrade `acorn-6to5`. diff --git a/bin/_6to5-node b/bin/_6to5-node index 62d30b0512..2133bf156e 100644 --- a/bin/_6to5-node +++ b/bin/_6to5-node @@ -32,6 +32,7 @@ to5.register({ var _eval = function (code, filename) { code = to5.transform(code, { + modules: "commonInterop", filename: filename, blacklist: ["useStrict"], experimental: commander.experimental diff --git a/lib/6to5/traverse/index.js b/lib/6to5/traverse/index.js index 76ae72e24e..32bad31add 100644 --- a/lib/6to5/traverse/index.js +++ b/lib/6to5/traverse/index.js @@ -51,7 +51,7 @@ function traverse(parent, callbacks, opts) { updated = true; node = obj[key] = result; - if (_.contains(t.STATEMENT_OR_BLOCK_KEYS, key) && !t.isBlockStatement(obj)) { + if (_.isArray(result) && _.contains(t.STATEMENT_OR_BLOCK_KEYS, key) && !t.isBlockStatement(obj)) { t.ensureBlock(obj, key); } }