| /* |
| Copyright (c) 2012, Yahoo! Inc. All rights reserved. |
| Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. |
| */ |
| |
| /*jslint nomen: true */ |
| var path = require('path'), |
| Store = require('./lib/store'), |
| Report = require('./lib/report'), |
| meta = require('./lib/util/meta'); |
| |
| //register our standard plugins |
| require('./lib/register-plugins'); |
| |
| /** |
| * the top-level API for `istanbul`. provides access to the key libraries in |
| * istanbul so you can write your own tools using `istanbul` as a library. |
| * |
| * Usage |
| * ----- |
| * |
| * var istanbul = require('istanbul'); |
| * |
| * |
| * @class Istanbul |
| * @static |
| * @module main |
| * @main main |
| */ |
| |
| module.exports = { |
| /** |
| * the Instrumenter class. |
| * @property Instrumenter |
| * @type Instrumenter |
| * @static |
| */ |
| Instrumenter: require('./lib/instrumenter'), |
| /** |
| * the Store class. |
| * @property Store |
| * @type Store |
| * @static |
| */ |
| Store: Store, |
| /** |
| * the Collector class |
| * @property Collector |
| * @type Collector |
| * @static |
| */ |
| Collector: require('./lib/collector'), |
| /** |
| * the hook module |
| * @property hook |
| * @type Hook |
| * @static |
| */ |
| hook: require('./lib/hook'), |
| /** |
| * the Report class |
| * @property Report |
| * @type Report |
| * @static |
| */ |
| Report: Report, |
| /** |
| * the config module |
| * @property config |
| * @type Config |
| * @static |
| */ |
| config: require('./lib/config'), |
| /** |
| * the Reporter class |
| * @property Reporter |
| * @type Reporter |
| * @static |
| */ |
| Reporter: require('./lib/reporter'), |
| /** |
| * utility for processing coverage objects |
| * @property utils |
| * @type ObjectUtils |
| * @static |
| */ |
| utils: require('./lib/object-utils'), |
| /** |
| * asynchronously returns a function that can match filesystem paths. |
| * The function returned in the callback may be passed directly as a `matcher` |
| * to the functions in the `hook` module. |
| * |
| * When no options are passed, the match function is one that matches all JS |
| * files under the current working directory except ones under `node_modules` |
| * |
| * Match patterns are `ant`-style patterns processed using the `glob` library. |
| * Examples not provided due to limitations in putting asterisks inside |
| * jsdoc comments. Please refer to tests under `test/other/test-matcher.js` |
| * for examples. |
| * |
| * @method matcherFor |
| * @static |
| * @param {Object} options Optional. Lookup options. |
| * @param {String} [options.root] the root of the filesystem tree under |
| * which to match files. Defaults to `process.cwd()` |
| * @param {Array} [options.includes] an array of include patterns to match. |
| * Defaults to all JS files under the root. |
| * @param {Array} [options.excludes] and array of exclude patterns. File paths |
| * matching these patterns will be excluded by the returned matcher. |
| * Defaults to files under `node_modules` found anywhere under root. |
| * @param {Function(err, matchFunction)} callback The callback that is |
| * called with two arguments. The first is an `Error` object in case |
| * of errors or a falsy value if there were no errors. The second |
| * is a function that may be use as a matcher. |
| */ |
| matcherFor: require('./lib/util/file-matcher').matcherFor, |
| /** |
| * the version of the library |
| * @property VERSION |
| * @type String |
| * @static |
| */ |
| VERSION: meta.VERSION, |
| /** |
| * the abstract Writer class |
| * @property Writer |
| * @type Writer |
| * @static |
| */ |
| Writer: require('./lib/util/writer').Writer, |
| /** |
| * the abstract ContentWriter class |
| * @property ContentWriter |
| * @type ContentWriter |
| * @static |
| */ |
| ContentWriter: require('./lib/util/writer').ContentWriter, |
| /** |
| * the concrete FileWriter class |
| * @property FileWriter |
| * @type FileWriter |
| * @static |
| */ |
| FileWriter: require('./lib/util/file-writer'), |
| //undocumented |
| _yuiLoadHook: require('./lib/util/yui-load-hook'), |
| //undocumented |
| TreeSummarizer: require('./lib/util/tree-summarizer'), |
| //undocumented |
| assetsDir: path.resolve(__dirname, 'lib', 'assets') |
| }; |
| |
| |