summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cli/tools/info.rs23
-rw-r--r--tests/specs/info/import_map/__test__.jsonc10
-rw-r--r--tests/specs/info/workspace_member/__test__.jsonc16
-rw-r--r--tests/specs/info/workspace_member/deno.json3
-rw-r--r--tests/specs/info/workspace_member/info_workspace_member.out6
-rw-r--r--tests/specs/info/workspace_member/info_workspace_member_sub.out6
-rw-r--r--tests/specs/info/workspace_member/member/deno.json5
-rw-r--r--tests/specs/info/workspace_member/member/sub/file.ts1
8 files changed, 57 insertions, 13 deletions
diff --git a/cli/tools/info.rs b/cli/tools/info.rs
index 7f8d68ae1..3febaff57 100644
--- a/cli/tools/info.rs
+++ b/cli/tools/info.rs
@@ -11,6 +11,7 @@ use deno_core::anyhow::bail;
use deno_core::error::AnyError;
use deno_core::resolve_url_or_path;
use deno_core::serde_json;
+use deno_core::url;
use deno_graph::Dependency;
use deno_graph::GraphKind;
use deno_graph::Module;
@@ -51,18 +52,20 @@ pub async fn info(
let npmrc = cli_options.npmrc();
let resolver = factory.workspace_resolver().await?;
- let maybe_import_specifier =
- if let Some(import_map) = resolver.maybe_import_map() {
- if let Ok(imports_specifier) =
- import_map.resolve(&specifier, import_map.base_url())
- {
- Some(imports_specifier)
- } else {
- None
- }
+ let cwd_url =
+ url::Url::from_directory_path(cli_options.initial_cwd()).unwrap();
+
+ let maybe_import_specifier = if let Some(import_map) =
+ resolver.maybe_import_map()
+ {
+ if let Ok(imports_specifier) = import_map.resolve(&specifier, &cwd_url) {
+ Some(imports_specifier)
} else {
None
- };
+ }
+ } else {
+ None
+ };
let specifier = match maybe_import_specifier {
Some(specifier) => specifier,
diff --git a/tests/specs/info/import_map/__test__.jsonc b/tests/specs/info/import_map/__test__.jsonc
index 725276925..7aba603e0 100644
--- a/tests/specs/info/import_map/__test__.jsonc
+++ b/tests/specs/info/import_map/__test__.jsonc
@@ -1,5 +1,9 @@
{
- "args": "info preact/debug",
- "output": "with_import_map.out",
- "exitCode": 0
+ "steps": [
+ {
+ "args": "info preact/debug",
+ "output": "with_import_map.out",
+ "exitCode": 0
+ }
+ ]
}
diff --git a/tests/specs/info/workspace_member/__test__.jsonc b/tests/specs/info/workspace_member/__test__.jsonc
new file mode 100644
index 000000000..d13d3b03e
--- /dev/null
+++ b/tests/specs/info/workspace_member/__test__.jsonc
@@ -0,0 +1,16 @@
+{
+ "tests": {
+ "member_folder": {
+ "args": "info --quiet foo",
+ "cwd": "member",
+ "output": "info_workspace_member.out",
+ "exitCode": 0
+ },
+ "member_folder_sub": {
+ "args": "info --quiet foo",
+ "cwd": "member/sub",
+ "output": "info_workspace_member_sub.out",
+ "exitCode": 0
+ }
+ }
+}
diff --git a/tests/specs/info/workspace_member/deno.json b/tests/specs/info/workspace_member/deno.json
new file mode 100644
index 000000000..f88028aea
--- /dev/null
+++ b/tests/specs/info/workspace_member/deno.json
@@ -0,0 +1,3 @@
+{
+ "workspace": ["./member"]
+}
diff --git a/tests/specs/info/workspace_member/info_workspace_member.out b/tests/specs/info/workspace_member/info_workspace_member.out
new file mode 100644
index 000000000..e0dc0b675
--- /dev/null
+++ b/tests/specs/info/workspace_member/info_workspace_member.out
@@ -0,0 +1,6 @@
+local: [WILDCARD]file.ts
+type: TypeScript
+dependencies: 0 unique
+size: [WILDCARD]
+
+file://[WILDCARD]/member/sub/file.ts ([WILDCARD])
diff --git a/tests/specs/info/workspace_member/info_workspace_member_sub.out b/tests/specs/info/workspace_member/info_workspace_member_sub.out
new file mode 100644
index 000000000..e0dc0b675
--- /dev/null
+++ b/tests/specs/info/workspace_member/info_workspace_member_sub.out
@@ -0,0 +1,6 @@
+local: [WILDCARD]file.ts
+type: TypeScript
+dependencies: 0 unique
+size: [WILDCARD]
+
+file://[WILDCARD]/member/sub/file.ts ([WILDCARD])
diff --git a/tests/specs/info/workspace_member/member/deno.json b/tests/specs/info/workspace_member/member/deno.json
new file mode 100644
index 000000000..66aac2904
--- /dev/null
+++ b/tests/specs/info/workspace_member/member/deno.json
@@ -0,0 +1,5 @@
+{
+ "imports": {
+ "foo": "./sub/file.ts"
+ }
+}
diff --git a/tests/specs/info/workspace_member/member/sub/file.ts b/tests/specs/info/workspace_member/member/sub/file.ts
new file mode 100644
index 000000000..cb0ff5c3b
--- /dev/null
+++ b/tests/specs/info/workspace_member/member/sub/file.ts
@@ -0,0 +1 @@
+export {};