From b542921f3db7a0439c53883a93187a8fc8f5bdb3 Mon Sep 17 00:00:00 2001 From: zhiyuan <32867472+zhiyuang@users.noreply.github.com> Date: Thu, 13 Oct 2022 20:44:08 +0800 Subject: Fix import alias (#1313) --- src/bun.js/api/transpiler.zig | 1 + src/js_printer.zig | 2 +- test/bun.js/transpiler.test.js | 8 ++++++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/bun.js/api/transpiler.zig b/src/bun.js/api/transpiler.zig index 24678850f..b512fb776 100644 --- a/src/bun.js/api/transpiler.zig +++ b/src/bun.js/api/transpiler.zig @@ -1119,6 +1119,7 @@ pub fn transformSync( buffer_writer = printer.ctx; var out = JSC.ZigString.init(buffer_writer.written); out.mark(); + out.setOutputEncoding(); return out.toValueGC(ctx.ptr()).asObjectRef(); } diff --git a/src/js_printer.zig b/src/js_printer.zig index edb4bc35e..343911baf 100644 --- a/src/js_printer.zig +++ b/src/js_printer.zig @@ -881,7 +881,7 @@ pub fn NewPrinter( p.printIdentifier(name); } pub fn printClauseAlias(p: *Printer, alias: string) void { - if (p.canPrintIdentifier(alias)) { + if (!strings.containsNonBmpCodePoint(alias)) { p.printSpaceBeforeIdentifier(); p.printIdentifier(alias); } else { diff --git a/test/bun.js/transpiler.test.js b/test/bun.js/transpiler.test.js index e10e4339f..855046911 100644 --- a/test/bun.js/transpiler.test.js +++ b/test/bun.js/transpiler.test.js @@ -1747,6 +1747,14 @@ class Foo { expect(out.includes("otherNamesStillWork")).toBe(true); }); + it("special identifier in import statement", () => { + const out = transpiler.transformSync(` + import {ɵtest} from 'foo' + `); + + expect(out).toBe("import {ɵtest} from \"foo\";\n"); + }); + const importLines = [ "import {createElement, bacon} from 'react';", "import {bacon, createElement} from 'react';", -- cgit v1.2.3