2016-07-16 23:23:22 +00:00
|
|
|
"use strict";
|
2016-09-18 14:10:07 +00:00
|
|
|
const plugins = require("./npmextra.plugins");
|
|
|
|
const paths = require("./npmextra.paths");
|
2016-09-23 20:13:06 +00:00
|
|
|
/**
|
|
|
|
* gets lookupPath
|
|
|
|
*/
|
|
|
|
let getLookupPath = (cwdArg) => {
|
|
|
|
if (cwdArg) {
|
|
|
|
let cwdResolved = plugins.path.resolve(cwdArg);
|
|
|
|
return plugins.path.join(cwdResolved, 'npmextra.json');
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
return paths.configFile;
|
|
|
|
}
|
|
|
|
;
|
|
|
|
};
|
2016-09-16 20:28:38 +00:00
|
|
|
/**
|
|
|
|
* gets you the configuration data for
|
|
|
|
* @executes SYNC
|
|
|
|
*/
|
2016-07-17 14:34:31 +00:00
|
|
|
exports.dataFor = (optionsArg) => {
|
|
|
|
// handle default settings
|
2016-09-16 20:28:38 +00:00
|
|
|
if (typeof optionsArg.toolName !== undefined
|
|
|
|
&& typeof optionsArg.defaultSettings !== undefined) {
|
2016-07-17 14:34:31 +00:00
|
|
|
let newDefaultOptions = {};
|
|
|
|
newDefaultOptions[optionsArg.toolName] = optionsArg.defaultSettings;
|
|
|
|
optionsArg.defaultSettings = newDefaultOptions;
|
|
|
|
}
|
|
|
|
;
|
|
|
|
// set lookup path
|
2016-09-23 20:13:06 +00:00
|
|
|
let lookupPath = getLookupPath(optionsArg.cwd);
|
2016-07-17 14:34:31 +00:00
|
|
|
// get allData
|
|
|
|
let allData;
|
2016-09-23 20:13:06 +00:00
|
|
|
if (exports.configFilePresent(lookupPath)) {
|
2016-07-17 14:34:31 +00:00
|
|
|
allData = plugins.smartfile.fs.toObjectSync(lookupPath);
|
|
|
|
}
|
|
|
|
else {
|
2016-07-17 15:10:53 +00:00
|
|
|
plugins.beautylog.warn(`${lookupPath} is missing!`);
|
2016-07-17 14:34:31 +00:00
|
|
|
allData = {};
|
2016-07-16 23:23:22 +00:00
|
|
|
}
|
|
|
|
;
|
2016-09-16 20:28:38 +00:00
|
|
|
// assign all data
|
2016-07-17 14:34:31 +00:00
|
|
|
allData = plugins.lodash.merge({}, optionsArg.defaultSettings, allData);
|
|
|
|
if (optionsArg.toolName) {
|
|
|
|
if (allData[optionsArg.toolName]) {
|
|
|
|
return allData[optionsArg.toolName];
|
2016-07-16 23:23:22 +00:00
|
|
|
}
|
|
|
|
else {
|
2016-07-17 14:34:31 +00:00
|
|
|
plugins.beautylog.error(`There is no data for ${optionsArg.toolName}`);
|
2016-07-16 23:23:22 +00:00
|
|
|
return undefined;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
return allData;
|
|
|
|
}
|
|
|
|
};
|
2016-09-23 20:13:06 +00:00
|
|
|
exports.dataForExists = (optionsArg) => {
|
|
|
|
// set lookup path
|
|
|
|
let lookupPath = getLookupPath(optionsArg.cwd);
|
|
|
|
if (exports.configFilePresent(optionsArg.cwd)) {
|
|
|
|
let allData = plugins.smartfile.fs.toObjectSync(lookupPath);
|
|
|
|
if (allData[optionsArg.toolName]) {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
return false;
|
|
|
|
}
|
2016-09-16 20:28:38 +00:00
|
|
|
}
|
|
|
|
else {
|
2016-09-23 20:13:06 +00:00
|
|
|
return false;
|
2016-09-16 20:28:38 +00:00
|
|
|
}
|
2016-09-23 20:13:06 +00:00
|
|
|
};
|
|
|
|
/**
|
|
|
|
* tells you if a configfile is present
|
|
|
|
*/
|
|
|
|
exports.configFilePresent = (cwdArg) => {
|
|
|
|
let lookupPath = getLookupPath(cwdArg);
|
2016-09-16 20:28:38 +00:00
|
|
|
return plugins.smartfile.fs.fileExistsSync(lookupPath);
|
2016-07-18 18:29:29 +00:00
|
|
|
};
|
2016-09-23 20:13:06 +00:00
|
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsOENBQTZDO0FBQzdDLDBDQUF5QztBQVd6Qzs7R0FFRztBQUNILElBQUksYUFBYSxHQUFHLENBQUMsTUFBYztJQUMvQixFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ1QsSUFBSSxXQUFXLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDOUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUMsQ0FBQTtJQUMxRCxDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDSixNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQTtJQUMzQixDQUFDO0lBQUEsQ0FBQztBQUNOLENBQUMsQ0FBQTtBQUVEOzs7R0FHRztBQUNRLFFBQUEsT0FBTyxHQUFHLENBQVcsVUFBb0I7SUFFaEQsMEJBQTBCO0lBQzFCLEVBQUUsQ0FBQyxDQUNDLE9BQU8sVUFBVSxDQUFDLFFBQVEsS0FBSyxTQUFTO1dBQ3JDLE9BQU8sVUFBVSxDQUFDLGVBQWUsS0FBSyxTQUM3QyxDQUFDLENBQUMsQ0FBQztRQUNDLElBQUksaUJBQWlCLEdBQUcsRUFBRSxDQUFBO1FBQzFCLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxVQUFVLENBQUMsZUFBZSxDQUFBO1FBQ25FLFVBQVUsQ0FBQyxlQUFlLEdBQUcsaUJBQWlCLENBQUE7SUFDbEQsQ0FBQztJQUFBLENBQUM7SUFFRixrQkFBa0I7SUFDbEIsSUFBSSxVQUFVLEdBQVcsYUFBYSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUV0RCxjQUFjO0lBQ2QsSUFBSSxPQUFPLENBQUE7SUFDWCxFQUFFLENBQUMsQ0FBQyx5QkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUMzRCxDQUFDO0lBQUMsSUFBSSxDQUFDLENBQUM7UUFDSixPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsY0FBYyxDQUFDLENBQUE7UUFDbkQsT0FBTyxHQUFHLEVBQUUsQ0FBQTtJQUNoQixDQUFDO0lBQUEsQ0FBQztJQUVGLGtCQUFrQjtJQUNsQixPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFDdkUsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDdEIsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDdkMsQ0FBQztRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ0osT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsd0JBQXdCLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO1lBQ3RFLE1BQU0sQ0FBQyxTQUFTLENBQUE7UUFDcEIsQ0FBQztJQUNMLENBQUM7SUFBQyxJQUFJLENBQUMsQ0FBQztRQUNKLE1BQU0sQ0FBQyxPQUFPLENBQUE7SUFDbEIsQ0FBQztBQUNMLENBQUMsQ0FBQTtBQUVVLFFBQUEsYUFBYSxHQUFHLENBQUMsVUFBb0I7SUFDNUMsa0JBQWtCO0lBQ2xCLElBQUksVUFBVSxHQUFXLGFBQWEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDdEQsRUFBRSxDQUFDLENBQUMseUJBQWlCLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQyxJQUFJLE9BQU8sR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDM0QsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDL0IsTUFBTSxDQUFDLElBQUksQ0FBQTtRQUNmLENBQUM7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNKLE1BQU0sQ0FBQyxLQUFLLENBQUE7UUFDaEIsQ0FBQztJQUNMLENBQUM7SUFBQyxJQUFJLENBQUMsQ0FBQztRQUNKLE1BQU0sQ0FBQyxLQUFLLENBQUE7SUFDaEIsQ0FBQztBQUNMLENBQUMsQ0FBQTtBQUVEOztHQUVHO0FBQ1EsUUFBQSxpQkFBaUIsR0FBRyxDQUFDLE1BQWM7SUFDMUMsSUFBSSxVQUFVLEdBQVcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQzlDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUE7QUFDMUQsQ0FBQyxDQUFBIn0=
|