diff options
author | Nayeem Rahman <nayeemrmn99@gmail.com> | 2021-01-07 18:06:08 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-07 19:06:08 +0100 |
commit | e61e81eb57351782862aa50775ce4348f10b1856 (patch) | |
tree | 6099aa60857f586774a195034f18ac1fb10ca519 /cli/main.rs | |
parent | c347dfcd565c3a396ae84dff46e7374851913462 (diff) |
feat: add --location=<href> and globalThis.location (#7369)
Diffstat (limited to 'cli/main.rs')
-rw-r--r-- | cli/main.rs | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/cli/main.rs b/cli/main.rs index 8210eb5c7..066991624 100644 --- a/cli/main.rs +++ b/cli/main.rs @@ -204,6 +204,7 @@ pub fn create_main_worker( ts_version: version::TYPESCRIPT.to_string(), no_color: !colors::use_color(), get_error_class_fn: Some(&crate::errors::get_error_class_name), + location: program_state.flags.location.clone(), }; let mut worker = MainWorker::from_options(main_module, permissions, &options); @@ -1223,6 +1224,21 @@ fn get_subcommand( } } +fn unwrap_or_exit<T>(result: Result<T, AnyError>) -> T { + match result { + Ok(value) => value, + Err(error) => { + let msg = format!( + "{}: {}", + colors::red_bold("error"), + error.to_string().trim() + ); + eprintln!("{}", msg); + std::process::exit(1); + } + } +} + pub fn main() { #[cfg(windows)] colors::enable_ansi(); // For Windows 10 @@ -1233,16 +1249,12 @@ pub fn main() { std::process::exit(1); } - let flags = flags::flags_from_vec(args); + let flags = + unwrap_or_exit(flags::flags_from_vec(args).map_err(AnyError::from)); if !flags.v8_flags.is_empty() { init_v8_flags(&*flags.v8_flags); } init_logger(flags.log_level); - let subcommand_future = get_subcommand(flags); - let result = tokio_util::run_basic(subcommand_future); - if let Err(err) = result { - eprintln!("{}: {}", colors::red_bold("error"), err.to_string()); - std::process::exit(1); - } + unwrap_or_exit(tokio_util::run_basic(get_subcommand(flags))); } |