forked from denoland/deno
-
Notifications
You must be signed in to change notification settings - Fork 0
/
version.rs
27 lines (22 loc) · 665 Bytes
/
version.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Copyright 2018-2022 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() -> String {
let semver = env!("CARGO_PKG_VERSION");
option_env!("DENO_CANARY").map_or(semver.to_string(), |_| {
format!("{}+{}", semver, &GIT_COMMIT_HASH[..7])
})
}
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")
}
}
pub fn get_user_agent() -> String {
format!("Deno/{}", deno())
}