use super::*; /// Config options for the build system. #[derive(Clone, Debug, Default, Deserialize, Parser)] pub struct ConfigOptsBuild { /// The index HTML file to drive the bundling process [default: index.html] #[clap(parse(from_os_str))] pub target: Option, /// Build in release mode [default: false] #[clap(long)] #[serde(default)] pub release: bool, // Use verbose output [default: false] #[clap(long)] #[serde(default)] pub verbose: bool, /// Build a example [default: ""] #[clap(long)] pub example: Option, /// Build with custom profile #[clap(long)] pub profile: Option, /// Build platform: support Web & Desktop [default: "default_platform"] #[clap(long)] pub platform: Option, /// Space separated list of features to activate #[clap(long)] pub features: Option>, } #[derive(Clone, Debug, Default, Deserialize, Parser)] pub struct ConfigOptsServe { /// The index HTML file to drive the bundling process [default: index.html] #[clap(parse(from_os_str))] pub target: Option, /// Port of dev server #[clap(long)] #[clap(default_value_t = 8080)] pub port: u16, /// Open the app in the default browser [default: false] #[clap(long)] #[serde(default)] pub open: bool, /// Build a example [default: ""] #[clap(long)] pub example: Option, /// Build in release mode [default: false] #[clap(long)] #[serde(default)] pub release: bool, // Use verbose output [default: false] #[clap(long)] #[serde(default)] pub verbose: bool, /// Build with custom profile #[clap(long)] pub profile: Option, /// Build platform: support Web & Desktop [default: "default_platform"] #[clap(long)] pub platform: Option, /// Build with hot reloading rsx [default: false] #[clap(long)] #[serde(default)] pub hot_reload: bool, /// Space separated list of features to activate #[clap(long)] pub features: Option>, } /// Ensure the given value for `--public-url` is formatted correctly. pub fn parse_public_url(val: &str) -> String { let prefix = if !val.starts_with('/') { "/" } else { "" }; let suffix = if !val.ends_with('/') { "/" } else { "" }; format!("{}{}{}", prefix, val, suffix) }