diff options
Diffstat (limited to 'cli')
-rw-r--r-- | cli/args/flags.rs | 2 | ||||
-rw-r--r-- | cli/tools/upgrade.rs | 19 |
2 files changed, 16 insertions, 5 deletions
diff --git a/cli/args/flags.rs b/cli/args/flags.rs index a0cf4d7bf..5942b42d4 100644 --- a/cli/args/flags.rs +++ b/cli/args/flags.rs @@ -1173,7 +1173,7 @@ static DENO_HELP: &str = cstr!( <p(245)>deno test | deno test test.ts</> <g>publish</> Publish the current working directory's package or workspace <g>upgrade</> Upgrade deno executable to given version - <p(245)>deno upgrade | deno upgrade --version=1.45.0 | deno upgrade --canary</> + <p(245)>deno upgrade | deno upgrade 1.45.0 | deno upgrade canary</> {after-help} <y>Docs:</> https://docs.deno.com diff --git a/cli/tools/upgrade.rs b/cli/tools/upgrade.rs index 8db34a620..46c12ba81 100644 --- a/cli/tools/upgrade.rs +++ b/cli/tools/upgrade.rs @@ -15,6 +15,7 @@ use crate::util::progress_bar::ProgressBarStyle; use crate::version; use async_trait::async_trait; +use color_print::cstr; use deno_core::anyhow::bail; use deno_core::anyhow::Context; use deno_core::error::AnyError; @@ -37,6 +38,8 @@ const RELEASE_URL: &str = "https://github.com/denoland/deno/releases"; const CANARY_URL: &str = "https://dl.deno.land/canary"; const RC_URL: &str = "https://dl.deno.land/release"; +static EXAMPLE_USAGE: &str = cstr!("Example usage:\n <p(245)>deno upgrade | deno upgrade 1.46 | deno upgrade canary</>"); + pub static ARCHIVE_NAME: Lazy<String> = Lazy::new(|| format!("deno-{}.zip", env!("TARGET"))); @@ -372,14 +375,14 @@ pub fn check_for_upgrades( log::info!( "{} {}", colors::green("A new canary release of Deno is available."), - colors::italic_gray("Run `deno upgrade --canary` to install it.") + colors::italic_gray("Run `deno upgrade canary` to install it.") ); } ReleaseChannel::Rc => { log::info!( "{} {}", colors::green("A new release candidate of Deno is available."), - colors::italic_gray("Run `deno upgrade --rc` to install it.") + colors::italic_gray("Run `deno upgrade rc` to install it.") ); } // TODO(bartlomieju) @@ -647,12 +650,20 @@ impl RequestedVersion { let (channel, passed_version) = if is_canary { if !re_hash.is_match(&passed_version) { - bail!("Invalid commit hash passed"); + bail!( + "Invalid commit hash passed ({})\n\n{}", + colors::gray(passed_version), + EXAMPLE_USAGE + ); } (ReleaseChannel::Canary, passed_version) } else { let Ok(semver) = Version::parse_standard(&passed_version) else { - bail!("Invalid version passed"); + bail!( + "Invalid version passed ({})\n\n{}", + colors::gray(passed_version), + EXAMPLE_USAGE + ); }; if semver.pre.contains(&"rc".to_string()) { |