Skip to content

tools: modernize and optimize doc/addon-verify.js

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • commit message follows commit guidelines

Modernize:

  • Replace var with const / let.
  • Replace common functions with arrow functions.
  • Use destructuring.
  • Use String.prototype.padStart(), String.prototype.endsWith().

Optimize:

  • Reduce function calls.
  • Reduce intermediate variables.
  • Cache retrieved object properties.
  • Move RegExp declaration out of a cycle.
  • Simplify RegExps.
  • Replace RegExp with string when string suffices.
  • Remove conditions that cannot be false.
  • Replace for..in with Object.keys().forEach().

Also, eliminate needlessly complicated function chains:

  • ondone callback only checks errors;
  • if there is an error, it is called once and throws, then script exits;
  • if there are no errors, it is noop;
  • so there is no need to wrap it into once() function;
  • and there is no need to call it without errors;
  • we can eliminate it and replace with throw where an error occurs;
  • we can also replace onprogress callback with console.log in place;
  • at last, we can eliminate waiting counter and once() utility.

The new script produces results identical to the old ones.

Merge request reports

Loading