diff options
Diffstat (limited to 'cli/proc_state.rs')
-rw-r--r-- | cli/proc_state.rs | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/cli/proc_state.rs b/cli/proc_state.rs index b6b09c948..7154693da 100644 --- a/cli/proc_state.rs +++ b/cli/proc_state.rs @@ -591,6 +591,47 @@ impl ProcState { )), } } + + pub async fn create_graph( + &self, + roots: Vec<(ModuleSpecifier, ModuleKind)>, + ) -> Result<deno_graph::ModuleGraph, AnyError> { + let mut cache = cache::FetchCacher::new( + self.dir.gen_cache.clone(), + self.file_fetcher.clone(), + Permissions::allow_all(), + Permissions::allow_all(), + ); + let maybe_locker = as_maybe_locker(self.lockfile.clone()); + let maybe_import_map_resolver = + self.maybe_import_map.clone().map(ImportMapResolver::new); + let maybe_imports = self.options.to_maybe_imports()?; + let maybe_jsx_resolver = self + .options + .to_maybe_jsx_import_source_module() + .map(|im| JsxResolver::new(im, maybe_import_map_resolver.clone())); + let maybe_resolver = if maybe_jsx_resolver.is_some() { + maybe_jsx_resolver.as_ref().map(|jr| jr.as_resolver()) + } else { + maybe_import_map_resolver + .as_ref() + .map(|im| im.as_resolver()) + }; + + Ok( + deno_graph::create_graph( + roots, + false, + maybe_imports, + &mut cache, + maybe_resolver, + maybe_locker, + None, + None, + ) + .await, + ) + } } // TODO(@kitsonk) this is only temporary, but should be refactored to somewhere |