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.
110 lines
4.1 KiB
110 lines
4.1 KiB
"use strict"; |
|
Object.defineProperty(exports, "__esModule", { value: true }); |
|
exports.printErrors = exports.makeFilesArg = exports.explodeFilesArg = exports.merge = void 0; |
|
const immutable_1 = require("immutable"); |
|
const addToFilesOption_1 = require("./transforms/addToFilesOption"); |
|
const addDefaultIgnorePatterns_1 = require("./transforms/addDefaultIgnorePatterns"); |
|
const copyCLIIgnoreToWatchOptions_1 = require("./transforms/copyCLIIgnoreToWatchOptions"); |
|
const handleExtensionsOption_1 = require("./transforms/handleExtensionsOption"); |
|
const handleFilesOption_1 = require("./transforms/handleFilesOption"); |
|
const handleGhostModeOption_1 = require("./transforms/handleGhostModeOption"); |
|
const handlePortsOption_1 = require("./transforms/handlePortsOption"); |
|
const handleProxyOption_1 = require("./transforms/handleProxyOption"); |
|
const handleServerOption_1 = require("./transforms/handleServerOption"); |
|
const appendServerIndexOption_1 = require("./transforms/appendServerIndexOption"); |
|
const appendServerDirectoryOption_1 = require("./transforms/appendServerDirectoryOption"); |
|
const addCwdToWatchOptions_1 = require("./transforms/addCwdToWatchOptions"); |
|
const options_1 = require("../options"); |
|
const handleHostOption_1 = require("./transforms/handleHostOption"); |
|
const _ = require("../lodash.custom"); |
|
const defaultConfig = require("../default-config"); |
|
const immDefs = (0, immutable_1.fromJS)(defaultConfig); |
|
function merge(input) { |
|
const merged = immDefs.mergeDeep(input); |
|
const 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 |
|
]; |
|
const output = transforms.reduce((acc, item) => { |
|
const [current, currentErrors] = acc; |
|
const [result, errors] = item.call(null, current); |
|
return [result, [...currentErrors, ...errors]]; |
|
}, [merged, []]); |
|
return output; |
|
} |
|
exports.merge = merge; |
|
/** |
|
* @param string |
|
*/ |
|
function explodeFilesArg(string) { |
|
return string.split(",").map(item => item.trim()); |
|
} |
|
exports.explodeFilesArg = explodeFilesArg; |
|
/** |
|
* @param value |
|
* @returns {{globs: Array, objs: Array}} |
|
*/ |
|
function makeFilesArg(value) { |
|
let globs = []; |
|
let 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(error => [ |
|
`Error Type: ${error.type}`, |
|
`Error Level: ${error.level}`, |
|
error.errors.map(item => [ |
|
`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
|