fix: ignore non dependency keys in package json (#1969)

resolves #1921
This commit is contained in:
Mario Reder
2020-01-21 20:04:40 +01:00
committed by Alex Crichton
parent 0f0d5ee0fb
commit 34eb8a8516
2 changed files with 14 additions and 22 deletions

View File

@ -2769,17 +2769,18 @@ impl<'a> Context<'a> {
), ),
}; };
let mut iter = object.iter(); let mut iter = object.iter();
let (key, value) = match iter.next() { let mut value = None;
Some(pair) => pair, while let Some((key, v)) = iter.next() {
None => return Ok(()), if key == "dependencies" {
}; value = Some(v);
if key != "dependencies" || iter.next().is_some() { break;
bail!( }
"NPM manifest found at `{}` can currently only have one key, \
`dependencies`, and no other fields",
path.display()
);
} }
let value = if let Some(value) = value {
value
} else {
return Ok(());
};
let value = match value.as_object() { let value = match value.as_object() {
Some(s) => s, Some(s) => s,
None => bail!( None => bail!(

View File

@ -35,8 +35,8 @@ compatible with the `bundler` and `nodejs` targets
} }
#[test] #[test]
fn more_package_json_fields_rejected() { fn more_package_json_fields_ignored() {
let (mut cmd, _out_dir) = Project::new("more_package_json_fields_rejected") let (mut cmd, _out_dir) = Project::new("more_package_json_fields_ignored")
.file( .file(
"src/lib.rs", "src/lib.rs",
r#" r#"
@ -63,16 +63,7 @@ fn more_package_json_fields_rejected() {
"#, "#,
) )
.wasm_bindgen(""); .wasm_bindgen("");
cmd.assert() cmd.assert().success();
.stderr(
str::is_match(
"\
error: NPM manifest found at `.*` can currently only have one key, .*
",
)
.unwrap(),
)
.failure();
} }
#[test] #[test]