summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2024-04-29 14:32:27 -0400
committerGitHub <noreply@github.com>2024-04-29 14:32:27 -0400
commit4384a126bb759580777e7a2678fe49bb015f2f69 (patch)
treec710fc6cbf1d2c92b40772485cb0a3c1e179f2d1
parente6f4c8f5310fbdb969eecd5613047059f714d517 (diff)
fix: handle specifying an import map in an ancestor dir of deno.json (#23602)
* https://github.com/denoland/deno_config/pull/51 Closes https://github.com/denoland/deno/issues/21440
-rw-r--r--Cargo.lock4
-rw-r--r--cli/Cargo.toml2
-rw-r--r--cli/args/mod.rs2
-rw-r--r--tests/specs/run/import_map_parent_dir/__test__.jsonc9
-rw-r--r--tests/specs/run/import_map_parent_dir/import_map.json5
-rw-r--r--tests/specs/run/import_map_parent_dir/info.out7
-rw-r--r--tests/specs/run/import_map_parent_dir/run.out1
-rw-r--r--tests/specs/run/import_map_parent_dir/shared/models.ts1
-rw-r--r--tests/specs/run/import_map_parent_dir/sub/deno.json3
-rw-r--r--tests/specs/run/import_map_parent_dir/sub/main.ts1
10 files changed, 31 insertions, 4 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 3b8e4a715..1eea1d20e 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1272,9 +1272,9 @@ dependencies = [
[[package]]
name = "deno_config"
-version = "0.16.1"
+version = "0.16.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bc55559b6b4ebf190c75ad76a4204c792ac27e64e83e685fb5f4e4317bb94c5"
+checksum = "f28ad258b58ade470cd745191eacee35562db3c967ffb26b4aa6f0f88f0882dd"
dependencies = [
"anyhow",
"glob",
diff --git a/cli/Cargo.toml b/cli/Cargo.toml
index 8559c3bbc..605b1075e 100644
--- a/cli/Cargo.toml
+++ b/cli/Cargo.toml
@@ -65,7 +65,7 @@ winres.workspace = true
[dependencies]
deno_ast = { workspace = true, features = ["bundler", "cjs", "codegen", "proposal", "react", "sourcemap", "transforms", "typescript", "view", "visit"] }
deno_cache_dir = { workspace = true }
-deno_config = "=0.16.1"
+deno_config = "=0.16.2"
deno_core = { workspace = true, features = ["include_js_files_for_snapshotting"] }
deno_doc = { version = "=0.128.1", features = ["html", "syntect"] }
deno_emit = "=0.40.1"
diff --git a/cli/args/mod.rs b/cli/args/mod.rs
index bb0ef1aba..1d8b06f49 100644
--- a/cli/args/mod.rs
+++ b/cli/args/mod.rs
@@ -943,7 +943,7 @@ impl CliOptions {
&self,
) -> Result<Option<ModuleSpecifier>, AnyError> {
match self.overrides.import_map_specifier.clone() {
- Some(maybe_path) => Ok(maybe_path),
+ Some(maybe_url) => Ok(maybe_url),
None => resolve_import_map_specifier(
self.flags.import_map_path.as_deref(),
self.maybe_config_file.as_ref(),
diff --git a/tests/specs/run/import_map_parent_dir/__test__.jsonc b/tests/specs/run/import_map_parent_dir/__test__.jsonc
new file mode 100644
index 000000000..f93844854
--- /dev/null
+++ b/tests/specs/run/import_map_parent_dir/__test__.jsonc
@@ -0,0 +1,9 @@
+{
+ "steps": [{
+ "args": "info --config=sub/deno.json sub/main.ts",
+ "output": "info.out"
+ }, {
+ "args": "run --check sub/main.ts",
+ "output": "run.out"
+ }]
+}
diff --git a/tests/specs/run/import_map_parent_dir/import_map.json b/tests/specs/run/import_map_parent_dir/import_map.json
new file mode 100644
index 000000000..ce2344d64
--- /dev/null
+++ b/tests/specs/run/import_map_parent_dir/import_map.json
@@ -0,0 +1,5 @@
+{
+ "imports": {
+ "~/shared/": "./shared/"
+ }
+}
diff --git a/tests/specs/run/import_map_parent_dir/info.out b/tests/specs/run/import_map_parent_dir/info.out
new file mode 100644
index 000000000..05b9b317e
--- /dev/null
+++ b/tests/specs/run/import_map_parent_dir/info.out
@@ -0,0 +1,7 @@
+local: [WILDLINE]main.ts
+type: TypeScript
+dependencies: 1 unique
+size: [WILDLINE]
+
+file:///[WILDLINE]/sub/main.ts ([WILDLINE])
+└── file:///[WILDLINE]/shared/models.ts ([WILDLINE])
diff --git a/tests/specs/run/import_map_parent_dir/run.out b/tests/specs/run/import_map_parent_dir/run.out
new file mode 100644
index 000000000..1830c3186
--- /dev/null
+++ b/tests/specs/run/import_map_parent_dir/run.out
@@ -0,0 +1 @@
+Check file:///[WILDLINE]/main.ts
diff --git a/tests/specs/run/import_map_parent_dir/shared/models.ts b/tests/specs/run/import_map_parent_dir/shared/models.ts
new file mode 100644
index 000000000..990777fbb
--- /dev/null
+++ b/tests/specs/run/import_map_parent_dir/shared/models.ts
@@ -0,0 +1 @@
+export class Model {}
diff --git a/tests/specs/run/import_map_parent_dir/sub/deno.json b/tests/specs/run/import_map_parent_dir/sub/deno.json
new file mode 100644
index 000000000..cfc6886ff
--- /dev/null
+++ b/tests/specs/run/import_map_parent_dir/sub/deno.json
@@ -0,0 +1,3 @@
+{
+ "importMap": "../import_map.json"
+}
diff --git a/tests/specs/run/import_map_parent_dir/sub/main.ts b/tests/specs/run/import_map_parent_dir/sub/main.ts
new file mode 100644
index 000000000..b189095c3
--- /dev/null
+++ b/tests/specs/run/import_map_parent_dir/sub/main.ts
@@ -0,0 +1 @@
+import "~/shared/models.ts";