diff options
Diffstat (limited to 'vnfmarket/src/main/webapp/vnfmarket/node_modules/istanbul/lib/config.js')
-rw-r--r-- | vnfmarket/src/main/webapp/vnfmarket/node_modules/istanbul/lib/config.js | 483 |
1 files changed, 0 insertions, 483 deletions
diff --git a/vnfmarket/src/main/webapp/vnfmarket/node_modules/istanbul/lib/config.js b/vnfmarket/src/main/webapp/vnfmarket/node_modules/istanbul/lib/config.js deleted file mode 100644 index 47670ce5..00000000 --- a/vnfmarket/src/main/webapp/vnfmarket/node_modules/istanbul/lib/config.js +++ /dev/null @@ -1,483 +0,0 @@ -/* - Copyright (c) 2013, Yahoo! Inc. All rights reserved. - Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. - */ -var path = require('path'), - fs = require('fs'), - existsSync = fs.existsSync || path.existsSync, - CAMEL_PATTERN = /([a-z])([A-Z])/g, - YML_PATTERN = /\.ya?ml$/, - yaml = require('js-yaml'), - defaults = require('./report/common/defaults'); - -function defaultConfig(includeBackCompatAttrs) { - var ret = { - verbose: false, - instrumentation: { - root: '.', - extensions: ['.js'], - 'default-excludes': true, - excludes: [], - 'embed-source': false, - variable: '__coverage__', - compact: true, - 'preserve-comments': false, - 'complete-copy': false, - 'save-baseline': false, - 'baseline-file': './coverage/coverage-baseline.json', - 'include-all-sources': false, - 'include-pid': false - }, - reporting: { - print: 'summary', - reports: [ 'lcov' ], - dir: './coverage' - }, - hooks: { - 'hook-run-in-context': false, - 'post-require-hook': null, - 'handle-sigint': false - }, - check: { - global: { - statements: 0, - lines: 0, - branches: 0, - functions: 0, - excludes: [] // Currently list of files (root + path). For future, extend to patterns. - }, - each: { - statements: 0, - lines: 0, - branches: 0, - functions: 0, - excludes: [] - } - } - }; - ret.reporting.watermarks = defaults.watermarks(); - ret.reporting['report-config'] = defaults.defaultReportConfig(); - - if (includeBackCompatAttrs) { - ret.instrumentation['preload-sources'] = false; - } - - return ret; -} - -function dasherize(word) { - return word.replace(CAMEL_PATTERN, function (match, lch, uch) { - return lch + '-' + uch.toLowerCase(); - }); -} -function isScalar(v) { - if (v === null) { return true; } - return v !== undefined && !Array.isArray(v) && typeof v !== 'object'; -} - -function isObject(v) { - return typeof v === 'object' && v !== null && !Array.isArray(v); -} - -function mergeObjects(explicit, template) { - - var ret = {}; - - Object.keys(template).forEach(function (k) { - var v1 = template[k], - v2 = explicit[k]; - - if (Array.isArray(v1)) { - ret[k] = Array.isArray(v2) && v2.length > 0 ? v2 : v1; - } else if (isObject(v1)) { - v2 = isObject(v2) ? v2 : {}; - ret[k] = mergeObjects(v2, v1); - } else { - ret[k] = isScalar(v2) ? v2 : v1; - } - }); - return ret; -} - -function mergeDefaults(explicit, implicit) { - return mergeObjects(explicit || {}, implicit); -} - -function addMethods() { - var args = Array.prototype.slice.call(arguments), - cons = args.shift(); - - args.forEach(function (arg) { - var method = arg, - property = dasherize(arg); - cons.prototype[method] = function () { - return this.config[property]; - }; - }); -} - -/** - * Object that returns instrumentation options - * @class InstrumentOptions - * @module config - * @constructor - * @param config the instrumentation part of the config object - */ -function InstrumentOptions(config) { - if (config['preload-sources']) { - console.error('The preload-sources option is deprecated, please use include-all-sources instead.'); - config['include-all-sources'] = config['preload-sources']; - } - this.config = config; -} - -/** - * returns if default excludes should be turned on. Used by the `cover` command. - * @method defaultExcludes - * @return {Boolean} true if default excludes should be turned on - */ -/** - * returns if non-JS files should be copied during instrumentation. Used by the - * `instrument` command. - * @method completeCopy - * @return {Boolean} true if non-JS files should be copied - */ -/** - * returns if the source should be embedded in the instrumented code. Used by the - * `instrument` command. - * @method embedSource - * @return {Boolean} true if the source should be embedded in the instrumented code - */ -/** - * the coverage variable name to use. Used by the `instrument` command. - * @method variable - * @return {String} the coverage variable name to use - */ -/** - * returns if the output should be compact JS. Used by the `instrument` command. - * @method compact - * @return {Boolean} true if the output should be compact - */ -/** - * returns if comments should be preserved in the generated JS. Used by the - * `cover` and `instrument` commands. - * @method preserveComments - * @return {Boolean} true if comments should be preserved in the generated JS - */ -/** - * returns if a zero-coverage baseline file should be written as part of - * instrumentation. This allows reporting to display numbers for files that have - * no tests. Used by the `instrument` command. - * @method saveBaseline - * @return {Boolean} true if a baseline coverage file should be written. - */ -/** - * Sets the baseline coverage filename. Used by the `instrument` command. - * @method baselineFile - * @return {String} the name of the baseline coverage file. - */ -/** - * returns if the coverage filename should include the PID. Used by the `instrument` command. - * @method includePid - * @return {Boolean} true to include pid in coverage filename. - */ - - -addMethods(InstrumentOptions, - 'extensions', 'defaultExcludes', 'completeCopy', - 'embedSource', 'variable', 'compact', 'preserveComments', - 'saveBaseline', 'baselineFile', - 'includeAllSources', 'includePid'); - -/** - * returns the root directory used by istanbul which is typically the root of the - * source tree. Used by the `cover` and `report` commands. - * @method root - * @return {String} the root directory used by istanbul. - */ -InstrumentOptions.prototype.root = function () { return path.resolve(this.config.root); }; -/** - * returns an array of fileset patterns that should be excluded for instrumentation. - * Used by the `instrument` and `cover` commands. - * @method excludes - * @return {Array} an array of fileset patterns that should be excluded for - * instrumentation. - */ -InstrumentOptions.prototype.excludes = function (excludeTests) { - var defs; - if (this.defaultExcludes()) { - defs = [ '**/node_modules/**' ]; - if (excludeTests) { - defs = defs.concat(['**/test/**', '**/tests/**']); - } - return defs.concat(this.config.excludes); - } - return this.config.excludes; -}; - -/** - * Object that returns reporting options - * @class ReportingOptions - * @module config - * @constructor - * @param config the reporting part of the config object - */ -function ReportingOptions(config) { - this.config = config; -} - -/** - * returns the kind of information to be printed on the console. May be one - * of `summary`, `detail`, `both` or `none`. Used by the - * `cover` command. - * @method print - * @return {String} the kind of information to print to the console at the end - * of the `cover` command execution. - */ -/** - * returns a list of reports that should be generated at the end of a run. Used - * by the `cover` and `report` commands. - * @method reports - * @return {Array} an array of reports that should be produced - */ -/** - * returns the directory under which reports should be generated. Used by the - * `cover` and `report` commands. - * - * @method dir - * @return {String} the directory under which reports should be generated. - */ -/** - * returns an object that has keys that are report format names and values that are objects - * containing detailed configuration for each format. Running `istanbul help config` - * will give you all the keys per report format that can be overridden. - * Used by the `cover` and `report` commands. - * @method reportConfig - * @return {Object} detailed report configuration per report format. - */ -addMethods(ReportingOptions, 'print', 'reports', 'dir', 'reportConfig'); - -function isInvalidMark(v, key) { - var prefix = 'Watermark for [' + key + '] :'; - - if (v.length !== 2) { - return prefix + 'must be an array of length 2'; - } - v[0] = Number(v[0]); - v[1] = Number(v[1]); - - if (isNaN(v[0]) || isNaN(v[1])) { - return prefix + 'must have valid numbers'; - } - if (v[0] < 0 || v[1] < 0) { - return prefix + 'must be positive numbers'; - } - if (v[1] > 100) { - return prefix + 'cannot exceed 100'; - } - if (v[1] <= v[0]) { - return prefix + 'low must be less than high'; - } - return null; -} - -/** - * returns the low and high watermarks to be used to designate whether coverage - * is `low`, `medium` or `high`. Statements, functions, branches and lines can - * have independent watermarks. These are respected by all reports - * that color for low, medium and high coverage. See the default configuration for exact syntax - * using `istanbul help config`. Used by the `cover` and `report` commands. - * - * @method watermarks - * @return {Object} an object containing low and high watermarks for statements, - * branches, functions and lines. - */ -ReportingOptions.prototype.watermarks = function () { - var v = this.config.watermarks, - defs = defaults.watermarks(), - ret = {}; - - Object.keys(defs).forEach(function (k) { - var mark = v[k], //it will already be a non-zero length array because of the way the merge works - message = isInvalidMark(mark, k); - if (message) { - console.error(message); - ret[k] = defs[k]; - } else { - ret[k] = mark; - } - }); - return ret; -}; - -/** - * Object that returns hook options. Note that istanbul does not provide an - * option to hook `require`. This is always done by the `cover` command. - * @class HookOptions - * @module config - * @constructor - * @param config the hooks part of the config object - */ -function HookOptions(config) { - this.config = config; -} - -/** - * returns if `vm.runInThisContext` needs to be hooked, in addition to the standard - * `require` hooks added by istanbul. This should be true for code that uses - * RequireJS for example. Used by the `cover` command. - * @method hookRunInContext - * @return {Boolean} true if `vm.runInThisContext` needs to be hooked for coverage - */ -/** - * returns a path to JS file or a dependent module that should be used for - * post-processing files after they have been required. See the `yui-istanbul` module for - * an example of a post-require hook. This particular hook modifies the yui loader when - * that file is required to add istanbul interceptors. Use by the `cover` command - * - * @method postRequireHook - * @return {String} a path to a JS file or the name of a node module that needs - * to be used as a `require` post-processor - */ -/** - * returns if istanbul needs to add a SIGINT (control-c, usually) handler to - * save coverage information. Useful for getting code coverage out of processes - * that run forever and need a SIGINT to terminate. - * @method handleSigint - * @return {Boolean} true if SIGINT needs to be hooked to write coverage information - */ - -addMethods(HookOptions, 'hookRunInContext', 'postRequireHook', 'handleSigint'); - -/** - * represents the istanbul configuration and provides sub-objects that can - * return instrumentation, reporting and hook options respectively. - * Usage - * ----- - * - * var configObj = require('istanbul').config.loadFile(); - * - * console.log(configObj.reporting.reports()); - * - * @class Configuration - * @module config - * @param {Object} obj the base object to use as the configuration - * @param {Object} overrides optional - override attributes that are merged into - * the base config - * @constructor - */ -function Configuration(obj, overrides) { - - var config = mergeDefaults(obj, defaultConfig(true)); - if (isObject(overrides)) { - config = mergeDefaults(overrides, config); - } - if (config.verbose) { - console.error('Using configuration'); - console.error('-------------------'); - console.error(yaml.safeDump(config, { indent: 4, flowLevel: 3 })); - console.error('-------------------\n'); - } - this.verbose = config.verbose; - this.instrumentation = new InstrumentOptions(config.instrumentation); - this.reporting = new ReportingOptions(config.reporting); - this.hooks = new HookOptions(config.hooks); - this.check = config.check; // Pass raw config sub-object. -} - -/** - * true if verbose logging is required - * @property verbose - * @type Boolean - */ -/** - * instrumentation options - * @property instrumentation - * @type InstrumentOptions - */ -/** - * reporting options - * @property reporting - * @type ReportingOptions - */ -/** - * hook options - * @property hooks - * @type HookOptions - */ - - -function loadFile(file, overrides) { - var defaultConfigFile = path.resolve('.istanbul.yml'), - configObject; - - if (file) { - if (!existsSync(file)) { - throw new Error('Invalid configuration file specified:' + file); - } - } else { - if (existsSync(defaultConfigFile)) { - file = defaultConfigFile; - } - } - - if (file) { - console.error('Loading config: ' + file); - configObject = file.match(YML_PATTERN) ? - yaml.safeLoad(fs.readFileSync(file, 'utf8'), { filename: file }) : - require(path.resolve(file)); - } - - return new Configuration(configObject, overrides); -} - -function loadObject(obj, overrides) { - return new Configuration(obj, overrides); -} - -/** - * methods to load the configuration object. - * Usage - * ----- - * - * var config = require('istanbul').config, - * configObj = config.loadFile(); - * - * console.log(configObj.reporting.reports()); - * - * @class Config - * @module main - * @static - */ -module.exports = { - /** - * loads the specified configuration file with optional overrides. Throws - * when a file is specified and it is not found. - * @method loadFile - * @static - * @param {String} file the file to load. If falsy, the default config file, if present, is loaded. - * If not a default config is used. - * @param {Object} overrides - an object with override keys that are merged into the - * config object loaded - * @return {Configuration} the config object with overrides applied - */ - loadFile: loadFile, - /** - * loads the specified configuration object with optional overrides. - * @method loadObject - * @static - * @param {Object} obj the object to use as the base configuration. - * @param {Object} overrides - an object with override keys that are merged into the - * config object - * @return {Configuration} the config object with overrides applied - */ - loadObject: loadObject, - /** - * returns the default configuration object. Note that this is a plain object - * and not a `Configuration` instance. - * @method defaultConfig - * @static - * @return {Object} an object that represents the default config - */ - defaultConfig: defaultConfig -}; |