diff options
Diffstat (limited to 'cli/main.rs')
-rw-r--r-- | cli/main.rs | 37 |
1 files changed, 32 insertions, 5 deletions
diff --git a/cli/main.rs b/cli/main.rs index 48e76d9ab..1e174abd7 100644 --- a/cli/main.rs +++ b/cli/main.rs @@ -65,6 +65,7 @@ use crate::fs as deno_fs; use crate::media_type::MediaType; use crate::permissions::Permissions; use crate::program_state::ProgramState; +use crate::specifier_handler::FetchHandler; use crate::worker::MainWorker; use deno_core::error::AnyError; use deno_core::futures::future::FutureExt; @@ -304,7 +305,7 @@ async fn bundle_command( let module_specifier = ModuleSpecifier::resolve_url_or_path(&source_file)?; debug!(">>>>> bundle START"); - let program_state = ProgramState::new(flags)?; + let program_state = ProgramState::new(flags.clone())?; info!( "{} {}", @@ -312,10 +313,36 @@ async fn bundle_command( module_specifier.to_string() ); - let output = program_state - .ts_compiler - .bundle(&program_state, module_specifier) - .await?; + let output = if flags.no_check { + let handler = Rc::new(RefCell::new(FetchHandler::new( + &program_state, + Permissions::allow_all(), + )?)); + let mut builder = module_graph2::GraphBuilder2::new( + handler, + program_state.maybe_import_map.clone(), + ); + builder.insert(&module_specifier).await?; + let graph = builder.get_graph(&program_state.lockfile)?; + + let (s, stats, maybe_ignored_options) = + graph.bundle(module_graph2::BundleOptions { + debug: flags.log_level == Some(Level::Debug), + maybe_config_path: flags.config_path, + })?; + + if let Some(ignored_options) = maybe_ignored_options { + eprintln!("{}", ignored_options); + } + debug!("{}", stats); + + s + } else { + program_state + .ts_compiler + .bundle(&program_state, module_specifier) + .await? + }; debug!(">>>>> bundle END"); |