From f7d21b694f0807877ced0e5a097548efba52ba46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Mon, 3 Feb 2025 15:05:50 +0900 Subject: [PATCH] perf: Make page exports stripper use `Atom` instead of `String` --- .../src/transforms/strip_page_exports.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/crates/next-custom-transforms/src/transforms/strip_page_exports.rs b/crates/next-custom-transforms/src/transforms/strip_page_exports.rs index 8f2fdac18e530..c25368e2f2a94 100644 --- a/crates/next-custom-transforms/src/transforms/strip_page_exports.rs +++ b/crates/next-custom-transforms/src/transforms/strip_page_exports.rs @@ -7,6 +7,7 @@ use std::{cell::RefCell, mem::take, rc::Rc}; use rustc_hash::{FxHashMap, FxHashSet}; use swc_core::{ + atoms::Atom, common::{ errors::HANDLER, pass::{Repeat, Repeated}, @@ -57,7 +58,7 @@ impl PageMode { /// Note: This transform requires running `resolver` **before** running it. pub fn next_transform_strip_page_exports( filter: ExportFilter, - ssr_removed_packages: Rc>>, + ssr_removed_packages: Rc>>, ) -> impl Pass { fold_pass(Repeat::new(NextSsg { state: State { @@ -103,7 +104,7 @@ struct State { /// Track the import packages which are removed alongside /// `getServerSideProps` in SSR. - ssr_removed_packages: Rc>>, + ssr_removed_packages: Rc>>, } /// The type of export associated to an identifier. @@ -733,7 +734,7 @@ impl Fold for NextSsg { self.state .ssr_removed_packages .borrow_mut() - .insert(import_src.to_string()); + .insert(import_src.clone()); } tracing::trace!( "Dropping import `{}{:?}` because it should be removed",