113 lines
4.2 KiB
JavaScript
113 lines
4.2 KiB
JavaScript
|
"use strict";
|
||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||
|
var immutable_1 = require("immutable");
|
||
|
var addToFilesOption_1 = require("./transforms/addToFilesOption");
|
||
|
var addDefaultIgnorePatterns_1 = require("./transforms/addDefaultIgnorePatterns");
|
||
|
var copyCLIIgnoreToWatchOptions_1 = require("./transforms/copyCLIIgnoreToWatchOptions");
|
||
|
var handleExtensionsOption_1 = require("./transforms/handleExtensionsOption");
|
||
|
var handleFilesOption_1 = require("./transforms/handleFilesOption");
|
||
|
var handleGhostModeOption_1 = require("./transforms/handleGhostModeOption");
|
||
|
var handlePortsOption_1 = require("./transforms/handlePortsOption");
|
||
|
var handleProxyOption_1 = require("./transforms/handleProxyOption");
|
||
|
var handleServerOption_1 = require("./transforms/handleServerOption");
|
||
|
var appendServerIndexOption_1 = require("./transforms/appendServerIndexOption");
|
||
|
var appendServerDirectoryOption_1 = require("./transforms/appendServerDirectoryOption");
|
||
|
var addCwdToWatchOptions_1 = require("./transforms/addCwdToWatchOptions");
|
||
|
var options_1 = require("../options");
|
||
|
var handleHostOption_1 = require("./transforms/handleHostOption");
|
||
|
var _ = require("../lodash.custom");
|
||
|
var defaultConfig = require("../default-config");
|
||
|
var immDefs = immutable_1.fromJS(defaultConfig);
|
||
|
function merge(input) {
|
||
|
var merged = immDefs.mergeDeep(input);
|
||
|
var transforms = [
|
||
|
addToFilesOption_1.addToFilesOption,
|
||
|
addCwdToWatchOptions_1.addCwdToWatchOptions,
|
||
|
addDefaultIgnorePatterns_1.addDefaultIgnorePatterns,
|
||
|
copyCLIIgnoreToWatchOptions_1.copyCLIIgnoreToWatchOptions,
|
||
|
handleServerOption_1.handleServerOption,
|
||
|
appendServerIndexOption_1.appendServerIndexOption,
|
||
|
appendServerDirectoryOption_1.appendServerDirectoryOption,
|
||
|
handleProxyOption_1.handleProxyOption,
|
||
|
handlePortsOption_1.handlePortsOption,
|
||
|
handleHostOption_1.handleHostOption,
|
||
|
handleGhostModeOption_1.handleGhostModeOption,
|
||
|
handleFilesOption_1.handleFilesOption,
|
||
|
handleExtensionsOption_1.handleExtensionsOption,
|
||
|
options_1.setMode,
|
||
|
options_1.setScheme,
|
||
|
options_1.setStartPath,
|
||
|
options_1.setProxyWs,
|
||
|
options_1.setServerOpts,
|
||
|
options_1.liftExtensionsOptionFromCli,
|
||
|
options_1.setNamespace,
|
||
|
options_1.fixSnippetIgnorePaths,
|
||
|
options_1.fixSnippetIncludePaths,
|
||
|
options_1.fixRewriteRules,
|
||
|
options_1.setMiddleware,
|
||
|
options_1.setOpen,
|
||
|
options_1.setUiPort
|
||
|
];
|
||
|
var output = transforms.reduce(function (acc, item) {
|
||
|
var current = acc[0], currentErrors = acc[1];
|
||
|
var _a = item.call(null, current), result = _a[0], errors = _a[1];
|
||
|
return [result, currentErrors.concat(errors)];
|
||
|
}, [merged, []]);
|
||
|
return output;
|
||
|
}
|
||
|
exports.merge = merge;
|
||
|
/**
|
||
|
* @param string
|
||
|
*/
|
||
|
function explodeFilesArg(string) {
|
||
|
return string.split(",").map(function (item) { return item.trim(); });
|
||
|
}
|
||
|
exports.explodeFilesArg = explodeFilesArg;
|
||
|
/**
|
||
|
* @param value
|
||
|
* @returns {{globs: Array, objs: Array}}
|
||
|
*/
|
||
|
function makeFilesArg(value) {
|
||
|
var globs = [];
|
||
|
var objs = [];
|
||
|
if (_.isString(value)) {
|
||
|
globs = globs.concat(explodeFilesArg(value));
|
||
|
}
|
||
|
if (immutable_1.List.isList(value) && value.size) {
|
||
|
value.forEach(function (value) {
|
||
|
if (_.isString(value)) {
|
||
|
globs.push(value);
|
||
|
}
|
||
|
else {
|
||
|
if (immutable_1.Map.isMap(value)) {
|
||
|
objs.push(value);
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
return {
|
||
|
globs: globs,
|
||
|
objs: objs
|
||
|
};
|
||
|
}
|
||
|
exports.makeFilesArg = makeFilesArg;
|
||
|
function printErrors(errors) {
|
||
|
return errors
|
||
|
.map(function (error) {
|
||
|
return [
|
||
|
"Error Type: " + error.type,
|
||
|
"Error Level: " + error.level,
|
||
|
error.errors.map(function (item) {
|
||
|
return [
|
||
|
"Error Message: " + item.error.message,
|
||
|
item.meta ? item.meta().join("\n") : ""
|
||
|
]
|
||
|
.filter(Boolean)
|
||
|
.join("\n");
|
||
|
})
|
||
|
].join("\n");
|
||
|
})
|
||
|
.join("\n\n");
|
||
|
}
|
||
|
exports.printErrors = printErrors;
|
||
|
//# sourceMappingURL=cli-options.js.map
|