aboutsummaryrefslogtreecommitdiff
path: root/src/js_parser.zig
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-12-15 23:41:40 -0800
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-12-15 23:41:40 -0800
commite399bceb3cfbd416efc6b258d343ee1cff235855 (patch)
treed9d146d4f688e677cca571a2b16c3fdd68b1c8ff /src/js_parser.zig
parenta8fca7d679d79e37a93963a1f3bdf34a3011ba78 (diff)
downloadbun-e399bceb3cfbd416efc6b258d343ee1cff235855.tar.gz
bun-e399bceb3cfbd416efc6b258d343ee1cff235855.tar.zst
bun-e399bceb3cfbd416efc6b258d343ee1cff235855.zip
[js parser] Skip appending empty statements
Diffstat (limited to 'src/js_parser.zig')
-rw-r--r--src/js_parser.zig6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/js_parser.zig b/src/js_parser.zig
index 9603d2a22..e2f5475b2 100644
--- a/src/js_parser.zig
+++ b/src/js_parser.zig
@@ -9314,6 +9314,7 @@ fn NewParser_(
}
}
+ var skip = stmt.data == .s_empty;
// Parse one or more directives at the beginning
if (isDirectivePrologue) {
isDirectivePrologue = false;
@@ -9325,9 +9326,11 @@ fn NewParser_(
isDirectivePrologue = true;
if (str.eqlComptime("use strict")) {
+ skip = p.options.features.dynamic_require or skip;
// Track "use strict" directives
p.current_scope.strict_mode = .explicit_strict_mode;
} else if (str.eqlComptime("use asm")) {
+ skip = p.options.features.dynamic_require or skip;
stmt.data = Prefill.Data.SEmpty;
}
}
@@ -9339,7 +9342,8 @@ fn NewParser_(
}
}
- try stmts.append(stmt);
+ if (!skip)
+ try stmts.append(stmt);
// Warn about ASI and return statements. Here's an example of code with
// this problem: https://github.com/rollup/rollup/issues/3729