Skip to content

Commit

Permalink
fix(depcheck): check for simple and detailed dep reps
Browse files Browse the repository at this point in the history
  • Loading branch information
ashleygwilliams committed Jul 25, 2018
1 parent 58eaed1 commit 5def20f
Showing 1 changed file with 14 additions and 7 deletions.
21 changes: 14 additions & 7 deletions src/manifest.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
//! Reading and writing Cargo.toml and package.json manifests.

use std::collections::HashMap;
use std::fs::File;
use std::io::prelude::*;
use std::path::Path;
Expand All @@ -15,7 +16,7 @@ use PBAR;
#[derive(Deserialize)]
struct CargoManifest {
package: CargoPackage,
dependencies: Option<CargoDependencies>,
dependencies: Option<HashMap<String, CargoDependency>>,
lib: Option<CargoLib>,
}

Expand All @@ -30,11 +31,15 @@ struct CargoPackage {
}

#[derive(Deserialize)]
struct CargoDependencies {
#[serde(rename = "wasm-bindgen")]
wasm_bindgen: Option<String>,
#[serde(untagged)]
enum CargoDependency {
Simple(String),
Detailed(DetailedCargoDependency),
}

#[derive(Deserialize)]
struct DetailedCargoDependency {}

#[derive(Deserialize)]
struct CargoLib {
#[serde(rename = "crate-type")]
Expand Down Expand Up @@ -177,9 +182,11 @@ pub fn check_crate_config(path: &Path, step: &Step) -> Result<(), Error> {
}

fn check_wasm_bindgen(path: &Path) -> Result<(), Error> {
if read_cargo_toml(path)?.dependencies.map_or(false, |x| {
!x.wasm_bindgen.unwrap_or("".to_string()).is_empty()
}) {
let cargo_toml = read_cargo_toml(path)?;
if cargo_toml
.dependencies
.map_or(false, |deps| deps.contains_key("wasm-bindgen"))
{
return Ok(());
}
Error::crate_config(&format!(
Expand Down

0 comments on commit 5def20f

Please sign in to comment.