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 (key, value) = match iter.next() {
Some(pair) => pair,
None => return Ok(()),
};
if key != "dependencies" || iter.next().is_some() {
bail!(
"NPM manifest found at `{}` can currently only have one key, \
`dependencies`, and no other fields",
path.display()
);
let mut value = None;
while let Some((key, v)) = iter.next() {
if key == "dependencies" {
value = Some(v);
break;
}
}
let value = if let Some(value) = value {
value
} else {
return Ok(());
};
let value = match value.as_object() {
Some(s) => s,
None => bail!(