fix: Print the possible misspelled key so the user doesnt have to guess

master
Jesper Håkansson 7 years ago
parent 8dd6fe4453
commit 07d813f606
  1. 18
      src/manifest/mod.rs

@ -205,7 +205,6 @@ struct NpmData {
pub struct ManifestAndUnsedKeys { pub struct ManifestAndUnsedKeys {
pub manifest: CargoManifest, pub manifest: CargoManifest,
pub unused_keys: BTreeSet<String>, pub unused_keys: BTreeSet<String>,
pub has_possible_typo: bool,
} }
impl CrateData { impl CrateData {
@ -266,17 +265,15 @@ impl CrateData {
let manifest = &mut toml::Deserializer::new(&manifest); let manifest = &mut toml::Deserializer::new(&manifest);
let mut unused_keys = BTreeSet::new(); let mut unused_keys = BTreeSet::new();
let mut has_possible_typo = false;
let levenshtein_threshold = 1; let levenshtein_threshold = 1;
let manifest: CargoManifest = serde_ignored::deserialize(manifest, |path| { let manifest: CargoManifest = serde_ignored::deserialize(manifest, |path| {
let path_string = path.to_string(); let path_string = path.to_string();
if levenshtein(WASM_PACK_METADATA_KEY, &path_string) == levenshtein_threshold { if path_string.starts_with("package.metadata")
has_possible_typo = true; && (path_string.contains("wasm-pack")
} || levenshtein(WASM_PACK_METADATA_KEY, &path_string) <= levenshtein_threshold)
{
if path_string.contains(WASM_PACK_METADATA_KEY) {
unused_keys.insert(path_string); unused_keys.insert(path_string);
} }
}) })
@ -285,19 +282,12 @@ impl CrateData {
Ok(ManifestAndUnsedKeys { Ok(ManifestAndUnsedKeys {
manifest, manifest,
unused_keys, unused_keys,
has_possible_typo,
}) })
} }
/// Iterating through all the passed `unused_keys` and output /// Iterating through all the passed `unused_keys` and output
/// a warning for each unknown key. /// a warning for each unknown key.
pub fn warn_for_unused_keys(manifest_and_keys: &ManifestAndUnsedKeys) { pub fn warn_for_unused_keys(manifest_and_keys: &ManifestAndUnsedKeys) {
if manifest_and_keys.has_possible_typo {
PBAR.warn(&format!(
"It's possible that you misspelled the \"{}\" setting in your Cargo.toml.",
WASM_PACK_METADATA_KEY
));
}
manifest_and_keys.unused_keys.iter().for_each(|path| { manifest_and_keys.unused_keys.iter().for_each(|path| {
PBAR.warn(&format!( PBAR.warn(&format!(
"\"{}\" is a unknown key and will be ignored. Please check your Cargo.toml.", "\"{}\" is a unknown key and will be ignored. Please check your Cargo.toml.",

Loading…
Cancel
Save