From 75315ef511f9ef60f007987da6b9cdd905433f59 Mon Sep 17 00:00:00 2001 From: await-ovo Date: Thu, 23 Nov 2023 16:01:05 +0800 Subject: [PATCH] chore(cli): --save-dev with --save-prod implies as dev --- crates/cli/src/cli_args/add.rs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/crates/cli/src/cli_args/add.rs b/crates/cli/src/cli_args/add.rs index ee441b15..3236834a 100644 --- a/crates/cli/src/cli_args/add.rs +++ b/crates/cli/src/cli_args/add.rs @@ -25,10 +25,11 @@ impl AddDependencyOptions { /// Whether to add entry to `"dependencies"`. /// /// **NOTE:** no `--save-*` flags implies save as prod. + /// `--save-prod` with `--save-dev` implies save as dev. #[inline(always)] fn save_prod(&self) -> bool { let &AddDependencyOptions { save_prod, save_dev, save_optional, save_peer } = self; - save_prod || (!save_dev && !save_optional && !save_peer) + (save_prod && !save_dev) || (!save_dev && !save_optional && !save_peer) } /// Whether to add entry to `"devDependencies"`. @@ -201,5 +202,16 @@ mod tests { }), [Optional, Peer] ); + + // --save-dev --save-prod -> dev + assert_eq!( + create_list(AddDependencyOptions { + save_prod: true, + save_dev: true, + save_optional: false, + save_peer: false + }), + [Dev] + ); } }