diff --git a/crates/swc_ecma_preset_env/src/lib.rs b/crates/swc_ecma_preset_env/src/lib.rs index 9578379df784..501a81251c51 100644 --- a/crates/swc_ecma_preset_env/src/lib.rs +++ b/crates/swc_ecma_preset_env/src/lib.rs @@ -388,10 +388,13 @@ impl Fold for Polyfills { }, }; let required = required - .into_iter() - .filter(|s| !self.excludes.contains(&**s)) + .iter() + .filter(|s| { + !s.starts_with("esnext") || !required.contains(&s.replace("esnext", "es").as_str()) + }) + .filter(|s| !self.excludes.contains(&***s)) .map(|s| -> JsWord { - if s != "regenerator-runtime/runtime.js" { + if *s != "regenerator-runtime/runtime.js" { format!("core-js/modules/{}.js", s).into() } else { "regenerator-runtime/runtime.js".to_string().into()