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) { 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())) } }