aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/js_parser.zig16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/js_parser.zig b/src/js_parser.zig
index 496e7116e..e443d30b2 100644
--- a/src/js_parser.zig
+++ b/src/js_parser.zig
@@ -3267,15 +3267,15 @@ pub const Parser = struct {
var exports_kind = js_ast.ExportsKind.none;
const exports_ref_usage_count = p.symbols.items[p.exports_ref.innerIndex()].use_count_estimate;
const uses_exports_ref = exports_ref_usage_count > 0;
- const uses_module_ref = p.symbols.items[p.module_ref.innerIndex()].use_count_estimate > 0;
-
- var wrapper_expr: ?Expr = null;
-
if (uses_exports_ref and p.commonjs_named_exports.count() > 0) {
p.deoptimizeCommonJSNamedExports();
}
- if (p.commonjs_named_exports_deoptimized and p.commonjs_named_exports.count() > 0) {
+ const uses_module_ref = p.symbols.items[p.module_ref.innerIndex()].use_count_estimate > 0;
+
+ var wrapper_expr: ?Expr = null;
+
+ if (p.isDeoptimizedCommonJS()) {
exports_kind = .cjs;
} else if (p.esm_export_keyword.len > 0 or p.top_level_await_keyword.len > 0) {
exports_kind = .esm;
@@ -5522,11 +5522,15 @@ fn NewParser_(
"Multiple exports with the same name \"{s}\"",
.{std.mem.trim(u8, alias, "\"'")},
);
- } else {
+ } else if (!p.isDeoptimizedCommonJS()) {
try p.named_exports.put(alias, js_ast.NamedExport{ .alias_loc = loc, .ref = ref });
}
}
+ fn isDeoptimizedCommonJS(p: *P) bool {
+ return p.commonjs_named_exports_deoptimized and p.commonjs_named_exports.count() > 0;
+ }
+
pub fn recordUsage(p: *P, ref: Ref) void {
if (p.is_revisit_for_substitution) return;
// The use count stored in the symbol is used for generating symbol names
&d=retro' width='13' height='13' alt='Gravatar' /> Jarred Sumner 4-124/+1214 2022-02-20add version to Framework structGravatar Jarred Sumner 2-0/+11 2022-02-20[JSON] Implement a way to convert any Zig type to a JSON objectGravatar Jarred Sumner 1-0/+153 2022-02-20Update mime_type.zigGravatar Jarred Sumner 1-0/+4 2022-02-20[bun dev] Implement `/bun:info` endpointGravatar Jarred Sumner 1-0/+51 2022-02-20[bun dev] Implement open in editor for transpiled filesGravatar Jarred Sumner 3-40/+117 2022-02-18Mention behaviorGravatar Jarred Sumner 2-0/+3 2022-02-18Add a way to specify an editor in bunfig.tomlGravatar Jarred Sumner 1-1/+13 2022-02-18Update base.zigGravatar Jarred Sumner 1-14/+194 2022-02-18[bun dev] Errors with file names can be opened in editor nowGravatar Jarred Sumner 6-17/+594 2022-02-18Update javascript.zigGravatar Jarred Sumner 1-0/+1 2022-02-18Use an `enum` for `Ref` instead of a buggy packed structGravatar Jarred Sumner 7-156/+161 2022-02-18Update bundler.zigGravatar Jarred Sumner 1-0/+2