"use strict"; require("typings-global"); var plugins = require("./npmts.plugins"); var paths = require("./npmts.paths"); var npmts_promisechain_1 = require("./npmts.promisechain"); ; exports.run = function (argvArg) { var done = plugins.Q.defer(); var defaultConfig = { argv: undefined, coverageTreshold: 70, docs: true, mode: 'default', test: true, testTs: {}, ts: {}, tsOptions: {} }; // mix with configfile npmts_promisechain_1.npmtsOra.text('looking for npmextra.json'); var config = plugins.npmextra.dataFor({ toolName: 'npmts', defaultSettings: defaultConfig, cwd: paths.cwd }); // add argv config.argv = argvArg; // check mode switch (config.mode) { case 'default': case 'custom': plugins.beautylog.ok('mode is ' + config.mode); done.resolve(config); break; default: plugins.beautylog.error("mode not recognised!"); process.exit(1); } ; // handle default mode if (config.mode === 'default') { config.ts = (_a = {}, _a['./ts/**/*.ts'] = './dist/', _a); config.testTs = (_b = {}, _b['./test/test.ts'] = './test/', _b); } ; // mix with commandline if (config.argv.notest) { config.test = false; } ; if (config.argv.nodocs) { config.docs = false; } ; plugins.beautylog.ok('build options are ready!'); done.resolve(config); return done.promise; var _a, _b; };