Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
use yargs for option parsing and support config files
## BREAKING CHANGES - `-d` is no longer an alias for `--debug` - `--grep` and `--fgrep` are now mutually exclusive - The option formerly known as `--compilers` is now removed from Mocha - `lib/template.html` moved to `lib/browser/template.html` - An error is thrown if a path to `mocha.opts` is specified by the user and the file was not found ## Soft Deprecations ### CLI - `-gc` users should use `--gc-global` ### Programmatic API - Public API method `getOptions()` in `bin/options.js` is deprecated and currently has no alternative - Users of the `enableTimeouts` option of the `Mocha` constructor should use `timeout` instead. Specify `false` for no timeout - Users of the `useColors` option of the `Mocha` constructor should use `color` instead ## Enhancements - Mocha now supports JS, JSON, YAML, or `package.json`-based config. - Any/all configuration, including `mocha.opts` can be used in addition to command-line arguments, and everything will be merged as applicable - Node/V8 flag support: - Support of all available `node` flags on a *per-version* basis - Support of any V8 flag by prepending `--v8-` to the option - These are supported within `mocha.opts` or config files - More flexible command-line parsing including negation of any boolean flag by prepending `--no-` to the name - Better `--help` - Descriptions of interfaces in `--help` text - A useful `Mocha` constructor - Debug-related flags (e.g., `--inspect`) now *imply* `--no-timeouts` ## Fixes - Many bug fixes around CLI option handling, e.g., closes #3475 - Fixes #3363, #2576 - `--no-timeouts` works ## Documentation - Added new, updated, or rewrote documentation for all non-self-explanatory options - Updated usage text, TOC - Added section on configuration - Added example configuration files in `example/config/` ## Etc. - Updated many dev deps, mostly within existing semver ranges - Removed `commander` - Added production deps: - ansi-colors - color terminal output - findup-sync - find package.json and other config files - js-yaml - parse YAML - log-symbols - visual symbols for success/fail etc. - node-environment-flags - per-version allowed Node.js env flags - object.assign - for IE11 - strip-json-comments - allow comments in JSON config files - wide-align - terminal formatting - yargs - option parser - yargs-parser - for compatible, lightweight parsing of config files - yargs-unparser - for passing config to `bin/_mocha` from `bin/mocha`
- Loading branch information