diff options
author | 2021-05-08 18:12:54 -0700 | |
---|---|---|
committer | 2021-05-08 18:12:54 -0700 | |
commit | ecabda3ced144698684717dccd067e2519def21d (patch) | |
tree | 1504d6e829393b1e03b6bf8ae70ccff8ed61e2ed /src/js_parser | |
parent | 18794b18b32e5cfeb190f29fe29590d742a327e8 (diff) | |
download | bun-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.zig | 11 |
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 => {}, } |