From b3188e4c6974503b933e6709fe961f4853abafd6 Mon Sep 17 00:00:00 2001 From: Nathan Walters Date: Fri, 27 Aug 2021 12:31:49 -0700 Subject: [PATCH 1/4] Add test case --- test/config-loader-tests.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/test/config-loader-tests.ts b/test/config-loader-tests.ts index c88153e..b61eb01 100644 --- a/test/config-loader-tests.ts +++ b/test/config-loader-tests.ts @@ -87,4 +87,20 @@ describe("config-loader", (): void => { assert.equal(successResult.resultType, "success"); assert.equal(successResult.configFileAbsolutePath, configFile); }); + + it("should allow an absolute baseUrl in tsconfig.json", () => { + const result = configLoader({ + explicitParams: undefined, + cwd: "/baz", + // tslint:disable-next-line:no-any + tsConfigLoader: (_: any) => ({ + tsConfigPath: "/baz/tsconfig.json", + baseUrl: "/baz", + paths: {}, + }), + }); + + const successResult = result as ConfigLoaderSuccessResult; + assert.equal(successResult.absoluteBaseUrl, "/baz"); + }); }); From 1ce146d5934121ad3c2bfdc7b80e4a7c04ee0649 Mon Sep 17 00:00:00 2001 From: Nathan Walters Date: Fri, 27 Aug 2021 12:32:13 -0700 Subject: [PATCH 2/4] Allow absolute baseUrl in tsconfig.json --- src/config-loader.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/config-loader.ts b/src/config-loader.ts index a4197f5..c05bd8a 100644 --- a/src/config-loader.ts +++ b/src/config-loader.ts @@ -85,7 +85,9 @@ export function configLoader({ } const tsConfigDir = path.dirname(loadResult.tsConfigPath); - const absoluteBaseUrl = path.join(tsConfigDir, loadResult.baseUrl); + const absoluteBaseUrl = path.isAbsolute(loadResult.baseUrl) + ? loadResult.baseUrl + : path.join(tsConfigDir, loadResult.baseUrl); return { resultType: "success", From 41c7fdbc3bfd210fed1a404ceb1e90c0a7156373 Mon Sep 17 00:00:00 2001 From: Nathan Walters Date: Wed, 20 Apr 2022 12:55:39 -0700 Subject: [PATCH 3/4] Apply suggestions from code review --- src/config-loader.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/config-loader.ts b/src/config-loader.ts index c05bd8a..b26dfac 100644 --- a/src/config-loader.ts +++ b/src/config-loader.ts @@ -85,9 +85,7 @@ export function configLoader({ } const tsConfigDir = path.dirname(loadResult.tsConfigPath); - const absoluteBaseUrl = path.isAbsolute(loadResult.baseUrl) - ? loadResult.baseUrl - : path.join(tsConfigDir, loadResult.baseUrl); + const absoluteBaseUrl = path.resolve(tsConfigDir, loadResult.baseUrl); return { resultType: "success", From 8f5efd0b9f3b8789cc4a3ec6bc782fe41959f27f Mon Sep 17 00:00:00 2001 From: Nathan Walters Date: Mon, 2 May 2022 10:32:48 -0700 Subject: [PATCH 4/4] Add changelog entry --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9a2a619..6dd439d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] - Add support for `jsconfig.json`. See PR [#199](https://github.com/dividab/tsconfig-paths/pull/199). Thanks to [@F3n67u](https://github.com/F3n67u) for this PR! +- Allow `baseUrl` in `tsconfig.json` to be an absolute path. See PR [#174](https://github.com/dividab/tsconfig-paths/pull/174). Thanks to [@nwalters512](https://github.com/nwalters512) for this PR! ## [3.14.1] - 2022-03-22