UNPKG

@northbrook/mocha

Version:

Mocha Configuration for Northbrook

47 lines 1.75 kB
"use strict"; var os_1 = require("os"); var northbrook_1 = require("northbrook"); var runTests_1 = require("./runTests"); var defaultPatterns = [ /.*\.(spec|test)\.(js|ts)$/, /-(spec|test)\.(js|ts)$/, /(Spec|Test)\.(js|ts)$/, 'test/**/*.js', 'test/**/*.ts', 'tests/**/*.js', 'tests/**/*.ts', '!lib/**/*.*', '!lib.es2015/**/*.*', '!node_modules/**/*.*', ]; function addHandler(plugin) { northbrook_1.each(plugin, function (input, io) { var options = input.options, config = input.config, pkg = input.pkg; var _a = config.mocha, mocha = _a === void 0 ? {} : _a; if (mocha.exclude && mocha.exclude.indexOf(pkg.name) > -1) return Promise.resolve(); require('buba/register'); requireHooks(options, config); io.stdout.write(os_1.EOL + ("Running mocha tests in " + pkg.name + "...") + os_1.EOL); return runTests_1.runTests(pkg, mocha.patterns || defaultPatterns) .then(function () { io.stdout.write(os_1.EOL + ("Completed mocha tests in " + pkg.name) + os_1.EOL); }) .catch(function (e) { io.stderr.write(os_1.EOL + e.message + os_1.EOL); e.diagnostics.forEach(function (diagnostic) { io.stderr.write(os_1.EOL + diagnostic.message + os_1.EOL); }); process.exit(1); }); }); } exports.addHandler = addHandler; function requireHooks(options, config) { if (options.require) options.require.split(',').map(function (str) { return str.trim(); }).forEach(require); var mocha = config.mocha || {}; if (Array.isArray(mocha.require)) mocha.require.forEach(require); } //# sourceMappingURL=handler.js.map