From 51143beab2b4a549f29202936b5593a1d10157ae Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Thu, 5 Nov 2015 11:29:39 +0000 Subject: [PATCH] add allowTopLevelThis option to babel-plugin-transform-es2015-modules-commonjs --- .../src/index.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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 9c3dd8e181..ffc45ed476 100644 --- a/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js +++ b/packages/babel-plugin-transform-es2015-modules-commonjs/src/index.js @@ -121,8 +121,12 @@ export default function () { inherits: require("babel-plugin-transform-strict-mode"), visitor: { - ThisExpression(path) { - if (!path.findParent((path) => !path.is("shadow") && THIS_BREAK_KEYS.indexOf(path.type) >= 0)) { + ThisExpression(path, state) { + if ( + state.opts.allowTopLevelThis !== true && + !path.findParent((path) => !path.is("shadow") && + THIS_BREAK_KEYS.indexOf(path.type) >= 0) + ) { path.replaceWith(t.identifier("undefined")); } },