aboutsummaryrefslogtreecommitdiff
path: root/src/js_parser
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-05-08 18:12:54 -0700
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-05-08 18:12:54 -0700
commitecabda3ced144698684717dccd067e2519def21d (patch)
tree1504d6e829393b1e03b6bf8ae70ccff8ed61e2ed /src/js_parser
parent18794b18b32e5cfeb190f29fe29590d742a327e8 (diff)
downloadbun-ecabda3ced144698684717dccd067e2519def21d.tar.gz
bun-ecabda3ced144698684717dccd067e2519def21d.tar.zst
bun-ecabda3ced144698684717dccd067e2519def21d.zip
Fix exporting default twice
Former-commit-id: 2f4cd402e4f718d2ab89e4ae61582d95eae7cd97
Diffstat (limited to 'src/js_parser')
-rw-r--r--src/js_parser/js_parser.zig11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/js_parser/js_parser.zig b/src/js_parser/js_parser.zig
index 59152f869..5d353121d 100644
--- a/src/js_parser/js_parser.zig
+++ b/src/js_parser/js_parser.zig
@@ -9353,12 +9353,12 @@ pub const P = struct {
}
switch (data.value) {
- .expr => |*expr| {
- const was_anonymous_named_expr = expr.isAnonymousNamed();
- data.value.expr = p.visitExpr(expr.*);
+ .expr => |expr| {
+ const was_anonymous_named_expr = p.isAnonymousNamedExpr(expr);
+ data.value.expr = p.visitExpr(expr);
// // Optionally preserve the name
- data.value.expr = p.maybeKeepExprSymbolName(expr.*, "default", was_anonymous_named_expr);
+ data.value.expr = p.maybeKeepExprSymbolName(expr, "default", was_anonymous_named_expr);
// Discard type-only export default statements
if (p.options.ts) {
@@ -9395,10 +9395,13 @@ pub const P = struct {
if (func.func.name != null and func.func.name.?.ref != null) {
stmts.append(p.keepStmtSymbolName(func.func.name.?.loc, func.func.name.?.ref.?, name)) catch unreachable;
}
+ // prevent doubling export default function name
+ return;
},
.s_class => |class| {
var shadow_ref = p.visitClass(s2.loc, &class.class);
stmts.appendSlice(p.lowerClass(js_ast.StmtOrExpr{ .stmt = stmt.* }, shadow_ref)) catch unreachable;
+ return;
},
else => {},
}