You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
95 lines
3.4 KiB
95 lines
3.4 KiB
"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 _ = require("../lodash.custom"); |
|
var defaultConfig = require("../default-config"); |
|
var immDefs = immutable_1.fromJS(defaultConfig); |
|
/** |
|
* @param {Object} input |
|
* @returns {Map} |
|
*/ |
|
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, |
|
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) { |
|
return item.call(null, acc); |
|
}, merged); |
|
// console.log(output.toJSON()); |
|
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; |
|
//# sourceMappingURL=cli-options.js.map
|