aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Dylan Conway <35280289+dylan-conway@users.noreply.github.com> 2023-05-23 14:56:03 -0700
committerGravatar GitHub <noreply@github.com> 2023-05-23 14:56:03 -0700
commit21002ed4055ddfec8413c56672839f2a02843894 (patch)
tree41a9906c5e80227b3b2527a127bcf3093b217e43 /src
parent2a669a657a422c8fe7c621284fde51419531db8f (diff)
downloadbun-21002ed4055ddfec8413c56672839f2a02843894.tar.gz
bun-21002ed4055ddfec8413c56672839f2a02843894.tar.zst
bun-21002ed4055ddfec8413c56672839f2a02843894.zip
check if key from `exports` can be printed as an identifier (#3032)
* check if key can be printed as an identifier * possibly escape
Diffstat (limited to 'src')
-rw-r--r--src/js_printer.zig10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/js_printer.zig b/src/js_printer.zig
index f2c9d0ed5..54aa0150c 100644
--- a/src/js_printer.zig
+++ b/src/js_printer.zig
@@ -1988,8 +1988,14 @@ fn NewPrinter(
if (value.loc_ref.ref.?.eql(id.ref)) {
if (p.options.commonjs_named_exports_deoptimized or value.needs_decl) {
p.printSymbol(p.options.commonjs_named_exports_ref);
- p.print(".");
- p.print(key);
+ if (p.canPrintIdentifier(key)) {
+ p.print(".");
+ p.print(key);
+ } else {
+ p.print("[");
+ p.printPossiblyEscapedIdentifierString(key, true);
+ p.print("]");
+ }
} else {
p.printSymbol(value.loc_ref.ref.?);
}