diff options
Diffstat (limited to 'cli/tools/vendor/build.rs')
-rw-r--r-- | cli/tools/vendor/build.rs | 41 |
1 files changed, 17 insertions, 24 deletions
diff --git a/cli/tools/vendor/build.rs b/cli/tools/vendor/build.rs index 89130f391..3bee843fd 100644 --- a/cli/tools/vendor/build.rs +++ b/cli/tools/vendor/build.rs @@ -10,9 +10,9 @@ use deno_core::anyhow::bail; use deno_core::anyhow::Context; use deno_core::error::AnyError; use deno_core::parking_lot::Mutex; +use deno_graph::EsmModule; use deno_graph::Module; use deno_graph::ModuleGraph; -use deno_graph::ModuleKind; use import_map::ImportMap; use import_map::SpecifierMap; @@ -93,7 +93,7 @@ pub fn build( let all_modules = graph.modules().collect::<Vec<_>>(); let remote_modules = all_modules .iter() - .filter(|m| is_remote_specifier(&m.specifier)) + .filter(|m| is_remote_specifier(m.specifier())) .copied() .collect::<Vec<_>>(); let mappings = @@ -101,21 +101,16 @@ pub fn build( // write out all the files for module in &remote_modules { - let source = match &module.maybe_source { - Some(source) => source, - None => continue, + let source = match module { + Module::Esm(module) => &module.source, + Module::Json(module) => &module.source, + Module::Node(_) | Module::Npm(_) | Module::External(_) => continue, }; + let specifier = module.specifier(); let local_path = mappings - .proxied_path(&module.specifier) - .unwrap_or_else(|| mappings.local_path(&module.specifier)); - if !matches!(module.kind, ModuleKind::Esm | ModuleKind::Asserted) { - log::warn!( - "Unsupported module kind {:?} for {}", - module.kind, - module.specifier - ); - continue; - } + .proxied_path(specifier) + .unwrap_or_else(|| mappings.local_path(specifier)); + environment.create_dir_all(local_path.parent().unwrap())?; environment.write_file(&local_path, source)?; } @@ -123,7 +118,7 @@ pub fn build( // write out the proxies for (specifier, proxied_module) in mappings.proxied_modules() { let proxy_path = mappings.local_path(specifier); - let module = graph.get(specifier).unwrap(); + let module = graph.get(specifier).unwrap().esm().unwrap(); let text = build_proxy_module_source(module, proxied_module, parsed_source_cache)?; @@ -185,7 +180,7 @@ fn validate_original_import_map( } fn build_proxy_module_source( - module: &Module, + module: &EsmModule, proxied_module: &ProxiedModule, parsed_source_cache: &ParsedSourceCache, ) -> Result<String, AnyError> { @@ -211,13 +206,11 @@ fn build_proxy_module_source( writeln!(text, "export * from \"{relative_specifier}\";").unwrap(); // add a default export if one exists in the module - if let Some(parsed_source) = - parsed_source_cache.get_parsed_source_from_module(module)? - { - if has_default_export(&parsed_source) { - writeln!(text, "export {{ default }} from \"{relative_specifier}\";") - .unwrap(); - } + let parsed_source = + parsed_source_cache.get_parsed_source_from_esm_module(module)?; + if has_default_export(&parsed_source) { + writeln!(text, "export {{ default }} from \"{relative_specifier}\";") + .unwrap(); } Ok(text) |