* Stop testing Node.js v5
* Only upgrade npm when Travis runs Node.js older than v6
* Cache npm directories in Travis builds
* Stop retrying failed runs in Appveyor
Hopefully it's become more reliable since a73374dc2f.
* Remove unnecessary clone_depth option from Appveyor
Per https://www.appveyor.com/docs/how-to/repository-shallow-clone/#downloading-repository-via-github-or-bitbucket-api
* Remove unnecessary version property from Appveyor
We're not building so the version isn't necessary.
* Cache npm directories in Appveyor builds
* Prune after npm install
Ensure top-level dependencies are indeed no longer available when
removed from the package.json.
* Ensure npm@3 for pre-v6 Node.js versions
Soon npm@latest will be npm@4. Let's stick to v3 for now.
* Avoid running XO on older Node.js versions
* xo@^0.17.0
* Split up cli.js
Move the actual implementation into lib/cli.js to avoid top-level
returns. xo@^0.17.0 cannot parse the file with those returns present.
Throw errors from lib/cli.js and write them to stderr in cli.js before
exiting. XO doesn't appreciate process.exit() calls in modules.
Note that the error for invalid Babel config is now written to stderr,
which seems like an improvement to me.
* Actually register loud-rejection
The main process sets the AVA_PATH environment variable to the absolute
path of the index.js file. Workers are loaded with this variable
present. When test files require the AVA module (assuming it's a version
containing this commit of course), the index.js file redirects to the
one used by the worker if necessary by comparing AVA_PATH.
The redirect required most of index.js to be moved into a separate
module (lib/main.js).
Fixes#643.
Some older versions that are still matched by semver were buggy and some users were somehow getting those versions. Maybe from a stale npm cache.
Fixes#1058
* Use tabs in pitfalls code blocks
* Spell out async in pitfals doc
* Promote async/await in pitfalls doc
* Provide example of using pify
* Suggest pify for catching exceptions
* Suggest promisifying callback-functions for better exception catching