cli-options.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. var immutable_1 = require("immutable");
  4. var addToFilesOption_1 = require("./transforms/addToFilesOption");
  5. var addDefaultIgnorePatterns_1 = require("./transforms/addDefaultIgnorePatterns");
  6. var copyCLIIgnoreToWatchOptions_1 = require("./transforms/copyCLIIgnoreToWatchOptions");
  7. var handleExtensionsOption_1 = require("./transforms/handleExtensionsOption");
  8. var handleFilesOption_1 = require("./transforms/handleFilesOption");
  9. var handleGhostModeOption_1 = require("./transforms/handleGhostModeOption");
  10. var handlePortsOption_1 = require("./transforms/handlePortsOption");
  11. var handleProxyOption_1 = require("./transforms/handleProxyOption");
  12. var handleServerOption_1 = require("./transforms/handleServerOption");
  13. var appendServerIndexOption_1 = require("./transforms/appendServerIndexOption");
  14. var appendServerDirectoryOption_1 = require("./transforms/appendServerDirectoryOption");
  15. var addCwdToWatchOptions_1 = require("./transforms/addCwdToWatchOptions");
  16. var options_1 = require("../options");
  17. var handleHostOption_1 = require("./transforms/handleHostOption");
  18. var _ = require("../lodash.custom");
  19. var defaultConfig = require("../default-config");
  20. var immDefs = immutable_1.fromJS(defaultConfig);
  21. function merge(input) {
  22. var merged = immDefs.mergeDeep(input);
  23. var transforms = [
  24. addToFilesOption_1.addToFilesOption,
  25. addCwdToWatchOptions_1.addCwdToWatchOptions,
  26. addDefaultIgnorePatterns_1.addDefaultIgnorePatterns,
  27. copyCLIIgnoreToWatchOptions_1.copyCLIIgnoreToWatchOptions,
  28. handleServerOption_1.handleServerOption,
  29. appendServerIndexOption_1.appendServerIndexOption,
  30. appendServerDirectoryOption_1.appendServerDirectoryOption,
  31. handleProxyOption_1.handleProxyOption,
  32. handlePortsOption_1.handlePortsOption,
  33. handleHostOption_1.handleHostOption,
  34. handleGhostModeOption_1.handleGhostModeOption,
  35. handleFilesOption_1.handleFilesOption,
  36. handleExtensionsOption_1.handleExtensionsOption,
  37. options_1.setMode,
  38. options_1.setScheme,
  39. options_1.setStartPath,
  40. options_1.setProxyWs,
  41. options_1.setServerOpts,
  42. options_1.liftExtensionsOptionFromCli,
  43. options_1.setNamespace,
  44. options_1.fixSnippetIgnorePaths,
  45. options_1.fixSnippetIncludePaths,
  46. options_1.fixRewriteRules,
  47. options_1.setMiddleware,
  48. options_1.setOpen,
  49. options_1.setUiPort
  50. ];
  51. var output = transforms.reduce(function (acc, item) {
  52. var current = acc[0], currentErrors = acc[1];
  53. var _a = item.call(null, current), result = _a[0], errors = _a[1];
  54. return [result, currentErrors.concat(errors)];
  55. }, [merged, []]);
  56. return output;
  57. }
  58. exports.merge = merge;
  59. /**
  60. * @param string
  61. */
  62. function explodeFilesArg(string) {
  63. return string.split(",").map(function (item) { return item.trim(); });
  64. }
  65. exports.explodeFilesArg = explodeFilesArg;
  66. /**
  67. * @param value
  68. * @returns {{globs: Array, objs: Array}}
  69. */
  70. function makeFilesArg(value) {
  71. var globs = [];
  72. var objs = [];
  73. if (_.isString(value)) {
  74. globs = globs.concat(explodeFilesArg(value));
  75. }
  76. if (immutable_1.List.isList(value) && value.size) {
  77. value.forEach(function (value) {
  78. if (_.isString(value)) {
  79. globs.push(value);
  80. }
  81. else {
  82. if (immutable_1.Map.isMap(value)) {
  83. objs.push(value);
  84. }
  85. }
  86. });
  87. }
  88. return {
  89. globs: globs,
  90. objs: objs
  91. };
  92. }
  93. exports.makeFilesArg = makeFilesArg;
  94. function printErrors(errors) {
  95. return errors
  96. .map(function (error) {
  97. return [
  98. "Error Type: " + error.type,
  99. "Error Level: " + error.level,
  100. error.errors.map(function (item) {
  101. return [
  102. "Error Message: " + item.error.message,
  103. item.meta ? item.meta().join("\n") : ""
  104. ]
  105. .filter(Boolean)
  106. .join("\n");
  107. })
  108. ].join("\n");
  109. })
  110. .join("\n\n");
  111. }
  112. exports.printErrors = printErrors;
  113. //# sourceMappingURL=cli-options.js.map