diff --git a/dist/npmts.configfile.js b/dist/npmts.configfile.js index 7e5fa03..ea44d7d 100644 --- a/dist/npmts.configfile.js +++ b/dist/npmts.configfile.js @@ -2,33 +2,34 @@ 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 config = {}; - var configPath = plugins.path.join(paths.cwd, "npmts.json"); + npmts_promisechain_1.npmtsOra.text("looking for npmextra.json"); + var defaultConfig = { + mode: "default", + notest: false + }; if (argvArg.notest) { - config.notest = true; - } - if (plugins.smartfile.fs.fileExistsSync(configPath)) { - plugins.beautylog.info("npmts.json".blue + " config file found!"); - config = plugins.lodashObject.assign(config, plugins.smartfile.fs.toObjectSync(configPath)); - switch (config.mode) { - case "default": - case "custom": - plugins.beautylog.ok("mode is " + config.mode.yellow); - done.resolve(config); - break; - default: - plugins.beautylog.error("mode " + config.mode.yellow + " not recognised!".red); - process.exit(1); - } - ; - } - else { - plugins.beautylog.log("no config file found: so mode is " + "default".yellow); - config.mode = "default"; - done.resolve(config); + defaultConfig.notest = true; } ; + var config = plugins.npmextra.dataFor({ + toolName: "npmts", + defaultSettings: defaultConfig, + cwd: paths.cwd + }); + switch (config.mode) { + case "default": + case "custom": + plugins.beautylog.ok("mode is " + config.mode.yellow); + done.resolve(config); + break; + default: + plugins.beautylog.error("mode " + config.mode.yellow + " not recognised!".red); + process.exit(1); + } + ; + done.resolve(config); return done.promise; }; diff --git a/dist/npmts.plugins.d.ts b/dist/npmts.plugins.d.ts index c3c2e23..dc6280f 100644 --- a/dist/npmts.plugins.d.ts +++ b/dist/npmts.plugins.d.ts @@ -12,6 +12,7 @@ export declare let g: { typedoc: any; }; export declare let lodashObject: any; +export import npmextra = require("npmextra"); export import projectinfo = require("projectinfo"); export import path = require("path"); export import Q = require("q"); diff --git a/dist/npmts.plugins.js b/dist/npmts.plugins.js index 63d6688..ea7fa84 100644 --- a/dist/npmts.plugins.js +++ b/dist/npmts.plugins.js @@ -13,6 +13,7 @@ exports.g = { typedoc: require("gulp-typedoc") }; exports.lodashObject = require('lodash/fp/object'); +exports.npmextra = require("npmextra"); exports.projectinfo = require("projectinfo"); exports.path = require("path"); exports.Q = require("q"); diff --git a/package.json b/package.json index 59077bd..5d4520b 100644 --- a/package.json +++ b/package.json @@ -29,9 +29,9 @@ }, "homepage": "https://gitlab.com/pushrocks/npmts#readme", "dependencies": { - "@types/minimatch": "*", - "@types/q": "*", - "@types/shelljs": "*", + "@types/minimatch": "^2.0.28", + "@types/q": "^0.0.27", + "@types/shelljs": "^0.3.27", "babel-preset-es2015": "^6.9.0", "beautylog": "5.0.14", "early": "^2.0.13", @@ -47,6 +47,7 @@ "gulp-sourcemaps": "^1.6.0", "gulp-typedoc": "^2.0.0", "lodash": "^4.13.1", + "npmextra": "^1.0.7", "projectinfo": "1.0.3", "q": "^1.4.1", "shelljs": "^0.7.0", diff --git a/ts/npmts.configfile.ts b/ts/npmts.configfile.ts index a396481..699035b 100644 --- a/ts/npmts.configfile.ts +++ b/ts/npmts.configfile.ts @@ -1,33 +1,32 @@ import "typings-global"; import plugins = require("./npmts.plugins"); import paths = require("./npmts.paths"); +import {npmtsOra} from "./npmts.promisechain"; export var run = function(argvArg){ - var done = plugins.Q.defer(); - var config:any = {}; - var configPath = plugins.path.join(paths.cwd,"npmts.json"); - if(argvArg.notest){ - config.notest = true; - } - if(plugins.smartfile.fs.fileExistsSync(configPath)){ - plugins.beautylog.info("npmts.json".blue + " config file found!"); - config = plugins.lodashObject.assign( - config, - plugins.smartfile.fs.toObjectSync(configPath) - ); - switch (config.mode){ - case "default": - case "custom": - plugins.beautylog.ok("mode is " + config.mode.yellow); - done.resolve(config); - break; - default: - plugins.beautylog.error("mode " + config.mode.yellow + " not recognised!".red); - process.exit(1); - }; - } else { - plugins.beautylog.log("no config file found: so mode is " + "default".yellow); - config.mode = "default"; - done.resolve(config); + let done = plugins.Q.defer(); + npmtsOra.text("looking for npmextra.json"); + let defaultConfig = { + mode: "default", + notest:false }; + if(argvArg.notest){ + defaultConfig.notest = true; + }; + let config = plugins.npmextra.dataFor({ + toolName:"npmts", + defaultSettings:defaultConfig, + cwd:paths.cwd + }); + switch (config.mode){ + case "default": + case "custom": + plugins.beautylog.ok("mode is " + config.mode.yellow); + done.resolve(config); + break; + default: + plugins.beautylog.error("mode " + config.mode.yellow + " not recognised!".red); + process.exit(1); + }; + done.resolve(config); return done.promise; }; \ No newline at end of file diff --git a/ts/npmts.plugins.ts b/ts/npmts.plugins.ts index b6008ee..c0cc489 100644 --- a/ts/npmts.plugins.ts +++ b/ts/npmts.plugins.ts @@ -12,6 +12,7 @@ export let g = { typedoc: require("gulp-typedoc") }; export let lodashObject = require('lodash/fp/object'); +export import npmextra = require("npmextra"); export import projectinfo = require("projectinfo"); export import path = require("path"); export import Q = require("q");