Skip to content

Commit

Permalink
fix: update hint for deno add <package> (#25455)
Browse files Browse the repository at this point in the history
Follow up to #25430
  • Loading branch information
bartlomieju authored Sep 5, 2024
1 parent 2c4d99a commit 5dc907d
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 22 deletions.
39 changes: 22 additions & 17 deletions cli/graph_util.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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
)
})
};
Expand Down Expand Up @@ -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);
}
}
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[WILDCARD]error: Relative import path "foo" not prefixed with / or ./ or ../
hint: If you want to use a JSR or npm package, try running `deno add foo`
hint: If you want to use a JSR or npm package, try running `deno add jsr:foo` or `deno add npm:foo`
at file:///[WILDCARD]/095_cache_with_bare_import.ts:[WILDCARD]
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[WILDCARD]error: Relative import path "foo" not prefixed with / or ./ or ../
hint: If you want to use a JSR or npm package, try running `deno add foo`
hint: If you want to use a JSR or npm package, try running `deno add jsr:foo` or `deno add npm:foo`
at file:///[WILDCARD]/095_cache_with_bare_import.ts:[WILDCARD]
2 changes: 1 addition & 1 deletion tests/specs/run/bare_specifier_without_import/main.out
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
error: Relative import path "@std/dotenv/load" not prefixed with / or ./ or ../
hint: If you want to use a JSR or npm package, try running `deno add @std/dotenv/load`
hint: If you want to use a JSR or npm package, try running `deno add jsr:@std/dotenv/load` or `deno add npm:@std/dotenv/load`
at [WILDCARD]bare_specifier_without_import/main.ts:1:8
2 changes: 1 addition & 1 deletion tests/testdata/run/error_type_definitions.ts.out
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[WILDCARD]error: Failed resolving types. Relative import path "baz" not prefixed with / or ./ or ../
hint: If you want to use a JSR or npm package, try running `deno add baz`
hint: If you want to use a JSR or npm package, try running `deno add jsr:baz` or `deno add npm:baz`
at [WILDCARD]/type_definitions/bar.d.ts:[WILDCARD]
2 changes: 1 addition & 1 deletion tests/testdata/run/with_package_json/with_stop/main.out
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[WILDCARD]Config file found at '[WILDCARD]with_package_json[WILDCARD]with_stop[WILDCARD]some[WILDCARD]nested[WILDCARD]deno.json'
[WILDCARD]
error: Relative import path "chalk" not prefixed with / or ./ or ../
hint: If you want to use a JSR or npm package, try running `deno add chalk`
hint: If you want to use a JSR or npm package, try running `deno add jsr:chalk` or `deno add npm:chalk`
at file:///[WILDCARD]with_package_json/with_stop/some/nested/dir/main.ts:3:19

0 comments on commit 5dc907d

Please sign in to comment.