feat(pkg): create pkg dir under provided path if avail

master
Ashley Williams 7 years ago
parent d5191686e3
commit c5780a92e8
  1. 11
      src/lib.rs
  2. 2
      tests/wasm-pack.rs

@ -65,19 +65,22 @@ impl CargoManifest {
}
}
fn create_pkg_dir() -> Result<(), Error> {
fs::create_dir_all("./pkg")?;
fn create_pkg_dir(path: &str) -> Result<(), Error> {
let path_to_pkg_dir = format!("{}/pkg", path);
fs::create_dir_all(path_to_pkg_dir)?;
Ok(())
}
/// Generate a package.json file inside in `./pkg`.
pub fn write_package_json(path: &str) -> Result<(), Error> {
create_pkg_dir()?;
let mut pkg_file = File::create("./pkg/package.json")?;
create_pkg_dir(path)?;
let path_to_pkg_file = format!("{}/pkg/package.json", path);
let mut pkg_file = File::create(path_to_pkg_file)?;
let crate_data = read_cargo_toml(path)?;
let npm_data = crate_data.into_npm();
let npm_json = serde_json::to_string(&npm_data)?;
pkg_file.write_all(npm_json.as_bytes())?;
println!("✍ wrote a package.json!");
Ok(())
}

@ -26,5 +26,5 @@ fn it_creates_a_package_json_default_path() {
#[test]
fn it_creates_a_package_json_provided_path() {
assert!(wasm_pack::write_package_json("./examples/js-hello-world").is_ok());
assert!(fs::metadata("./pkg/package.json").is_ok());
assert!(fs::metadata("./examples/js-hello-world/pkg/package.json").is_ok());
}

Loading…
Cancel
Save