summaryrefslogtreecommitdiff
path: root/cli
diff options
context:
space:
mode:
Diffstat (limited to 'cli')
-rw-r--r--cli/graph_util.rs39
1 files changed, 22 insertions, 17 deletions
diff --git a/cli/graph_util.rs b/cli/graph_util.rs
index f3ac64a43..d7f007a7c 100644
--- a/cli/graph_util.rs
+++ b/cli/graph_util.rs
@@ -735,8 +735,8 @@ pub fn enhanced_resolution_error_message(error: &ResolutionError) -> String {
} else {
get_import_prefix_missing_error(error).map(|specifier| {
format!(
- "If you want to use a JSR or npm package, try running `deno add {}`",
- specifier
+ "If you want to use a JSR or npm package, try running `deno add jsr:{}` or `deno add npm:{}`",
+ specifier, specifier
)
})
};
@@ -881,24 +881,29 @@ fn get_import_prefix_missing_error(error: &ResolutionError) -> Option<&str> {
let mut maybe_specifier = None;
if let ResolutionError::InvalidSpecifier {
error: SpecifierError::ImportPrefixMissing { specifier, .. },
- ..
+ range,
} = error
{
- maybe_specifier = Some(specifier);
- } else if let ResolutionError::ResolverError { error, .. } = error {
- match error.as_ref() {
- ResolveError::Specifier(specifier_error) => {
- if let SpecifierError::ImportPrefixMissing { specifier, .. } =
- specifier_error
- {
- maybe_specifier = Some(specifier);
+ if range.specifier.scheme() == "file" {
+ maybe_specifier = Some(specifier);
+ }
+ } else if let ResolutionError::ResolverError { error, range, .. } = error {
+ if range.specifier.scheme() == "file" {
+ match error.as_ref() {
+ ResolveError::Specifier(specifier_error) => {
+ if let SpecifierError::ImportPrefixMissing { specifier, .. } =
+ specifier_error
+ {
+ maybe_specifier = Some(specifier);
+ }
}
- }
- ResolveError::Other(other_error) => {
- if let Some(SpecifierError::ImportPrefixMissing { specifier, .. }) =
- other_error.downcast_ref::<SpecifierError>()
- {
- maybe_specifier = Some(specifier);
+ ResolveError::Other(other_error) => {
+ if let Some(SpecifierError::ImportPrefixMissing {
+ specifier, ..
+ }) = other_error.downcast_ref::<SpecifierError>()
+ {
+ maybe_specifier = Some(specifier);
+ }
}
}
}