diff options
Diffstat (limited to 'cli/tools/vendor/import_map.rs')
| -rw-r--r-- | cli/tools/vendor/import_map.rs | 19 |
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 { |
