Skip to content

Commit 3d0d31a

Browse files
committed
feat(minifier): rewrite arguments copy loops to spread syntax (#13114)
Reverse-transpile rest argument code generated by TypeScript and babel. Example input: ```js for (var e = arguments.length, r = Array(e), a = 0; a < e; a++) r[a] = arguments[a]; ``` output: ```js var r = [...arguments]; ``` It's a quite specific transform though.
1 parent c661bac commit 3d0d31a

File tree

3 files changed

+383
-5
lines changed

3 files changed

+383
-5
lines changed

crates/oxc_minifier/src/peephole/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@ impl<'a> Traverse<'a, MinifierState<'a>> for PeepholeOptimizations {
169169

170170
fn exit_for_statement(&mut self, stmt: &mut ForStatement<'a>, ctx: &mut TraverseCtx<'a>) {
171171
let mut ctx = Ctx::new(ctx);
172+
Self::substitute_for_statement(stmt, &mut ctx);
172173
Self::minimize_for_statement(stmt, &mut ctx);
173174
}
174175

0 commit comments

Comments
 (0)