code: function checkForUnknownArguments (yargs, argv) {
      var aliasLookup = {};
      var descriptions = yargs.getUsageInstance().getDescriptions();
      var demanded = yargs.getDemanded();
      var unknown = [];
  
      Object.keys(yargs.parsed.aliases || {}).forEach(function (key) {
          yargs.parsed.aliases[key].forEach(function (alias) {
              aliasLookup[alias] = key;
          });
      });
  
      Object.keys(argv).forEach(function (key) {
          if (key !== '$0' && key !== '_' && key !== 'params' &&
              !descriptions.hasOwnProperty(key) &&
              !demanded.hasOwnProperty(key) &&
              !aliasLookup.hasOwnProperty('no-' + key) &&
              !aliasLookup.hasOwnProperty(key)) {
                  unknown.push(key);
          }
      });
  
      if (unknown.length === 1) {
          throw Cli.usageError('Unknown argument: ' + unknown[0]);
      } else if (unknown.length > 1) {
          throw Cli.usageError('Unknown arguments: ' + unknown.join(', '));
      }
  }
docs: Adapted from: https://github.com/bcoe/yargs/blob/master/lib/validation.js#L83-L110