logicalparadox/matcha — pull request #13 by patrick-steele-idem (2014-04-04 16:36:56+00:00)
Title: Simplified the reporter API and added support for third-party reporters

I removed the need for reporters to inherit from `Base` and moved all of the static methods that were part of `Base` into the `utils` module. The `Runner` now collects the common stats (# of suites, # of benches and elapsed time) and passes the stats to the reporter as the argument to the `end` event listeners. Each reporter now is simply a module that exports a function of the following form:

```javascript
module.exports = function(runner, utils) {
}
```

Lastly, I added support for using third-party reporters. Third-party reporters can either be installed via `npm` in the user's project or they can be referenced using a relative path that is considered relative to `process.cwd()`. For example:

```bash
matcha templating-benchmarks.js --reporter ./my-custom-reporter
```

Thanks for creating this module! I found it very helpful when building templating benchmarks: https://github.com/raptorjs3/templating-benchmarks

I wanted to be able to easily report additional information--hence the need for this Pull Request.

--Patrick