<commit_before># multitest

[![npm](https://img.shields.io/npm/v/multitest.svg)](https://www.npmjs.com/package/multitest)
[![Dependency Status](https://david-dm.org/jcollado/multitest.svg)](https://david-dm.org/jcollado/multitest)
[![devDependency Status](https://david-dm.org/jcollado/multitest/dev-status.svg)](https://david-dm.org/jcollado/multitest#info=devDependencies)
[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/)

Run `npm test` using multiple `node` versions

`multitest` is a commandline tool to execute the test cases of a given project
using different `node` versions.

The flow the tool when executed for the first time is as follows:
- Get versions from `.travis.yml` file
- Clone code in `<project>/.multitest/<version>`
- Run `nvm use <version> && npm install && npm test`

After the first run, `git pull` is executed instead of `git clone`. This way,
there's no need to clone code again and re-install dependencies from scratch.

## Installation

The recommended way to install `multitest` is as a development dependency for a project:

```bash
npm install --save-dev multitest
```

and then integrate it in the project workflow as an `npm` script. More information about this in the [configuration section](#configuration) below.

However, when the tool is installed for the first time, it's fine to install it globally and give it a try from the command line:

```bash
npm install -g multitest
```

## Usage

To run `npm test` for every `node` version found in the travis configuration file:

```bash
multitest
```

## Command line options

- `-l/--log-level [logLevel]`: Log level

This flag can be used to set the level of verbosity of the output. The default value is `info` which outputs a reasonable amount of information. To troubleshoot problems, `debug` is recommended.

## Configuration

For a better integration in the project workflow, the recommended way to run `multitest` is through `npm` scripts. One way to do that would be as follows:

- Add `multitest` script to run `multitest` manually when needed
- Call the `multitest` script in either `preversion` and/or `prepublish` script

This would be an example of such a configuration:

```json
{
  scripts: {
    "multitest: "multitest"
    "preversion: "npm run multitest"
}
```

In addition to this, if some hook configuration module is used such as [`ghooks`](https://www.npmjs.com/package/ghooks) it could be a good idea to run `multitest` as a precommit hook.

## Contributing

Any contribution is more than welcome. In particular, if:

- there's something that doesn't work as expected or you have an idea for a nice to have feature, then please submit an issue [here](https://github.com/jcollado/multitest/issues/new)
- you know how to fix a problem or improve the code, then please sumbit a pull request [here](https://github.com/jcollado/multitest/compare)<commit_msg>Fix json configuration example<commit_after># multitest

[![npm](https://img.shields.io/npm/v/multitest.svg)](https://www.npmjs.com/package/multitest)
[![Dependency Status](https://david-dm.org/jcollado/multitest.svg)](https://david-dm.org/jcollado/multitest)
[![devDependency Status](https://david-dm.org/jcollado/multitest/dev-status.svg)](https://david-dm.org/jcollado/multitest#info=devDependencies)
[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/)

Run `npm test` using multiple `node` versions

`multitest` is a commandline tool to execute the test cases of a given project
using different `node` versions.

The flow the tool when executed for the first time is as follows:
- Get versions from `.travis.yml` file
- Clone code in `<project>/.multitest/<version>`
- Run `nvm use <version> && npm install && npm test`

After the first run, `git pull` is executed instead of `git clone`. This way,
there's no need to clone code again and re-install dependencies from scratch.

## Installation

The recommended way to install `multitest` is as a development dependency for a project:

```bash
npm install --save-dev multitest
```

and then integrate it in the project workflow as an `npm` script. More information about this in the [configuration section](#configuration) below.

However, when the tool is installed for the first time, it's fine to install it globally and give it a try from the command line:

```bash
npm install -g multitest
```

## Usage

To run `npm test` for every `node` version found in the travis configuration file:

```bash
multitest
```

## Command line options

- `-l/--log-level [logLevel]`: Log level

This flag can be used to set the level of verbosity of the output. The default value is `info` which outputs a reasonable amount of information. To troubleshoot problems, `debug` is recommended.

## Configuration

For a better integration in the project workflow, the recommended way to run `multitest` is through `npm` scripts. One way to do that would be as follows:

- Add `multitest` script to run `multitest` manually when needed
- Call the `multitest` script in either `preversion` and/or `prepublish` script

This would be an example of such a configuration:

```json
{
  "scripts": {
    "multitest": "multitest"
    "preversion": "npm run multitest"
}
```

In addition to this, if some hook configuration module is used such as [`ghooks`](https://www.npmjs.com/package/ghooks) it could be a good idea to run `multitest` as a precommit hook.

## Contributing

Any contribution is more than welcome. In particular, if:

- there's something that doesn't work as expected or you have an idea for a nice to have feature, then please submit an issue [here](https://github.com/jcollado/multitest/issues/new)
- you know how to fix a problem or improve the code, then please sumbit a pull request [here](https://github.com/jcollado/multitest/compare)
{'fraction_non_alphanumeric': 0.10682088790610648, 'fraction_numerical': 0.000680387821058003, 'mean_word_length': 4.55765595463138, 'pattern_counts': {'":': 3, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 20, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3447818', 'n_tokens_mistral': 1809, 'n_tokens_neox': 1719, 'n_words': 720}