diff options
author | 2022-10-21 21:13:06 -0700 | |
---|---|---|
committer | 2022-10-21 21:13:50 -0700 | |
commit | c37d0be027b84192a96e15f6ed70d74269618de5 (patch) | |
tree | 6bdd8bac381f31c9f2358b70b6751d047a93dc34 /src | |
parent | 4c136cddd7356ad1fb6e03124d7ac60079056d69 (diff) | |
download | bun-c37d0be027b84192a96e15f6ed70d74269618de5.tar.gz bun-c37d0be027b84192a96e15f6ed70d74269618de5.tar.zst bun-c37d0be027b84192a96e15f6ed70d74269618de5.zip |
Fix `import Foo, {bar}` when from hardcoded builtin modules in runtime
Diffstat (limited to 'src')
-rw-r--r-- | src/js_printer.zig | 37 |
1 files changed, 18 insertions, 19 deletions
diff --git a/src/js_printer.zig b/src/js_printer.zig index 08064c6e3..707161ffd 100644 --- a/src/js_printer.zig +++ b/src/js_printer.zig @@ -690,6 +690,19 @@ pub fn NewPrinter( p.printIndent(); } + if (import.default_name) |default| { + p.print("var "); + p.printSymbol(default.ref.?); + if (comptime Statement == void) { + p.print(" = "); + p.printRequireOrImportExpr(import.import_record_index, &.{}, Level.lowest, ExprFlag.None()); + } else { + p.print(" = "); + p.print(statement); + } + p.printSemicolonAfterStatement(); + } + if (import.items.len > 0) { p.print("var "); p.print("{ "); @@ -700,13 +713,6 @@ pub fn NewPrinter( p.printIndent(); } - if (import.default_name) |default_name| { - p.print("default:"); - p.printSpaceBeforeIdentifier(); - p.printSymbol(default_name.ref.?); - p.print(", "); - } - for (import.items) |item, i| { if (i > 0) { p.print(","); @@ -728,7 +734,7 @@ pub fn NewPrinter( p.printSpace(); } - if (import.star_name_loc == null) { + if (import.star_name_loc == null and import.default_name == null) { if (comptime Statement == void) { p.print("} = "); p.printRequireOrImportExpr(import.import_record_index, &.{}, Level.lowest, ExprFlag.None()); @@ -736,6 +742,10 @@ pub fn NewPrinter( p.print("} = "); p.print(statement); } + } else if (import.default_name) |name| { + p.print("} ="); + p.printSpaceBeforeIdentifier(); + p.printSymbol(name.ref.?); } else { p.print("} ="); p.printSpaceBeforeIdentifier(); @@ -743,17 +753,6 @@ pub fn NewPrinter( } p.printSemicolonAfterStatement(); - } else if (import.default_name) |default| { - p.print("var "); - p.printSymbol(default.ref.?); - if (comptime Statement == void) { - p.print(" = "); - p.printRequireOrImportExpr(import.import_record_index, &.{}, Level.lowest, ExprFlag.None()); - } else { - p.print(" = "); - p.print(statement); - } - p.printSemicolonAfterStatement(); } } |