From 6c91431c66ca868110ccbf7f18ad1c9d16a546c3 Mon Sep 17 00:00:00 2001 From: Alan Agius <17563226+alan-agius4@users.noreply.github.com> Date: Wed, 4 Mar 2026 10:36:36 +0000 Subject: [PATCH 1/3] refactor: move `baseUrl` fallback logic to `paths-plugin.ts` This ensure that we do not set `baseUrl` internally which would trigger a deprecation warning. --- packages/ngtools/webpack/src/ivy/plugin.ts | 1 - packages/ngtools/webpack/src/paths-plugin.ts | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/ngtools/webpack/src/ivy/plugin.ts b/packages/ngtools/webpack/src/ivy/plugin.ts index ac52c4188c3e..f46b1360f26a 100644 --- a/packages/ngtools/webpack/src/ivy/plugin.ts +++ b/packages/ngtools/webpack/src/ivy/plugin.ts @@ -410,7 +410,6 @@ export class AngularWebpackPlugin { this.pluginOptions.tsconfig, this.pluginOptions.compilerOptions, ); - compilerOptions.baseUrl ??= compilerOptions['pathsBasePath']; compilerOptions.composite = false; compilerOptions.noEmitOnError = false; compilerOptions.suppressOutputPathCheck = true; diff --git a/packages/ngtools/webpack/src/paths-plugin.ts b/packages/ngtools/webpack/src/paths-plugin.ts index 612d70d4ad6e..063c96120d18 100644 --- a/packages/ngtools/webpack/src/paths-plugin.ts +++ b/packages/ngtools/webpack/src/paths-plugin.ts @@ -45,7 +45,7 @@ export class TypeScriptPathsPlugin { * @param options The `paths` and `baseUrl` options from TypeScript's `CompilerOptions`. */ update(options: TypeScriptPathsPluginOptions): void { - this.baseUrl = options.baseUrl; + this.baseUrl = options.baseUrl ?? (options as Record)['pathsBasePath']; this.patterns = undefined; if (options.paths) { From a377f3449aa02a2f854739c1525d78089638149a Mon Sep 17 00:00:00 2001 From: Alan Agius <17563226+alan-agius4@users.noreply.github.com> Date: Wed, 4 Mar 2026 11:41:22 +0000 Subject: [PATCH 2/3] fixup! refactor: move `baseUrl` fallback logic to `paths-plugin.ts` --- .../src/builders/browser/specs/tsconfig-paths_spec.ts | 9 +++++---- .../tests/options/allowed-common-js-dependencies_spec.ts | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/tsconfig-paths_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/tsconfig-paths_spec.ts index c40337393a5e..7046dec4b09d 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/tsconfig-paths_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/tsconfig-paths_spec.ts @@ -36,7 +36,7 @@ describe('Browser Builder tsconfig paths', () => { await browserBuild(architect, host, target); }); - it('should resolve complex tsconfig paths with wildcards', async () => { + fit('should resolve complex tsconfig paths with wildcards', async () => { host.writeMultipleFiles({ 'src/meaning-too.ts': 'export var meaning = 42;', 'src/app/shared/meaning.ts': 'export var meaning = 42;', @@ -46,13 +46,14 @@ describe('Browser Builder tsconfig paths', () => { const tsconfig = JSON.parse(virtualFs.fileBufferToString(host.scopedSync().read(tsconfigPath))); tsconfig.compilerOptions ??= {}; tsconfig.compilerOptions.paths = { - '@shared': ['src/app/shared'], - '@shared/*': ['src/app/shared/*'], - '*': ['*', 'src/app/shared/*'], + '@shared': ['./src/app/shared'], + '@shared/*': ['./src/app/shared/*'], + '*': ['./*', './src/app/shared/*'], }; host .scopedSync() .write(tsconfigPath, virtualFs.stringToFileBuffer(JSON.stringify(tsconfig, null, 2))); + host.appendToFile( 'src/app/app.component.ts', ` diff --git a/packages/angular_devkit/build_angular/src/builders/browser/tests/options/allowed-common-js-dependencies_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/tests/options/allowed-common-js-dependencies_spec.ts index 5389a1457673..b0e89583bb63 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/tests/options/allowed-common-js-dependencies_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/tests/options/allowed-common-js-dependencies_spec.ts @@ -122,7 +122,7 @@ describeBuilder(buildWebpackBrowser, BROWSER_BUILDER_INFO, (harness) => { const tsconfig = JSON.parse(content); tsconfig.compilerOptions ??= {}; tsconfig.compilerOptions.paths = { - '@app/*': ['src/app/*'], + '@app/*': ['./src/app/*'], }; return JSON.stringify(tsconfig, null, 2); From 3f3dadb501964faa5256dbe8e50d61d82db33406 Mon Sep 17 00:00:00 2001 From: Alan Agius <17563226+alan-agius4@users.noreply.github.com> Date: Wed, 4 Mar 2026 11:44:23 +0000 Subject: [PATCH 3/3] fixup! refactor: move `baseUrl` fallback logic to `paths-plugin.ts` --- .../src/builders/browser/specs/tsconfig-paths_spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/angular_devkit/build_angular/src/builders/browser/specs/tsconfig-paths_spec.ts b/packages/angular_devkit/build_angular/src/builders/browser/specs/tsconfig-paths_spec.ts index 7046dec4b09d..80285bf5499d 100644 --- a/packages/angular_devkit/build_angular/src/builders/browser/specs/tsconfig-paths_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/browser/specs/tsconfig-paths_spec.ts @@ -36,7 +36,7 @@ describe('Browser Builder tsconfig paths', () => { await browserBuild(architect, host, target); }); - fit('should resolve complex tsconfig paths with wildcards', async () => { + it('should resolve complex tsconfig paths with wildcards', async () => { host.writeMultipleFiles({ 'src/meaning-too.ts': 'export var meaning = 42;', 'src/app/shared/meaning.ts': 'export var meaning = 42;',