From 2a62e675eaaa07fcdd33c351c461835fa2ab89f4 Mon Sep 17 00:00:00 2001 From: xusd320 Date: Thu, 27 Feb 2025 21:14:21 +0800 Subject: [PATCH 1/2] perf(es/transform): remove needless collect in resolver --- .../src/resolver/mod.rs | 51 ++++++++----------- 1 file changed, 21 insertions(+), 30 deletions(-) diff --git a/crates/swc_ecma_transforms_base/src/resolver/mod.rs b/crates/swc_ecma_transforms_base/src/resolver/mod.rs index b00adb2d70ed..ee75f48e9d5a 100644 --- a/crates/swc_ecma_transforms_base/src/resolver/mod.rs +++ b/crates/swc_ecma_transforms_base/src/resolver/mod.rs @@ -1957,39 +1957,30 @@ impl VisitMut for Hoister<'_, '_> { /// that there is already an global declaration of Ic when deal with the try /// block. fn visit_mut_module_items(&mut self, items: &mut Vec) { - let others = items - .iter_mut() - .filter_map(|item| match item { - ModuleItem::Stmt(Stmt::Decl(Decl::Var(v))) - | ModuleItem::ModuleDecl(ModuleDecl::ExportDecl(ExportDecl { - decl: Decl::Var(v), - .. - })) if matches!( - &**v, - VarDecl { - kind: VarDeclKind::Var, - .. - } - ) => - { - item.visit_mut_with(self); - None - } - - ModuleItem::Stmt(Stmt::Decl(Decl::Fn(..))) - | ModuleItem::ModuleDecl(ModuleDecl::ExportDecl(ExportDecl { - decl: Decl::Fn(..), + items.iter_mut().for_each(|item| match item { + ModuleItem::Stmt(Stmt::Decl(Decl::Var(v))) + | ModuleItem::ModuleDecl(ModuleDecl::ExportDecl(ExportDecl { + decl: Decl::Var(v), + .. + })) if matches!( + &**v, + VarDecl { + kind: VarDeclKind::Var, .. - })) => { - item.visit_mut_with(self); - None } - _ => Some(item), - }) - .collect::>(); + ) => + { + item.visit_mut_with(self); + } - others.into_iter().for_each(|item| { - item.visit_mut_with(self); + ModuleItem::Stmt(Stmt::Decl(Decl::Fn(..))) + | ModuleItem::ModuleDecl(ModuleDecl::ExportDecl(ExportDecl { + decl: Decl::Fn(..), + .. + })) => { + item.visit_mut_with(self); + } + _ => item.visit_mut_with(self), }); } From 8e8bb90fe9bed31b00619b84c765f89fb4a1fbc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Donny/=EA=B0=95=EB=8F=99=EC=9C=A4?= Date: Fri, 28 Feb 2025 10:46:02 +0900 Subject: [PATCH 2/2] Create fifty-grapes-remain.md --- .changeset/fifty-grapes-remain.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .changeset/fifty-grapes-remain.md diff --git a/.changeset/fifty-grapes-remain.md b/.changeset/fifty-grapes-remain.md new file mode 100644 index 000000000000..b12b21c526e8 --- /dev/null +++ b/.changeset/fifty-grapes-remain.md @@ -0,0 +1,6 @@ +--- +swc_core: minor +swc_ecma_transforms_base: minor +--- + +perf: remove needless collect in resolver