summaryrefslogtreecommitdiff
path: root/cli/main_runtime.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cli/main_runtime.rs')
-rw-r--r--cli/main_runtime.rs32
1 files changed, 32 insertions, 0 deletions
diff --git a/cli/main_runtime.rs b/cli/main_runtime.rs
new file mode 100644
index 000000000..12cb4329d
--- /dev/null
+++ b/cli/main_runtime.rs
@@ -0,0 +1,32 @@
+// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
+
+#![deny(warnings)]
+
+#[macro_use]
+extern crate lazy_static;
+
+mod colors;
+mod standalone;
+mod tokio_util;
+mod version;
+
+use deno_core::error::anyhow;
+use deno_core::error::AnyError;
+use std::env;
+
+pub fn main() {
+ #[cfg(windows)]
+ colors::enable_ansi(); // For Windows 10
+
+ let args: Vec<String> = env::args().collect();
+ if let Err(err) = run(args) {
+ eprintln!("{}: {}", colors::red_bold("error"), err.to_string());
+ std::process::exit(1);
+ }
+}
+
+fn run(args: Vec<String>) -> Result<(), AnyError> {
+ let (metadata, bundle) = standalone::extract_standalone(args)?
+ .ok_or_else(|| anyhow!("This executable is used internally by 'deno compile', it is not meant to be invoked directly."))?;
+ tokio_util::run_basic(standalone::run(bundle, metadata))
+}