diff --git a/crates/rspack_core/src/concatenated_module.rs b/crates/rspack_core/src/concatenated_module.rs index a785a8c1a2f..314ad7ec98b 100644 --- a/crates/rspack_core/src/concatenated_module.rs +++ b/crates/rspack_core/src/concatenated_module.rs @@ -1607,7 +1607,7 @@ impl ConcatenatedModule { source_order: dep .source_order() .expect("source order should not be empty"), - range_start: dep.span().map(|span| span.start), + range_start: dep.range().map(|range| range.start), }) }) .collect::>(); diff --git a/crates/rspack_core/src/context_module_factory.rs b/crates/rspack_core/src/context_module_factory.rs index 2b6dc451834..c6a02db9377 100644 --- a/crates/rspack_core/src/context_module_factory.rs +++ b/crates/rspack_core/src/context_module_factory.rs @@ -7,9 +7,10 @@ use rspack_regex::RspackRegex; use tracing::instrument; use crate::{ - resolve, ContextModule, ContextModuleOptions, DependencyCategory, ModuleExt, ModuleFactory, - ModuleFactoryCreateData, ModuleFactoryResult, ModuleIdentifier, RawModule, ResolveArgs, - ResolveOptionsWithDependencyType, ResolveResult, Resolver, ResolverFactory, SharedPluginDriver, + resolve, ContextModule, ContextModuleOptions, DependencyCategory, ErrorSpan, ModuleExt, + ModuleFactory, ModuleFactoryCreateData, ModuleFactoryResult, ModuleIdentifier, RawModule, + ResolveArgs, ResolveOptionsWithDependencyType, ResolveResult, Resolver, ResolverFactory, + SharedPluginDriver, }; #[derive(Clone)] @@ -221,7 +222,9 @@ impl ContextModuleFactory { specifier, dependency_type: dependency.dependency_type(), dependency_category: dependency.category(), - span: dependency.span(), + span: dependency + .range() + .map(|range| ErrorSpan::new(range.start, range.end)), resolve_options: data.resolve_options.clone(), resolve_to_context: true, optional: dependency.get_optional(), diff --git a/crates/rspack_core/src/dependency/dependency_trait.rs b/crates/rspack_core/src/dependency/dependency_trait.rs index 3462fe9282e..7b9eb202c30 100644 --- a/crates/rspack_core/src/dependency/dependency_trait.rs +++ b/crates/rspack_core/src/dependency/dependency_trait.rs @@ -9,6 +9,7 @@ use swc_core::ecma::atoms::Atom; use super::dependency_template::AsDependencyTemplate; use super::module_dependency::*; use super::ExportsSpec; +use super::RealDependencyLocation; use super::{DependencyCategory, DependencyId, DependencyType}; use crate::create_exports_object_referenced; use crate::AsContextDependency; @@ -16,7 +17,7 @@ use crate::ExtendedReferencedExport; use crate::ImportAttributes; use crate::ModuleLayer; use crate::RuntimeSpec; -use crate::{ConnectionState, Context, ErrorSpan, ModuleGraph, UsedByExports}; +use crate::{ConnectionState, Context, ModuleGraph, UsedByExports}; #[derive(Debug, Clone, Copy)] pub enum AffectType { @@ -77,7 +78,7 @@ pub trait Dependency: None } - fn span(&self) -> Option { + fn range(&self) -> Option<&RealDependencyLocation> { None } diff --git a/crates/rspack_core/src/dependency/module_dependency.rs b/crates/rspack_core/src/dependency/module_dependency.rs index 7b1b8655930..ce5c49003d4 100644 --- a/crates/rspack_core/src/dependency/module_dependency.rs +++ b/crates/rspack_core/src/dependency/module_dependency.rs @@ -15,7 +15,9 @@ pub trait ModuleDependency: Dependency { /// This is only intended used to display better diagnostics. /// So it might not be precise as it is using [crate::Dependency::span] as the default value. fn source_span(&self) -> Option { - self.span() + self + .range() + .map(|range| ErrorSpan::new(range.start, range.end)) } // TODO: move to ModuleGraphConnection diff --git a/crates/rspack_plugin_css/src/dependency/compose.rs b/crates/rspack_plugin_css/src/dependency/compose.rs index 944a7c1a53d..4ab5d795ddf 100644 --- a/crates/rspack_plugin_css/src/dependency/compose.rs +++ b/crates/rspack_plugin_css/src/dependency/compose.rs @@ -1,6 +1,6 @@ use rspack_core::{ AsContextDependency, AsDependencyTemplate, Dependency, DependencyCategory, DependencyId, - DependencyType, ErrorSpan, ModuleDependency, RealDependencyLocation, + DependencyType, ModuleDependency, RealDependencyLocation, }; #[derive(Debug, Clone)] @@ -33,8 +33,8 @@ impl Dependency for CssComposeDependency { &DependencyType::CssCompose } - fn span(&self) -> Option { - Some(ErrorSpan::new(self.range.start, self.range.end)) + fn range(&self) -> Option<&RealDependencyLocation> { + Some(&self.range) } fn could_affect_referencing_module(&self) -> rspack_core::AffectType { diff --git a/crates/rspack_plugin_css/src/dependency/import.rs b/crates/rspack_plugin_css/src/dependency/import.rs index 981de9ea34b..6982c685d44 100644 --- a/crates/rspack_plugin_css/src/dependency/import.rs +++ b/crates/rspack_plugin_css/src/dependency/import.rs @@ -1,7 +1,7 @@ use rspack_core::{ AsContextDependency, Compilation, Dependency, DependencyCategory, DependencyId, - DependencyTemplate, DependencyType, ErrorSpan, ModuleDependency, RealDependencyLocation, - RuntimeSpec, TemplateContext, TemplateReplaceSource, + DependencyTemplate, DependencyType, ModuleDependency, RealDependencyLocation, RuntimeSpec, + TemplateContext, TemplateReplaceSource, }; #[derive(Debug, Clone)] @@ -34,8 +34,8 @@ impl Dependency for CssImportDependency { &DependencyType::CssImport } - fn span(&self) -> Option { - Some(ErrorSpan::new(self.range.start, self.range.end)) + fn range(&self) -> Option<&RealDependencyLocation> { + Some(&self.range) } fn could_affect_referencing_module(&self) -> rspack_core::AffectType { diff --git a/crates/rspack_plugin_css/src/dependency/url.rs b/crates/rspack_plugin_css/src/dependency/url.rs index a7d6688a47a..5e2d3f5e0f6 100644 --- a/crates/rspack_plugin_css/src/dependency/url.rs +++ b/crates/rspack_plugin_css/src/dependency/url.rs @@ -1,8 +1,8 @@ use rspack_core::{ AsContextDependency, CodeGenerationDataFilename, CodeGenerationDataUrl, Compilation, Dependency, - DependencyCategory, DependencyId, DependencyTemplate, DependencyType, ErrorSpan, - ModuleDependency, ModuleIdentifier, PublicPath, RealDependencyLocation, RuntimeSpec, - TemplateContext, TemplateReplaceSource, + DependencyCategory, DependencyId, DependencyTemplate, DependencyType, ModuleDependency, + ModuleIdentifier, PublicPath, RealDependencyLocation, RuntimeSpec, TemplateContext, + TemplateReplaceSource, }; use crate::utils::{css_escape_string, AUTO_PUBLIC_PATH_PLACEHOLDER}; @@ -64,8 +64,8 @@ impl Dependency for CssUrlDependency { &DependencyType::CssUrl } - fn span(&self) -> Option { - Some(ErrorSpan::new(self.range.start, self.range.end)) + fn range(&self) -> Option<&RealDependencyLocation> { + Some(&self.range) } fn could_affect_referencing_module(&self) -> rspack_core::AffectType { diff --git a/crates/rspack_plugin_extract_css/src/css_dependency.rs b/crates/rspack_plugin_extract_css/src/css_dependency.rs index f3bddd72b31..f9d5d9af060 100644 --- a/crates/rspack_plugin_extract_css/src/css_dependency.rs +++ b/crates/rspack_plugin_extract_css/src/css_dependency.rs @@ -3,7 +3,7 @@ use std::path::PathBuf; use rspack_collections::IdentifierSet; use rspack_core::{ AffectType, AsContextDependency, AsDependencyTemplate, ConnectionState, Dependency, - DependencyCategory, DependencyId, ModuleDependency, ModuleGraph, + DependencyCategory, DependencyId, ModuleDependency, ModuleGraph, RealDependencyLocation, }; use rustc_hash::FxHashSet; @@ -24,8 +24,9 @@ pub struct CssDependency { pub(crate) identifier_index: u32, // determine module's postOrderIndex - pub(crate) order_index: u32, - + // @TODO(shulaoda) Does this have any additional side effects? + // pub(crate) order_index: u32, + range: RealDependencyLocation, resource_identifier: String, pub(crate) cacheable: bool, pub(crate) file_dependencies: FxHashSet, @@ -45,7 +46,7 @@ impl CssDependency { supports: Option, source_map: Option, identifier_index: u32, - order_index: u32, + range: RealDependencyLocation, cacheable: bool, file_dependencies: FxHashSet, context_dependencies: FxHashSet, @@ -63,7 +64,7 @@ impl CssDependency { supports, source_map, identifier_index, - order_index, + range, resource_identifier, cacheable, file_dependencies, @@ -107,11 +108,8 @@ impl Dependency for CssDependency { // it can keep the right order, but Rspack uses HashSet, // when determining the postOrderIndex, Rspack uses // dependency span to set correct order - fn span(&self) -> Option { - Some(rspack_core::ErrorSpan { - start: self.order_index, - end: self.order_index + 1, - }) + fn range(&self) -> Option<&RealDependencyLocation> { + Some(&self.range) } fn get_layer(&self) -> Option<&rspack_core::ModuleLayer> { diff --git a/crates/rspack_plugin_extract_css/src/parser_plugin.rs b/crates/rspack_plugin_extract_css/src/parser_plugin.rs index 8d6e5e1c568..488ed607927 100644 --- a/crates/rspack_plugin_extract_css/src/parser_plugin.rs +++ b/crates/rspack_plugin_extract_css/src/parser_plugin.rs @@ -1,4 +1,4 @@ -use rspack_core::BoxDependency; +use rspack_core::{BoxDependency, RealDependencyLocation}; use rspack_plugin_javascript::{visitors::JavascriptParser, JavascriptParserPlugin}; use rspack_util::fx_hash::FxDashMap; use serde::Deserialize; @@ -60,7 +60,7 @@ impl JavascriptParserPlugin for PluginCssExtractParserPlugin { supports.clone(), source_map.clone(), *identifier_index, - index as u32, + RealDependencyLocation::new(index as u32, (index + 1) as u32), parser.build_info.cacheable, parser.build_info.file_dependencies.clone(), parser.build_info.context_dependencies.clone(), diff --git a/crates/rspack_plugin_javascript/src/dependency/commonjs/common_js_full_require_dependency.rs b/crates/rspack_plugin_javascript/src/dependency/commonjs/common_js_full_require_dependency.rs index e9b9e254f2d..6da0669be68 100644 --- a/crates/rspack_plugin_javascript/src/dependency/commonjs/common_js_full_require_dependency.rs +++ b/crates/rspack_plugin_javascript/src/dependency/commonjs/common_js_full_require_dependency.rs @@ -5,7 +5,7 @@ use rspack_core::{ }; use rspack_core::{AsContextDependency, Dependency, DependencyCategory}; use rspack_core::{DependencyId, DependencyTemplate}; -use rspack_core::{DependencyType, ErrorSpan, ModuleDependency}; +use rspack_core::{DependencyType, ModuleDependency}; use rspack_core::{TemplateContext, TemplateReplaceSource}; use swc_core::atoms::Atom; @@ -58,8 +58,8 @@ impl Dependency for CommonJsFullRequireDependency { Some(self.range.to_string()) } - fn span(&self) -> Option { - Some(ErrorSpan::new(self.range.start, self.range.end)) + fn range(&self) -> Option<&RealDependencyLocation> { + Some(&self.range) } fn get_referenced_exports( diff --git a/crates/rspack_plugin_javascript/src/dependency/commonjs/common_js_require_dependency.rs b/crates/rspack_plugin_javascript/src/dependency/commonjs/common_js_require_dependency.rs index 5e8ef895b7a..9e13231ce6f 100644 --- a/crates/rspack_plugin_javascript/src/dependency/commonjs/common_js_require_dependency.rs +++ b/crates/rspack_plugin_javascript/src/dependency/commonjs/common_js_require_dependency.rs @@ -1,7 +1,7 @@ use rspack_core::{module_id, Compilation, RealDependencyLocation, RuntimeSpec}; use rspack_core::{AsContextDependency, Dependency, DependencyCategory}; use rspack_core::{DependencyId, DependencyTemplate}; -use rspack_core::{DependencyType, ErrorSpan, ModuleDependency}; +use rspack_core::{DependencyType, ModuleDependency}; use rspack_core::{TemplateContext, TemplateReplaceSource}; #[derive(Debug, Clone)] @@ -47,11 +47,8 @@ impl Dependency for CommonJsRequireDependency { &DependencyType::CjsRequire } - fn span(&self) -> Option { - self - .range - .clone() - .map(|range| ErrorSpan::new(range.start, range.end)) + fn range(&self) -> Option<&RealDependencyLocation> { + self.range.as_ref() } fn could_affect_referencing_module(&self) -> rspack_core::AffectType { diff --git a/crates/rspack_plugin_javascript/src/dependency/commonjs/require_resolve_dependency.rs b/crates/rspack_plugin_javascript/src/dependency/commonjs/require_resolve_dependency.rs index 86ff2343cd6..e1fc470a77f 100644 --- a/crates/rspack_plugin_javascript/src/dependency/commonjs/require_resolve_dependency.rs +++ b/crates/rspack_plugin_javascript/src/dependency/commonjs/require_resolve_dependency.rs @@ -1,7 +1,7 @@ use rspack_core::{ module_id, AsContextDependency, Compilation, Dependency, DependencyCategory, DependencyId, - DependencyTemplate, DependencyType, ErrorSpan, ExtendedReferencedExport, ModuleDependency, - ModuleGraph, RealDependencyLocation, RuntimeSpec, TemplateContext, TemplateReplaceSource, + DependencyTemplate, DependencyType, ExtendedReferencedExport, ModuleDependency, ModuleGraph, + RealDependencyLocation, RuntimeSpec, TemplateContext, TemplateReplaceSource, }; #[derive(Debug, Clone)] @@ -38,8 +38,8 @@ impl Dependency for RequireResolveDependency { &DependencyType::RequireResolve } - fn span(&self) -> Option { - Some(ErrorSpan::new(self.range.start, self.range.end)) + fn range(&self) -> Option<&RealDependencyLocation> { + Some(&self.range) } fn get_referenced_exports( diff --git a/crates/rspack_plugin_javascript/src/dependency/context/common_js_require_context_dependency.rs b/crates/rspack_plugin_javascript/src/dependency/context/common_js_require_context_dependency.rs index 1638ce7d4ff..35fb428a146 100644 --- a/crates/rspack_plugin_javascript/src/dependency/context/common_js_require_context_dependency.rs +++ b/crates/rspack_plugin_javascript/src/dependency/context/common_js_require_context_dependency.rs @@ -3,7 +3,7 @@ use rspack_core::{ }; use rspack_core::{ContextOptions, Dependency, TemplateReplaceSource}; use rspack_core::{DependencyCategory, DependencyId, DependencyTemplate}; -use rspack_core::{DependencyType, ErrorSpan, TemplateContext}; +use rspack_core::{DependencyType, TemplateContext}; use super::{ context_dependency_template_as_require_call, create_resource_identifier_for_context_dependency, @@ -51,8 +51,8 @@ impl Dependency for CommonJsRequireContextDependency { &DependencyType::CommonJSRequireContext } - fn span(&self) -> Option { - Some(ErrorSpan::new(self.range.start, self.range.end)) + fn range(&self) -> Option<&RealDependencyLocation> { + Some(&self.range) } fn could_affect_referencing_module(&self) -> rspack_core::AffectType { diff --git a/crates/rspack_plugin_javascript/src/dependency/context/import_context_dependency.rs b/crates/rspack_plugin_javascript/src/dependency/context/import_context_dependency.rs index da5f52c38ae..dbd36ab9097 100644 --- a/crates/rspack_plugin_javascript/src/dependency/context/import_context_dependency.rs +++ b/crates/rspack_plugin_javascript/src/dependency/context/import_context_dependency.rs @@ -3,7 +3,7 @@ use rspack_core::{ }; use rspack_core::{ContextOptions, Dependency, TemplateReplaceSource}; use rspack_core::{DependencyCategory, DependencyId, DependencyTemplate}; -use rspack_core::{DependencyType, ErrorSpan, TemplateContext}; +use rspack_core::{DependencyType, TemplateContext}; use super::{ context_dependency_template_as_require_call, create_resource_identifier_for_context_dependency, @@ -51,8 +51,8 @@ impl Dependency for ImportContextDependency { &DependencyType::ImportContext } - fn span(&self) -> Option { - Some(ErrorSpan::new(self.range.start, self.range.end)) + fn range(&self) -> Option<&RealDependencyLocation> { + Some(&self.range) } fn could_affect_referencing_module(&self) -> rspack_core::AffectType { diff --git a/crates/rspack_plugin_javascript/src/dependency/context/import_meta_context_dependency.rs b/crates/rspack_plugin_javascript/src/dependency/context/import_meta_context_dependency.rs index 5d98a7b1a6a..77c87089959 100644 --- a/crates/rspack_plugin_javascript/src/dependency/context/import_meta_context_dependency.rs +++ b/crates/rspack_plugin_javascript/src/dependency/context/import_meta_context_dependency.rs @@ -3,7 +3,7 @@ use rspack_core::{ RuntimeSpec, }; use rspack_core::{ContextOptions, Dependency, DependencyCategory, DependencyId}; -use rspack_core::{DependencyTemplate, DependencyType, ErrorSpan}; +use rspack_core::{DependencyTemplate, DependencyType}; use rspack_core::{TemplateContext, TemplateReplaceSource}; use super::create_resource_identifier_for_context_dependency; @@ -43,8 +43,8 @@ impl Dependency for ImportMetaContextDependency { &DependencyType::ImportMetaContext } - fn span(&self) -> Option { - Some(ErrorSpan::new(self.range.start, self.range.end)) + fn range(&self) -> Option<&RealDependencyLocation> { + Some(&self.range) } fn could_affect_referencing_module(&self) -> rspack_core::AffectType { diff --git a/crates/rspack_plugin_javascript/src/dependency/context/require_context_dependency.rs b/crates/rspack_plugin_javascript/src/dependency/context/require_context_dependency.rs index 18db2189956..bbfa8d557a9 100644 --- a/crates/rspack_plugin_javascript/src/dependency/context/require_context_dependency.rs +++ b/crates/rspack_plugin_javascript/src/dependency/context/require_context_dependency.rs @@ -3,7 +3,7 @@ use rspack_core::{ RuntimeSpec, }; use rspack_core::{ContextOptions, Dependency, DependencyCategory, DependencyId}; -use rspack_core::{DependencyTemplate, DependencyType, ErrorSpan}; +use rspack_core::{DependencyTemplate, DependencyType}; use rspack_core::{TemplateContext, TemplateReplaceSource}; use super::create_resource_identifier_for_context_dependency; @@ -43,8 +43,8 @@ impl Dependency for RequireContextDependency { &DependencyType::RequireContext } - fn span(&self) -> Option { - Some(ErrorSpan::new(self.range.start, self.range.end)) + fn range(&self) -> Option<&RealDependencyLocation> { + Some(&self.range) } fn could_affect_referencing_module(&self) -> rspack_core::AffectType { diff --git a/crates/rspack_plugin_javascript/src/dependency/esm/harmony_export_imported_specifier_dependency.rs b/crates/rspack_plugin_javascript/src/dependency/esm/harmony_export_imported_specifier_dependency.rs index 6bb5e277c9c..c05e3a8c341 100644 --- a/crates/rspack_plugin_javascript/src/dependency/esm/harmony_export_imported_specifier_dependency.rs +++ b/crates/rspack_plugin_javascript/src/dependency/esm/harmony_export_imported_specifier_dependency.rs @@ -8,8 +8,8 @@ use rspack_core::{ process_export_info, property_access, property_name, string_of_used_name, AsContextDependency, Compilation, ConditionalInitFragment, ConnectionState, Dependency, DependencyCategory, DependencyCondition, DependencyConditionFn, DependencyId, DependencyTemplate, DependencyType, - ErrorSpan, ExportInfo, ExportInfoProvided, ExportNameOrSpec, ExportPresenceMode, ExportSpec, - ExportsInfo, ExportsOfExportsSpec, ExportsSpec, ExportsType, ExtendedReferencedExport, + ExportInfo, ExportInfoProvided, ExportNameOrSpec, ExportPresenceMode, ExportSpec, ExportsInfo, + ExportsOfExportsSpec, ExportsSpec, ExportsType, ExtendedReferencedExport, HarmonyExportInitFragment, ImportAttributes, InitFragmentExt, InitFragmentKey, InitFragmentStage, JavascriptParserOptions, ModuleDependency, ModuleGraph, ModuleIdentifier, NormalInitFragment, RealDependencyLocation, RuntimeCondition, RuntimeGlobals, RuntimeSpec, Template, TemplateContext, @@ -866,7 +866,7 @@ impl HarmonyExportImportedSpecifierDependency { let parent_module_identifier = module_graph .get_parent_module(&self.id) .expect("should have parent module for dependency"); - let mut diagnostic = if let Some(span) = self.span() + let mut diagnostic = if let Some(span) = self.range() && let Some(parent_module) = module_graph.module_by_identifier(parent_module_identifier) && let Some(source) = parent_module.original_source().map(|s| s.source()) { @@ -1054,8 +1054,8 @@ impl Dependency for HarmonyExportImportedSpecifierDependency { Some(self.range.to_string()) } - fn span(&self) -> Option { - Some(ErrorSpan::new(self.range.start, self.range.end)) + fn range(&self) -> Option<&RealDependencyLocation> { + Some(&self.range) } fn category(&self) -> &DependencyCategory { 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 d835a787390..781e98593a9 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 @@ -230,7 +230,7 @@ pub fn harmony_import_dependency_get_linking_error( } else { (Severity::Warning, "HarmonyLinkingWarning") }; - let mut diagnostic = if let Some(span) = module_dependency.span() + let mut diagnostic = if let Some(span) = module_dependency.range() && let Some(source) = parent_module.original_source().map(|s| s.source()) { Diagnostic::from( @@ -380,8 +380,8 @@ impl Dependency for HarmonyImportSideEffectDependency { Some(self.range.to_string()) } - fn span(&self) -> Option { - Some(ErrorSpan::new(self.range.start, self.range.end)) + fn range(&self) -> Option<&RealDependencyLocation> { + Some(&self.range) } fn source_order(&self) -> Option { diff --git a/crates/rspack_plugin_javascript/src/dependency/esm/harmony_import_specifier_dependency.rs b/crates/rspack_plugin_javascript/src/dependency/esm/harmony_import_specifier_dependency.rs index a22e4c194bf..71405c4ba34 100644 --- a/crates/rspack_plugin_javascript/src/dependency/esm/harmony_import_specifier_dependency.rs +++ b/crates/rspack_plugin_javascript/src/dependency/esm/harmony_import_specifier_dependency.rs @@ -228,11 +228,8 @@ impl Dependency for HarmonyImportSpecifierDependency { Some(self.range.to_string()) } - fn span(&self) -> Option { - Some(rspack_core::ErrorSpan::new( - self.range.start, - self.range.end, - )) + fn range(&self) -> Option<&RealDependencyLocation> { + Some(&self.range) } fn source_order(&self) -> Option { diff --git a/crates/rspack_plugin_javascript/src/dependency/esm/import_dependency.rs b/crates/rspack_plugin_javascript/src/dependency/esm/import_dependency.rs index 11b7c403727..f994de56db2 100644 --- a/crates/rspack_plugin_javascript/src/dependency/esm/import_dependency.rs +++ b/crates/rspack_plugin_javascript/src/dependency/esm/import_dependency.rs @@ -1,7 +1,7 @@ use rspack_core::{ create_exports_object_referenced, module_namespace_promise, Compilation, DependencyType, - ErrorSpan, ExportsType, ExtendedReferencedExport, ImportAttributes, ModuleGraph, - RealDependencyLocation, ReferencedExport, RuntimeSpec, + ExportsType, ExtendedReferencedExport, ImportAttributes, ModuleGraph, RealDependencyLocation, + ReferencedExport, RuntimeSpec, }; use rspack_core::{AsContextDependency, Dependency}; use rspack_core::{DependencyCategory, DependencyId, DependencyTemplate}; @@ -103,8 +103,8 @@ impl Dependency for ImportDependency { self.attributes.as_ref() } - fn span(&self) -> Option { - Some(ErrorSpan::new(self.range.start, self.range.end)) + fn range(&self) -> Option<&RealDependencyLocation> { + Some(&self.range) } fn get_referenced_exports( diff --git a/crates/rspack_plugin_javascript/src/dependency/esm/import_eager_dependency.rs b/crates/rspack_plugin_javascript/src/dependency/esm/import_eager_dependency.rs index 41c62f20fb4..b996032592b 100644 --- a/crates/rspack_plugin_javascript/src/dependency/esm/import_eager_dependency.rs +++ b/crates/rspack_plugin_javascript/src/dependency/esm/import_eager_dependency.rs @@ -1,6 +1,6 @@ use rspack_core::{ module_namespace_promise, AsContextDependency, Compilation, Dependency, DependencyCategory, - DependencyId, DependencyTemplate, DependencyType, ErrorSpan, ImportAttributes, ModuleDependency, + DependencyId, DependencyTemplate, DependencyType, ImportAttributes, ModuleDependency, RealDependencyLocation, RuntimeSpec, TemplateContext, TemplateReplaceSource, }; use swc_core::ecma::atoms::Atom; @@ -61,8 +61,8 @@ impl Dependency for ImportEagerDependency { self.attributes.as_ref() } - fn span(&self) -> Option { - Some(ErrorSpan::new(self.range.start, self.range.end)) + fn range(&self) -> Option<&RealDependencyLocation> { + Some(&self.range) } fn get_referenced_exports( diff --git a/crates/rspack_plugin_javascript/src/dependency/esm/provide_dependency.rs b/crates/rspack_plugin_javascript/src/dependency/esm/provide_dependency.rs index 8055b1792b9..cd225f8dd2b 100644 --- a/crates/rspack_plugin_javascript/src/dependency/esm/provide_dependency.rs +++ b/crates/rspack_plugin_javascript/src/dependency/esm/provide_dependency.rs @@ -1,11 +1,11 @@ use itertools::Itertools; +use rspack_core::DependencyType; use rspack_core::{ create_exports_object_referenced, module_raw, Compilation, ExtendedReferencedExport, ModuleGraph, NormalInitFragment, RuntimeSpec, UsedName, }; use rspack_core::{AsContextDependency, Dependency, InitFragmentKey, InitFragmentStage}; use rspack_core::{DependencyCategory, DependencyId, DependencyTemplate}; -use rspack_core::{DependencyType, ErrorSpan}; use rspack_core::{ModuleDependency, TemplateContext, TemplateReplaceSource}; use rspack_util::ext::DynHash; use swc_core::atoms::Atom; @@ -46,10 +46,6 @@ impl Dependency for ProvideDependency { &DependencyType::Provided } - fn span(&self) -> Option { - None - } - fn get_referenced_exports( &self, _module_graph: &ModuleGraph, diff --git a/crates/rspack_plugin_javascript/src/dependency/hmr/import_meta_hot_accept.rs b/crates/rspack_plugin_javascript/src/dependency/hmr/import_meta_hot_accept.rs index f40534c64d8..601c7ffe1f4 100644 --- a/crates/rspack_plugin_javascript/src/dependency/hmr/import_meta_hot_accept.rs +++ b/crates/rspack_plugin_javascript/src/dependency/hmr/import_meta_hot_accept.rs @@ -1,7 +1,7 @@ use rspack_core::{ module_id, AsContextDependency, Compilation, Dependency, DependencyCategory, DependencyId, - DependencyTemplate, DependencyType, ErrorSpan, ModuleDependency, RealDependencyLocation, - RuntimeSpec, TemplateContext, TemplateReplaceSource, + DependencyTemplate, DependencyType, ModuleDependency, RealDependencyLocation, RuntimeSpec, + TemplateContext, TemplateReplaceSource, }; use swc_core::ecma::atoms::Atom; @@ -35,8 +35,8 @@ impl Dependency for ImportMetaHotAcceptDependency { &DependencyType::ImportMetaHotAccept } - fn span(&self) -> Option { - Some(ErrorSpan::new(self.range.start, self.range.end)) + fn range(&self) -> Option<&RealDependencyLocation> { + Some(&self.range) } fn could_affect_referencing_module(&self) -> rspack_core::AffectType { diff --git a/crates/rspack_plugin_javascript/src/dependency/hmr/import_meta_hot_decline.rs b/crates/rspack_plugin_javascript/src/dependency/hmr/import_meta_hot_decline.rs index b6aa4d4cffb..7fd044ba3c0 100644 --- a/crates/rspack_plugin_javascript/src/dependency/hmr/import_meta_hot_decline.rs +++ b/crates/rspack_plugin_javascript/src/dependency/hmr/import_meta_hot_decline.rs @@ -1,7 +1,7 @@ use rspack_core::{ module_id, AsContextDependency, Compilation, Dependency, DependencyCategory, DependencyId, - DependencyTemplate, DependencyType, ErrorSpan, ModuleDependency, RealDependencyLocation, - RuntimeSpec, TemplateContext, TemplateReplaceSource, + DependencyTemplate, DependencyType, ModuleDependency, RealDependencyLocation, RuntimeSpec, + TemplateContext, TemplateReplaceSource, }; use swc_core::ecma::atoms::Atom; @@ -35,8 +35,8 @@ impl Dependency for ImportMetaHotDeclineDependency { &DependencyType::ImportMetaHotDecline } - fn span(&self) -> Option { - Some(ErrorSpan::new(self.range.start, self.range.end)) + fn range(&self) -> Option<&RealDependencyLocation> { + Some(&self.range) } fn could_affect_referencing_module(&self) -> rspack_core::AffectType { diff --git a/crates/rspack_plugin_javascript/src/dependency/hmr/module_hot_accept.rs b/crates/rspack_plugin_javascript/src/dependency/hmr/module_hot_accept.rs index ebc4af526d9..4f4400349a3 100644 --- a/crates/rspack_plugin_javascript/src/dependency/hmr/module_hot_accept.rs +++ b/crates/rspack_plugin_javascript/src/dependency/hmr/module_hot_accept.rs @@ -1,7 +1,7 @@ use rspack_core::{ module_id, AsContextDependency, Compilation, Dependency, DependencyCategory, DependencyId, - DependencyTemplate, DependencyType, ErrorSpan, ModuleDependency, RealDependencyLocation, - RuntimeSpec, TemplateContext, TemplateReplaceSource, + DependencyTemplate, DependencyType, ModuleDependency, RealDependencyLocation, RuntimeSpec, + TemplateContext, TemplateReplaceSource, }; use swc_core::ecma::atoms::Atom; @@ -35,8 +35,8 @@ impl Dependency for ModuleHotAcceptDependency { &DependencyType::ModuleHotAccept } - fn span(&self) -> Option { - Some(ErrorSpan::new(self.range.start, self.range.end)) + fn range(&self) -> Option<&RealDependencyLocation> { + Some(&self.range) } fn could_affect_referencing_module(&self) -> rspack_core::AffectType { diff --git a/crates/rspack_plugin_javascript/src/dependency/hmr/module_hot_decline.rs b/crates/rspack_plugin_javascript/src/dependency/hmr/module_hot_decline.rs index f058c1d6fd9..9228da1bc92 100644 --- a/crates/rspack_plugin_javascript/src/dependency/hmr/module_hot_decline.rs +++ b/crates/rspack_plugin_javascript/src/dependency/hmr/module_hot_decline.rs @@ -1,7 +1,7 @@ use rspack_core::{ module_id, AsContextDependency, Compilation, Dependency, DependencyCategory, DependencyId, - DependencyTemplate, DependencyType, ErrorSpan, ModuleDependency, RealDependencyLocation, - RuntimeSpec, TemplateContext, TemplateReplaceSource, + DependencyTemplate, DependencyType, ModuleDependency, RealDependencyLocation, RuntimeSpec, + TemplateContext, TemplateReplaceSource, }; use swc_core::ecma::atoms::Atom; @@ -35,8 +35,8 @@ impl Dependency for ModuleHotDeclineDependency { &DependencyType::ModuleHotDecline } - fn span(&self) -> Option { - Some(ErrorSpan::new(self.range.start, self.range.end)) + fn range(&self) -> Option<&RealDependencyLocation> { + Some(&self.range) } fn could_affect_referencing_module(&self) -> rspack_core::AffectType { diff --git a/crates/rspack_plugin_javascript/src/dependency/url/mod.rs b/crates/rspack_plugin_javascript/src/dependency/url/mod.rs index 16dad76cf42..1f1254c2616 100644 --- a/crates/rspack_plugin_javascript/src/dependency/url/mod.rs +++ b/crates/rspack_plugin_javascript/src/dependency/url/mod.rs @@ -1,7 +1,7 @@ use rspack_core::{ get_dependency_used_by_exports_condition, module_id, AsContextDependency, Compilation, Dependency, DependencyCategory, DependencyCondition, DependencyId, DependencyTemplate, - DependencyType, ErrorSpan, ModuleDependency, RealDependencyLocation, RuntimeGlobals, RuntimeSpec, + DependencyType, ModuleDependency, RealDependencyLocation, RuntimeGlobals, RuntimeSpec, TemplateContext, TemplateReplaceSource, UsedByExports, }; use swc_core::ecma::atoms::Atom; @@ -47,8 +47,8 @@ impl Dependency for URLDependency { &DependencyType::NewUrl } - fn span(&self) -> Option { - Some(ErrorSpan::new(self.range.start, self.range.end)) + fn range(&self) -> Option<&RealDependencyLocation> { + Some(&self.range) } fn could_affect_referencing_module(&self) -> rspack_core::AffectType { diff --git a/crates/rspack_plugin_javascript/src/dependency/worker/mod.rs b/crates/rspack_plugin_javascript/src/dependency/worker/mod.rs index 879ca9221ba..f1b2a2bddd1 100644 --- a/crates/rspack_plugin_javascript/src/dependency/worker/mod.rs +++ b/crates/rspack_plugin_javascript/src/dependency/worker/mod.rs @@ -1,8 +1,8 @@ use rspack_core::{ get_chunk_from_ukey, AsContextDependency, Compilation, Dependency, DependencyCategory, - DependencyId, DependencyTemplate, DependencyType, ErrorSpan, ExtendedReferencedExport, - ModuleDependency, ModuleGraph, RealDependencyLocation, RuntimeGlobals, RuntimeSpec, - TemplateContext, TemplateReplaceSource, + DependencyId, DependencyTemplate, DependencyType, ExtendedReferencedExport, ModuleDependency, + ModuleGraph, RealDependencyLocation, RuntimeGlobals, RuntimeSpec, TemplateContext, + TemplateReplaceSource, }; use rspack_util::ext::DynHash; @@ -45,8 +45,8 @@ impl Dependency for WorkerDependency { &DependencyType::NewWorker } - fn span(&self) -> Option { - Some(ErrorSpan::new(self.range.start, self.range.end)) + fn range(&self) -> Option<&RealDependencyLocation> { + Some(&self.range) } fn get_referenced_exports( diff --git a/crates/rspack_plugin_library/src/modern_module/dependency.rs b/crates/rspack_plugin_library/src/modern_module/dependency.rs index 90dd8bf27d7..6d5c7019bd8 100644 --- a/crates/rspack_plugin_library/src/modern_module/dependency.rs +++ b/crates/rspack_plugin_library/src/modern_module/dependency.rs @@ -1,6 +1,6 @@ use rspack_core::{AsContextDependency, Dependency}; use rspack_core::{ - Compilation, DependencyType, ErrorSpan, ExternalRequest, ExternalType, ImportAttributes, + Compilation, DependencyType, ExternalRequest, ExternalType, ImportAttributes, RealDependencyLocation, RuntimeSpec, }; use rspack_core::{DependencyCategory, DependencyId, DependencyTemplate}; @@ -62,8 +62,8 @@ impl Dependency for ModernModuleImportDependency { self.attributes.as_ref() } - fn span(&self) -> Option { - Some(ErrorSpan::new(self.range.start, self.range.end)) + fn range(&self) -> Option<&RealDependencyLocation> { + Some(&self.range) } fn could_affect_referencing_module(&self) -> rspack_core::AffectType {