vertigo-cli 0.11.4

Reactive Real-DOM library with SSR for Rust - packaging/serving tool
Documentation
use crate::commons::{ErrorCode, command::CommandRun};

fn is_target_instaled() -> Result<bool, ErrorCode> {
    let target_list = CommandRun::new("rustup target list")
        .set_error_code(ErrorCode::BuildPrerequisitesFailed)
        .output()?;

    let list = target_list.as_str().lines();
    for line in list {
        if line.contains("wasm32-unknown-unknown") {
            return Ok(line.contains("installed"));
        }
    }

    Ok(false)
}

pub fn check_env() -> Result<(), ErrorCode> {
    if is_target_instaled()? {
        return Ok(());
    }

    CommandRun::new("rustup target add wasm32-unknown-unknown")
        .set_error_code(ErrorCode::BuildPrerequisitesFailed)
        .run()
}