We have defaulted to using npm that installed as part of the script
dependancies. This is to increase predictability on what version of npm
was used to install atom dependencies
"Node 10.12 or newer" has been a hard requirement since this PR:
https://github.com/atom/atom/pull/20879,
due to newer versions of electron-chromedriver and electron-mksnapshot
relying on extract-zip@2 as an indirect dependency.
(extract-zip@2 requires Node 10.12 or newer for its recursive mkdir.
Using extract-zip@2 with Node older than 10.12 results in errors.
That leads to a lack of electron-vendored
chromedriver or mksnapshot binaries where they're supposed to be.
Which in turn causes startup blob creation (via mksnapshot) to fail
toward the end of the Atom build scripts.)
We don't actually support Node older than 10 for successfully
bootstrapping an Atom build, but we should support older Node in the
system requirements checker script so that we can print useful errors,
like ones to tell the user their system's copy of Node is too old!
(It was me that introduced this Node 10.0.0 or above-only syntax
about a year ago... My mistake. It's as good a time as any to fix it!)