diff options
author | 2022-12-07 21:29:32 -0800 | |
---|---|---|
committer | 2022-12-07 21:29:32 -0800 | |
commit | 0b94ccdf8c75ab9df4cc965a067d8b881aeb8245 (patch) | |
tree | 2a56cc1a399faa9bbfb38fa32a9e712760e419d0 /src/js_parser.zig | |
parent | 845421c44bf492db743126a6fe73ab6fdddeac2e (diff) | |
download | bun-0b94ccdf8c75ab9df4cc965a067d8b881aeb8245.tar.gz bun-0b94ccdf8c75ab9df4cc965a067d8b881aeb8245.tar.zst bun-0b94ccdf8c75ab9df4cc965a067d8b881aeb8245.zip |
disable assignment on user specified assigns
Diffstat (limited to 'src/js_parser.zig')
-rw-r--r-- | src/js_parser.zig | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/js_parser.zig b/src/js_parser.zig index b60d31705..5a58ba305 100644 --- a/src/js_parser.zig +++ b/src/js_parser.zig @@ -14632,7 +14632,7 @@ fn NewParser_( // delete process.env["NODE_ENV"] // shouldn't be transformed into // delete undefined - if (!is_delete_target and !is_call_target) { + if (!is_delete_target and !is_call_target and in.assign_target == .none) { // We check for defines here as well // esbuild doesn't do this // In a lot of codebases, people will sometimes do: @@ -14785,9 +14785,11 @@ fn NewParser_( if (p.define.dots.get(e_.name)) |parts| { for (parts) |define| { if (p.isDotDefineMatch(expr, define.parts)) { - // Substitute user-specified defines - if (!define.data.isUndefined()) { - return p.valueForDefine(expr.loc, in.assign_target, is_delete_target, &define.data); + if (in.assign_target == .none) { + // Substitute user-specified defines + if (!define.data.isUndefined()) { + return p.valueForDefine(expr.loc, in.assign_target, is_delete_target, &define.data); + } } // Copy the side effect flags over in case this expression is unused |