feat(pkg): impl get_crate_name for bindgen step

master
Ashley Williams 7 years ago
parent d552594eb3
commit 3dd59e2a8b
  1. 4
      src/bindgen.rs
  2. 4
      src/lib.rs
  3. 5
      src/main.rs

@ -22,9 +22,11 @@ pub fn cargo_install_wasm_bindgen() {
}
}
pub fn wasm_bindgen_build(path: &str) {
pub fn wasm_bindgen_build(path: &str, name: &str) {
let path_to_wasm = format!("target/wasm32-unknown-unknown/release/{}.wasm", name);
let output = Command::new("wasm-bindgen")
.current_dir(path)
.arg(&path_to_wasm)
.arg("--out-dir")
.arg("./pkg")
.output()

@ -78,3 +78,7 @@ pub fn write_package_json(path: &str) -> Result<(), Error> {
pkg_file.write_all(npm_json.as_bytes())?;
Ok(())
}
pub fn get_crate_name(path: &str) -> Result<String, Error> {
Ok(read_cargo_toml(path)?.package.name)
}

@ -38,10 +38,13 @@ main!(|args: Cli, log_level: verbosity| match args.cmd {
};
build::rustup_add_wasm_target();
build::cargo_build_wasm(&crate_path);
println!("🏎 💨 compiled to wasm!");
wasm_pack::write_package_json(&crate_path)?;
println!("✍ wrote a package.json!");
bindgen::cargo_install_wasm_bindgen();
bindgen::wasm_bindgen_build(&crate_path);
let name = wasm_pack::get_crate_name(&crate_path)?;
bindgen::wasm_bindgen_build(&crate_path, &name);
println!("🏄 ready to go!");
}
Command::Pack { .. } => {
println!("🎒 packed up your package!");

Loading…
Cancel
Save