vnopts
Version:
validate and normalize options
13 lines (12 loc) • 519 B
JavaScript
import picocolors from 'picocolors';
import { closestMatch } from 'leven';
export const levenUnknownHandler = (key, value, { descriptor, logger, schemas }) => {
const messages = [
`Ignored unknown option ${picocolors.yellow(descriptor.pair({ key, value }))}.`,
];
const suggestion = closestMatch(key, Object.keys(schemas), { maxDistance: 3 });
if (suggestion) {
messages.push(`Did you mean ${picocolors.blue(descriptor.key(suggestion))}?`);
}
logger.warn(messages.join(' '));
};