summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--js/main.ts9
-rw-r--r--src/flags.rs6
-rw-r--r--src/msg.fbs3
-rw-r--r--src/ops.rs10
-rw-r--r--src/version.rs7
5 files changed, 25 insertions, 10 deletions
diff --git a/js/main.ts b/js/main.ts
index 0d33cf063..70819a576 100644
--- a/js/main.ts
+++ b/js/main.ts
@@ -8,6 +8,7 @@ import { libdeno } from "./libdeno";
import { args } from "./deno";
import { sendSync, handleAsyncMsgFromRust } from "./dispatch";
import { promiseErrorExaminer, promiseRejectHandler } from "./promise_util";
+import { version } from "typescript";
function sendStart(): msg.StartRes {
const builder = new flatbuffers.Builder();
@@ -59,6 +60,14 @@ export default function denoMain() {
os.exit(0);
}
+ // handle `--version`
+ if (startResMsg.versionFlag()) {
+ console.log("deno:", startResMsg.denoVersion());
+ console.log("v8:", startResMsg.v8Version());
+ console.log("typescript:", version);
+ os.exit(0);
+ }
+
const cwd = startResMsg.cwd();
log("cwd", cwd);
diff --git a/src/flags.rs b/src/flags.rs
index 0959248e1..aba4f8f14 100644
--- a/src/flags.rs
+++ b/src/flags.rs
@@ -7,7 +7,6 @@ use std::ffi::CString;
use std::mem;
use std::process::exit;
use std::vec::Vec;
-use version;
// Creates vector of strings, Vec<String>
#[cfg(test)]
@@ -35,11 +34,6 @@ pub fn process(flags: &DenoFlags) {
exit(0);
}
- if flags.version {
- version::print_version();
- exit(0);
- }
-
let mut log_level = log::LevelFilter::Info;
if flags.log_debug {
log_level = log::LevelFilter::Debug;
diff --git a/src/msg.fbs b/src/msg.fbs
index 5b60213ad..9aa9b069c 100644
--- a/src/msg.fbs
+++ b/src/msg.fbs
@@ -121,6 +121,9 @@ table StartRes {
deps_flag: bool;
recompile_flag: bool;
types_flag: bool;
+ version_flag: bool;
+ deno_version: string;
+ v8_version: string;
}
table CodeFetch {
diff --git a/src/ops.rs b/src/ops.rs
index 261ed67f5..f86e46da7 100644
--- a/src/ops.rs
+++ b/src/ops.rs
@@ -12,6 +12,7 @@ use msg;
use resources;
use resources::Resource;
use tokio_util;
+use version;
use flatbuffers::FlatBufferBuilder;
use futures;
@@ -178,6 +179,12 @@ fn op_start(
let cwd_off =
builder.create_string(deno_fs::normalize_path(cwd_path.as_ref()).as_ref());
+ let v8_version = version::get_v8_version();
+ let v8_version_off = builder.create_string(v8_version);
+
+ let deno_version = version::DENO_VERSION;
+ let deno_version_off = builder.create_string(deno_version);
+
let inner = msg::StartRes::create(
&mut builder,
&msg::StartResArgs {
@@ -186,6 +193,9 @@ fn op_start(
debug_flag: state.flags.log_debug,
recompile_flag: state.flags.recompile,
types_flag: state.flags.types_flag,
+ version_flag: state.flags.version,
+ v8_version: Some(v8_version_off),
+ deno_version: Some(deno_version_off),
..Default::default()
},
);
diff --git a/src/version.rs b/src/version.rs
index bfd47012c..475ab319e 100644
--- a/src/version.rs
+++ b/src/version.rs
@@ -3,12 +3,11 @@ use libdeno;
use std::ffi::CStr;
// This is the source of truth for the Deno version. Ignore the value in Cargo.toml.
-const DENO_VERSION: &str = "0.1.8";
+pub const DENO_VERSION: &str = "0.1.8";
-pub fn print_version() {
+pub fn get_v8_version() -> &'static str {
let v = unsafe { libdeno::deno_v8_version() };
let c_str = unsafe { CStr::from_ptr(v) };
let version = c_str.to_str().unwrap();
- println!("deno: {}", DENO_VERSION);
- println!("v8: {}", version);
+ version
}