To ensure the build environment is controlled, we need to maintain our own copy of Node and NPM, automatically download and install updates, as well as ensure WordPress' node_modules is up to date.
[x] Download and install a controlled copy of Node
[x] Store the Node archive somewhere safe, so we can rebuild the local Node copy later, if we need
[x] Before downloading the Node archive, checksum our local copy, and use that if it matches
[x] Download and install a controlled copy of NPM
[x] Run npm install on the WordPress install, using a controlled NPM cache
[x] Watch WordPress' package.json for changes, and re-run npm install
To ensure the build environment is controlled, we need to maintain our own copy of Node and NPM, automatically download and install updates, as well as ensure WordPress'
node_modules
is up to date.npm install
on the WordPress install, using a controlled NPM cachepackage.json
for changes, and re-runnpm install
Fixes #3.