use std::env::set_current_dir;
use crate::Task;
use crate::util::{cargo, wasmopt, wbg, workspace_dir};
#[derive(Default)]
pub struct RunClientWeb;
impl Task for RunClientWeb {
fn name(&self) -> &'static str {
"unified:web:client"
}
fn help(&self) -> &'static str {
"Build the client (web)"
}
fn run(&self, _args: Vec<String>) {
set_current_dir(workspace_dir().join("crates/unified/")).unwrap();
cargo("build --profile wasm-release -F wasm -F client --package starkingdoms --target wasm32-unknown-unknown".to_string());
let wks = workspace_dir();
let target_dir = wks.join("target/").join("wasm32-unknown-unknown/").join("wasm-release/");
let unopt = target_dir.join("starkingdoms.wasm");
let opt = target_dir.join("starkingdoms-opt.wasm");
let bundle = target_dir.join("bundle/");
wasmopt(format!("{} -O -o {}", unopt.display(), opt.display()));
wbg(format!("--out-dir {} {} --target web", bundle.display(), opt.display()))
}
}