summaryrefslogtreecommitdiff
path: root/cli/proc_state.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/proc_state.rs')
-rw-r--r--cli/proc_state.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/cli/proc_state.rs b/cli/proc_state.rs
index 07f8a0860..5be3ae62e 100644
--- a/cli/proc_state.rs
+++ b/cli/proc_state.rs
@@ -41,6 +41,7 @@ use deno_core::error::AnyError;
use deno_core::futures;
use deno_core::parking_lot::Mutex;
use deno_core::parking_lot::RwLock;
+use deno_core::resolve_url_or_path;
use deno_core::url::Url;
use deno_core::CompiledWasmModuleStore;
use deno_core::ModuleSpecifier;
@@ -469,6 +470,30 @@ impl ProcState {
Ok(())
}
+ /// Helper around prepare_module_load that loads and type checks
+ /// the provided files.
+ pub async fn load_and_type_check_files(
+ &self,
+ files: &[String],
+ ) -> Result<(), AnyError> {
+ let lib = self.options.ts_type_lib_window();
+
+ let specifiers = files
+ .iter()
+ .map(|file| resolve_url_or_path(file))
+ .collect::<Result<Vec<_>, _>>()?;
+ self
+ .prepare_module_load(
+ specifiers,
+ false,
+ lib,
+ Permissions::allow_all(),
+ Permissions::allow_all(),
+ false,
+ )
+ .await
+ }
+
/// Add the builtin node modules to the graph data.
pub async fn prepare_node_std_graph(&self) -> Result<(), AnyError> {
if self.node_std_graph_prepared.load(Ordering::Relaxed) {