diff --git a/Cargo.lock b/Cargo.lock index a17a82b4689f..65c3fb72e8c1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4139,7 +4139,7 @@ dependencies = [ [[package]] name = "rspack_sources" version = "0.2.17" -source = "git+https://github.com/SyMind/rspack-sources.git?rev=096649f#096649fdd3bd05233a334daef6a1a336383352f7" +source = "git+https://github.com/SyMind/rspack-sources.git?rev=23518c8#23518c85eaedb2b929706029b954167e0f291634" dependencies = [ "arrayvec", "dashmap 5.5.3", diff --git a/Cargo.toml b/Cargo.toml index 5dc35ff47961..22f4834baf9b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -47,7 +47,7 @@ proc-macro2 = { version = "1.0.79" } quote = { version = "1.0.35" } rayon = { version = "1.10.0" } regex = { version = "1.10.4" } -rspack_sources = { git = "https://github.com/SyMind/rspack-sources.git", rev = "096649f" } +rspack_sources = { git = "https://github.com/SyMind/rspack-sources.git", rev = "23518c8" } rustc-hash = { version = "1.1.0" } schemars = { version = "0.8.16" } serde = { version = "1.0.197" } diff --git a/crates/rspack_binding_options/src/options/raw_builtins/raw_copy.rs b/crates/rspack_binding_options/src/options/raw_builtins/raw_copy.rs index 59eac2ee7dd7..ecf999ed5710 100644 --- a/crates/rspack_binding_options/src/options/raw_builtins/raw_copy.rs +++ b/crates/rspack_binding_options/src/options/raw_builtins/raw_copy.rs @@ -142,8 +142,8 @@ impl From for CopyPattern { fn convert_to_enum(input: Either) -> RawSource { match input { - Either::A(s) => RawSource::Source(s), - Either::B(b) => RawSource::Buffer(b.to_vec()), + Either::A(s) => RawSource::from(s), + Either::B(b) => RawSource::from(b.to_vec()), } } diff --git a/crates/rspack_binding_values/src/source.rs b/crates/rspack_binding_values/src/source.rs index ccd67a0b49dc..d2d1dd4fe94e 100644 --- a/crates/rspack_binding_values/src/source.rs +++ b/crates/rspack_binding_values/src/source.rs @@ -75,7 +75,7 @@ impl<'a> StreamChunks<'a> for CompatSource { fn stream_chunks( &'a self, options: &MapOptions, - on_chunk: OnChunk, + on_chunk: OnChunk<'_, 'a>, on_source: OnSource<'_, 'a>, on_name: OnName<'_, 'a>, ) -> GeneratedInfo { diff --git a/crates/rspack_core/src/normal_module.rs b/crates/rspack_core/src/normal_module.rs index b292f1196ceb..7c12588c829a 100644 --- a/crates/rspack_core/src/normal_module.rs +++ b/crates/rspack_core/src/normal_module.rs @@ -784,7 +784,7 @@ impl Diagnosable for NormalModule { impl NormalModule { fn create_source(&self, content: Content, source_map: Option) -> Result { if content.is_buffer() { - return Ok(RawSource::Buffer(content.into_bytes()).boxed()); + return Ok(RawSource::from(content.into_bytes()).boxed()); } let source_map_kind = self.get_source_map_kind(); if source_map_kind.enabled() diff --git a/crates/rspack_plugin_copy/src/lib.rs b/crates/rspack_plugin_copy/src/lib.rs index b2bb0dda770e..8042f6ba0a3d 100644 --- a/crates/rspack_plugin_copy/src/lib.rs +++ b/crates/rspack_plugin_copy/src/lib.rs @@ -15,8 +15,9 @@ use futures::future::BoxFuture; use glob::{MatchOptions, Pattern as GlobPattern}; use regex::Regex; use rspack_core::{ - rspack_sources::RawSource, AssetInfo, AssetInfoRelated, Compilation, CompilationAsset, - CompilationLogger, CompilationProcessAssets, FilenameTemplate, Logger, PathData, Plugin, + rspack_sources::{RawSource, Source}, + AssetInfo, AssetInfoRelated, Compilation, CompilationAsset, CompilationLogger, + CompilationProcessAssets, FilenameTemplate, Logger, PathData, Plugin, }; use rspack_error::{Diagnostic, DiagnosticError, Error, ErrorExt, Result}; use rspack_hash::{HashDigest, HashFunction, HashSalt, RspackHash, RspackHashDigest}; @@ -148,14 +149,7 @@ impl CopyRspackPlugin { salt: &HashSalt, ) -> RspackHashDigest { let mut hasher = RspackHash::with_salt(function, salt); - match &source { - RawSource::Buffer(buffer) => { - buffer.hash(&mut hasher); - } - RawSource::Source(source) => { - source.hash(&mut hasher); - } - } + source.buffer().hash(&mut hasher); hasher.digest(digest) } @@ -290,7 +284,7 @@ impl CopyRspackPlugin { } }; - let mut source = RawSource::Buffer(source_vec.clone()); + let mut source = RawSource::from(source_vec.clone()); if let Some(transform) = &pattern.transform { match transform { diff --git a/crates/rspack_plugin_hmr/src/lib.rs b/crates/rspack_plugin_hmr/src/lib.rs index 595195755b4d..01fd7c754365 100644 --- a/crates/rspack_plugin_hmr/src/lib.rs +++ b/crates/rspack_plugin_hmr/src/lib.rs @@ -293,7 +293,7 @@ async fn process_assets(&self, compilation: &mut Compilation) -> Result<()> { filename, CompilationAsset::new( Some( - RawSource::Source( + RawSource::from( serde_json::json!({ "c": c, "r": r, 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 cd06c7a6b5dc..0e2624566007 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 @@ -107,7 +107,7 @@ fn render_chunk( let mut source = ConcatSource::default(); if matches!(chunk.kind, ChunkKind::HotUpdate) { - source.add(RawSource::Source(format!( + source.add(RawSource::from(format!( "{}[{}]('{}', ", global_object, serde_json::to_string(hot_update_global).map_err(|e| error!(e.to_string()))?, @@ -115,10 +115,10 @@ fn render_chunk( ))); source.add(render_source.source.clone()); if has_runtime_modules { - source.add(RawSource::Source(",".to_string())); + source.add(RawSource::from(",".to_string())); source.add(render_chunk_runtime_modules(compilation, chunk_ukey)?); } - source.add(RawSource::Source(")".to_string())); + source.add(RawSource::from(")".to_string())); } else { let chunk_loading_global = &compilation.options.output.chunk_loading_global; diff --git a/crates/rspack_plugin_swc_js_minimizer/src/lib.rs b/crates/rspack_plugin_swc_js_minimizer/src/lib.rs index 37210813f089..38b7d6ebd65a 100644 --- a/crates/rspack_plugin_swc_js_minimizer/src/lib.rs +++ b/crates/rspack_plugin_swc_js_minimizer/src/lib.rs @@ -259,7 +259,7 @@ async fn process_assets(&self, compilation: &mut Compilation) -> Result<()> { .contains_key(filename) { ConcatSource::new([ - RawSource::Source(banner).boxed(), + RawSource::from(banner).boxed(), RawSource::from("\n").boxed(), source ]).boxed() diff --git a/crates/rspack_plugin_swc_js_minimizer/src/minify.rs b/crates/rspack_plugin_swc_js_minimizer/src/minify.rs index fbad523a2959..85221aac8e3f 100644 --- a/crates/rspack_plugin_swc_js_minimizer/src/minify.rs +++ b/crates/rspack_plugin_swc_js_minimizer/src/minify.rs @@ -287,7 +287,7 @@ pub fn minify( .insert( filename.to_string(), ExtractedCommentsInfo { - source: RawSource::Source(extracted_comments.join("\n\n")).boxed(), + source: RawSource::from(extracted_comments.join("\n\n")).boxed(), comments_file_name: extract_comments.filename.to_string(), }, );