summaryrefslogtreecommitdiff
path: root/cli/tools/vendor/import_map.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tools/vendor/import_map.rs')
-rw-r--r--cli/tools/vendor/import_map.rs19
1 files changed, 10 insertions, 9 deletions
diff --git a/cli/tools/vendor/import_map.rs b/cli/tools/vendor/import_map.rs
index 916eb55c5..562ae0216 100644
--- a/cli/tools/vendor/import_map.rs
+++ b/cli/tools/vendor/import_map.rs
@@ -326,15 +326,16 @@ fn handle_remote_dep_specifier(
) {
if is_remote_specifier_text(text) {
let base_specifier = mappings.base_specifier(specifier);
- if !text.starts_with(base_specifier.as_str()) {
- panic!("Expected {text} to start with {base_specifier}");
- }
-
- let sub_path = &text[base_specifier.as_str().len()..];
- let relative_text =
- mappings.relative_specifier_text(base_specifier, specifier);
- let expected_sub_path = relative_text.trim_start_matches("./");
- if expected_sub_path != sub_path {
+ if text.starts_with(base_specifier.as_str()) {
+ let sub_path = &text[base_specifier.as_str().len()..];
+ let relative_text =
+ mappings.relative_specifier_text(base_specifier, specifier);
+ let expected_sub_path = relative_text.trim_start_matches("./");
+ if expected_sub_path != sub_path {
+ import_map.imports.add(text.to_string(), specifier);
+ }
+ } else {
+ // it's probably a redirect. Add it explicitly to the import map
import_map.imports.add(text.to_string(), specifier);
}
} else {