// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. // Copyright 2023 Jo Bates. All rights reserved. MIT license. pub const GIT_COMMIT_HASH: &str = env!("GIT_COMMIT_HASH"); pub const TYPESCRIPT: &str = env!("TS_VERSION"); pub fn denog_short() -> String { let version = env!("CARGO_PKG_VERSION"); option_env!("DENO_CANARY") .map(|_| format!("{}+{}", version, &GIT_COMMIT_HASH[..7])) .unwrap_or_else(|| version.to_string()) } // Use when you need a string that's clearly distinct from // upstream Deno, e.g. to keep Deno and Denog caches separate. pub fn denog_long() -> String { format!("denog-{}", denog_short()) } 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/{}", denog_long()) }