diff options
Diffstat (limited to 'cli/tools/vendor')
-rw-r--r-- | cli/tools/vendor/build.rs | 22 | ||||
-rw-r--r-- | cli/tools/vendor/import_map.rs | 11 | ||||
-rw-r--r-- | cli/tools/vendor/mappings.rs | 4 | ||||
-rw-r--r-- | cli/tools/vendor/test.rs | 12 |
4 files changed, 24 insertions, 25 deletions
diff --git a/cli/tools/vendor/build.rs b/cli/tools/vendor/build.rs index e2728aa46..1646a9959 100644 --- a/cli/tools/vendor/build.rs +++ b/cli/tools/vendor/build.rs @@ -12,7 +12,7 @@ use deno_core::error::AnyError; use deno_core::futures::future::LocalBoxFuture; use deno_core::parking_lot::Mutex; use deno_graph::source::ResolutionMode; -use deno_graph::EsmModule; +use deno_graph::JsModule; use deno_graph::Module; use deno_graph::ModuleGraph; use deno_runtime::deno_fs; @@ -36,7 +36,7 @@ use super::specifiers::is_remote_specifier; pub trait VendorEnvironment { fn cwd(&self) -> Result<PathBuf, AnyError>; fn create_dir_all(&self, dir_path: &Path) -> Result<(), AnyError>; - fn write_file(&self, file_path: &Path, text: &str) -> Result<(), AnyError>; + fn write_file(&self, file_path: &Path, bytes: &[u8]) -> Result<(), AnyError>; fn path_exists(&self, path: &Path) -> bool; } @@ -51,8 +51,8 @@ impl VendorEnvironment for RealVendorEnvironment { Ok(std::fs::create_dir_all(dir_path)?) } - fn write_file(&self, file_path: &Path, text: &str) -> Result<(), AnyError> { - std::fs::write(file_path, text) + fn write_file(&self, file_path: &Path, bytes: &[u8]) -> Result<(), AnyError> { + std::fs::write(file_path, bytes) .with_context(|| format!("Failed writing {}", file_path.display())) } @@ -159,7 +159,7 @@ pub async fn build< // write out all the files for module in &remote_modules { let source = match module { - Module::Esm(module) => &module.source, + Module::Js(module) => &module.source, Module::Json(module) => &module.source, Module::Node(_) | Module::Npm(_) | Module::External(_) => continue, }; @@ -169,17 +169,17 @@ pub async fn build< .unwrap_or_else(|| mappings.local_path(specifier)); environment.create_dir_all(local_path.parent().unwrap())?; - environment.write_file(&local_path, source)?; + environment.write_file(&local_path, source.as_bytes())?; } // 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().esm().unwrap(); + let module = graph.get(specifier).unwrap().js().unwrap(); let text = build_proxy_module_source(module, proxied_module, parsed_source_cache)?; - environment.write_file(&proxy_path, &text)?; + environment.write_file(&proxy_path, text.as_bytes())?; } // create the import map if necessary @@ -195,7 +195,7 @@ pub async fn build< resolver, parsed_source_cache, })?; - environment.write_file(&import_map_path, &import_map_text)?; + environment.write_file(&import_map_path, import_map_text.as_bytes())?; } Ok(BuildOutput { @@ -242,7 +242,7 @@ fn validate_original_import_map( } fn build_proxy_module_source( - module: &EsmModule, + module: &JsModule, proxied_module: &ProxiedModule, parsed_source_cache: &ParsedSourceCache, ) -> Result<String, AnyError> { @@ -269,7 +269,7 @@ fn build_proxy_module_source( // add a default export if one exists in the module let parsed_source = - parsed_source_cache.get_parsed_source_from_esm_module(module)?; + parsed_source_cache.get_parsed_source_from_js_module(module)?; if has_default_export(&parsed_source) { writeln!(text, "export {{ default }} from \"{relative_specifier}\";") .unwrap(); diff --git a/cli/tools/vendor/import_map.rs b/cli/tools/vendor/import_map.rs index c985dfb5f..7f627f35e 100644 --- a/cli/tools/vendor/import_map.rs +++ b/cli/tools/vendor/import_map.rs @@ -240,7 +240,7 @@ fn visit_modules( ) -> Result<(), AnyError> { for module in modules { let module = match module { - Module::Esm(module) => module, + Module::Js(module) => module, // skip visiting Json modules as they are leaves Module::Json(_) | Module::Npm(_) @@ -249,9 +249,8 @@ fn visit_modules( }; let parsed_source = - parsed_source_cache.get_parsed_source_from_esm_module(module)?; + parsed_source_cache.get_parsed_source_from_js_module(module)?; let text_info = parsed_source.text_info().clone(); - let source_text = &module.source; for dep in module.dependencies.values() { visit_resolution( @@ -261,7 +260,7 @@ fn visit_modules( &module.specifier, mappings, &text_info, - source_text, + &module.source, ); visit_resolution( &dep.maybe_type, @@ -270,7 +269,7 @@ fn visit_modules( &module.specifier, mappings, &text_info, - source_text, + &module.source, ); } @@ -282,7 +281,7 @@ fn visit_modules( &module.specifier, mappings, &text_info, - source_text, + &module.source, ); } } diff --git a/cli/tools/vendor/mappings.rs b/cli/tools/vendor/mappings.rs index 00d5055f7..6d2722b89 100644 --- a/cli/tools/vendor/mappings.rs +++ b/cli/tools/vendor/mappings.rs @@ -55,7 +55,7 @@ impl Mappings { for specifier in specifiers { let module = graph.get(&specifier).unwrap(); let media_type = match module { - Module::Esm(module) => module.media_type, + Module::Js(module) => module.media_type, Module::Json(_) => MediaType::Json, Module::Node(_) | Module::Npm(_) | Module::External(_) => continue, }; @@ -81,7 +81,7 @@ impl Mappings { // resolve all the "proxy" paths to use for when an x-typescript-types header is specified for module in remote_modules { - if let Some(module) = module.esm() { + if let Some(module) = module.js() { if let Some(resolved) = &module .maybe_types_dependency .as_ref() diff --git a/cli/tools/vendor/test.rs b/cli/tools/vendor/test.rs index bf6579d23..7910dcf22 100644 --- a/cli/tools/vendor/test.rs +++ b/cli/tools/vendor/test.rs @@ -122,7 +122,7 @@ impl Loader for TestLoader { let result = self.files.get(specifier).map(|result| match result { Ok(result) => Ok(LoadResponse::Module { specifier: specifier.clone(), - content: result.0.clone().into(), + content: result.0.clone().into_bytes().into(), maybe_headers: result.1.clone(), }), Err(err) => Err(err), @@ -160,15 +160,15 @@ impl VendorEnvironment for TestVendorEnvironment { Ok(()) } - fn write_file(&self, file_path: &Path, text: &str) -> Result<(), AnyError> { + fn write_file(&self, file_path: &Path, text: &[u8]) -> Result<(), AnyError> { let parent = file_path.parent().unwrap(); if !self.directories.borrow().contains(parent) { bail!("Directory not found: {}", parent.display()); } - self - .files - .borrow_mut() - .insert(file_path.to_path_buf(), text.to_string()); + self.files.borrow_mut().insert( + file_path.to_path_buf(), + String::from_utf8(text.to_vec()).unwrap(), + ); Ok(()) } |