From 33528002b496728457cccd9ddf54d2e50bc7e3f2 Mon Sep 17 00:00:00 2001 From: Mihai Bazon Date: Thu, 24 Sep 2015 17:55:37 +0300 Subject: [PATCH] Fix wrap_commonjs to include code first (code could have directives, i.e. "use strict") --- lib/ast.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/ast.js b/lib/ast.js index 2e539cff..c3176702 100644 --- a/lib/ast.js +++ b/lib/ast.js @@ -329,12 +329,11 @@ var AST_Toplevel = DEFNODE("Toplevel", "globals", { } })); } - var wrapped_tl = "(function(exports, global){ global['" + name + "'] = exports; '$ORIG'; '$EXPORTS'; }({}, (function(){return this}())))"; + var wrapped_tl = "(function(exports, global){ '$ORIG'; '$EXPORTS'; global['" + name + "'] = exports; }({}, (function(){return this}())))"; wrapped_tl = parse(wrapped_tl); wrapped_tl = wrapped_tl.transform(new TreeTransformer(function before(node){ - if (node instanceof AST_SimpleStatement) { - node = node.body; - if (node instanceof AST_String) switch (node.getValue()) { + if (node instanceof AST_Directive) { + switch (node.value) { case "$ORIG": return MAP.splice(self.body); case "$EXPORTS": -- 2.34.1