deno/cli/main_runtime.rs
Luca Casonato a44349dfdf
feat: denort binary (#9041)
This commit adds new binary target called "denort".

It is a "lite" version of "deno" binary that can only execute
code embedded inside the binary itself.

Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-01-08 03:08:51 +01:00

33 lines
838 B
Rust

// 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))
}