deno/cli/version.rs
Bartek Iwańczuk 275dee60e7
refactor: make version and user_agent &'static str (#18400)
These caused a bunch of unnecessary allocations on each startup.
2023-03-23 23:27:58 +01:00

43 lines
887 B
Rust

// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
pub const GIT_COMMIT_HASH: &str = env!("GIT_COMMIT_HASH");
pub const TYPESCRIPT: &str = env!("TS_VERSION");
pub fn deno() -> &'static str {
if is_canary() {
concat!(
env!("CARGO_PKG_VERSION"),
"+",
env!("GIT_COMMIT_HASH_SHORT")
)
} else {
env!("CARGO_PKG_VERSION")
}
}
// Keep this in sync with `deno()` above
pub fn get_user_agent() -> &'static str {
if is_canary() {
concat!(
"Deno/",
env!("CARGO_PKG_VERSION"),
"+",
env!("GIT_COMMIT_HASH_SHORT")
)
} else {
concat!("Deno/", env!("CARGO_PKG_VERSION"))
}
}
pub fn is_canary() -> bool {
option_env!("DENO_CANARY").is_some()
}
pub fn release_version_or_canary_commit_hash() -> &'static str {
if is_canary() {
GIT_COMMIT_HASH
} else {
env!("CARGO_PKG_VERSION")
}
}