extern crate anyhow;
extern crate cargo_metadata;
extern crate console;
extern crate glob;
extern crate parking_lot;
extern crate serde;
extern crate strsim;
extern crate which;
#[macro_use]
extern crate serde_derive;
extern crate binary_install;
extern crate dialoguer;
extern crate log;
extern crate serde_ignored;
extern crate serde_json;
extern crate toml;
extern crate walkdir;
pub mod bindgen;
pub mod build;
pub mod child;
pub mod command;
pub mod install;
pub mod js_bin;
pub mod lockfile;
pub mod manifest;
pub mod progressbar;
pub mod stamps;
pub mod target;
pub mod test;
pub mod utils;
pub mod wasm_opt;
use crate::progressbar::{LogLevel, ProgressOutput};
use clap::builder::ArgAction;
use clap::Parser;
pub static PBAR: ProgressOutput = ProgressOutput::new();
#[derive(Debug, Parser)]
#[command(version)]
pub struct Cli {
#[clap(subcommand)] pub cmd: command::Command,
#[clap(long = "verbose", short = 'v', action = ArgAction::Count)]
pub verbosity: u8,
#[clap(long = "quiet", short = 'q')]
pub quiet: bool,
#[clap(long = "log-level", default_value = "info")]
pub log_level: LogLevel,
#[clap(long = "install-cache")]
pub install_cache: Option<String>,
}
impl Cli {
pub fn from_command(cmd: command::Command) -> Self {
Self {
cmd,
verbosity: 0,
quiet: false,
log_level: LogLevel::Info,
install_cache: None,
}
}
}