summaryrefslogtreecommitdiff
path: root/cli/main.rs
diff options
context:
space:
mode:
authorKitson Kelly <me@kitsonkelly.com>2020-10-20 14:10:42 +1100
committerGitHub <noreply@github.com>2020-10-20 14:10:42 +1100
commit57e95032c898cfdfe795e6924d402fdbe2ae59a8 (patch)
treee548b283d0129b5a1c00828f5a456cc094276bd1 /cli/main.rs
parent034ab48086557af00216ffe311c71ad4eb0ec4d5 (diff)
feat(cli): add support for bundle --no-check (#8023)
Fixes #6686
Diffstat (limited to 'cli/main.rs')
-rw-r--r--cli/main.rs37
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");