summaryrefslogtreecommitdiff
path: root/cli/tools/vendor/build.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tools/vendor/build.rs')
-rw-r--r--cli/tools/vendor/build.rs47
1 files changed, 46 insertions, 1 deletions
diff --git a/cli/tools/vendor/build.rs b/cli/tools/vendor/build.rs
index f56204c77..f7921251e 100644
--- a/cli/tools/vendor/build.rs
+++ b/cli/tools/vendor/build.rs
@@ -66,7 +66,6 @@ pub fn build(
// build the graph
graph.lock()?;
- graph.valid()?;
let graph_errors = graph.errors();
if !graph_errors.is_empty() {
@@ -829,6 +828,52 @@ mod test {
}
#[tokio::test]
+ async fn existing_import_map_remote_dep_bare_specifier() {
+ let mut builder = VendorTestBuilder::with_default_setup();
+ let mut original_import_map = builder.new_import_map("/import_map2.json");
+ original_import_map
+ .imports_mut()
+ .append(
+ "twind".to_string(),
+ "https://localhost/twind.ts".to_string(),
+ )
+ .unwrap();
+
+ let output = builder
+ .with_loader(|loader| {
+ loader.add("/mod.ts", "import 'https://remote/mod.ts';");
+ loader.add("https://remote/mod.ts", "import 'twind';");
+ loader.add("https://localhost/twind.ts", "export class Test {}");
+ })
+ .set_original_import_map(original_import_map.clone())
+ .build()
+ .await
+ .unwrap();
+
+ assert_eq!(
+ output.import_map,
+ Some(json!({
+ "imports": {
+ "https://localhost/": "./localhost/",
+ "https://remote/": "./remote/"
+ },
+ "scopes": {
+ "./remote/": {
+ "twind": "./localhost/twind.ts"
+ },
+ }
+ }))
+ );
+ assert_eq!(
+ output.files,
+ to_file_vec(&[
+ ("/vendor/localhost/twind.ts", "export class Test {}"),
+ ("/vendor/remote/mod.ts", "import 'twind';"),
+ ]),
+ );
+ }
+
+ #[tokio::test]
async fn existing_import_map_mapped_bare_specifier() {
let mut builder = VendorTestBuilder::with_default_setup();
let mut original_import_map = builder.new_import_map("/import_map.json");