summaryrefslogtreecommitdiff
path: root/cli/program_state.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/program_state.rs')
-rw-r--r--cli/program_state.rs60
1 files changed, 19 insertions, 41 deletions
diff --git a/cli/program_state.rs b/cli/program_state.rs
index 9eeb72f23..027bbc792 100644
--- a/cli/program_state.rs
+++ b/cli/program_state.rs
@@ -15,9 +15,6 @@ use crate::module_graph2::TypeLib;
use crate::permissions::Permissions;
use crate::source_maps::SourceMapGetter;
use crate::specifier_handler::FetchHandler;
-use crate::tsc::CompiledModule;
-use crate::tsc::TargetLib;
-use crate::tsc::TsCompiler;
use deno_core::error::generic_error;
use deno_core::error::AnyError;
@@ -37,6 +34,12 @@ pub fn exit_unstable(api_name: &str) {
std::process::exit(70);
}
+// TODO(@kitsonk) probably can refactor this better with the graph.
+pub struct CompiledModule {
+ pub code: String,
+ pub name: String,
+}
+
/// This structure represents state of single "deno" program.
///
/// It is shared by all created workers (thus V8 isolates).
@@ -47,7 +50,6 @@ pub struct ProgramState {
pub permissions: Permissions,
pub dir: deno_dir::DenoDir,
pub file_fetcher: SourceFileFetcher,
- pub ts_compiler: TsCompiler,
pub lockfile: Option<Arc<Mutex<Lockfile>>>,
pub maybe_import_map: Option<ImportMap>,
pub maybe_inspector_server: Option<Arc<InspectorServer>>,
@@ -70,12 +72,6 @@ impl ProgramState {
ca_file.as_deref(),
)?;
- let ts_compiler = TsCompiler::new(
- file_fetcher.clone(),
- flags.clone(),
- dir.gen_cache.clone(),
- )?;
-
let lockfile = if let Some(filename) = &flags.lock {
let lockfile = Lockfile::new(filename.clone(), flags.lock_write)?;
Some(Arc::new(Mutex::new(lockfile)))
@@ -105,7 +101,6 @@ impl ProgramState {
permissions: Permissions::from_flags(&flags),
flags,
file_fetcher,
- ts_compiler,
lockfile,
maybe_import_map,
maybe_inspector_server,
@@ -120,7 +115,7 @@ impl ProgramState {
pub async fn prepare_module_load(
self: &Arc<Self>,
specifier: ModuleSpecifier,
- target_lib: TargetLib,
+ lib: TypeLib,
runtime_permissions: Permissions,
is_dynamic: bool,
maybe_import_map: Option<ImportMap>,
@@ -129,7 +124,7 @@ impl ProgramState {
// Workers are subject to the current runtime permissions. We do the
// permission check here early to avoid "wasting" time building a module
// graph for a module that cannot be loaded.
- if target_lib == TargetLib::Worker {
+ if lib == TypeLib::DenoWorker || lib == TypeLib::UnstableDenoWorker {
runtime_permissions.check_specifier(&specifier)?;
}
let handler =
@@ -153,37 +148,20 @@ impl ProgramState {
eprintln!("{}", ignored_options);
}
} else {
- let lib = match target_lib {
- TargetLib::Main => {
- if self.flags.unstable {
- TypeLib::UnstableDenoWindow
- } else {
- TypeLib::DenoWindow
- }
- }
- TargetLib::Worker => {
- if self.flags.unstable {
- TypeLib::UnstableDenoWorker
- } else {
- TypeLib::DenoWorker
- }
- }
- };
- let (stats, diagnostics, maybe_ignored_options) =
- graph.check(CheckOptions {
- debug,
- emit: true,
- lib,
- maybe_config_path,
- reload: self.flags.reload,
- })?;
+ let result_info = graph.check(CheckOptions {
+ debug,
+ emit: true,
+ lib,
+ maybe_config_path,
+ reload: self.flags.reload,
+ })?;
- debug!("{}", stats);
- if let Some(ignored_options) = maybe_ignored_options {
+ debug!("{}", result_info.stats);
+ if let Some(ignored_options) = result_info.maybe_ignored_options {
eprintln!("{}", ignored_options);
}
- if !diagnostics.is_empty() {
- return Err(generic_error(diagnostics.to_string()));
+ if !result_info.diagnostics.is_empty() {
+ return Err(generic_error(result_info.diagnostics.to_string()));
}
};