From 7cddc1733948ea707cfe38a391754a3e18c981b1 Mon Sep 17 00:00:00 2001 From: Gengkun Date: Tue, 24 Sep 2024 15:07:06 +0800 Subject: [PATCH] refactor: remove mut options in plugin apply (#7958) --- Cargo.lock | 1 + crates/node_binding/src/plugins/mod.rs | 2 +- .../rspack_binding_options/src/options/mod.rs | 5 +- .../src/plugins/js_loader/mod.rs | 6 +- crates/rspack_core/src/compiler/mod.rs | 3 +- .../src/options/compiler_options.rs | 7 +-- crates/rspack_core/src/options/dev_server.rs | 4 -- crates/rspack_core/src/options/mod.rs | 4 -- crates/rspack_core/src/options/target.rs | 61 ------------------- crates/rspack_core/src/plugin/mod.rs | 2 +- .../rspack_core/src/plugin/plugin_driver.rs | 40 +++++------- .../src/deterministic_chunk_ids_plugin.rs | 6 +- .../src/deterministic_module_ids_plugin.rs | 6 +- .../rspack_ids/src/named_chunk_ids_plugin.rs | 2 +- .../rspack_ids/src/named_module_ids_plugin.rs | 6 +- .../src/natural_chunk_ids_plugin.rs | 2 +- .../src/natural_module_ids_plugin.rs | 6 +- crates/rspack_plugin_asset/src/lib.rs | 2 +- crates/rspack_plugin_banner/src/lib.rs | 2 +- .../src/lib.rs | 6 +- crates/rspack_plugin_copy/src/lib.rs | 2 +- .../src/parser_and_generator/mod.rs | 5 -- .../src/plugin/impl_plugin_for_css_plugin.rs | 2 +- .../src/eval_dev_tool_module_plugin.rs | 6 +- .../src/eval_source_map_dev_tool_plugin.rs | 6 +- ...urce_map_dev_tool_module_options_plugin.rs | 6 +- .../src/source_map_dev_tool_plugin.rs | 2 +- crates/rspack_plugin_dynamic_entry/src/lib.rs | 6 +- .../src/lib.rs | 2 +- crates/rspack_plugin_entry/src/lib.rs | 6 +- crates/rspack_plugin_externals/src/plugin.rs | 6 +- .../rspack_plugin_extract_css/src/plugin.rs | 6 +- crates/rspack_plugin_hmr/Cargo.toml | 11 ++-- crates/rspack_plugin_hmr/src/lib.rs | 45 +++++++++++--- crates/rspack_plugin_html/src/plugin.rs | 2 +- crates/rspack_plugin_ignore/src/lib.rs | 6 +- .../esm/harmony_import_dependency.rs | 53 ++++++++++------ .../src/dependency/esm/mod.rs | 2 +- .../hmr/harmony_accept_dependency.rs | 4 +- .../src/parser_plugin/define_plugin/mod.rs | 6 +- .../hot_module_replacement_plugin.rs | 34 ++++++++--- .../src/parser_plugin/mod.rs | 3 +- .../src/parser_plugin/provide_plugin.rs | 6 +- .../src/plugin/api_plugin.rs | 6 +- .../plugin/flag_dependency_exports_plugin.rs | 6 +- .../plugin/flag_dependency_usage_plugin.rs | 2 +- .../src/plugin/impl_plugin_for_js_plugin.rs | 2 +- .../src/plugin/infer_async_modules_plugin.rs | 6 +- .../src/plugin/mangle_exports_plugin.rs | 6 +- .../src/plugin/module_concatenation_plugin.rs | 6 +- .../src/plugin/side_effects_flag_plugin.rs | 2 +- .../src/utils/eval/eval_source.rs | 6 +- .../src/visitors/dependency/parser/mod.rs | 19 ------ crates/rspack_plugin_json/src/lib.rs | 2 +- .../src/plugin.rs | 6 +- .../src/amd_library_plugin.rs | 6 +- .../src/assign_library_plugin.rs | 6 +- .../src/export_property_library_plugin.rs | 6 +- .../src/modern_module_library_plugin.rs | 6 +- .../src/module_library_plugin.rs | 6 +- .../src/system_library_plugin.rs | 6 +- .../src/umd_library_plugin.rs | 6 +- .../src/lib.rs | 2 +- .../src/lib.rs | 2 +- .../src/lib.rs | 2 +- .../src/container/container_plugin.rs | 6 +- .../container/container_reference_plugin.rs | 6 +- .../module_federation_runtime_plugin.rs | 6 +- .../src/sharing/consume_shared_plugin.rs | 6 +- .../src/sharing/provide_shared_plugin.rs | 6 +- .../src/sharing/share_runtime_plugin.rs | 2 +- .../src/lib.rs | 6 +- crates/rspack_plugin_progress/src/lib.rs | 6 +- .../src/lib.rs | 2 +- .../src/lib.rs | 2 +- .../src/array_push_callback_chunk_format.rs | 6 +- .../rspack_plugin_runtime/src/bundler_info.rs | 2 +- .../src/chunk_prefetch_preload.rs | 2 +- .../src/common_js_chunk_format.rs | 6 +- .../src/common_js_chunk_loading.rs | 2 +- .../src/import_scripts_chunk_loading.rs | 2 +- .../src/jsonp_chunk_loading.rs | 2 +- .../src/module_chunk_format.rs | 6 +- .../src/module_chunk_loading.rs | 2 +- .../src/runtime_plugin.rs | 6 +- .../src/startup_chunk_dependencies.rs | 6 +- crates/rspack_plugin_runtime_chunk/src/lib.rs | 6 +- crates/rspack_plugin_schemes/src/data_uri.rs | 6 +- crates/rspack_plugin_schemes/src/file_uri.rs | 6 +- crates/rspack_plugin_size_limits/src/lib.rs | 6 +- .../src/plugin/mod.rs | 2 +- .../rspack_plugin_swc_js_minimizer/src/lib.rs | 2 +- .../src/lib.rs | 6 +- .../rspack_plugin_wasm/src/loading_plugin.rs | 4 +- crates/rspack_plugin_wasm/src/wasm_plugin.rs | 6 +- crates/rspack_plugin_worker/src/lib.rs | 6 +- 96 files changed, 210 insertions(+), 447 deletions(-) delete mode 100644 crates/rspack_core/src/options/dev_server.rs delete mode 100644 crates/rspack_core/src/options/target.rs diff --git a/Cargo.lock b/Cargo.lock index 2e3ec9f71ca..fafcf530ba3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3855,6 +3855,7 @@ dependencies = [ "rspack_core", "rspack_error", "rspack_hook", + "rspack_plugin_javascript", "rspack_util", "rustc-hash 1.1.0", "serde_json", diff --git a/crates/node_binding/src/plugins/mod.rs b/crates/node_binding/src/plugins/mod.rs index 76aa5d624bb..64916079ec2 100644 --- a/crates/node_binding/src/plugins/mod.rs +++ b/crates/node_binding/src/plugins/mod.rs @@ -84,7 +84,7 @@ impl rspack_core::Plugin for JsHooksAdapterPlugin { fn apply( &self, ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, + _options: &CompilerOptions, ) -> rspack_error::Result<()> { ctx .context diff --git a/crates/rspack_binding_options/src/options/mod.rs b/crates/rspack_binding_options/src/options/mod.rs index ac11b7b8fc4..85ab2ae0e86 100644 --- a/crates/rspack_binding_options/src/options/mod.rs +++ b/crates/rspack_binding_options/src/options/mod.rs @@ -1,7 +1,7 @@ use napi_derive::napi; use rspack_core::{ CacheOptions, CompilerOptions, Context, Experiments, Incremental, ModuleOptions, OutputOptions, - References, Target, + References, }; mod raw_builtins; @@ -69,7 +69,6 @@ impl TryFrom for CompilerOptions { let resolve_loader = value.resolve_loader.try_into()?; let mode = value.mode.unwrap_or_default().into(); let module: ModuleOptions = value.module.try_into()?; - let target = Target::new(&value.target)?; let cache = value.cache.into(); let experiments = Experiments { incremental: match value.experiments.incremental { @@ -101,7 +100,6 @@ impl TryFrom for CompilerOptions { context, mode, module, - target, output, resolve, resolve_loader, @@ -111,7 +109,6 @@ impl TryFrom for CompilerOptions { snapshot, optimization, node, - dev_server: Default::default(), profile: value.profile, bail: value.bail, __references: value.__references, diff --git a/crates/rspack_binding_options/src/plugins/js_loader/mod.rs b/crates/rspack_binding_options/src/plugins/js_loader/mod.rs index c605405c1cd..52079dcf57e 100644 --- a/crates/rspack_binding_options/src/plugins/js_loader/mod.rs +++ b/crates/rspack_binding_options/src/plugins/js_loader/mod.rs @@ -35,11 +35,7 @@ impl Plugin for JsLoaderRspackPlugin { "rspack.JsLoaderRspackPlugin" } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .normal_module_factory_hooks diff --git a/crates/rspack_core/src/compiler/mod.rs b/crates/rspack_core/src/compiler/mod.rs index 530418a19eb..c3e6a1d769b 100644 --- a/crates/rspack_core/src/compiler/mod.rs +++ b/crates/rspack_core/src/compiler/mod.rs @@ -102,7 +102,8 @@ impl Compiler { input_filesystem.clone(), )) }); - let (plugin_driver, options) = PluginDriver::new(options, plugins, resolver_factory.clone()); + let options = Arc::new(options); + let plugin_driver = PluginDriver::new(options.clone(), plugins, resolver_factory.clone()); let old_cache = Arc::new(OldCache::new(options.clone())); let unaffected_modules_cache = Arc::new(UnaffectedModulesCache::default()); let module_executor = ModuleExecutor::default(); diff --git a/crates/rspack_core/src/options/compiler_options.rs b/crates/rspack_core/src/options/compiler_options.rs index c3c7b3639fd..6b5dd90353d 100644 --- a/crates/rspack_core/src/options/compiler_options.rs +++ b/crates/rspack_core/src/options/compiler_options.rs @@ -1,16 +1,13 @@ use super::Incremental; use crate::{ - CacheOptions, Context, DevServerOptions, Experiments, Mode, ModuleOptions, NodeOption, - Optimization, OutputOptions, Resolve, SnapshotOptions, StatsOptions, Target, + CacheOptions, Context, Experiments, Mode, ModuleOptions, NodeOption, Optimization, OutputOptions, + Resolve, SnapshotOptions, StatsOptions, }; #[derive(Debug)] pub struct CompilerOptions { pub context: Context, - pub dev_server: DevServerOptions, pub output: OutputOptions, - // TODO(swc-loader): target should not exist on compiler options - pub target: Target, pub mode: Mode, pub resolve: Resolve, pub resolve_loader: Resolve, diff --git a/crates/rspack_core/src/options/dev_server.rs b/crates/rspack_core/src/options/dev_server.rs deleted file mode 100644 index 367dc033a42..00000000000 --- a/crates/rspack_core/src/options/dev_server.rs +++ /dev/null @@ -1,4 +0,0 @@ -#[derive(Debug, Default)] -pub struct DevServerOptions { - pub hot: bool, -} diff --git a/crates/rspack_core/src/options/mod.rs b/crates/rspack_core/src/options/mod.rs index f6da1d30745..aab65794a94 100644 --- a/crates/rspack_core/src/options/mod.rs +++ b/crates/rspack_core/src/options/mod.rs @@ -5,12 +5,8 @@ mod entry; pub use entry::*; mod optimizations; pub use optimizations::*; -mod dev_server; -pub use dev_server::*; mod output; pub use output::*; -mod target; -pub use target::*; mod resolve; pub use resolve::*; mod mode; diff --git a/crates/rspack_core/src/options/target.rs b/crates/rspack_core/src/options/target.rs deleted file mode 100644 index 8682f4e1984..00000000000 --- a/crates/rspack_core/src/options/target.rs +++ /dev/null @@ -1,61 +0,0 @@ -use rspack_error::{error, Result}; -pub use swc_core::ecma::ast::EsVersion; - -// TODO(swc-loader): Target still coupled with javascript downgrade, it should only affect runtime -#[derive(Debug, Clone)] -pub enum TargetEsVersion { - Esx(EsVersion), - BrowsersList, - None, -} - -impl TargetEsVersion { - pub fn is_none(&self) -> bool { - matches!(self, TargetEsVersion::None) - } - pub fn is_browsers_list(&self) -> bool { - matches!(self, TargetEsVersion::BrowsersList) - } -} - -#[derive(Debug, Clone)] -pub struct Target { - pub es_version: TargetEsVersion, -} - -impl Target { - pub fn new(args: &Vec) -> Result { - let mut es_version = TargetEsVersion::None; - - for item in args { - let item = item.as_str(); - if item.starts_with("es") || item == "browserslist" { - // es version - if !es_version.is_none() { - return Err(error!("Target es version conflict")); - } - let version = match item { - "browserslist" => TargetEsVersion::BrowsersList, - "es3" => TargetEsVersion::Esx(EsVersion::Es3), - "es5" => TargetEsVersion::Esx(EsVersion::Es5), - "es6" => TargetEsVersion::Esx(EsVersion::Es2015), - "es2015" => TargetEsVersion::Esx(EsVersion::Es2015), - "es2016" => TargetEsVersion::Esx(EsVersion::Es2016), - "es2017" => TargetEsVersion::Esx(EsVersion::Es2017), - "es2018" => TargetEsVersion::Esx(EsVersion::Es2018), - "es2019" => TargetEsVersion::Esx(EsVersion::Es2019), - "es2020" => TargetEsVersion::Esx(EsVersion::Es2020), - "es2021" => TargetEsVersion::Esx(EsVersion::Es2021), - "es2022" => TargetEsVersion::Esx(EsVersion::Es2022), - _ => { - return Err(error!("Unknown target es version {}", item)); - } - }; - es_version = version; - continue; - } - } - - Ok(Target { es_version }) - } -} diff --git a/crates/rspack_core/src/plugin/mod.rs b/crates/rspack_core/src/plugin/mod.rs index acf18ef1189..48603828a35 100644 --- a/crates/rspack_core/src/plugin/mod.rs +++ b/crates/rspack_core/src/plugin/mod.rs @@ -18,7 +18,7 @@ pub trait Plugin: fmt::Debug + Send + Sync { fn apply( &self, _ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, + _options: &CompilerOptions, ) -> Result<()> { Ok(()) } diff --git a/crates/rspack_core/src/plugin/plugin_driver.rs b/crates/rspack_core/src/plugin/plugin_driver.rs index 021aabf7ea6..2fff5e9dbf4 100644 --- a/crates/rspack_core/src/plugin/plugin_driver.rs +++ b/crates/rspack_core/src/plugin/plugin_driver.rs @@ -31,10 +31,10 @@ pub struct PluginDriver { impl PluginDriver { pub fn new( - mut options: CompilerOptions, + options: Arc, plugins: Vec>, resolver_factory: Arc, - ) -> (Arc, Arc) { + ) -> Arc { let mut compiler_hooks = Default::default(); let mut compilation_hooks = Default::default(); let mut normal_module_factory_hooks = Default::default(); @@ -53,31 +53,23 @@ impl PluginDriver { }; for plugin in &plugins { plugin - .apply( - PluginContext::with_context(&mut apply_context), - &mut options, - ) + .apply(PluginContext::with_context(&mut apply_context), &options) .expect("TODO:"); } - let options = Arc::new(options); - - ( - Arc::new(Self { - options: options.clone(), - plugins, - resolver_factory, - registered_parser_and_generator_builder, - diagnostics: Arc::new(Mutex::new(vec![])), - compiler_hooks, - compilation_hooks, - normal_module_factory_hooks, - context_module_factory_hooks, - normal_module_hooks, - concatenated_module_hooks, - }), - options, - ) + Arc::new(Self { + options: options.clone(), + plugins, + resolver_factory, + registered_parser_and_generator_builder, + diagnostics: Arc::new(Mutex::new(vec![])), + compiler_hooks, + compilation_hooks, + normal_module_factory_hooks, + context_module_factory_hooks, + normal_module_hooks, + concatenated_module_hooks, + }) } pub fn take_diagnostic(&self) -> Vec { diff --git a/crates/rspack_ids/src/deterministic_chunk_ids_plugin.rs b/crates/rspack_ids/src/deterministic_chunk_ids_plugin.rs index 71bb6615992..fc948832267 100644 --- a/crates/rspack_ids/src/deterministic_chunk_ids_plugin.rs +++ b/crates/rspack_ids/src/deterministic_chunk_ids_plugin.rs @@ -74,11 +74,7 @@ fn chunk_ids(&self, compilation: &mut rspack_core::Compilation) -> rspack_error: } impl Plugin for DeterministicChunkIdsPlugin { - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compilation_hooks diff --git a/crates/rspack_ids/src/deterministic_module_ids_plugin.rs b/crates/rspack_ids/src/deterministic_module_ids_plugin.rs index f828e910b95..2b753bdfbd0 100644 --- a/crates/rspack_ids/src/deterministic_module_ids_plugin.rs +++ b/crates/rspack_ids/src/deterministic_module_ids_plugin.rs @@ -59,11 +59,7 @@ fn module_ids(&self, compilation: &mut Compilation) -> Result<()> { } impl Plugin for DeterministicModuleIdsPlugin { - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compilation_hooks diff --git a/crates/rspack_ids/src/named_chunk_ids_plugin.rs b/crates/rspack_ids/src/named_chunk_ids_plugin.rs index b0999d675b9..1dd9f69d4b4 100644 --- a/crates/rspack_ids/src/named_chunk_ids_plugin.rs +++ b/crates/rspack_ids/src/named_chunk_ids_plugin.rs @@ -84,7 +84,7 @@ impl Plugin for NamedChunkIdsPlugin { fn apply( &self, ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, + _options: &CompilerOptions, ) -> rspack_error::Result<()> { ctx .context diff --git a/crates/rspack_ids/src/named_module_ids_plugin.rs b/crates/rspack_ids/src/named_module_ids_plugin.rs index ef8fe971371..6ad71a79b81 100644 --- a/crates/rspack_ids/src/named_module_ids_plugin.rs +++ b/crates/rspack_ids/src/named_module_ids_plugin.rs @@ -47,11 +47,7 @@ impl Plugin for NamedModuleIdsPlugin { "NamedModuleIdsPlugin" } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compilation_hooks diff --git a/crates/rspack_ids/src/natural_chunk_ids_plugin.rs b/crates/rspack_ids/src/natural_chunk_ids_plugin.rs index 437805c3e31..25c52ac97a7 100644 --- a/crates/rspack_ids/src/natural_chunk_ids_plugin.rs +++ b/crates/rspack_ids/src/natural_chunk_ids_plugin.rs @@ -34,7 +34,7 @@ impl Plugin for NaturalChunkIdsPlugin { fn apply( &self, ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, + _options: &CompilerOptions, ) -> rspack_error::Result<()> { ctx .context diff --git a/crates/rspack_ids/src/natural_module_ids_plugin.rs b/crates/rspack_ids/src/natural_module_ids_plugin.rs index da7318715b9..85041775a1d 100644 --- a/crates/rspack_ids/src/natural_module_ids_plugin.rs +++ b/crates/rspack_ids/src/natural_module_ids_plugin.rs @@ -38,11 +38,7 @@ impl Plugin for NaturalModuleIdsPlugin { "NaturalModuleIdsPlugin" } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compilation_hooks diff --git a/crates/rspack_plugin_asset/src/lib.rs b/crates/rspack_plugin_asset/src/lib.rs index eb1facc7006..970b4d67dc2 100644 --- a/crates/rspack_plugin_asset/src/lib.rs +++ b/crates/rspack_plugin_asset/src/lib.rs @@ -624,7 +624,7 @@ impl Plugin for AssetPlugin { fn apply( &self, ctx: rspack_core::PluginContext<&mut rspack_core::ApplyContext>, - _options: &mut CompilerOptions, + _options: &CompilerOptions, ) -> Result<()> { ctx .context diff --git a/crates/rspack_plugin_banner/src/lib.rs b/crates/rspack_plugin_banner/src/lib.rs index b4d5f86cd31..33229d35d1c 100644 --- a/crates/rspack_plugin_banner/src/lib.rs +++ b/crates/rspack_plugin_banner/src/lib.rs @@ -251,7 +251,7 @@ impl Plugin for BannerPlugin { fn apply( &self, ctx: rspack_core::PluginContext<&mut rspack_core::ApplyContext>, - _options: &mut rspack_core::CompilerOptions, + _options: &rspack_core::CompilerOptions, ) -> Result<()> { ctx .context diff --git a/crates/rspack_plugin_context_replacement/src/lib.rs b/crates/rspack_plugin_context_replacement/src/lib.rs index 8e781765f2f..ed20961cdff 100644 --- a/crates/rspack_plugin_context_replacement/src/lib.rs +++ b/crates/rspack_plugin_context_replacement/src/lib.rs @@ -142,11 +142,7 @@ impl Plugin for ContextReplacementPlugin { "rspack.ContextReplacementPlugin" } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .context_module_factory_hooks diff --git a/crates/rspack_plugin_copy/src/lib.rs b/crates/rspack_plugin_copy/src/lib.rs index b96569b5607..26a5f4d53ee 100644 --- a/crates/rspack_plugin_copy/src/lib.rs +++ b/crates/rspack_plugin_copy/src/lib.rs @@ -656,7 +656,7 @@ impl Plugin for CopyRspackPlugin { fn apply( &self, ctx: rspack_core::PluginContext<&mut rspack_core::ApplyContext>, - _options: &mut rspack_core::CompilerOptions, + _options: &rspack_core::CompilerOptions, ) -> Result<()> { ctx .context diff --git a/crates/rspack_plugin_css/src/parser_and_generator/mod.rs b/crates/rspack_plugin_css/src/parser_and_generator/mod.rs index 8a81021f42b..8bb25b56aed 100644 --- a/crates/rspack_plugin_css/src/parser_and_generator/mod.rs +++ b/crates/rspack_plugin_css/src/parser_and_generator/mod.rs @@ -525,11 +525,6 @@ impl ParserAndGenerator for CssParserAndGenerator { left, right, )? - } else if generate_context.compilation.options.dev_server.hot { - format!( - "module.hot.accept();\n{}{}module.exports = {{}}{};\n", - ns_obj, left, right - ) } else { format!("{}{}module.exports = {{}}{};\n", ns_obj, left, right) } diff --git a/crates/rspack_plugin_css/src/plugin/impl_plugin_for_css_plugin.rs b/crates/rspack_plugin_css/src/plugin/impl_plugin_for_css_plugin.rs index 28d067af964..43a56bf6a5b 100644 --- a/crates/rspack_plugin_css/src/plugin/impl_plugin_for_css_plugin.rs +++ b/crates/rspack_plugin_css/src/plugin/impl_plugin_for_css_plugin.rs @@ -405,7 +405,7 @@ impl Plugin for CssPlugin { fn apply( &self, ctx: rspack_core::PluginContext<&mut rspack_core::ApplyContext>, - _options: &mut CompilerOptions, + _options: &CompilerOptions, ) -> Result<()> { ctx .context diff --git a/crates/rspack_plugin_devtool/src/eval_dev_tool_module_plugin.rs b/crates/rspack_plugin_devtool/src/eval_dev_tool_module_plugin.rs index 6feb55ea707..c3d483d6442 100644 --- a/crates/rspack_plugin_devtool/src/eval_dev_tool_module_plugin.rs +++ b/crates/rspack_plugin_devtool/src/eval_dev_tool_module_plugin.rs @@ -181,11 +181,7 @@ impl Plugin for EvalDevToolModulePlugin { EVAL_DEV_TOOL_MODULE_PLUGIN_NAME } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compiler_hooks diff --git a/crates/rspack_plugin_devtool/src/eval_source_map_dev_tool_plugin.rs b/crates/rspack_plugin_devtool/src/eval_source_map_dev_tool_plugin.rs index 6667e9cf665..7da3f47b406 100644 --- a/crates/rspack_plugin_devtool/src/eval_source_map_dev_tool_plugin.rs +++ b/crates/rspack_plugin_devtool/src/eval_source_map_dev_tool_plugin.rs @@ -232,11 +232,7 @@ impl Plugin for EvalSourceMapDevToolPlugin { EVAL_SOURCE_MAP_DEV_TOOL_PLUGIN_NAME } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compiler_hooks diff --git a/crates/rspack_plugin_devtool/src/source_map_dev_tool_module_options_plugin.rs b/crates/rspack_plugin_devtool/src/source_map_dev_tool_module_options_plugin.rs index 32889d2a1e2..7576a9f0648 100644 --- a/crates/rspack_plugin_devtool/src/source_map_dev_tool_module_options_plugin.rs +++ b/crates/rspack_plugin_devtool/src/source_map_dev_tool_module_options_plugin.rs @@ -63,11 +63,7 @@ impl Plugin for SourceMapDevToolModuleOptionsPlugin { "SourceMapDevToolModuleOptionsPlugin" } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compilation_hooks diff --git a/crates/rspack_plugin_devtool/src/source_map_dev_tool_plugin.rs b/crates/rspack_plugin_devtool/src/source_map_dev_tool_plugin.rs index c66dfc3d09e..1ca5fd76ce8 100644 --- a/crates/rspack_plugin_devtool/src/source_map_dev_tool_plugin.rs +++ b/crates/rspack_plugin_devtool/src/source_map_dev_tool_plugin.rs @@ -563,7 +563,7 @@ impl Plugin for SourceMapDevToolPlugin { fn apply( &self, ctx: PluginContext<&mut rspack_core::ApplyContext>, - _options: &mut rspack_core::CompilerOptions, + _options: &rspack_core::CompilerOptions, ) -> Result<()> { ctx .context diff --git a/crates/rspack_plugin_dynamic_entry/src/lib.rs b/crates/rspack_plugin_dynamic_entry/src/lib.rs index f240737b40e..d445cc93ce5 100644 --- a/crates/rspack_plugin_dynamic_entry/src/lib.rs +++ b/crates/rspack_plugin_dynamic_entry/src/lib.rs @@ -66,11 +66,7 @@ async fn make(&self, compilation: &mut Compilation) -> Result<()> { #[async_trait] impl Plugin for DynamicEntryPlugin { - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compiler_hooks diff --git a/crates/rspack_plugin_ensure_chunk_conditions/src/lib.rs b/crates/rspack_plugin_ensure_chunk_conditions/src/lib.rs index 808672abadb..9c9a2b1cc41 100644 --- a/crates/rspack_plugin_ensure_chunk_conditions/src/lib.rs +++ b/crates/rspack_plugin_ensure_chunk_conditions/src/lib.rs @@ -110,7 +110,7 @@ impl Plugin for EnsureChunkConditionsPlugin { fn apply( &self, ctx: PluginContext<&mut rspack_core::ApplyContext>, - _options: &mut rspack_core::CompilerOptions, + _options: &rspack_core::CompilerOptions, ) -> Result<()> { ctx .context diff --git a/crates/rspack_plugin_entry/src/lib.rs b/crates/rspack_plugin_entry/src/lib.rs index 2e22b99d46a..7fb149dab5a 100644 --- a/crates/rspack_plugin_entry/src/lib.rs +++ b/crates/rspack_plugin_entry/src/lib.rs @@ -48,11 +48,7 @@ async fn make(&self, compilation: &mut Compilation) -> Result<()> { #[async_trait] impl Plugin for EntryPlugin { - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compiler_hooks diff --git a/crates/rspack_plugin_externals/src/plugin.rs b/crates/rspack_plugin_externals/src/plugin.rs index 210002ac4d7..377a6f23292 100644 --- a/crates/rspack_plugin_externals/src/plugin.rs +++ b/crates/rspack_plugin_externals/src/plugin.rs @@ -198,11 +198,7 @@ impl Plugin for ExternalsPlugin { "rspack.ExternalsPlugin" } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .normal_module_factory_hooks diff --git a/crates/rspack_plugin_extract_css/src/plugin.rs b/crates/rspack_plugin_extract_css/src/plugin.rs index bb54a011f57..fe126ed6f99 100644 --- a/crates/rspack_plugin_extract_css/src/plugin.rs +++ b/crates/rspack_plugin_extract_css/src/plugin.rs @@ -673,11 +673,7 @@ fn nmf_parser( #[async_trait::async_trait] impl Plugin for PluginCssExtract { - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compiler_hooks diff --git a/crates/rspack_plugin_hmr/Cargo.toml b/crates/rspack_plugin_hmr/Cargo.toml index 861896c45fb..a8394bd3820 100644 --- a/crates/rspack_plugin_hmr/Cargo.toml +++ b/crates/rspack_plugin_hmr/Cargo.toml @@ -7,11 +7,12 @@ repository = "https://github.com/web-infra-dev/rspack" version = "0.1.0" [dependencies] -rspack_collections = { version = "0.1.0", path = "../rspack_collections" } -rspack_core = { version = "0.1.0", path = "../rspack_core" } -rspack_error = { version = "0.1.0", path = "../rspack_error" } -rspack_hook = { version = "0.1.0", path = "../rspack_hook" } -rspack_util = { version = "0.1.0", path = "../rspack_util" } +rspack_collections = { version = "0.1.0", path = "../rspack_collections" } +rspack_core = { version = "0.1.0", path = "../rspack_core" } +rspack_error = { version = "0.1.0", path = "../rspack_error" } +rspack_hook = { version = "0.1.0", path = "../rspack_hook" } +rspack_plugin_javascript = { version = "0.1.0", path = "../rspack_plugin_javascript" } +rspack_util = { version = "0.1.0", path = "../rspack_util" } async-trait = { workspace = true } cow-utils = { workspace = true } diff --git a/crates/rspack_plugin_hmr/src/lib.rs b/crates/rspack_plugin_hmr/src/lib.rs index 15ef2db1fc2..e8951b8229c 100644 --- a/crates/rspack_plugin_hmr/src/lib.rs +++ b/crates/rspack_plugin_hmr/src/lib.rs @@ -1,3 +1,5 @@ +#![feature(let_chains)] + mod hot_module_replacement; use async_trait::async_trait; @@ -9,11 +11,18 @@ use rspack_core::{ ApplyContext, AssetInfo, Chunk, ChunkKind, ChunkUkey, Compilation, CompilationAdditionalTreeRuntimeRequirements, CompilationAsset, CompilationParams, CompilationProcessAssets, CompilationRecords, CompilerCompilation, CompilerOptions, - DependencyType, LoaderContext, NormalModuleLoader, PathData, Plugin, PluginContext, - RunnerContext, RuntimeGlobals, RuntimeModuleExt, RuntimeSpec, + DependencyType, LoaderContext, ModuleType, NormalModuleFactoryParser, NormalModuleLoader, + ParserAndGenerator, ParserOptions, PathData, Plugin, PluginContext, RunnerContext, + RuntimeGlobals, RuntimeModuleExt, RuntimeSpec, }; use rspack_error::Result; use rspack_hook::{plugin, plugin_hook}; +use rspack_plugin_javascript::{ + hot_module_replacement_plugin::{ + ImportMetaHotReplacementParserPlugin, ModuleHotReplacementParserPlugin, + }, + parser_and_generator::JavaScriptParserAndGenerator, +}; use rspack_util::infallible::ResultInfallibleExt as _; use rustc_hash::{FxHashMap as HashMap, FxHashSet as HashSet}; @@ -341,6 +350,26 @@ fn normal_module_loader(&self, context: &mut LoaderContext) -> Re Ok(()) } +#[plugin_hook(NormalModuleFactoryParser for HotModuleReplacementPlugin)] +fn normal_module_factory_parser( + &self, + module_type: &ModuleType, + parser: &mut dyn ParserAndGenerator, + _parser_options: Option<&ParserOptions>, +) -> Result<()> { + if let Some(parser) = parser.downcast_mut::() { + if module_type.is_js_auto() { + parser.add_parser_plugin(Box::new(ModuleHotReplacementParserPlugin::new())); + parser.add_parser_plugin(Box::new(ImportMetaHotReplacementParserPlugin::new())); + } else if module_type.is_js_dynamic() { + parser.add_parser_plugin(Box::new(ModuleHotReplacementParserPlugin::new())); + } else if module_type.is_js_esm() { + parser.add_parser_plugin(Box::new(ImportMetaHotReplacementParserPlugin::new())); + } + } + Ok(()) +} + #[plugin_hook(CompilationAdditionalTreeRuntimeRequirements for HotModuleReplacementPlugin)] async fn additional_tree_runtime_requirements( &self, @@ -368,12 +397,7 @@ impl Plugin for HotModuleReplacementPlugin { "rspack.HotModuleReplacementPlugin" } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - options: &mut CompilerOptions, - ) -> Result<()> { - options.dev_server.hot = true; + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compiler_hooks @@ -389,6 +413,11 @@ impl Plugin for HotModuleReplacementPlugin { .normal_module_hooks .loader .tap(normal_module_loader::new(self)); + ctx + .context + .normal_module_factory_hooks + .parser + .tap(normal_module_factory_parser::new(self)); ctx .context .compilation_hooks diff --git a/crates/rspack_plugin_html/src/plugin.rs b/crates/rspack_plugin_html/src/plugin.rs index a0190afbb53..ef54c0eeb1b 100644 --- a/crates/rspack_plugin_html/src/plugin.rs +++ b/crates/rspack_plugin_html/src/plugin.rs @@ -243,7 +243,7 @@ impl Plugin for HtmlRspackPlugin { fn apply( &self, ctx: rspack_core::PluginContext<&mut rspack_core::ApplyContext>, - _options: &mut rspack_core::CompilerOptions, + _options: &rspack_core::CompilerOptions, ) -> Result<()> { ctx .context diff --git a/crates/rspack_plugin_ignore/src/lib.rs b/crates/rspack_plugin_ignore/src/lib.rs index 3f31eec1997..996aba280b5 100644 --- a/crates/rspack_plugin_ignore/src/lib.rs +++ b/crates/rspack_plugin_ignore/src/lib.rs @@ -93,11 +93,7 @@ impl Plugin for IgnorePlugin { "IgnorePlugin" } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .normal_module_factory_hooks diff --git a/crates/rspack_plugin_javascript/src/dependency/esm/harmony_import_dependency.rs b/crates/rspack_plugin_javascript/src/dependency/esm/harmony_import_dependency.rs index 8437204e183..fc152a28c91 100644 --- a/crates/rspack_plugin_javascript/src/dependency/esm/harmony_import_dependency.rs +++ b/crates/rspack_plugin_javascript/src/dependency/esm/harmony_import_dependency.rs @@ -1,7 +1,6 @@ use std::sync::Arc; -use std::sync::LazyLock; -use rspack_collections::{IdentifierDashMap, IdentifierMap, IdentifierSet}; +use rspack_collections::IdentifierSet; use rspack_core::Compilation; use rspack_core::DependencyConditionFn; use rspack_core::RealDependencyLocation; @@ -11,7 +10,7 @@ use rspack_core::{ Dependency, DependencyCategory, DependencyCondition, DependencyId, DependencyTemplate, DependencyType, ErrorSpan, ExportInfoProvided, ExportsType, ExtendedReferencedExport, ImportAttributes, InitFragmentExt, InitFragmentKey, InitFragmentStage, ModuleDependency, - ModuleIdentifier, ProvidedExports, RuntimeCondition, TemplateContext, TemplateReplaceSource, + ProvidedExports, RuntimeCondition, TemplateContext, TemplateReplaceSource, }; use rspack_core::{ModuleGraph, RuntimeSpec}; use rspack_error::miette::{MietteDiagnostic, Severity}; @@ -25,19 +24,34 @@ use super::create_resource_identifier_for_esm_dependency; // Align with https://github.com/webpack/webpack/blob/51f0f0aeac072f989f8d40247f6c23a1995c5c37/lib/dependencies/HarmonyImportDependency.js#L361-L365 // This map is used to save the runtime conditions of modules and used by HarmonyAcceptDependency in hot module replacement. // It can not be saved in TemplateContext because only dependencies of rebuild modules will be templated again. -static IMPORT_EMITTED_MAP: LazyLock>> = - LazyLock::new(Default::default); - -pub fn get_import_emitted_runtime( - module: &ModuleIdentifier, - referenced_module: &ModuleIdentifier, -) -> RuntimeCondition { - let Some(condition_map) = IMPORT_EMITTED_MAP.get(module) else { - return RuntimeCondition::Boolean(false); - }; - match condition_map.get(referenced_module) { - Some(r) => r.to_owned(), - None => RuntimeCondition::Boolean(false), +pub mod import_emitted_runtime { + use once_cell::sync::OnceCell; + use rspack_collections::{IdentifierDashMap, IdentifierMap}; + use rspack_core::{ModuleIdentifier, RuntimeCondition}; + + static IMPORT_EMITTED_MAP: OnceCell>> = + OnceCell::new(); + + pub fn init_map() { + IMPORT_EMITTED_MAP.get_or_init(Default::default); + } + + pub fn get_map() -> Option<&'static IdentifierDashMap>> { + IMPORT_EMITTED_MAP.get() + } + + pub fn get_runtime( + module: &ModuleIdentifier, + referenced_module: &ModuleIdentifier, + ) -> RuntimeCondition { + let map = get_map().expect("must call import_emitted_runtime::init_map() before"); + let Some(condition_map) = map.get(module) else { + return RuntimeCondition::Boolean(false); + }; + match condition_map.get(referenced_module) { + Some(r) => r.to_owned(), + None => RuntimeCondition::Boolean(false), + } } } @@ -138,11 +152,10 @@ pub fn harmony_import_dependency_apply( .unwrap_or(module_dependency.request()); let key = format!("harmony import {}", module_key); - // NOTE: different with webpack - // The import emitted map is consumed by HarmonyAcceptDependency which enabled by `dev_server.hot` - if compilation.options.dev_server.hot { + // The import emitted map is consumed by HarmonyAcceptDependency which enabled by HotModuleReplacementPlugin + if let Some(import_emitted_map) = import_emitted_runtime::get_map() { if let Some(ref_module) = ref_module { - let mut emitted_modules = IMPORT_EMITTED_MAP.entry(module.identifier()).or_default(); + let mut emitted_modules = import_emitted_map.entry(module.identifier()).or_default(); let old_runtime_condition = match emitted_modules.get(ref_module) { Some(v) => v.to_owned(), diff --git a/crates/rspack_plugin_javascript/src/dependency/esm/mod.rs b/crates/rspack_plugin_javascript/src/dependency/esm/mod.rs index 2cd74cf3b67..65b358f4b42 100644 --- a/crates/rspack_plugin_javascript/src/dependency/esm/mod.rs +++ b/crates/rspack_plugin_javascript/src/dependency/esm/mod.rs @@ -20,8 +20,8 @@ pub use self::harmony_export_expression_dependency::*; pub use self::harmony_export_header_dependency::HarmonyExportHeaderDependency; pub use self::harmony_export_imported_specifier_dependency::HarmonyExportImportedSpecifierDependency; pub use self::harmony_export_specifier_dependency::HarmonyExportSpecifierDependency; -pub use self::harmony_import_dependency::get_import_emitted_runtime; pub use self::harmony_import_dependency::harmony_import_dependency_apply; +pub use self::harmony_import_dependency::import_emitted_runtime; pub use self::harmony_import_dependency::HarmonyImportSideEffectDependency; pub use self::harmony_import_specifier_dependency::HarmonyImportSpecifierDependency; pub use self::import_dependency::ImportDependency; diff --git a/crates/rspack_plugin_javascript/src/dependency/hmr/harmony_accept_dependency.rs b/crates/rspack_plugin_javascript/src/dependency/hmr/harmony_accept_dependency.rs index 0fcc1d4631e..fbd1312a1be 100644 --- a/crates/rspack_plugin_javascript/src/dependency/hmr/harmony_accept_dependency.rs +++ b/crates/rspack_plugin_javascript/src/dependency/hmr/harmony_accept_dependency.rs @@ -4,7 +4,7 @@ use rspack_core::{ TemplateReplaceSource, }; -use crate::dependency::get_import_emitted_runtime; +use crate::dependency::import_emitted_runtime; #[derive(Debug, Clone)] pub struct HarmonyAcceptDependency { @@ -52,7 +52,7 @@ impl DependencyTemplate for HarmonyAcceptDependency { let runtime_condition = match dependency.and_then(|dep| module_graph.get_module_by_dependency_id(dep.id())) { Some(ref_module) => { - get_import_emitted_runtime(&module.identifier(), &ref_module.identifier()) + import_emitted_runtime::get_runtime(&module.identifier(), &ref_module.identifier()) } None => RuntimeCondition::Boolean(false), }; diff --git a/crates/rspack_plugin_javascript/src/parser_plugin/define_plugin/mod.rs b/crates/rspack_plugin_javascript/src/parser_plugin/define_plugin/mod.rs index 2da50cc43d5..d00bf32aed2 100644 --- a/crates/rspack_plugin_javascript/src/parser_plugin/define_plugin/mod.rs +++ b/crates/rspack_plugin_javascript/src/parser_plugin/define_plugin/mod.rs @@ -105,11 +105,7 @@ impl Plugin for DefinePlugin { "rspack.DefinePlugin" } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compiler_hooks diff --git a/crates/rspack_plugin_javascript/src/parser_plugin/hot_module_replacement_plugin.rs b/crates/rspack_plugin_javascript/src/parser_plugin/hot_module_replacement_plugin.rs index 4dcff8580d9..b73cd05a67d 100644 --- a/crates/rspack_plugin_javascript/src/parser_plugin/hot_module_replacement_plugin.rs +++ b/crates/rspack_plugin_javascript/src/parser_plugin/hot_module_replacement_plugin.rs @@ -1,16 +1,12 @@ -pub mod hot_module_replacement { - pub use super::ImportMetaHotReplacementParserPlugin; - pub use super::ModuleHotReplacementParserPlugin; -} - use rspack_core::{BoxDependency, RealDependencyLocation, SpanExt}; use swc_core::common::{Span, Spanned}; use swc_core::ecma::ast::{CallExpr, Expr, Lit}; use swc_core::ecma::atoms::Atom; use crate::dependency::{ - HarmonyAcceptDependency, ImportMetaHotAcceptDependency, ImportMetaHotDeclineDependency, - ModuleArgumentDependency, ModuleHotAcceptDependency, ModuleHotDeclineDependency, + import_emitted_runtime, HarmonyAcceptDependency, ImportMetaHotAcceptDependency, + ImportMetaHotDeclineDependency, ModuleArgumentDependency, ModuleHotAcceptDependency, + ModuleHotDeclineDependency, }; use crate::parser_plugin::JavascriptParserPlugin; use crate::utils::eval; @@ -108,7 +104,17 @@ impl<'parser> JavascriptParser<'parser> { } } -pub struct ModuleHotReplacementParserPlugin; +pub struct ModuleHotReplacementParserPlugin { + _private: (), +} + +impl ModuleHotReplacementParserPlugin { + #[allow(clippy::new_without_default)] + pub fn new() -> Self { + import_emitted_runtime::init_map(); + Self { _private: () } + } +} impl JavascriptParserPlugin for ModuleHotReplacementParserPlugin { fn evaluate_identifier( @@ -165,7 +171,17 @@ impl JavascriptParserPlugin for ModuleHotReplacementParserPlugin { } } -pub struct ImportMetaHotReplacementParserPlugin; +pub struct ImportMetaHotReplacementParserPlugin { + _private: (), +} + +impl ImportMetaHotReplacementParserPlugin { + #[allow(clippy::new_without_default)] + pub fn new() -> Self { + import_emitted_runtime::init_map(); + Self { _private: () } + } +} impl JavascriptParserPlugin for ImportMetaHotReplacementParserPlugin { fn evaluate_identifier( diff --git a/crates/rspack_plugin_javascript/src/parser_plugin/mod.rs b/crates/rspack_plugin_javascript/src/parser_plugin/mod.rs index 75bd7cf99dc..b107bb950a0 100644 --- a/crates/rspack_plugin_javascript/src/parser_plugin/mod.rs +++ b/crates/rspack_plugin_javascript/src/parser_plugin/mod.rs @@ -11,7 +11,6 @@ mod harmony_detection_parser_plugin; mod harmony_export_dependency_parser_plugin; mod harmony_import_dependency_parser_plugin; mod harmony_top_level_this_plugin; -mod hot_module_replacement_plugin; mod import_meta_context_dependency_parser_plugin; mod import_meta_plugin; mod import_parser_plugin; @@ -28,6 +27,7 @@ mod webpack_included_plugin; mod worker_plugin; pub mod define_plugin; +pub mod hot_module_replacement_plugin; pub mod provide_plugin; pub(crate) use self::api_plugin::APIPlugin; @@ -42,7 +42,6 @@ pub(crate) use self::harmony_detection_parser_plugin::HarmonyDetectionParserPlug pub(crate) use self::harmony_export_dependency_parser_plugin::HarmonyExportDependencyParserPlugin; pub(crate) use self::harmony_import_dependency_parser_plugin::HarmonyImportDependencyParserPlugin; pub(crate) use self::harmony_top_level_this_plugin::HarmonyTopLevelThisParserPlugin; -pub(crate) use self::hot_module_replacement_plugin::hot_module_replacement; pub(crate) use self::import_meta_context_dependency_parser_plugin::ImportMetaContextDependencyParserPlugin; pub(crate) use self::import_meta_plugin::{ImportMetaDisabledPlugin, ImportMetaPlugin}; pub(crate) use self::import_parser_plugin::ImportParserPlugin; diff --git a/crates/rspack_plugin_javascript/src/parser_plugin/provide_plugin.rs b/crates/rspack_plugin_javascript/src/parser_plugin/provide_plugin.rs index 1a59b6b9046..c5f740e0aa9 100644 --- a/crates/rspack_plugin_javascript/src/parser_plugin/provide_plugin.rs +++ b/crates/rspack_plugin_javascript/src/parser_plugin/provide_plugin.rs @@ -161,11 +161,7 @@ impl Plugin for ProvidePlugin { "rspack.ProvidePlugin" } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .normal_module_factory_hooks diff --git a/crates/rspack_plugin_javascript/src/plugin/api_plugin.rs b/crates/rspack_plugin_javascript/src/plugin/api_plugin.rs index 0a01d0a3f9c..45f66a0791c 100644 --- a/crates/rspack_plugin_javascript/src/plugin/api_plugin.rs +++ b/crates/rspack_plugin_javascript/src/plugin/api_plugin.rs @@ -55,11 +55,7 @@ impl Plugin for APIPlugin { "rspack.APIPlugin" } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compiler_hooks diff --git a/crates/rspack_plugin_javascript/src/plugin/flag_dependency_exports_plugin.rs b/crates/rspack_plugin_javascript/src/plugin/flag_dependency_exports_plugin.rs index 5451cfb0824..3a8838e7791 100644 --- a/crates/rspack_plugin_javascript/src/plugin/flag_dependency_exports_plugin.rs +++ b/crates/rspack_plugin_javascript/src/plugin/flag_dependency_exports_plugin.rs @@ -377,11 +377,7 @@ impl Plugin for FlagDependencyExportsPlugin { "FlagDependencyExportsPlugin" } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compilation_hooks diff --git a/crates/rspack_plugin_javascript/src/plugin/flag_dependency_usage_plugin.rs b/crates/rspack_plugin_javascript/src/plugin/flag_dependency_usage_plugin.rs index e407ea3d66e..ec2d39cb7d6 100644 --- a/crates/rspack_plugin_javascript/src/plugin/flag_dependency_usage_plugin.rs +++ b/crates/rspack_plugin_javascript/src/plugin/flag_dependency_usage_plugin.rs @@ -428,7 +428,7 @@ impl Plugin for FlagDependencyUsagePlugin { fn apply( &self, ctx: rspack_core::PluginContext<&mut rspack_core::ApplyContext>, - _options: &mut rspack_core::CompilerOptions, + _options: &rspack_core::CompilerOptions, ) -> Result<()> { ctx .context diff --git a/crates/rspack_plugin_javascript/src/plugin/impl_plugin_for_js_plugin.rs b/crates/rspack_plugin_javascript/src/plugin/impl_plugin_for_js_plugin.rs index 7c036e6ebba..ee3adb73999 100644 --- a/crates/rspack_plugin_javascript/src/plugin/impl_plugin_for_js_plugin.rs +++ b/crates/rspack_plugin_javascript/src/plugin/impl_plugin_for_js_plugin.rs @@ -282,7 +282,7 @@ impl Plugin for JsPlugin { fn apply( &self, ctx: PluginContext<&mut rspack_core::ApplyContext>, - _options: &mut CompilerOptions, + _options: &CompilerOptions, ) -> Result<()> { ctx .context diff --git a/crates/rspack_plugin_javascript/src/plugin/infer_async_modules_plugin.rs b/crates/rspack_plugin_javascript/src/plugin/infer_async_modules_plugin.rs index d8a393937e7..5f9ba60fa6f 100644 --- a/crates/rspack_plugin_javascript/src/plugin/infer_async_modules_plugin.rs +++ b/crates/rspack_plugin_javascript/src/plugin/infer_async_modules_plugin.rs @@ -152,11 +152,7 @@ impl Plugin for InferAsyncModulesPlugin { "InferAsyncModulesPlugin" } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compilation_hooks diff --git a/crates/rspack_plugin_javascript/src/plugin/mangle_exports_plugin.rs b/crates/rspack_plugin_javascript/src/plugin/mangle_exports_plugin.rs index abd1e55164e..7899a8cb2a8 100644 --- a/crates/rspack_plugin_javascript/src/plugin/mangle_exports_plugin.rs +++ b/crates/rspack_plugin_javascript/src/plugin/mangle_exports_plugin.rs @@ -66,11 +66,7 @@ fn optimize_code_generation(&self, compilation: &mut Compilation) -> Result<()> } impl Plugin for MangleExportsPlugin { - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compilation_hooks diff --git a/crates/rspack_plugin_javascript/src/plugin/module_concatenation_plugin.rs b/crates/rspack_plugin_javascript/src/plugin/module_concatenation_plugin.rs index e998a178758..5c73174fe10 100644 --- a/crates/rspack_plugin_javascript/src/plugin/module_concatenation_plugin.rs +++ b/crates/rspack_plugin_javascript/src/plugin/module_concatenation_plugin.rs @@ -1040,11 +1040,7 @@ async fn optimize_chunk_modules(&self, compilation: &mut Compilation) -> Result< } impl Plugin for ModuleConcatenationPlugin { - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compilation_hooks diff --git a/crates/rspack_plugin_javascript/src/plugin/side_effects_flag_plugin.rs b/crates/rspack_plugin_javascript/src/plugin/side_effects_flag_plugin.rs index cc5772ec35d..3a46e3d5558 100644 --- a/crates/rspack_plugin_javascript/src/plugin/side_effects_flag_plugin.rs +++ b/crates/rspack_plugin_javascript/src/plugin/side_effects_flag_plugin.rs @@ -678,7 +678,7 @@ impl Plugin for SideEffectsFlagPlugin { fn apply( &self, ctx: rspack_core::PluginContext<&mut rspack_core::ApplyContext>, - _options: &mut rspack_core::CompilerOptions, + _options: &rspack_core::CompilerOptions, ) -> Result<()> { ctx .context diff --git a/crates/rspack_plugin_javascript/src/utils/eval/eval_source.rs b/crates/rspack_plugin_javascript/src/utils/eval/eval_source.rs index dbc62a7f2ec..87e8fd9333c 100644 --- a/crates/rspack_plugin_javascript/src/utils/eval/eval_source.rs +++ b/crates/rspack_plugin_javascript/src/utils/eval/eval_source.rs @@ -1,11 +1,13 @@ use std::{fmt::Display, sync::Arc}; -use rspack_core::EsVersion; use rspack_error::{miette::Severity, TraceableError}; use serde_json::json; use swc_core::{ common::{FileName, Spanned}, - ecma::parser::{parse_file_as_expr, EsSyntax, Syntax}, + ecma::{ + ast::EsVersion, + parser::{parse_file_as_expr, EsSyntax, Syntax}, + }, }; use super::BasicEvaluatedExpression; diff --git a/crates/rspack_plugin_javascript/src/visitors/dependency/parser/mod.rs b/crates/rspack_plugin_javascript/src/visitors/dependency/parser/mod.rs index c2cc6595f1e..65023069a88 100644 --- a/crates/rspack_plugin_javascript/src/visitors/dependency/parser/mod.rs +++ b/crates/rspack_plugin_javascript/src/visitors/dependency/parser/mod.rs @@ -314,25 +314,6 @@ impl<'parser> JavascriptParser<'parser> { } } - if compiler_options.dev_server.hot { - if module_type.is_js_auto() { - plugins.push(Box::new( - parser_plugin::hot_module_replacement::ModuleHotReplacementParserPlugin, - )); - plugins.push(Box::new( - parser_plugin::hot_module_replacement::ImportMetaHotReplacementParserPlugin, - )); - } else if module_type.is_js_dynamic() { - plugins.push(Box::new( - parser_plugin::hot_module_replacement::ModuleHotReplacementParserPlugin, - )); - } else if module_type.is_js_esm() { - plugins.push(Box::new( - parser_plugin::hot_module_replacement::ImportMetaHotReplacementParserPlugin, - )); - } - } - if module_type.is_js_auto() || module_type.is_js_dynamic() || module_type.is_js_esm() { plugins.push(Box::new(parser_plugin::WebpackIsIncludedPlugin)); plugins.push(Box::new(parser_plugin::ExportsInfoApiPlugin)); diff --git a/crates/rspack_plugin_json/src/lib.rs b/crates/rspack_plugin_json/src/lib.rs index b3eb5d33ee4..24e218776d4 100644 --- a/crates/rspack_plugin_json/src/lib.rs +++ b/crates/rspack_plugin_json/src/lib.rs @@ -216,7 +216,7 @@ impl Plugin for JsonPlugin { fn apply( &self, ctx: rspack_core::PluginContext<&mut rspack_core::ApplyContext>, - _options: &mut CompilerOptions, + _options: &CompilerOptions, ) -> Result<()> { ctx.context.register_parser_and_generator_builder( rspack_core::ModuleType::Json, diff --git a/crates/rspack_plugin_lazy_compilation/src/plugin.rs b/crates/rspack_plugin_lazy_compilation/src/plugin.rs index 84096bb32d6..27d881fe5bc 100644 --- a/crates/rspack_plugin_lazy_compilation/src/plugin.rs +++ b/crates/rspack_plugin_lazy_compilation/src/plugin.rs @@ -180,11 +180,7 @@ async fn normal_module_factory_module( impl Plugin for LazyCompilationPlugin { - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compiler_hooks diff --git a/crates/rspack_plugin_library/src/amd_library_plugin.rs b/crates/rspack_plugin_library/src/amd_library_plugin.rs index 5400687360e..e3df31acce9 100644 --- a/crates/rspack_plugin_library/src/amd_library_plugin.rs +++ b/crates/rspack_plugin_library/src/amd_library_plugin.rs @@ -203,11 +203,7 @@ impl Plugin for AmdLibraryPlugin { PLUGIN_NAME } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compiler_hooks diff --git a/crates/rspack_plugin_library/src/assign_library_plugin.rs b/crates/rspack_plugin_library/src/assign_library_plugin.rs index 252f9c64d31..18e1656bfa4 100644 --- a/crates/rspack_plugin_library/src/assign_library_plugin.rs +++ b/crates/rspack_plugin_library/src/assign_library_plugin.rs @@ -426,11 +426,7 @@ impl Plugin for AssignLibraryPlugin { PLUGIN_NAME } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compiler_hooks diff --git a/crates/rspack_plugin_library/src/export_property_library_plugin.rs b/crates/rspack_plugin_library/src/export_property_library_plugin.rs index 9e93335947d..d7bf5e96737 100644 --- a/crates/rspack_plugin_library/src/export_property_library_plugin.rs +++ b/crates/rspack_plugin_library/src/export_property_library_plugin.rs @@ -173,11 +173,7 @@ impl Plugin for ExportPropertyLibraryPlugin { "rspack.ExportPropertyLibraryPlugin" } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compiler_hooks diff --git a/crates/rspack_plugin_library/src/modern_module_library_plugin.rs b/crates/rspack_plugin_library/src/modern_module_library_plugin.rs index 7f725c7212e..4b55734e13a 100644 --- a/crates/rspack_plugin_library/src/modern_module_library_plugin.rs +++ b/crates/rspack_plugin_library/src/modern_module_library_plugin.rs @@ -304,11 +304,7 @@ impl Plugin for ModernModuleLibraryPlugin { PLUGIN_NAME } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compiler_hooks diff --git a/crates/rspack_plugin_library/src/module_library_plugin.rs b/crates/rspack_plugin_library/src/module_library_plugin.rs index a9dac69199a..f26d5aa7d83 100644 --- a/crates/rspack_plugin_library/src/module_library_plugin.rs +++ b/crates/rspack_plugin_library/src/module_library_plugin.rs @@ -117,11 +117,7 @@ impl Plugin for ModuleLibraryPlugin { PLUGIN_NAME } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compiler_hooks diff --git a/crates/rspack_plugin_library/src/system_library_plugin.rs b/crates/rspack_plugin_library/src/system_library_plugin.rs index fd6adb10f16..d9b2208a43e 100644 --- a/crates/rspack_plugin_library/src/system_library_plugin.rs +++ b/crates/rspack_plugin_library/src/system_library_plugin.rs @@ -201,11 +201,7 @@ impl Plugin for SystemLibraryPlugin { PLUGIN_NAME } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compiler_hooks diff --git a/crates/rspack_plugin_library/src/umd_library_plugin.rs b/crates/rspack_plugin_library/src/umd_library_plugin.rs index 604d53a8c97..40cbddc3977 100644 --- a/crates/rspack_plugin_library/src/umd_library_plugin.rs +++ b/crates/rspack_plugin_library/src/umd_library_plugin.rs @@ -280,11 +280,7 @@ impl Plugin for UmdLibraryPlugin { PLUGIN_NAME } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compiler_hooks diff --git a/crates/rspack_plugin_lightning_css_minimizer/src/lib.rs b/crates/rspack_plugin_lightning_css_minimizer/src/lib.rs index bac8f901a4a..80148ae82b4 100644 --- a/crates/rspack_plugin_lightning_css_minimizer/src/lib.rs +++ b/crates/rspack_plugin_lightning_css_minimizer/src/lib.rs @@ -296,7 +296,7 @@ impl Plugin for LightningCssMinimizerRspackPlugin { fn apply( &self, ctx: rspack_core::PluginContext<&mut rspack_core::ApplyContext>, - _options: &mut rspack_core::CompilerOptions, + _options: &rspack_core::CompilerOptions, ) -> Result<()> { ctx .context diff --git a/crates/rspack_plugin_limit_chunk_count/src/lib.rs b/crates/rspack_plugin_limit_chunk_count/src/lib.rs index 1f88510ecd3..aeccfab10cf 100644 --- a/crates/rspack_plugin_limit_chunk_count/src/lib.rs +++ b/crates/rspack_plugin_limit_chunk_count/src/lib.rs @@ -307,7 +307,7 @@ impl Plugin for LimitChunkCountPlugin { fn apply( &self, ctx: rspack_core::PluginContext<&mut rspack_core::ApplyContext>, - _options: &mut rspack_core::CompilerOptions, + _options: &rspack_core::CompilerOptions, ) -> Result<()> { ctx .context diff --git a/crates/rspack_plugin_merge_duplicate_chunks/src/lib.rs b/crates/rspack_plugin_merge_duplicate_chunks/src/lib.rs index 17d867ee0ad..0174c8716d2 100644 --- a/crates/rspack_plugin_merge_duplicate_chunks/src/lib.rs +++ b/crates/rspack_plugin_merge_duplicate_chunks/src/lib.rs @@ -139,7 +139,7 @@ impl Plugin for MergeDuplicateChunksPlugin { fn apply( &self, ctx: PluginContext<&mut rspack_core::ApplyContext>, - _options: &mut rspack_core::CompilerOptions, + _options: &rspack_core::CompilerOptions, ) -> Result<()> { ctx .context diff --git a/crates/rspack_plugin_mf/src/container/container_plugin.rs b/crates/rspack_plugin_mf/src/container/container_plugin.rs index aa0f5709717..225381d6ef6 100644 --- a/crates/rspack_plugin_mf/src/container/container_plugin.rs +++ b/crates/rspack_plugin_mf/src/container/container_plugin.rs @@ -112,11 +112,7 @@ impl Plugin for ContainerPlugin { "rspack.ContainerPlugin" } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compiler_hooks diff --git a/crates/rspack_plugin_mf/src/container/container_reference_plugin.rs b/crates/rspack_plugin_mf/src/container/container_reference_plugin.rs index 3ddb77a1ac9..f322b71d621 100644 --- a/crates/rspack_plugin_mf/src/container/container_reference_plugin.rs +++ b/crates/rspack_plugin_mf/src/container/container_reference_plugin.rs @@ -137,11 +137,7 @@ impl Plugin for ContainerReferencePlugin { "rspack.ContainerReferencePlugin" } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compiler_hooks diff --git a/crates/rspack_plugin_mf/src/container/module_federation_runtime_plugin.rs b/crates/rspack_plugin_mf/src/container/module_federation_runtime_plugin.rs index 210cd399d27..b35435c6858 100644 --- a/crates/rspack_plugin_mf/src/container/module_federation_runtime_plugin.rs +++ b/crates/rspack_plugin_mf/src/container/module_federation_runtime_plugin.rs @@ -101,11 +101,7 @@ impl Plugin for ModuleFederationRuntimePlugin { "rspack.container.ModuleFederationRuntimePlugin" } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compilation_hooks diff --git a/crates/rspack_plugin_mf/src/sharing/consume_shared_plugin.rs b/crates/rspack_plugin_mf/src/sharing/consume_shared_plugin.rs index 832c8eb1216..3d957477f47 100644 --- a/crates/rspack_plugin_mf/src/sharing/consume_shared_plugin.rs +++ b/crates/rspack_plugin_mf/src/sharing/consume_shared_plugin.rs @@ -429,11 +429,7 @@ impl Plugin for ConsumeSharedPlugin { "rspack.ConsumeSharedPlugin" } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compiler_hooks diff --git a/crates/rspack_plugin_mf/src/sharing/provide_shared_plugin.rs b/crates/rspack_plugin_mf/src/sharing/provide_shared_plugin.rs index 8fe25c9df74..b381c261eba 100644 --- a/crates/rspack_plugin_mf/src/sharing/provide_shared_plugin.rs +++ b/crates/rspack_plugin_mf/src/sharing/provide_shared_plugin.rs @@ -274,11 +274,7 @@ impl Plugin for ProvideSharedPlugin { "rspack.ProvideSharedPlugin" } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compiler_hooks diff --git a/crates/rspack_plugin_mf/src/sharing/share_runtime_plugin.rs b/crates/rspack_plugin_mf/src/sharing/share_runtime_plugin.rs index f8cd8e959b5..35da43af08a 100644 --- a/crates/rspack_plugin_mf/src/sharing/share_runtime_plugin.rs +++ b/crates/rspack_plugin_mf/src/sharing/share_runtime_plugin.rs @@ -42,7 +42,7 @@ impl Plugin for ShareRuntimePlugin { fn apply( &self, ctx: PluginContext<&mut rspack_core::ApplyContext>, - _options: &mut rspack_core::CompilerOptions, + _options: &rspack_core::CompilerOptions, ) -> Result<()> { ctx .context diff --git a/crates/rspack_plugin_no_emit_on_errors/src/lib.rs b/crates/rspack_plugin_no_emit_on_errors/src/lib.rs index f72481e4219..c14df4ac1c7 100644 --- a/crates/rspack_plugin_no_emit_on_errors/src/lib.rs +++ b/crates/rspack_plugin_no_emit_on_errors/src/lib.rs @@ -30,11 +30,7 @@ impl Plugin for NoEmitOnErrorsPlugin { "NoEmitOnErrorsPlugin" } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compiler_hooks diff --git a/crates/rspack_plugin_progress/src/lib.rs b/crates/rspack_plugin_progress/src/lib.rs index b7d822c9c2e..1bddb1aa44b 100644 --- a/crates/rspack_plugin_progress/src/lib.rs +++ b/crates/rspack_plugin_progress/src/lib.rs @@ -469,11 +469,7 @@ impl Plugin for ProgressPlugin { "progress" } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compiler_hooks diff --git a/crates/rspack_plugin_real_content_hash/src/lib.rs b/crates/rspack_plugin_real_content_hash/src/lib.rs index 1cf1a84f180..703407a8ca9 100644 --- a/crates/rspack_plugin_real_content_hash/src/lib.rs +++ b/crates/rspack_plugin_real_content_hash/src/lib.rs @@ -41,7 +41,7 @@ impl Plugin for RealContentHashPlugin { fn apply( &self, ctx: PluginContext<&mut rspack_core::ApplyContext>, - _options: &mut rspack_core::CompilerOptions, + _options: &rspack_core::CompilerOptions, ) -> Result<()> { ctx .context diff --git a/crates/rspack_plugin_remove_empty_chunks/src/lib.rs b/crates/rspack_plugin_remove_empty_chunks/src/lib.rs index cd97c4254b0..abd83064055 100644 --- a/crates/rspack_plugin_remove_empty_chunks/src/lib.rs +++ b/crates/rspack_plugin_remove_empty_chunks/src/lib.rs @@ -54,7 +54,7 @@ impl Plugin for RemoveEmptyChunksPlugin { fn apply( &self, ctx: rspack_core::PluginContext<&mut rspack_core::ApplyContext>, - _options: &mut rspack_core::CompilerOptions, + _options: &rspack_core::CompilerOptions, ) -> Result<()> { ctx .context diff --git a/crates/rspack_plugin_runtime/src/array_push_callback_chunk_format.rs b/crates/rspack_plugin_runtime/src/array_push_callback_chunk_format.rs index 0e262456600..c2618029e45 100644 --- a/crates/rspack_plugin_runtime/src/array_push_callback_chunk_format.rs +++ b/crates/rspack_plugin_runtime/src/array_push_callback_chunk_format.rs @@ -180,11 +180,7 @@ impl Plugin for ArrayPushCallbackChunkFormatPlugin { PLUGIN_NAME } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compiler_hooks diff --git a/crates/rspack_plugin_runtime/src/bundler_info.rs b/crates/rspack_plugin_runtime/src/bundler_info.rs index fb5ef20aca6..ede56be5e63 100644 --- a/crates/rspack_plugin_runtime/src/bundler_info.rs +++ b/crates/rspack_plugin_runtime/src/bundler_info.rs @@ -92,7 +92,7 @@ impl Plugin for BundlerInfoPlugin { fn apply( &self, ctx: PluginContext<&mut rspack_core::ApplyContext>, - _options: &mut rspack_core::CompilerOptions, + _options: &rspack_core::CompilerOptions, ) -> Result<()> { ctx .context diff --git a/crates/rspack_plugin_runtime/src/chunk_prefetch_preload.rs b/crates/rspack_plugin_runtime/src/chunk_prefetch_preload.rs index d80f5e865fe..8c56c2df1a0 100644 --- a/crates/rspack_plugin_runtime/src/chunk_prefetch_preload.rs +++ b/crates/rspack_plugin_runtime/src/chunk_prefetch_preload.rs @@ -83,7 +83,7 @@ impl Plugin for ChunkPrefetchPreloadPlugin { fn apply( &self, ctx: rspack_core::PluginContext<&mut rspack_core::ApplyContext>, - _options: &mut rspack_core::CompilerOptions, + _options: &rspack_core::CompilerOptions, ) -> Result<()> { ctx .context diff --git a/crates/rspack_plugin_runtime/src/common_js_chunk_format.rs b/crates/rspack_plugin_runtime/src/common_js_chunk_format.rs index 7b429ba4412..d4b268573a6 100644 --- a/crates/rspack_plugin_runtime/src/common_js_chunk_format.rs +++ b/crates/rspack_plugin_runtime/src/common_js_chunk_format.rs @@ -166,11 +166,7 @@ impl Plugin for CommonJsChunkFormatPlugin { PLUGIN_NAME } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compiler_hooks diff --git a/crates/rspack_plugin_runtime/src/common_js_chunk_loading.rs b/crates/rspack_plugin_runtime/src/common_js_chunk_loading.rs index 99f718a2057..e7c214243cf 100644 --- a/crates/rspack_plugin_runtime/src/common_js_chunk_loading.rs +++ b/crates/rspack_plugin_runtime/src/common_js_chunk_loading.rs @@ -92,7 +92,7 @@ impl Plugin for CommonJsChunkLoadingPlugin { fn apply( &self, ctx: PluginContext<&mut rspack_core::ApplyContext>, - _options: &mut rspack_core::CompilerOptions, + _options: &rspack_core::CompilerOptions, ) -> Result<()> { ctx .context diff --git a/crates/rspack_plugin_runtime/src/import_scripts_chunk_loading.rs b/crates/rspack_plugin_runtime/src/import_scripts_chunk_loading.rs index 8225824709d..e1c880cedd8 100644 --- a/crates/rspack_plugin_runtime/src/import_scripts_chunk_loading.rs +++ b/crates/rspack_plugin_runtime/src/import_scripts_chunk_loading.rs @@ -74,7 +74,7 @@ impl Plugin for ImportScriptsChunkLoadingPlugin { fn apply( &self, ctx: PluginContext<&mut rspack_core::ApplyContext>, - _options: &mut rspack_core::CompilerOptions, + _options: &rspack_core::CompilerOptions, ) -> Result<()> { ctx .context diff --git a/crates/rspack_plugin_runtime/src/jsonp_chunk_loading.rs b/crates/rspack_plugin_runtime/src/jsonp_chunk_loading.rs index 6b84d9dfea8..070e9fe4632 100644 --- a/crates/rspack_plugin_runtime/src/jsonp_chunk_loading.rs +++ b/crates/rspack_plugin_runtime/src/jsonp_chunk_loading.rs @@ -70,7 +70,7 @@ impl Plugin for JsonpChunkLoadingPlugin { fn apply( &self, ctx: PluginContext<&mut rspack_core::ApplyContext>, - _options: &mut rspack_core::CompilerOptions, + _options: &rspack_core::CompilerOptions, ) -> Result<()> { ctx .context diff --git a/crates/rspack_plugin_runtime/src/module_chunk_format.rs b/crates/rspack_plugin_runtime/src/module_chunk_format.rs index 622416d87ac..830e692501c 100644 --- a/crates/rspack_plugin_runtime/src/module_chunk_format.rs +++ b/crates/rspack_plugin_runtime/src/module_chunk_format.rs @@ -216,11 +216,7 @@ impl Plugin for ModuleChunkFormatPlugin { PLUGIN_NAME } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compiler_hooks diff --git a/crates/rspack_plugin_runtime/src/module_chunk_loading.rs b/crates/rspack_plugin_runtime/src/module_chunk_loading.rs index e08b62a6243..77a3a467bb7 100644 --- a/crates/rspack_plugin_runtime/src/module_chunk_loading.rs +++ b/crates/rspack_plugin_runtime/src/module_chunk_loading.rs @@ -64,7 +64,7 @@ impl Plugin for ModuleChunkLoadingPlugin { fn apply( &self, ctx: PluginContext<&mut rspack_core::ApplyContext>, - _options: &mut rspack_core::CompilerOptions, + _options: &rspack_core::CompilerOptions, ) -> Result<()> { ctx .context diff --git a/crates/rspack_plugin_runtime/src/runtime_plugin.rs b/crates/rspack_plugin_runtime/src/runtime_plugin.rs index cc1605b3dea..f23ed0b3e8e 100644 --- a/crates/rspack_plugin_runtime/src/runtime_plugin.rs +++ b/crates/rspack_plugin_runtime/src/runtime_plugin.rs @@ -509,11 +509,7 @@ impl Plugin for RuntimePlugin { "rspack.RuntimePlugin" } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compiler_hooks diff --git a/crates/rspack_plugin_runtime/src/startup_chunk_dependencies.rs b/crates/rspack_plugin_runtime/src/startup_chunk_dependencies.rs index 88ced8bf654..eb371298bfa 100644 --- a/crates/rspack_plugin_runtime/src/startup_chunk_dependencies.rs +++ b/crates/rspack_plugin_runtime/src/startup_chunk_dependencies.rs @@ -78,11 +78,7 @@ impl Plugin for StartupChunkDependenciesPlugin { "StartupChunkDependenciesPlugin" } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compilation_hooks diff --git a/crates/rspack_plugin_runtime_chunk/src/lib.rs b/crates/rspack_plugin_runtime_chunk/src/lib.rs index b7434177529..aa532acd361 100644 --- a/crates/rspack_plugin_runtime_chunk/src/lib.rs +++ b/crates/rspack_plugin_runtime_chunk/src/lib.rs @@ -66,11 +66,7 @@ async fn add_entry(&self, compilation: &mut Compilation, entry_name: Option<&str } impl rspack_core::Plugin for RuntimeChunkPlugin { - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compilation_hooks diff --git a/crates/rspack_plugin_schemes/src/data_uri.rs b/crates/rspack_plugin_schemes/src/data_uri.rs index 6f6d48424c7..e0fbf38c6a4 100644 --- a/crates/rspack_plugin_schemes/src/data_uri.rs +++ b/crates/rspack_plugin_schemes/src/data_uri.rs @@ -86,11 +86,7 @@ impl Plugin for DataUriPlugin { "rspack.DataUriPlugin" } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .normal_module_factory_hooks diff --git a/crates/rspack_plugin_schemes/src/file_uri.rs b/crates/rspack_plugin_schemes/src/file_uri.rs index 2083a790433..f5cbc3059a8 100644 --- a/crates/rspack_plugin_schemes/src/file_uri.rs +++ b/crates/rspack_plugin_schemes/src/file_uri.rs @@ -47,11 +47,7 @@ impl Plugin for FileUriPlugin { "rspack.FileUriPlugin" } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .normal_module_factory_hooks diff --git a/crates/rspack_plugin_size_limits/src/lib.rs b/crates/rspack_plugin_size_limits/src/lib.rs index c56c02fbbfe..083b1710341 100644 --- a/crates/rspack_plugin_size_limits/src/lib.rs +++ b/crates/rspack_plugin_size_limits/src/lib.rs @@ -243,11 +243,7 @@ impl Plugin for SizeLimitsPlugin { "SizeLimitsPlugin" } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compiler_hooks diff --git a/crates/rspack_plugin_split_chunks/src/plugin/mod.rs b/crates/rspack_plugin_split_chunks/src/plugin/mod.rs index 8fb533c4193..10ff9632d79 100644 --- a/crates/rspack_plugin_split_chunks/src/plugin/mod.rs +++ b/crates/rspack_plugin_split_chunks/src/plugin/mod.rs @@ -176,7 +176,7 @@ impl Plugin for SplitChunksPlugin { fn apply( &self, ctx: rspack_core::PluginContext<&mut rspack_core::ApplyContext>, - _options: &mut rspack_core::CompilerOptions, + _options: &rspack_core::CompilerOptions, ) -> Result<()> { ctx .context diff --git a/crates/rspack_plugin_swc_js_minimizer/src/lib.rs b/crates/rspack_plugin_swc_js_minimizer/src/lib.rs index 0f4169a0b56..743d58f1b60 100644 --- a/crates/rspack_plugin_swc_js_minimizer/src/lib.rs +++ b/crates/rspack_plugin_swc_js_minimizer/src/lib.rs @@ -307,7 +307,7 @@ impl Plugin for SwcJsMinimizerRspackPlugin { fn apply( &self, ctx: PluginContext<&mut rspack_core::ApplyContext>, - _options: &mut rspack_core::CompilerOptions, + _options: &rspack_core::CompilerOptions, ) -> Result<()> { ctx .context diff --git a/crates/rspack_plugin_warn_sensitive_module/src/lib.rs b/crates/rspack_plugin_warn_sensitive_module/src/lib.rs index e6f66126783..435506974e2 100644 --- a/crates/rspack_plugin_warn_sensitive_module/src/lib.rs +++ b/crates/rspack_plugin_warn_sensitive_module/src/lib.rs @@ -109,11 +109,7 @@ impl Plugin for WarnCaseSensitiveModulesPlugin { "rspack.WarnCaseSensitiveModulesPlugin" } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx.context.compilation_hooks.seal.tap(seal::new(self)); Ok(()) } diff --git a/crates/rspack_plugin_wasm/src/loading_plugin.rs b/crates/rspack_plugin_wasm/src/loading_plugin.rs index c99e9d58b1b..323fbf3543b 100644 --- a/crates/rspack_plugin_wasm/src/loading_plugin.rs +++ b/crates/rspack_plugin_wasm/src/loading_plugin.rs @@ -52,7 +52,7 @@ impl Plugin for FetchCompileAsyncWasmPlugin { fn apply( &self, ctx: PluginContext<&mut rspack_core::ApplyContext>, - _options: &mut rspack_core::CompilerOptions, + _options: &rspack_core::CompilerOptions, ) -> Result<()> { ctx .context @@ -112,7 +112,7 @@ impl Plugin for ReadFileCompileAsyncWasmPlugin { fn apply( &self, ctx: PluginContext<&mut rspack_core::ApplyContext>, - _options: &mut rspack_core::CompilerOptions, + _options: &rspack_core::CompilerOptions, ) -> Result<()> { ctx .context diff --git a/crates/rspack_plugin_wasm/src/wasm_plugin.rs b/crates/rspack_plugin_wasm/src/wasm_plugin.rs index 02cccc10584..0063b5d58e9 100644 --- a/crates/rspack_plugin_wasm/src/wasm_plugin.rs +++ b/crates/rspack_plugin_wasm/src/wasm_plugin.rs @@ -86,11 +86,7 @@ impl Plugin for AsyncWasmPlugin { "rspack.AsyncWebAssemblyModulesPlugin" } - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compiler_hooks diff --git a/crates/rspack_plugin_worker/src/lib.rs b/crates/rspack_plugin_worker/src/lib.rs index c7de7d432d5..5c042fb7c5d 100644 --- a/crates/rspack_plugin_worker/src/lib.rs +++ b/crates/rspack_plugin_worker/src/lib.rs @@ -23,11 +23,7 @@ async fn compilation( } impl rspack_core::Plugin for WorkerPlugin { - fn apply( - &self, - ctx: PluginContext<&mut ApplyContext>, - _options: &mut CompilerOptions, - ) -> Result<()> { + fn apply(&self, ctx: PluginContext<&mut ApplyContext>, _options: &CompilerOptions) -> Result<()> { ctx .context .compiler_hooks