From 065a28f293cd2c03e9f0d4946762bfa020a0b71c Mon Sep 17 00:00:00 2001 From: csmoe Date: Thu, 10 Jan 2019 15:08:45 +0800 Subject: [PATCH] check whether correct target arg passed in --- src/command/build.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/command/build.rs b/src/command/build.rs index 0fbbff3..9a5a152 100644 --- a/src/command/build.rs +++ b/src/command/build.rs @@ -88,7 +88,7 @@ pub struct BuildOptions { pub scope: Option, #[structopt(long = "mode", short = "m", default_value = "normal")] - /// Sets steps to be run. [possible values: no-install, normal] + /// Sets steps to be run. [possible values: no-install, normal, force] pub mode: BuildMode, #[structopt(long = "no-typescript")] @@ -158,6 +158,12 @@ impl Build { _ => bail!("Can only supply one of the --dev, --release, or --profiling flags"), }; + // `possible_values` in clap isn't supported by `structopt` + let possible_targets = ["browser", "nodejs", "no-modules"]; + if !possible_targets.contains(&build_opts.target.as_str()) { + bail!("Supported targets: browser, nodejs, no-modules"); + } + Ok(Build { crate_path, crate_data,