From 23926ef2b8b56c135d91b72cdbf067acf6be114b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Tue, 3 Sep 2024 05:58:52 +0900 Subject: [PATCH 1/2] fix --- crates/swc_ecma_minifier/src/pass/mangle_names/mod.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/crates/swc_ecma_minifier/src/pass/mangle_names/mod.rs b/crates/swc_ecma_minifier/src/pass/mangle_names/mod.rs index 522cfc8ab03d..c755cba84502 100644 --- a/crates/swc_ecma_minifier/src/pass/mangle_names/mod.rs +++ b/crates/swc_ecma_minifier/src/pass/mangle_names/mod.rs @@ -35,11 +35,12 @@ pub(crate) fn mangle_names( chars, )); - let mut cache = RenameMap::default(); + let mut cache = None; if let Some(mangle_cache) = &mangle_name_cache { - mangle_cache - .vars_cache(&mut |v| cache.extend(v.iter().map(|(k, v)| (k.clone(), v.clone())))); + let mut c = RenameMap::default(); + mangle_cache.vars_cache(&mut |v| c.extend(v.iter().map(|(k, v)| (k.clone(), v.clone())))); + cache = Some(c); } program.visit_mut_with(&mut renamer( @@ -61,7 +62,7 @@ pub(crate) fn mangle_names( struct ManglingRenamer { chars: Base54Chars, preserved: FxHashSet, - cache: RenameMap, + cache: Option, mangle_name_cache: Option>, } @@ -82,7 +83,7 @@ impl Renamer for ManglingRenamer { } fn get_cached(&self) -> Option> { - Some(Cow::Borrowed(&self.cache)) + self.cache.as_ref().map(Cow::Borrowed) } fn store_cache(&mut self, update: &RenameMap) { From d82223cb3bb24eb5fc38876265bfb4db0e1c52b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Donny/=EA=B0=95=EB=8F=99=EC=9C=A4?= Date: Tue, 3 Sep 2024 05:59:59 +0900 Subject: [PATCH 2/2] Create gentle-coats-tie.md --- .changeset/gentle-coats-tie.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 .changeset/gentle-coats-tie.md diff --git a/.changeset/gentle-coats-tie.md b/.changeset/gentle-coats-tie.md new file mode 100644 index 000000000000..c4b8b2f52c7d --- /dev/null +++ b/.changeset/gentle-coats-tie.md @@ -0,0 +1,6 @@ +--- +swc_core: patch +swc_ecma_minifier: patch +--- + +fix(es/minifier): Fix name mangler