summaryrefslogtreecommitdiff
path: root/cli/main.rs
diff options
context:
space:
mode:
authorNayeem Rahman <nayeemrmn99@gmail.com>2021-01-07 18:06:08 +0000
committerGitHub <noreply@github.com>2021-01-07 19:06:08 +0100
commite61e81eb57351782862aa50775ce4348f10b1856 (patch)
tree6099aa60857f586774a195034f18ac1fb10ca519 /cli/main.rs
parentc347dfcd565c3a396ae84dff46e7374851913462 (diff)
feat: add --location=<href> and globalThis.location (#7369)
Diffstat (limited to 'cli/main.rs')
-rw-r--r--cli/main.rs26
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)));
}