From 4561732bceff46c1cc53fd51c41f61446bfc971e Mon Sep 17 00:00:00 2001 From: Logan Smyth Date: Mon, 29 Feb 2016 23:50:22 -0800 Subject: [PATCH] Revert .requeue changes made in earlier ES3 fixes. --- .../src/index.js | 5 +++++ packages/babel-traverse/src/path/context.js | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js b/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js index a91e22f639..2f39be67bf 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js @@ -258,6 +258,11 @@ export default function () { } } else { path.replaceWith(buildExportsAssignment(t.identifier("default"), declaration.node)); + + // Manualy re-queue `export default foo;` expressions so that the ES3 transform + // has an opportunity to convert them. Ideally this would happen automatically from the + // replaceWith above. See T7166 for more info. + path.parentPath.requeue(path.get("expression.left")); } } else if (path.isExportNamedDeclaration()) { let declaration = path.get("declaration"); diff --git a/packages/babel-traverse/src/path/context.js b/packages/babel-traverse/src/path/context.js index 2c2c0ed366..ce1f6f5361 100644 --- a/packages/babel-traverse/src/path/context.js +++ b/packages/babel-traverse/src/path/context.js @@ -211,7 +211,10 @@ export function setKey(key) { export function requeue(pathToQueue = this) { if (pathToQueue.removed) return; - let contexts = this._getQueueContexts(); + // TODO(loganfsmyth): This should be switched back to queue in parent contexts + // automatically once T2892 and T7160 have been resolved. See T7166. + // let contexts = this._getQueueContexts(); + let contexts = this.contexts; for (let context of contexts) { context.maybeQueue(pathToQueue);