Internal CLI Tools for VIP Go Sandboxes and the internal API.
Show available commands:
You can append
--help to any sub-command to see options and sub-sub-commands.
Make sure you have an open connection to the Automattic proxy and are able to tunnel local traffic to port 8080.
npm i -g @automattic/vip-go-internal-cli vipgo config PROXY=socks://127.0.0.1:8080 vipgo login
To start hacking:
cdto the cloned directory.
npm installto install dependencies.
npm run build.
Note: changing this setting will also affect the installed npm package, and not only your cloned repository. Remember to clear this setting when you are done testing!
Testing in production is not good, so if you need to test against a locally running copy of GOOP, you can prepend a specific env variable to all commands as follows:
VIP_API_URL=http://localhost:2999 ./build/bin/vipgo.js sandbox list
To avoid typing every time, save the variable in your config file:
./build/bin/vipgo.js config VIP_API_URL=http://localhost:2999
Then re-login with a user id and token valid for your local GOOP installation. By default, the local GOOP development environment will accept user id 1 with an empty API token.
Note 1: Your development version will use the same config as the globally installed module and any changes to the config will impact that.
Note 2: You can use
npm link to link your development copy with your globally installed version to simplify development.
npm run publish-please --dry-runto ensure there are no publishing blockers
npm version patchfor small bugfixes
npm version minorif there are some new features/fixes
git push --tags
npm run publish-please
package.jsonto the next minor and append
Note: doing the last two steps can help with debugging in case someone is running the dev version (via
For a critical fix (or a small number of fixes), we can
git checkout the last release and add/or cherry-pick some changes.
Then bump the version number with
npm version patch and
npm publish. This is especially nice if there are already some bigger changes in the master branch and you don’t want to push a normal release.
srcdirectory because it's not used and just makes builds larger (skipped via