code: function getCommandlineOptions () {
    "use strict";
    var ret = { };
    const knownArgs = {
      "-k": "stopAfterFirstErrors",
      "-h": "printAsHTML",
      "-j": "printAsJSON",
      "-l": "onlyListFailures",
      "-v": "reportPassingFiles"
    };
    while (process.argv.length > 2 && process.argv[2] in knownArgs) {
      ret[knownArgs[process.argv[2]]] = true;
      process.argv.splice(2, 1);
    }
    if (process.argv.length < 3 || Object.keys(process.argv).length === 0 && process.argv.length < 4)
      throw "Usage: "+process.argv[1]+" [-h] [-j] [-l] [-v] [-k] <JSG file> <JSON file..>";
    ret.schema = process.argv[2];
    ret.data = process.argv.slice(3);
    return ret;
  }
docs: OPTIONS:
  -k: stop after first file reports errors (like make -k)
  -h: print schema as HTML
  -j: print schema as JSON object
  -l: list failing files but don't show the errors
  -v: report passing files