use std::path::PathBuf;
const TS_IN_FILES: &[&str] = &[
"bevy-remote-wasm-types/bridge.d.ts",
"bevy-remote-wasm-types/builtin.d.ts",
];
const TS_OUT_FILE: &str = "ts_types.d.ts";
fn main() {
let combined = TS_IN_FILES
.iter()
.filter_map(|file| {
std::fs::read_to_string(file)
.inspect_err(|err| println!("cargo::error=input {file}: {err}"))
.map(|content| {
content
.lines()
.filter(|line| !line.trim_start().starts_with("import "))
.collect::<Vec<_>>()
.join("\n")
})
.ok()
})
.collect::<Vec<_>>()
.join("\n");
let out_file = PathBuf::from(std::env::var("OUT_DIR").unwrap()).join(TS_OUT_FILE);
let _ =
std::fs::write(&out_file, combined).inspect_err(|err| println!("cargo::error=output file {out_file:?}: {err}"));
TS_IN_FILES
.iter()
.for_each(|file| println!("cargo::rerun-if-changed={file}"));
}