Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add config file support; switch to yargs #3556

Merged
merged 2 commits into from Dec 10, 2018
Merged

add config file support; switch to yargs #3556

merged 2 commits into from Dec 10, 2018

Commits on Dec 7, 2018

  1. fix(cli): Throw error if unable to parse Mocha options file

    Code now throws an error for any problems (except nonexistent default "test/mocha.opts"). Includes
    tests.
    
    Fixes #3363 Fixes #2576
    plroebuck authored and boneskull committed Dec 7, 2018
    Copy the full SHA
    924e63c View commit details
    Browse the repository at this point in the history

Commits on Dec 10, 2018

  1. use yargs for option parsing and support config files

    - `-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
    
    - `-gc` users should use `--gc-global`
    
    - 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
    
    - 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`
    
    - Many bug fixes around CLI option handling, e.g., closes #3475
    - Fixes #3363, #2576, #3570
    - `--no-timeouts` works
    
    - 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/`
    
    - 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`
    boneskull committed Dec 10, 2018
    Copy the full SHA
    8673e02 View commit details
    Browse the repository at this point in the history