summaryrefslogtreecommitdiff
path: root/cli/tools/vendor/mod.rs
diff options
context:
space:
mode:
authorDavid Sherret <dsherret@users.noreply.github.com>2024-02-24 00:21:09 -0500
committerGitHub <noreply@github.com>2024-02-24 00:21:09 -0500
commit6567dc94a901aaae1b4e5b8e84d48bc72d46ee2e (patch)
treeff3674957c66c40e9d4cc5e1fc1c04b353bf6a46 /cli/tools/vendor/mod.rs
parent76e8e02bba75f23097d28cec13829c2f5cfa4a25 (diff)
fix(lsp): import map expansion (#22553)
Diffstat (limited to 'cli/tools/vendor/mod.rs')
-rw-r--r--cli/tools/vendor/mod.rs19
1 files changed, 17 insertions, 2 deletions
diff --git a/cli/tools/vendor/mod.rs b/cli/tools/vendor/mod.rs
index f168f84a2..975cf08f1 100644
--- a/cli/tools/vendor/mod.rs
+++ b/cli/tools/vendor/mod.rs
@@ -173,9 +173,24 @@ fn validate_options(
options: &mut CliOptions,
output_dir: &Path,
) -> Result<(), AnyError> {
+ let import_map_specifier = options
+ .resolve_specified_import_map_specifier()?
+ .or_else(|| {
+ let config_file = options.maybe_config_file().as_ref()?;
+ config_file
+ .to_import_map_specifier()
+ .ok()
+ .flatten()
+ .or_else(|| {
+ if config_file.is_an_import_map() {
+ Some(config_file.specifier.clone())
+ } else {
+ None
+ }
+ })
+ });
// check the import map
- if let Some(import_map_path) = options
- .resolve_import_map_specifier()?
+ if let Some(import_map_path) = import_map_specifier
.and_then(|p| specifier_to_file_path(&p).ok())
.and_then(|p| canonicalize_path(&p).ok())
{