swamp_error_report/
script_resolve.rs1use crate::ScriptResolveError;
6use crate::analyze::build_analyzer_error;
7use crate::dep::build_dep_loader_error;
8use crate::dep::build_dependency_error;
9use crate::loader::build_loader_error;
10use source_map_cache::SourceMap;
11use std::io::stderr;
12use std::path::Path;
13
14use crate::Builder;
15#[must_use]
16pub fn build_script_error(err: &ScriptResolveError) -> Builder<usize> {
17 match err {
18 ScriptResolveError::AnalyzerError(err) => build_analyzer_error(err),
19 ScriptResolveError::DepLoaderError(err) => build_dep_loader_error(err),
20 ScriptResolveError::DependencyError(err) => build_dependency_error(err),
21 ScriptResolveError::LoaderError(err) => build_loader_error(err),
22 }
23}
24
25pub fn show_script_resolve_error(
28 err: &ScriptResolveError,
29 source_map: &SourceMap,
30 current_dir: &Path,
31) {
32 let builder = build_script_error(err);
33 let report = builder.build();
34 report.print(source_map, current_dir, stderr()).unwrap();
35}