use std::process::Command; fn main() { println!("cargo:rerun-if-changed=build.rs"); for file in glob::glob("../web/scripts/**/*.ts") .unwrap() .map(Result::unwrap) { println!("cargo:rerun-if-changed={}", file.to_str().unwrap()); } Command::new("esbuild") .arg("../web/script/main.ts") .arg("--bundle") .arg(format!( "--outfile={}/bundle.js", std::env::var("OUT_DIR").unwrap() )) .arg("--target=esnext") .arg("--sourcemap") .arg("--sourcemap") .arg("--format=esm") .output() .unwrap(); }