diff options
| author | Kitson Kelly <me@kitsonkelly.com> | 2022-02-01 09:33:57 +1100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-02-01 09:33:57 +1100 |
| commit | 7d356250e8bbe4e37e3651b328fda76178489588 (patch) | |
| tree | 2034053509e324fef72ead3e13e52ec66a06e59d /cli/proc_state.rs | |
| parent | 5490cfed2000a063ef0baec500ab7d539203067c (diff) | |
refactor: integrate deno_graph breaking changes (#13495)
Co-authored-by: Bartek IwaĆczuk <biwanczuk@gmail.com>
Diffstat (limited to 'cli/proc_state.rs')
| -rw-r--r-- | cli/proc_state.rs | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/cli/proc_state.rs b/cli/proc_state.rs index 4264e32e3..320e20ac4 100644 --- a/cli/proc_state.rs +++ b/cli/proc_state.rs @@ -23,6 +23,7 @@ use crate::resolver::JsxResolver; use crate::source_maps::SourceMapGetter; use crate::version; +use deno_ast::MediaType; use deno_core::anyhow::anyhow; use deno_core::anyhow::Context; use deno_core::error::custom_error; @@ -41,7 +42,8 @@ use deno_graph::create_graph; use deno_graph::source::CacheInfo; use deno_graph::source::LoadFuture; use deno_graph::source::Loader; -use deno_graph::MediaType; +use deno_graph::ModuleKind; +use deno_graph::Resolved; use deno_runtime::deno_broadcast_channel::InMemoryBroadcastChannel; use deno_runtime::deno_tls::rustls::RootCertStore; use deno_runtime::deno_web::BlobStore; @@ -252,7 +254,7 @@ impl ProcState { /// emits where necessary or report any module graph / type checking errors. pub(crate) async fn prepare_module_load( &self, - roots: Vec<ModuleSpecifier>, + roots: Vec<(ModuleSpecifier, ModuleKind)>, is_dynamic: bool, lib: emit::TypeLib, root_permissions: Permissions, @@ -262,7 +264,7 @@ impl ProcState { // TODO(bartlomieju): this is very make-shift, is there an existing API // that we could include it like with "maybe_imports"? let roots = if self.flags.compat { - let mut r = vec![compat::GLOBAL_URL.clone()]; + let mut r = vec![(compat::GLOBAL_URL.clone(), ModuleKind::Esm)]; r.extend(roots); r } else { @@ -438,21 +440,21 @@ impl ProcState { let graph_data = self.graph_data.read(); let found_referrer = graph_data.follow_redirect(&referrer); let maybe_resolved = match graph_data.get(&found_referrer) { - Some(ModuleEntry::Module { dependencies, .. }) => dependencies - .get(specifier) - .and_then(|dep| dep.maybe_code.clone()), + Some(ModuleEntry::Module { dependencies, .. }) => { + dependencies.get(specifier).map(|d| &d.maybe_code) + } _ => None, }; match maybe_resolved { - Some(Ok((specifier, _))) => return Ok(specifier), - Some(Err(err)) => { + Some(Resolved::Ok { specifier, .. }) => return Ok(specifier.clone()), + Some(Resolved::Err(err)) => { return Err(custom_error( "TypeError", format!("{}\n", err.to_string_with_range()), )) } - None => {} + Some(Resolved::None) | None => {} } } @@ -472,7 +474,7 @@ impl ProcState { None }; if let Some(resolver) = &maybe_resolver { - resolver.resolve(specifier, &referrer) + resolver.resolve(specifier, &referrer).to_result() } else { deno_core::resolve_import(specifier, referrer.as_str()) .map_err(|err| err.into()) |
