options.js 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. "use strict";
  2. var __assign = (this && this.__assign) || function () {
  3. __assign = Object.assign || function(t) {
  4. for (var s, i = 1, n = arguments.length; i < n; i++) {
  5. s = arguments[i];
  6. for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
  7. t[p] = s[p];
  8. }
  9. return t;
  10. };
  11. return __assign.apply(this, arguments);
  12. };
  13. Object.defineProperty(exports, "__esModule", { value: true });
  14. exports.getOptions = void 0;
  15. var validOptions = [
  16. "configFile",
  17. "extensions",
  18. "baseUrl",
  19. "silent",
  20. "logLevel",
  21. "logInfoToStdOut",
  22. "context",
  23. "mainFields",
  24. "references",
  25. ];
  26. /**
  27. * Takes raw options from the webpack config,
  28. * validates them and adds defaults for missing options
  29. */
  30. function getOptions(rawOptions) {
  31. validateOptions(rawOptions);
  32. var options = makeOptions(rawOptions);
  33. return options;
  34. }
  35. exports.getOptions = getOptions;
  36. /**
  37. * Validate the supplied loader options.
  38. * At present this validates the option names only; in future we may look at validating the values too
  39. *
  40. * @param rawOptions
  41. */
  42. function validateOptions(rawOptions) {
  43. var loaderOptionKeys = Object.keys(rawOptions);
  44. for (var i = 0; i < loaderOptionKeys.length; i++) {
  45. var option = loaderOptionKeys[i];
  46. var isUnexpectedOption = validOptions.indexOf(option) === -1;
  47. if (isUnexpectedOption) {
  48. throw new Error("tsconfig-paths-webpack-plugin was supplied with an unexpected loader option: " + option + "\nPlease take a look at the options you are supplying; the following are valid options:\n" + validOptions.join(" / ") + "\n");
  49. }
  50. }
  51. }
  52. function makeOptions(rawOptions) {
  53. var options = __assign(__assign({}, {
  54. configFile: "tsconfig.json",
  55. extensions: [".ts", ".tsx"],
  56. baseUrl: undefined,
  57. silent: false,
  58. logLevel: "WARN",
  59. logInfoToStdOut: false,
  60. context: undefined,
  61. colors: true,
  62. mainFields: ["main"],
  63. references: undefined,
  64. }), rawOptions);
  65. var options2 = __assign(__assign({}, options), { logLevel: options.logLevel.toUpperCase() });
  66. return options2;
  67. }
  68. //# sourceMappingURL=options.js.map