config-loader.test.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. var config_loader_1 = require("../config-loader");
  4. var path_1 = require("path");
  5. describe("config-loader", function () {
  6. it("should use explicitParams when set", function () {
  7. var result = (0, config_loader_1.configLoader)({
  8. explicitParams: {
  9. baseUrl: "/foo/bar",
  10. paths: {
  11. asd: ["asd"],
  12. },
  13. },
  14. cwd: "/baz",
  15. });
  16. var successResult = result;
  17. expect(successResult.resultType).toBe("success");
  18. expect(successResult.absoluteBaseUrl).toBe("/foo/bar");
  19. expect(successResult.paths["asd"][0]).toBe("asd");
  20. });
  21. it("should use explicitParams when set and add cwd when path is relative", function () {
  22. var result = (0, config_loader_1.configLoader)({
  23. explicitParams: {
  24. baseUrl: "bar/",
  25. paths: {
  26. asd: ["asd"],
  27. },
  28. },
  29. cwd: "/baz",
  30. });
  31. var successResult = result;
  32. expect(successResult.resultType).toBe("success");
  33. expect(successResult.absoluteBaseUrl).toBe((0, path_1.join)("/baz", "bar/"));
  34. });
  35. it("should fallback to tsConfigLoader when explicitParams is not set", function () {
  36. var result = (0, config_loader_1.configLoader)({
  37. explicitParams: undefined,
  38. cwd: "/baz",
  39. tsConfigLoader: function () { return ({
  40. tsConfigPath: "/baz/tsconfig.json",
  41. baseUrl: "./src",
  42. paths: {},
  43. }); },
  44. });
  45. var successResult = result;
  46. expect(successResult.resultType).toBe("success");
  47. expect(successResult.absoluteBaseUrl).toBe((0, path_1.join)("/baz", "src"));
  48. });
  49. it("should tolerate a missing baseUrl", function () {
  50. var result = (0, config_loader_1.configLoader)({
  51. explicitParams: undefined,
  52. cwd: "/baz",
  53. tsConfigLoader: function () { return ({
  54. tsConfigPath: "/baz/tsconfig.json",
  55. baseUrl: undefined,
  56. paths: {},
  57. }); },
  58. });
  59. var failResult = result;
  60. expect(failResult.resultType).toBe("success");
  61. });
  62. it("should presume cwd to be a tsconfig file when loadConfig is called with absolute path to tsconfig.json", function () {
  63. // using tsconfig-named.json to ensure that future changes to fix
  64. // https://github.com/dividab/tsconfig-paths/issues/31
  65. // do not pass this test case just because of a directory walk looking
  66. // for tsconfig.json
  67. var configFile = (0, path_1.join)(__dirname, "tsconfig-named.json");
  68. var result = (0, config_loader_1.loadConfig)(configFile);
  69. var successResult = result;
  70. expect(successResult.resultType).toBe("success");
  71. expect(successResult.configFileAbsolutePath).toBe(configFile);
  72. });
  73. it("should allow an absolute baseUrl in tsconfig.json", function () {
  74. var result = (0, config_loader_1.configLoader)({
  75. explicitParams: undefined,
  76. cwd: "/baz",
  77. tsConfigLoader: function () { return ({
  78. tsConfigPath: "/baz/tsconfig.json",
  79. baseUrl: "/baz",
  80. paths: {},
  81. }); },
  82. });
  83. var successResult = result;
  84. expect(successResult.absoluteBaseUrl).toEqual("/baz");
  85. });
  86. });
  87. //# sourceMappingURL=config-loader.test.js.map