summaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
authorRyan Dahl <ry@tinyclouds.org>2019-03-19 12:18:05 -0400
committerGitHub <noreply@github.com>2019-03-19 12:18:05 -0400
commitfa3c35301aa44975776b96c85f200de8eb500c22 (patch)
tree76f8d5e6f42e1c306a40efd0b80dce18528952f4 /src/main.rs
parentc7d81fa9ff495986675c05e52e13acc9ffc85372 (diff)
Rename //src/ to //cli/ (#1962)
To better distinguish the deno_core crate from the executable deno, which will now be called "the cli" internally.
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs140
1 files changed, 0 insertions, 140 deletions
diff --git a/src/main.rs b/src/main.rs
deleted file mode 100644
index 4657a3a4d..000000000
--- a/src/main.rs
+++ /dev/null
@@ -1,140 +0,0 @@
-// Copyright 2018-2019 the Deno authors. All rights reserved. MIT license.
-#[macro_use]
-extern crate lazy_static;
-#[macro_use]
-extern crate log;
-#[macro_use]
-extern crate futures;
-#[macro_use]
-extern crate serde_json;
-
-mod ansi;
-pub mod cli;
-pub mod compiler;
-pub mod deno_dir;
-pub mod errors;
-pub mod flags;
-mod fs;
-mod global_timer;
-mod http_body;
-mod http_util;
-pub mod isolate;
-pub mod isolate_state;
-pub mod js_errors;
-pub mod modules;
-pub mod msg;
-pub mod msg_util;
-pub mod ops;
-pub mod permissions;
-mod repl;
-pub mod resolve_addr;
-pub mod resources;
-mod startup_data;
-mod tokio_util;
-mod tokio_write;
-pub mod version;
-pub mod workers;
-
-use crate::cli::Cli;
-use crate::errors::RustOrJsError;
-use crate::isolate::Isolate;
-use crate::isolate_state::IsolateState;
-use futures::lazy;
-use futures::Future;
-use log::{LevelFilter, Metadata, Record};
-use std::env;
-use std::sync::Arc;
-
-static LOGGER: Logger = Logger;
-
-struct Logger;
-
-impl log::Log for Logger {
- fn enabled(&self, metadata: &Metadata) -> bool {
- metadata.level() <= log::max_level()
- }
-
- fn log(&self, record: &Record) {
- if self.enabled(record.metadata()) {
- println!("{} RS - {}", record.level(), record.args());
- }
- }
- fn flush(&self) {}
-}
-
-fn print_err_and_exit(err: RustOrJsError) {
- eprintln!("{}", err.to_string());
- std::process::exit(1);
-}
-
-fn js_check<E>(r: Result<(), E>)
-where
- E: Into<RustOrJsError>,
-{
- if let Err(err) = r {
- print_err_and_exit(err.into());
- }
-}
-
-fn main() {
- #[cfg(windows)]
- ansi_term::enable_ansi_support().ok(); // For Windows 10
-
- log::set_logger(&LOGGER).unwrap();
- let args = env::args().collect();
- let (mut flags, mut rest_argv, usage_string) = flags::set_flags(args)
- .unwrap_or_else(|err| {
- eprintln!("{}", err);
- std::process::exit(1)
- });
-
- if flags.help {
- println!("{}", &usage_string);
- std::process::exit(0);
- }
-
- log::set_max_level(if flags.log_debug {
- LevelFilter::Debug
- } else {
- LevelFilter::Warn
- });
-
- if flags.fmt {
- rest_argv.insert(1, "https://deno.land/std/prettier/main.ts".to_string());
- flags.allow_read = true;
- flags.allow_write = true;
- }
-
- let should_prefetch = flags.prefetch || flags.info;
- let should_display_info = flags.info;
-
- let state = Arc::new(IsolateState::new(flags, rest_argv, None));
- let state_ = state.clone();
- let startup_data = startup_data::deno_isolate_init();
- let permissions = permissions::DenoPermissions::from_flags(&state.flags);
- let cli = Cli::new(Some(startup_data), state_, permissions);
- let mut isolate = Isolate::new(cli);
-
- let main_future = lazy(move || {
- // Setup runtime.
- js_check(isolate.execute("denoMain()"));
-
- // Execute main module.
- if let Some(main_module) = state.main_module() {
- debug!("main_module {}", main_module);
- js_check(isolate.execute_mod(&main_module, should_prefetch));
- if should_display_info {
- // Display file info and exit. Do not run file
- isolate.print_file_info(&main_module);
- std::process::exit(0);
- }
- }
-
- isolate.then(|result| {
- js_check(result);
- Ok(())
- })
- });
-
- tokio_util::run(main_future);
-}