From f219b9d180aa4a0c036bc88c7db3bd392667612f Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Wed, 19 Feb 2025 22:14:58 +0000 Subject: [PATCH 01/78] 0fafe8b release: cut the v19.2.0-rc.0 release --- package.json | 8 ++++---- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 52bde376..e97eb5b0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.0-next.2+sha-8f73dad", + "version": "19.2.0-rc.0+sha-0fafe8b", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#8f73dad", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#0fafe8b", "@babel/core": "7.26.9", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#8f73dad", + "@angular/ssr": "github:angular/angular-ssr-builds#0fafe8b", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#8f73dad", + "@angular/ssr": "github:angular/angular-ssr-builds#0fafe8b", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index b4a8c17f..514e619d 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.0-next.2+sha-8f73dad'; +const VERSION = '19.2.0-rc.0+sha-0fafe8b'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 779e5be7..90dca478 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Wed Feb 19 2025 21:37:19 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Wed Feb 19 2025 22:14:58 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 588bb031bfcb95bcd204ebe8674848eb9ff0154f Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Wed, 19 Feb 2025 22:36:29 +0000 Subject: [PATCH 02/78] 1f715d2 release: cut the v19.2.0-rc.0 release --- package.json | 8 ++++---- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index e97eb5b0..31e0cdd8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.0-rc.0+sha-0fafe8b", + "version": "19.2.0-rc.0+sha-1f715d2", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#0fafe8b", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#1f715d2", "@babel/core": "7.26.9", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#0fafe8b", + "@angular/ssr": "github:angular/angular-ssr-builds#1f715d2", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#0fafe8b", + "@angular/ssr": "github:angular/angular-ssr-builds#1f715d2", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 514e619d..aaeee2e8 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.0-rc.0+sha-0fafe8b'; +const VERSION = '19.2.0-rc.0+sha-1f715d2'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 90dca478..f2968e9f 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Wed Feb 19 2025 22:14:58 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Wed Feb 19 2025 22:36:29 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 342fd418f352ee0d3e69f895cae7d1cf8a7c086a Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Mon, 24 Feb 2025 23:42:47 +0000 Subject: [PATCH 03/78] fe8d83a fix(@schematics/angular): add additional checks for application builder usage --- package.json | 8 ++++---- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 31e0cdd8..36c8d8dc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.0-rc.0+sha-1f715d2", + "version": "19.2.0-rc.0+sha-fe8d83a", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#1f715d2", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#fe8d83a", "@babel/core": "7.26.9", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#1f715d2", + "@angular/ssr": "github:angular/angular-ssr-builds#fe8d83a", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#1f715d2", + "@angular/ssr": "github:angular/angular-ssr-builds#fe8d83a", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index aaeee2e8..0e97d873 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.0-rc.0+sha-1f715d2'; +const VERSION = '19.2.0-rc.0+sha-fe8d83a'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index f2968e9f..4b731355 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Wed Feb 19 2025 22:36:29 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Mon Feb 24 2025 23:42:47 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From bda42d64f1fe63c8a263543ddc17560b7dffc162 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Tue, 25 Feb 2025 18:29:24 +0000 Subject: [PATCH 04/78] 239a404 fix(@angular/build): always disable JSON stats with dev-server --- package.json | 8 ++++---- src/builders/dev-server/vite-server.js | 7 +++++++ src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 36c8d8dc..262d3616 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.0-rc.0+sha-fe8d83a", + "version": "19.2.0-rc.0+sha-239a404", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#fe8d83a", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#239a404", "@babel/core": "7.26.9", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#fe8d83a", + "@angular/ssr": "github:angular/angular-ssr-builds#239a404", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#fe8d83a", + "@angular/ssr": "github:angular/angular-ssr-builds#239a404", "karma": { "optional": true }, diff --git a/src/builders/dev-server/vite-server.js b/src/builders/dev-server/vite-server.js index d3676fdc..09f6e661 100644 --- a/src/builders/dev-server/vite-server.js +++ b/src/builders/dev-server/vite-server.js @@ -86,6 +86,13 @@ async function* serveWithVite(serverOptions, builderName, builderAction, context browserOptions.security = { autoCsp: false, }; + // Disable JSON build stats. + // These are not accessible with the dev server and can cause HMR fallbacks. + if (browserOptions.statsJson === true) { + context.logger.warn('Build JSON statistics output (`statsJson` option) has been disabled.' + + ' The development server does not support this option.'); + } + browserOptions.statsJson = false; // Set all packages as external to support Vite's prebundle caching browserOptions.externalPackages = serverOptions.prebundle; // Disable generating a full manifest with routes. diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 0e97d873..d632884f 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.0-rc.0+sha-fe8d83a'; +const VERSION = '19.2.0-rc.0+sha-239a404'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 4b731355..d71c9c70 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Mon Feb 24 2025 23:42:47 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Tue Feb 25 2025 18:29:24 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 253a01f0834d78e1a1c6101fc5e0193803fd8528 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Wed, 26 Feb 2025 22:08:57 +0000 Subject: [PATCH 05/78] 39ebd25 build: update fw and packagr to 19.2.0 --- package.json | 8 ++++---- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 262d3616..696a8690 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.0-rc.0+sha-239a404", + "version": "19.2.0-rc.0+sha-39ebd25", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#239a404", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#39ebd25", "@babel/core": "7.26.9", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#239a404", + "@angular/ssr": "github:angular/angular-ssr-builds#39ebd25", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#239a404", + "@angular/ssr": "github:angular/angular-ssr-builds#39ebd25", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index d632884f..ad4051e1 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.0-rc.0+sha-239a404'; +const VERSION = '19.2.0-rc.0+sha-39ebd25'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index d71c9c70..4ec97f48 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Tue Feb 25 2025 18:29:24 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Wed Feb 26 2025 22:08:57 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From c56b31ecc9e031336a104e59da54c78a623ac8c2 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Wed, 26 Feb 2025 22:40:19 +0000 Subject: [PATCH 06/78] aaa1acc release: cut the v19.2.0 release --- package.json | 8 ++++---- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 696a8690..f5c0516a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.0-rc.0+sha-39ebd25", + "version": "19.2.0+sha-aaa1acc", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#39ebd25", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#aaa1acc", "@babel/core": "7.26.9", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#39ebd25", + "@angular/ssr": "github:angular/angular-ssr-builds#aaa1acc", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#39ebd25", + "@angular/ssr": "github:angular/angular-ssr-builds#aaa1acc", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index ad4051e1..89d685ce 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.0-rc.0+sha-39ebd25'; +const VERSION = '19.2.0+sha-aaa1acc'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 4ec97f48..c7e3e540 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Wed Feb 26 2025 22:08:57 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Wed Feb 26 2025 22:40:19 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From a9db3ec34db1db1460af5c6fbb346505e83d9f75 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Fri, 28 Feb 2025 16:15:13 +0000 Subject: [PATCH 07/78] 96e5dcb fix(@angular/build): handle undefined `less` stylesheet sourcemap values --- package.json | 10 +++++----- src/tools/esbuild/stylesheets/less-language.js | 4 +++- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index f5c0516a..f020b831 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.0+sha-aaa1acc", + "version": "19.2.0+sha-96e5dcb", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#aaa1acc", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#96e5dcb", "@babel/core": "7.26.9", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -46,7 +46,7 @@ "sass": "1.85.0", "semver": "7.7.1", "source-map-support": "0.5.21", - "vite": "6.1.0", + "vite": "6.2.0", "watchpack": "2.4.2" }, "optionalDependencies": { @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#aaa1acc", + "@angular/ssr": "github:angular/angular-ssr-builds#96e5dcb", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#aaa1acc", + "@angular/ssr": "github:angular/angular-ssr-builds#96e5dcb", "karma": { "optional": true }, diff --git a/src/tools/esbuild/stylesheets/less-language.js b/src/tools/esbuild/stylesheets/less-language.js index b7160e7b..6b7b156b 100644 --- a/src/tools/esbuild/stylesheets/less-language.js +++ b/src/tools/esbuild/stylesheets/less-language.js @@ -131,7 +131,9 @@ async function compileString(data, filename, options, resolver, unsafeInlineJava : undefined, }); return { - contents: options.sourcemap ? `${css}\n${sourceMapToUrlComment(map)}` : css, + // There can be cases where `less` will return an undefined `map` even + // though the types do not specify this as a possibility. + contents: map ? `${css}\n${sourceMapToUrlComment(map)}` : css, loader: 'css', watchFiles: [filename, ...imports], }; diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 89d685ce..5e936769 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.0+sha-aaa1acc'; +const VERSION = '19.2.0+sha-96e5dcb'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index c7e3e540..55452658 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Wed Feb 26 2025 22:40:19 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Fri Feb 28 2025 16:15:13 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 0a0f240cc4c8b41b97e38a258cfb1ccaedee2beb Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Mon, 3 Mar 2025 15:07:51 +0000 Subject: [PATCH 08/78] 4c35b57 fix(@schematics/angular): prevent accidental deletion of `main.ts` during application builder migration --- package.json | 8 ++++---- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index f020b831..cb8b52f0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.0+sha-96e5dcb", + "version": "19.2.0+sha-4c35b57", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#96e5dcb", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#4c35b57", "@babel/core": "7.26.9", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#96e5dcb", + "@angular/ssr": "github:angular/angular-ssr-builds#4c35b57", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#96e5dcb", + "@angular/ssr": "github:angular/angular-ssr-builds#4c35b57", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 5e936769..a2769932 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.0+sha-96e5dcb'; +const VERSION = '19.2.0+sha-4c35b57'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 55452658..b338f6a1 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Fri Feb 28 2025 16:15:13 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Mon Mar 03 2025 15:07:51 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From c1bb3c1c11a1624ccf821b7e9058d6d70d341ed7 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Mon, 3 Mar 2025 16:06:15 +0000 Subject: [PATCH 09/78] 4e4fb8a refactor(@angular/build): remove `file:` prefix from JIT component resource URLs in sourcemaps --- package.json | 8 ++++---- .../esbuild/angular/jit-plugin-callbacks.js | 19 +++++++------------ src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 4 files changed, 13 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index cb8b52f0..5b2ab06d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.0+sha-4c35b57", + "version": "19.2.0+sha-4e4fb8a", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#4c35b57", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#4e4fb8a", "@babel/core": "7.26.9", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#4c35b57", + "@angular/ssr": "github:angular/angular-ssr-builds#4e4fb8a", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#4c35b57", + "@angular/ssr": "github:angular/angular-ssr-builds#4e4fb8a", "karma": { "optional": true }, diff --git a/src/tools/esbuild/angular/jit-plugin-callbacks.js b/src/tools/esbuild/angular/jit-plugin-callbacks.js index 9323d948..23fae0d1 100644 --- a/src/tools/esbuild/angular/jit-plugin-callbacks.js +++ b/src/tools/esbuild/angular/jit-plugin-callbacks.js @@ -24,23 +24,18 @@ const load_result_cache_1 = require("../load-result-cache"); * For inline entries the contents will always be provided. */ async function loadEntry(entry, root, skipRead) { - if (entry.startsWith('file:')) { - const specifier = (0, node_path_1.join)(root, entry.slice(5)); - return { - path: specifier, - contents: skipRead ? undefined : await (0, promises_1.readFile)(specifier, 'utf-8'), - }; - } - else if (entry.startsWith('inline:')) { + if (entry.startsWith('inline:')) { const [importer, data] = entry.slice(7).split(';', 2); return { path: (0, node_path_1.join)(root, importer), contents: Buffer.from(data, 'base64').toString(), }; } - else { - throw new Error('Invalid data for Angular JIT entry.'); - } + const path = (0, node_path_1.join)(root, entry); + return { + path, + contents: skipRead ? undefined : await (0, promises_1.readFile)(path, 'utf-8'), + }; } /** * Sets up esbuild resolve and load callbacks to support Angular JIT mode processing @@ -66,7 +61,7 @@ function setupJitPluginCallbacks(build, stylesheetBundler, additionalResultFiles return { // Use a relative path to prevent fully resolved paths in the metafile (JSON stats file). // This is only necessary for custom namespaces. esbuild will handle the file namespace. - path: 'file:' + (0, node_path_1.relative)(root, (0, node_path_1.join)((0, node_path_1.dirname)(args.importer), specifier)), + path: (0, node_path_1.relative)(root, (0, node_path_1.join)((0, node_path_1.dirname)(args.importer), specifier)), namespace, }; } diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index a2769932..1706881d 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.0+sha-4c35b57'; +const VERSION = '19.2.0+sha-4e4fb8a'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index b338f6a1..b5a38a10 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Mon Mar 03 2025 15:07:51 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Mon Mar 03 2025 16:06:15 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 2a1e531a2fcc25026da31ea288b7dbc773a9498e Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Tue, 4 Mar 2025 09:02:52 +0000 Subject: [PATCH 10/78] c073309 fix(@angular/build): allow component HMR with a service worker --- package.json | 8 ++++---- src/builders/application/build-action.js | 13 +++++++++++-- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 4 files changed, 17 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 5b2ab06d..074b6181 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.0+sha-4e4fb8a", + "version": "19.2.0+sha-c073309", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#4e4fb8a", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#c073309", "@babel/core": "7.26.9", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#4e4fb8a", + "@angular/ssr": "github:angular/angular-ssr-builds#c073309", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#4e4fb8a", + "@angular/ssr": "github:angular/angular-ssr-builds#c073309", "karma": { "optional": true }, diff --git a/src/builders/application/build-action.js b/src/builders/application/build-action.js index 5b0a7e9c..0d012009 100644 --- a/src/builders/application/build-action.js +++ b/src/builders/application/build-action.js @@ -263,8 +263,7 @@ function* emitOutputResults({ outputFiles, assetFiles, errors, warnings, externa if (file.path.endsWith('.css')) { hasCssUpdates = true; } - else if (!/(?:\.m?js|\.map)$/.test(file.path)) { - // Updates to non-JS files must signal an update with the dev server + else if (!canBackgroundUpdate(file)) { incrementalResult.background = false; } incrementalResult.files[file.path] = { @@ -342,3 +341,13 @@ function* emitOutputResults({ outputFiles, assetFiles, errors, warnings, externa function isCssFilePath(filePath) { return /\.css(?:\.map)?$/i.test(filePath); } +function canBackgroundUpdate(file) { + // Files in the output root are not served and do not affect the + // application available with the development server. + if (file.type === bundler_context_1.BuildOutputFileType.Root) { + return true; + } + // Updates to non-JS files must signal an update with the dev server + // except the service worker configuration which is special cased. + return /(?:\.m?js|\.map)$/.test(file.path) || file.path === 'ngsw.json'; +} diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 1706881d..d05b172a 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.0+sha-4e4fb8a'; +const VERSION = '19.2.0+sha-c073309'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index b5a38a10..805bd286 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Mon Mar 03 2025 16:06:15 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Tue Mar 04 2025 09:02:52 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From d460542cea32e8e137ae1902ff38b80cdd20a29c Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Tue, 4 Mar 2025 15:26:06 +0000 Subject: [PATCH 11/78] 3ebd7ca fix(@angular-devkit/architect): improve error message when configuration is missing --- package.json | 8 ++++---- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 074b6181..1c730c95 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.0+sha-c073309", + "version": "19.2.0+sha-3ebd7ca", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#c073309", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#3ebd7ca", "@babel/core": "7.26.9", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#c073309", + "@angular/ssr": "github:angular/angular-ssr-builds#3ebd7ca", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#c073309", + "@angular/ssr": "github:angular/angular-ssr-builds#3ebd7ca", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index d05b172a..2a5bd114 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.0+sha-c073309'; +const VERSION = '19.2.0+sha-3ebd7ca'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 805bd286..e497f470 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Tue Mar 04 2025 09:02:52 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Tue Mar 04 2025 15:26:06 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 1bce2a980880ff701624a0454f4757fff4baf636 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Tue, 4 Mar 2025 16:05:56 +0000 Subject: [PATCH 12/78] f92bfa4 build: update dev-infra and rework windows native testing --- package.json | 8 ++++---- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 1c730c95..66616ce1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.0+sha-3ebd7ca", + "version": "19.2.0+sha-f92bfa4", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#3ebd7ca", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#f92bfa4", "@babel/core": "7.26.9", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#3ebd7ca", + "@angular/ssr": "github:angular/angular-ssr-builds#f92bfa4", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#3ebd7ca", + "@angular/ssr": "github:angular/angular-ssr-builds#f92bfa4", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 2a5bd114..faa72ce5 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.0+sha-3ebd7ca'; +const VERSION = '19.2.0+sha-f92bfa4'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index e497f470..824b1797 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Tue Mar 04 2025 15:26:06 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Tue Mar 04 2025 16:05:56 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 242ead283608e97fbf9d3b1db7ebfbe74a8148c9 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Tue, 4 Mar 2025 17:30:45 +0000 Subject: [PATCH 13/78] d7f9cb5 fix(@schematics/angular): prevent error when tsconfig file is missing in application builder migration --- package.json | 8 ++++---- src/utils/bundle-calculator.js | 4 ++-- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 66616ce1..17a90781 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.0+sha-f92bfa4", + "version": "19.2.0+sha-d7f9cb5", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#f92bfa4", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#d7f9cb5", "@babel/core": "7.26.9", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#f92bfa4", + "@angular/ssr": "github:angular/angular-ssr-builds#d7f9cb5", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#f92bfa4", + "@angular/ssr": "github:angular/angular-ssr-builds#d7f9cb5", "karma": { "optional": true }, diff --git a/src/utils/bundle-calculator.js b/src/utils/bundle-calculator.js index aacc7bc5..f99ae750 100644 --- a/src/utils/bundle-calculator.js +++ b/src/utils/bundle-calculator.js @@ -183,7 +183,7 @@ class AllScriptCalculator extends Calculator { class AllCalculator extends Calculator { calculate() { const size = this.assets - .filter((asset) => !asset.name.endsWith('.map')) + .filter((asset) => !asset.name.endsWith('.map') && !asset.componentStyle) .map((asset) => this.getAssetSize(asset)) .reduce((total, size) => total + size, 0); return [{ size, label: 'total' }]; @@ -208,7 +208,7 @@ class AnyScriptCalculator extends Calculator { class AnyCalculator extends Calculator { calculate() { return this.assets - .filter((asset) => !asset.name.endsWith('.map')) + .filter((asset) => !asset.name.endsWith('.map') && !asset.componentStyle) .map((asset) => ({ size: this.getAssetSize(asset), label: asset.name, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index faa72ce5..f2e4477e 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.0+sha-f92bfa4'; +const VERSION = '19.2.0+sha-d7f9cb5'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 824b1797..5426e141 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Tue Mar 04 2025 16:05:56 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Tue Mar 04 2025 17:30:45 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 940a2ca6a2159f4c4403b3314225205a9a5d7f8a Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Tue, 4 Mar 2025 18:43:00 +0000 Subject: [PATCH 14/78] bb18bc7 test: only test ng update for supported versions --- package.json | 8 ++++---- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 17a90781..ba32694e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.0+sha-d7f9cb5", + "version": "19.2.0+sha-bb18bc7", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#d7f9cb5", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#bb18bc7", "@babel/core": "7.26.9", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#d7f9cb5", + "@angular/ssr": "github:angular/angular-ssr-builds#bb18bc7", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#d7f9cb5", + "@angular/ssr": "github:angular/angular-ssr-builds#bb18bc7", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index f2e4477e..7e3af983 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.0+sha-d7f9cb5'; +const VERSION = '19.2.0+sha-bb18bc7'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 5426e141..41350420 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Tue Mar 04 2025 17:30:45 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Tue Mar 04 2025 18:43:00 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 3f6035d1cd2e19b36b700ec3bef2847c4fcc267c Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Wed, 5 Mar 2025 15:52:41 +0000 Subject: [PATCH 15/78] e40d5fe release: cut the v19.2.1 release --- package.json | 8 ++++---- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index ba32694e..f6fa5a66 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.0+sha-bb18bc7", + "version": "19.2.1+sha-e40d5fe", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#bb18bc7", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#e40d5fe", "@babel/core": "7.26.9", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#bb18bc7", + "@angular/ssr": "github:angular/angular-ssr-builds#e40d5fe", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#bb18bc7", + "@angular/ssr": "github:angular/angular-ssr-builds#e40d5fe", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 7e3af983..60d37fc5 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.0+sha-bb18bc7'; +const VERSION = '19.2.1+sha-e40d5fe'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 41350420..13962683 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Tue Mar 04 2025 18:43:00 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Wed Mar 05 2025 15:52:41 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 084ba991bc7fcabe5aed062f3d2998ba770751d2 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Wed, 5 Mar 2025 18:28:22 +0000 Subject: [PATCH 16/78] 78297ee fix(@angular/build): provide `extract-i18n` does not respect `i18nDuplicateTranslation` config value (#29179) --- package.json | 8 ++++---- src/builders/extract-i18n/builder.js | 2 +- src/utils/i18n-options.d.ts | 2 ++ src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 5 files changed, 9 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index f6fa5a66..2f47b62d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.1+sha-e40d5fe", + "version": "19.2.1+sha-78297ee", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#e40d5fe", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#78297ee", "@babel/core": "7.26.9", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#e40d5fe", + "@angular/ssr": "github:angular/angular-ssr-builds#78297ee", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#e40d5fe", + "@angular/ssr": "github:angular/angular-ssr-builds#78297ee", "karma": { "optional": true }, diff --git a/src/builders/extract-i18n/builder.js b/src/builders/extract-i18n/builder.js index 2babc523..19b0f374 100644 --- a/src/builders/extract-i18n/builder.js +++ b/src/builders/extract-i18n/builder.js @@ -102,7 +102,7 @@ async function execute(options, context, extensions) { }; const diagnostics = checkDuplicateMessages( // eslint-disable-next-line @typescript-eslint/no-explicit-any - checkFileSystem, extractionResult.messages, 'warning', + checkFileSystem, extractionResult.messages, normalizedOptions.i18nOptions.i18nDuplicateTranslation || 'warning', // eslint-disable-next-line @typescript-eslint/no-explicit-any extractionResult.basePath); if (diagnostics.messages.length > 0) { diff --git a/src/utils/i18n-options.d.ts b/src/utils/i18n-options.d.ts index 481a3221..364132b0 100644 --- a/src/utils/i18n-options.d.ts +++ b/src/utils/i18n-options.d.ts @@ -5,6 +5,7 @@ * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.dev/license */ +import { DiagnosticHandlingStrategy } from '@angular/localize/tools'; import type { TranslationLoader } from './load-translations'; export interface LocaleDescription { files: { @@ -24,6 +25,7 @@ export interface I18nOptions { flatOutput?: boolean; readonly shouldInline: boolean; hasDefinedSourceLocale?: boolean; + i18nDuplicateTranslation?: DiagnosticHandlingStrategy; } export declare function createI18nOptions(projectMetadata: { i18n?: unknown; diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 60d37fc5..926046e8 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.1+sha-e40d5fe'; +const VERSION = '19.2.1+sha-78297ee'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 13962683..850ce8d4 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Wed Mar 05 2025 15:52:41 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Wed Mar 05 2025 18:28:22 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 237b15cdad581234cee3c0ab492b61fd52a9d901 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Thu, 6 Mar 2025 18:21:54 +0000 Subject: [PATCH 17/78] 4575265 fix(@angular/build): exclude all entrypoints of a library from prebundling --- package.json | 8 ++-- src/builders/application/execute-build.js | 46 +++++++++++++++---- src/builders/application/options.d.ts | 6 +-- src/builders/application/options.js | 27 ++++++++++- src/builders/application/schema.d.ts | 4 +- src/builders/application/schema.json | 2 +- src/builders/dev-server/schema.d.ts | 4 +- src/builders/dev-server/schema.json | 2 +- src/tools/esbuild/bundler-context.js | 12 ++--- .../esbuild/bundler-execution-result.d.ts | 2 +- src/tools/esbuild/bundler-execution-result.js | 2 +- src/tools/esbuild/external-packages-plugin.js | 40 ++++++++++++---- src/tools/vite/plugins/id-prefix-plugin.js | 2 +- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 15 files changed, 118 insertions(+), 43 deletions(-) diff --git a/package.json b/package.json index 2f47b62d..9b4ba144 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.1+sha-78297ee", + "version": "19.2.1+sha-4575265", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#78297ee", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#4575265", "@babel/core": "7.26.9", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#78297ee", + "@angular/ssr": "github:angular/angular-ssr-builds#4575265", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#78297ee", + "@angular/ssr": "github:angular/angular-ssr-builds#4575265", "karma": { "optional": true }, diff --git a/src/builders/application/execute-build.js b/src/builders/application/execute-build.js index 1c1d7526..7c6901ff 100644 --- a/src/builders/application/execute-build.js +++ b/src/builders/application/execute-build.js @@ -136,15 +136,43 @@ async function executeBuild(options, context, rebuildState) { } // Analyze external imports if external options are enabled if (options.externalPackages || bundlingResult.externalConfiguration) { - const { externalConfiguration, externalImports: { browser, server }, } = bundlingResult; - const implicitBrowser = browser ? [...browser] : []; - const implicitServer = server ? [...server] : []; - // TODO: Implement wildcard externalConfiguration filtering - executionResult.setExternalMetadata(externalConfiguration - ? implicitBrowser.filter((value) => !externalConfiguration.includes(value)) - : implicitBrowser, externalConfiguration - ? implicitServer.filter((value) => !externalConfiguration.includes(value)) - : implicitServer, externalConfiguration); + const { externalConfiguration = [], externalImports: { browser = [], server = [] }, } = bundlingResult; + // Similar to esbuild, --external:@foo/bar automatically implies --external:@foo/bar/*, + // which matches import paths like @foo/bar/baz. + // This means all paths within the @foo/bar package are also marked as external. + const exclusionsPrefixes = externalConfiguration.map((exclusion) => exclusion + '/'); + const exclusions = new Set(externalConfiguration); + const explicitExternal = new Set(); + const isExplicitExternal = (dep) => { + if (exclusions.has(dep)) { + return true; + } + for (const prefix of exclusionsPrefixes) { + if (dep.startsWith(prefix)) { + return true; + } + } + return false; + }; + const implicitBrowser = []; + for (const dep of browser) { + if (isExplicitExternal(dep)) { + explicitExternal.add(dep); + } + else { + implicitBrowser.push(dep); + } + } + const implicitServer = []; + for (const dep of server) { + if (isExplicitExternal(dep)) { + explicitExternal.add(dep); + } + else { + implicitServer.push(dep); + } + } + executionResult.setExternalMetadata(implicitBrowser, implicitServer, [...explicitExternal]); } const { metafile, initialFiles, outputFiles } = bundlingResult; executionResult.outputFiles.push(...outputFiles); diff --git a/src/builders/application/options.d.ts b/src/builders/application/options.d.ts index ed7e118f..69c18f59 100644 --- a/src/builders/application/options.d.ts +++ b/src/builders/application/options.d.ts @@ -108,6 +108,9 @@ export declare function normalizeOptions(context: BuilderContext, projectName: s cacheOptions: import("../../utils/normalize-cache").NormalizedCachedOptions; crossOrigin: import("./schema").CrossOrigin | undefined; externalDependencies: string[] | undefined; + externalPackages: boolean | { + exclude: string[] | undefined; + } | undefined; extractLicenses: boolean | undefined; inlineStyleLanguage: string; jit: boolean; @@ -115,9 +118,6 @@ export declare function normalizeOptions(context: BuilderContext, projectName: s polyfills: string[] | undefined; poll: number | undefined; progress: boolean; - externalPackages: boolean | { - exclude: string[]; - } | undefined; preserveSymlinks: boolean; stylePreprocessorOptions: import("./schema").StylePreprocessorOptions | undefined; subresourceIntegrity: boolean | undefined; diff --git a/src/builders/application/options.js b/src/builders/application/options.js index 06d26f11..563c71ac 100644 --- a/src/builders/application/options.js +++ b/src/builders/application/options.js @@ -253,7 +253,13 @@ async function normalizeOptions(context, projectName, options, extensions) { baseHref, cacheOptions, crossOrigin, - externalDependencies, + externalDependencies: normalizeExternals(externalDependencies), + externalPackages: typeof externalPackages === 'object' + ? { + ...externalPackages, + exclude: normalizeExternals(externalPackages.exclude), + } + : externalPackages, extractLicenses, inlineStyleLanguage, jit: !aot, @@ -261,7 +267,6 @@ async function normalizeOptions(context, projectName, options, extensions) { polyfills: polyfills === undefined || Array.isArray(polyfills) ? polyfills : [polyfills], poll, progress, - externalPackages, preserveSymlinks, stylePreprocessorOptions, subresourceIntegrity, @@ -447,3 +452,21 @@ function getLocaleBaseHref(baseHref = '', i18n, locale) { const baseHrefSuffix = localeData.baseHref ?? localeData.subPath + '/'; return baseHrefSuffix !== '' ? (0, url_1.urlJoin)(baseHref, baseHrefSuffix) : undefined; } +/** + * Normalizes an array of external dependency paths by ensuring that + * wildcard patterns (`/*`) are removed from package names. + * + * This avoids the need to handle this normalization repeatedly in our plugins, + * as esbuild already treats `--external:@foo/bar` as implicitly including + * `--external:@foo/bar/*`. By standardizing the input, we ensure consistency + * and reduce redundant checks across our plugins. + * + * @param value - An optional array of dependency paths to normalize. + * @returns A new array with wildcard patterns removed from package names, or `undefined` if input is `undefined`. + */ +function normalizeExternals(value) { + if (!value) { + return undefined; + } + return [...new Set(value.map((d) => (d.endsWith('/*') ? d.slice(0, -2) : d)))]; +} diff --git a/src/builders/application/schema.d.ts b/src/builders/application/schema.d.ts index ee155991..907ad244 100644 --- a/src/builders/application/schema.d.ts +++ b/src/builders/application/schema.d.ts @@ -62,7 +62,9 @@ export type Schema = { deployUrl?: string; /** * Exclude the listed external dependencies from being bundled into the bundle. Instead, the - * created bundle relies on these dependencies to be available during runtime. + * created bundle relies on these dependencies to be available during runtime. Note: + * `@foo/bar` marks all paths within the `@foo/bar` package as external, including sub-paths + * like `@foo/bar/baz`. */ externalDependencies?: string[]; /** diff --git a/src/builders/application/schema.json b/src/builders/application/schema.json index a8e8e13a..d990e3a3 100644 --- a/src/builders/application/schema.json +++ b/src/builders/application/schema.json @@ -196,7 +196,7 @@ "additionalProperties": false }, "externalDependencies": { - "description": "Exclude the listed external dependencies from being bundled into the bundle. Instead, the created bundle relies on these dependencies to be available during runtime.", + "description": "Exclude the listed external dependencies from being bundled into the bundle. Instead, the created bundle relies on these dependencies to be available during runtime. Note: `@foo/bar` marks all paths within the `@foo/bar` package as external, including sub-paths like `@foo/bar/baz`.", "type": "array", "items": { "type": "string" diff --git a/src/builders/dev-server/schema.d.ts b/src/builders/dev-server/schema.d.ts index cb68a19f..39742e19 100644 --- a/src/builders/dev-server/schema.d.ts +++ b/src/builders/dev-server/schema.d.ts @@ -104,7 +104,9 @@ export type PrebundleUnion = boolean | PrebundleClass; export type PrebundleClass = { /** * List of package imports that should not be prebundled by the development server. The - * packages will be bundled into the application code itself. + * packages will be bundled into the application code itself. Note: specifying `@foo/bar` + * marks all paths within the `@foo/bar` package as excluded, including sub-paths like + * `@foo/bar/baz`. */ exclude: string[]; }; diff --git a/src/builders/dev-server/schema.json b/src/builders/dev-server/schema.json index c36d8614..41902e43 100644 --- a/src/builders/dev-server/schema.json +++ b/src/builders/dev-server/schema.json @@ -115,7 +115,7 @@ "type": "object", "properties": { "exclude": { - "description": "List of package imports that should not be prebundled by the development server. The packages will be bundled into the application code itself.", + "description": "List of package imports that should not be prebundled by the development server. The packages will be bundled into the application code itself. Note: specifying `@foo/bar` marks all paths within the `@foo/bar` package as excluded, including sub-paths like `@foo/bar/baz`.", "type": "array", "items": { "type": "string" } } diff --git a/src/tools/esbuild/bundler-context.js b/src/tools/esbuild/bundler-context.js index 55c2e877..08654c33 100644 --- a/src/tools/esbuild/bundler-context.js +++ b/src/tools/esbuild/bundler-context.js @@ -276,15 +276,13 @@ class BundlerContext { // Collect all external package names const externalImports = new Set(); for (const { imports } of Object.values(result.metafile.outputs)) { - for (const importData of imports) { - if (!importData.external || - utils_1.SERVER_GENERATED_EXTERNALS.has(importData.path) || - (importData.kind !== 'import-statement' && - importData.kind !== 'dynamic-import' && - importData.kind !== 'require-call')) { + for (const { external, kind, path } of imports) { + if (!external || + utils_1.SERVER_GENERATED_EXTERNALS.has(path) || + (kind !== 'import-statement' && kind !== 'dynamic-import' && kind !== 'require-call')) { continue; } - externalImports.add(importData.path); + externalImports.add(path); } } (0, node_assert_1.default)(this.#esbuildOptions, 'esbuild options cannot be undefined.'); diff --git a/src/tools/esbuild/bundler-execution-result.d.ts b/src/tools/esbuild/bundler-execution-result.d.ts index 00c5b200..b972c4fb 100644 --- a/src/tools/esbuild/bundler-execution-result.d.ts +++ b/src/tools/esbuild/bundler-execution-result.d.ts @@ -74,7 +74,7 @@ export declare class ExecutionResult { * @param implicitServer External dependencies for the server bundles due to the external packages option. * @param explicit External dependencies due to explicit project configuration. */ - setExternalMetadata(implicitBrowser: string[], implicitServer: string[], explicit: string[] | undefined): void; + setExternalMetadata(implicitBrowser: string[], implicitServer: string[], explicit: string[]): void; get output(): { success: boolean; }; diff --git a/src/tools/esbuild/bundler-execution-result.js b/src/tools/esbuild/bundler-execution-result.js index 09dcd268..03d26302 100644 --- a/src/tools/esbuild/bundler-execution-result.js +++ b/src/tools/esbuild/bundler-execution-result.js @@ -86,7 +86,7 @@ class ExecutionResult { * @param explicit External dependencies due to explicit project configuration. */ setExternalMetadata(implicitBrowser, implicitServer, explicit) { - this.externalMetadata = { implicitBrowser, implicitServer, explicit: explicit ?? [] }; + this.externalMetadata = { implicitBrowser, implicitServer, explicit }; } get output() { return { diff --git a/src/tools/esbuild/external-packages-plugin.js b/src/tools/esbuild/external-packages-plugin.js index 77254314..864b3155 100644 --- a/src/tools/esbuild/external-packages-plugin.js +++ b/src/tools/esbuild/external-packages-plugin.js @@ -18,7 +18,14 @@ const EXTERNAL_PACKAGE_RESOLUTION = Symbol('EXTERNAL_PACKAGE_RESOLUTION'); * @returns An esbuild plugin. */ function createExternalPackagesPlugin(options) { - const exclusions = options?.exclude?.length ? new Set(options.exclude) : undefined; + const exclusions = new Set(options?.exclude); + // Similar to esbuild, --external:@foo/bar automatically implies --external:@foo/bar/*, + // which matches import paths like @foo/bar/baz. + // This means all paths within the @foo/bar package are also marked as external. + const exclusionsPrefixes = options?.exclude?.map((exclusion) => exclusion + '/') ?? []; + const seenExclusions = new Set(); + const seenExternals = new Set(); + const seenNonExclusions = new Set(); return { name: 'angular-external-packages', setup(build) { @@ -29,7 +36,7 @@ function createExternalPackagesPlugin(options) { .filter(([, value]) => value !== 'file') .map(([key]) => key); // Safe to use native packages external option if no loader options or exclusions present - if (!exclusions && !loaderOptionKeys?.length) { + if (!exclusions.size && !loaderOptionKeys?.length) { build.initialOptions.packages = 'external'; return; } @@ -39,9 +46,21 @@ function createExternalPackagesPlugin(options) { if (args.pluginData?.[EXTERNAL_PACKAGE_RESOLUTION]) { return null; } - if (exclusions?.has(args.path)) { + if (seenExternals.has(args.path)) { + return { external: true }; + } + if (exclusions.has(args.path) || seenExclusions.has(args.path)) { return null; } + if (!seenNonExclusions.has(args.path)) { + for (const exclusion of exclusionsPrefixes) { + if (args.path.startsWith(exclusion)) { + seenExclusions.add(args.path); + return null; + } + } + seenNonExclusions.add(args.path); + } const { importer, kind, resolveDir, namespace, pluginData = {} } = args; pluginData[EXTERNAL_PACKAGE_RESOLUTION] = true; const result = await build.resolve(args.path, { @@ -51,20 +70,23 @@ function createExternalPackagesPlugin(options) { pluginData, resolveDir, }); - // Return result if unable to resolve or explicitly marked external (externalDependencies option) - if (!result.path || result.external) { + // Return result if unable to resolve + if (!result.path) { return result; } + // Return if explicitly marked external (externalDependencies option) + if (result.external) { + seenExternals.add(args.path); + return { external: true }; + } // Allow customized loaders to run against configured paths regardless of location if (loaderFileExtensions.has((0, node_path_1.extname)(result.path))) { return result; } // Mark paths from a node modules directory as external if (/[\\/]node_modules[\\/]/.test(result.path)) { - return { - path: args.path, - external: true, - }; + seenExternals.add(args.path); + return { external: true }; } // Otherwise return original result return result; diff --git a/src/tools/vite/plugins/id-prefix-plugin.js b/src/tools/vite/plugins/id-prefix-plugin.js index 3892da61..5ef53577 100644 --- a/src/tools/vite/plugins/id-prefix-plugin.js +++ b/src/tools/vite/plugins/id-prefix-plugin.js @@ -23,7 +23,7 @@ function createRemoveIdPrefixPlugin(externals) { if (externals.length === 0) { return; } - const escapedExternals = externals.map(escapeRegexSpecialChars); + const escapedExternals = externals.map((e) => escapeRegexSpecialChars(e) + '(?:/.+)?'); const prefixedExternalRegex = new RegExp(`${resolvedConfig.base}${VITE_ID_PREFIX}(${escapedExternals.join('|')})`, 'g'); // @ts-expect-error: Property 'push' does not exist on type 'readonly Plugin[]' // Reasoning: diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 926046e8..a335f0d4 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.1+sha-78297ee'; +const VERSION = '19.2.1+sha-4575265'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 850ce8d4..ae917c7b 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Wed Mar 05 2025 18:28:22 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Thu Mar 06 2025 18:21:54 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From d1675a77750d1edd8c36d3624be904d803b5cd81 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Fri, 7 Mar 2025 14:42:08 +0000 Subject: [PATCH 18/78] b18b9c8 fix(@angular/build): remove duplicate prebundling warning --- package.json | 8 ++++---- src/builders/dev-server/builder.js | 4 ---- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 4 files changed, 6 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 9b4ba144..5ad4e517 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.1+sha-4575265", + "version": "19.2.1+sha-b18b9c8", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#4575265", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#b18b9c8", "@babel/core": "7.26.9", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#4575265", + "@angular/ssr": "github:angular/angular-ssr-builds#b18b9c8", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#4575265", + "@angular/ssr": "github:angular/angular-ssr-builds#b18b9c8", "karma": { "optional": true }, diff --git a/src/builders/dev-server/builder.js b/src/builders/dev-server/builder.js index 163c4703..3965771a 100644 --- a/src/builders/dev-server/builder.js +++ b/src/builders/dev-server/builder.js @@ -33,10 +33,6 @@ async function* execute(options, context, extensions) { return; } const { builderName, normalizedOptions } = await initialize(options, projectName, context); - // Warn if the initial options provided by the user enable prebundling but caching is disabled - if (options.prebundle && !normalizedOptions.cacheOptions.enabled) { - context.logger.warn(`Prebundling has been configured but will not be used because caching has been disabled.`); - } yield* (0, vite_server_1.serveWithVite)(normalizedOptions, builderName, (options, context, plugins) => (0, internal_1.buildApplicationInternal)(options, context, { codePlugins: plugins }), context, { indexHtml: extensions?.indexHtmlTransformer }, extensions); } async function initialize(initialOptions, projectName, context) { diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index a335f0d4..2c93ea64 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.1+sha-4575265'; +const VERSION = '19.2.1+sha-b18b9c8'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index ae917c7b..9eae558a 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Thu Mar 06 2025 18:21:54 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Fri Mar 07 2025 14:42:08 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 34d991ca0a98bbb679f455475e3bc195d81b6fa7 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Mon, 10 Mar 2025 12:42:25 +0000 Subject: [PATCH 19/78] 1daccf3 refactor(@angular/build): remove esbuild sourcemap workarounds --- package.json | 10 +++++----- src/tools/babel/plugins/add-code-coverage.js | 9 +-------- src/tools/esbuild/angular/compiler-plugin.js | 5 ----- .../esbuild/stylesheets/less-language.js | 20 +++---------------- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 6 files changed, 11 insertions(+), 37 deletions(-) diff --git a/package.json b/package.json index 5ad4e517..ee41b17c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.1+sha-b18b9c8", + "version": "19.2.1+sha-1daccf3", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#b18b9c8", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#1daccf3", "@babel/core": "7.26.9", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -32,7 +32,7 @@ "@vitejs/plugin-basic-ssl": "1.2.0", "beasties": "0.2.0", "browserslist": "^4.23.0", - "esbuild": "0.25.0", + "esbuild": "0.25.1", "fast-glob": "3.3.3", "https-proxy-agent": "7.0.6", "istanbul-lib-instrument": "6.0.3", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#b18b9c8", + "@angular/ssr": "github:angular/angular-ssr-builds#1daccf3", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#b18b9c8", + "@angular/ssr": "github:angular/angular-ssr-builds#1daccf3", "karma": { "optional": true }, diff --git a/src/tools/babel/plugins/add-code-coverage.js b/src/tools/babel/plugins/add-code-coverage.js index 6b585bc1..6cb4cdf3 100644 --- a/src/tools/babel/plugins/add-code-coverage.js +++ b/src/tools/babel/plugins/add-code-coverage.js @@ -14,7 +14,6 @@ exports.default = default_1; const core_1 = require("@babel/core"); const istanbul_lib_instrument_1 = require("istanbul-lib-instrument"); const node_assert_1 = __importDefault(require("node:assert")); -const node_url_1 = require("node:url"); /** * A babel plugin factory function for adding istanbul instrumentation. * @@ -26,15 +25,9 @@ function default_1() { visitor: { Program: { enter(path, state) { - const inputSourceMap = // eslint-disable-next-line @typescript-eslint/no-explicit-any - state.file.inputMap?.toObject(); - // istanbul does not support URL as sources. - if (inputSourceMap?.sources) { - inputSourceMap.sources = inputSourceMap.sources.map((s) => s.startsWith('file://') ? (0, node_url_1.fileURLToPath)(s) : s); - } const visitor = (0, istanbul_lib_instrument_1.programVisitor)(core_1.types, state.filename, { // Babel returns a Converter object from the `convert-source-map` package - inputSourceMap, + inputSourceMap: state.file.inputMap?.toObject(), }); visitors.set(path, visitor); visitor.enter(path); diff --git a/src/tools/esbuild/angular/compiler-plugin.js b/src/tools/esbuild/angular/compiler-plugin.js index 7e4c8cb0..75b2fe33 100644 --- a/src/tools/esbuild/angular/compiler-plugin.js +++ b/src/tools/esbuild/angular/compiler-plugin.js @@ -47,7 +47,6 @@ exports.createCompilerPlugin = createCompilerPlugin; const node_assert_1 = __importDefault(require("node:assert")); const node_crypto_1 = require("node:crypto"); const path = __importStar(require("node:path")); -const node_url_1 = require("node:url"); const environment_options_1 = require("../../../utils/environment-options"); const compilation_1 = require("../../angular/compilation"); const javascript_transformer_1 = require("../javascript-transformer"); @@ -543,10 +542,6 @@ function createCompilerOptionsTransformer(setupWarnings, pluginOptions, preserve return { ...compilerOptions, noEmitOnError: false, - // Using the path as a URL is necessary here; otherwise, esbuild will not generate source maps correctly. - // https://github.com/evanw/esbuild/issues/4070 - // https://github.com/evanw/esbuild/issues/4075 - outDir: absWorkingDir ? (0, node_url_1.pathToFileURL)(absWorkingDir + '/').href : undefined, inlineSources: !!pluginOptions.sourcemap, inlineSourceMap: !!pluginOptions.sourcemap, sourceMap: undefined, diff --git a/src/tools/esbuild/stylesheets/less-language.js b/src/tools/esbuild/stylesheets/less-language.js index 6b7b156b..80f029c4 100644 --- a/src/tools/esbuild/stylesheets/less-language.js +++ b/src/tools/esbuild/stylesheets/less-language.js @@ -42,8 +42,6 @@ var __importStar = (this && this.__importStar) || (function () { Object.defineProperty(exports, "__esModule", { value: true }); exports.LessStylesheetLanguage = void 0; const promises_1 = require("node:fs/promises"); -const node_path_1 = require("node:path"); -const node_url_1 = require("node:url"); /** * The lazy-loaded instance of the less stylesheet preprocessor. * It is only imported and initialized if a less stylesheet is used. @@ -117,7 +115,7 @@ async function compileString(data, filename, options, resolver, unsafeInlineJava }, }; try { - const { imports, map, css } = await less.render(data, { + const { imports, css } = await less.render(data, { filename, paths: options.includePaths, plugins: [resolverPlugin], @@ -125,15 +123,13 @@ async function compileString(data, filename, options, resolver, unsafeInlineJava javascriptEnabled: unsafeInlineJavaScript, sourceMap: options.sourcemap ? { - sourceMapFileInline: false, + sourceMapFileInline: true, outputSourceFiles: true, } : undefined, }); return { - // There can be cases where `less` will return an undefined `map` even - // though the types do not specify this as a possibility. - contents: map ? `${css}\n${sourceMapToUrlComment(map)}` : css, + contents: css, loader: 'css', watchFiles: [filename, ...imports], }; @@ -186,13 +182,3 @@ function convertExceptionLocation(exception) { lineText: exception.extract && exception.extract[Math.trunc(exception.extract.length / 2)], }; } -function sourceMapToUrlComment(sourceMap) { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const map = JSON.parse(sourceMap); - // Using file URLs instead of paths ensures that esbuild correctly resolves the source map. - // https://github.com/evanw/esbuild/issues/4070 - // https://github.com/evanw/esbuild/issues/4075 - map.sources = map.sources.map((source) => source && (0, node_path_1.isAbsolute)(source) ? (0, node_url_1.pathToFileURL)(source).href : source); - const urlSourceMap = Buffer.from(JSON.stringify(map), 'utf-8').toString('base64'); - return `/*# sourceMappingURL=data:application/json;charset=utf-8;base64,${urlSourceMap} */`; -} diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 2c93ea64..7e581c6c 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.1+sha-b18b9c8'; +const VERSION = '19.2.1+sha-1daccf3'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 9eae558a..94f5cb02 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Fri Mar 07 2025 14:42:08 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Mon Mar 10 2025 12:42:25 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 90ab85d35ef10effab83599a8c8a87d8e740d10f Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Mon, 10 Mar 2025 13:59:33 +0000 Subject: [PATCH 20/78] 83fcffb fix(@angular/build): handle postcss compilation errors gracefully --- package.json | 8 ++++---- .../esbuild/stylesheets/stylesheet-plugin-factory.js | 12 +++++++++++- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 4 files changed, 17 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index ee41b17c..3b099688 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.1+sha-1daccf3", + "version": "19.2.1+sha-83fcffb", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#1daccf3", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#83fcffb", "@babel/core": "7.26.9", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#1daccf3", + "@angular/ssr": "github:angular/angular-ssr-builds#83fcffb", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#1daccf3", + "@angular/ssr": "github:angular/angular-ssr-builds#83fcffb", "karma": { "optional": true }, diff --git a/src/tools/esbuild/stylesheets/stylesheet-plugin-factory.js b/src/tools/esbuild/stylesheets/stylesheet-plugin-factory.js index 4b5a7253..ac61a292 100644 --- a/src/tools/esbuild/stylesheets/stylesheet-plugin-factory.js +++ b/src/tools/esbuild/stylesheets/stylesheet-plugin-factory.js @@ -48,6 +48,7 @@ const fast_glob_1 = __importDefault(require("fast-glob")); const node_assert_1 = __importDefault(require("node:assert")); const promises_1 = require("node:fs/promises"); const node_path_1 = require("node:path"); +const error_1 = require("../../../utils/error"); const load_result_cache_1 = require("../load-result-cache"); /** * The lazy-loaded instance of the postcss stylesheet postprocessor. @@ -313,6 +314,15 @@ async function compileString(data, filename, postcssProcessor, options) { ], }; } - throw error; + else { + (0, error_1.assertIsError)(error); + return { + errors: [ + { + text: error.message, + }, + ], + }; + } } } diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 7e581c6c..e1243c70 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.1+sha-1daccf3'; +const VERSION = '19.2.1+sha-83fcffb'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 94f5cb02..88721907 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Mon Mar 10 2025 12:42:25 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Mon Mar 10 2025 13:59:33 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 131db069ee76fa3ade3f09b0fbb305470b935d3d Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Tue, 11 Mar 2025 14:34:32 +0000 Subject: [PATCH 21/78] e6e8ce9 fix(@angular/ssr): prevent stream draining if `write` does not return a boolean --- package.json | 8 ++++---- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 3b099688..8bced378 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.1+sha-83fcffb", + "version": "19.2.1+sha-e6e8ce9", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#83fcffb", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#e6e8ce9", "@babel/core": "7.26.9", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#83fcffb", + "@angular/ssr": "github:angular/angular-ssr-builds#e6e8ce9", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#83fcffb", + "@angular/ssr": "github:angular/angular-ssr-builds#e6e8ce9", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index e1243c70..5d875aca 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.1+sha-83fcffb'; +const VERSION = '19.2.1+sha-e6e8ce9'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 88721907..f60fbda3 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Mon Mar 10 2025 13:59:33 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Tue Mar 11 2025 14:34:32 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 16e9173dae7d53c37186b642898b15631e376391 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Tue, 11 Mar 2025 15:10:43 +0000 Subject: [PATCH 22/78] 177f356 build: ensure that `tools/legacy-rnjs/node_modules` is ignored --- package.json | 9 +++++---- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 8bced378..f3f1e7ac 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.1+sha-e6e8ce9", + "version": "19.2.1+sha-177f356", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#e6e8ce9", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#177f356", "@babel/core": "7.26.9", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#e6e8ce9", + "@angular/ssr": "github:angular/angular-ssr-builds#177f356", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#e6e8ce9", + "@angular/ssr": "github:angular/angular-ssr-builds#177f356", "karma": { "optional": true }, @@ -97,6 +97,7 @@ "type": "git", "url": "https://github.com/angular/angular-cli.git" }, + "packageManager": "pnpm@9.15.6", "engines": { "node": "^18.19.1 || ^20.11.1 || >=22.0.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 5d875aca..87899b4b 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.1+sha-e6e8ce9'; +const VERSION = '19.2.1+sha-177f356'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index f60fbda3..eb4a28aa 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Tue Mar 11 2025 14:34:32 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Tue Mar 11 2025 15:10:43 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From ea978826a721aef2c651bed8c687bdfcd47b7bba Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Wed, 12 Mar 2025 11:20:13 +0000 Subject: [PATCH 23/78] dc24656 docs: improve developer guide for pnpm and windows --- package.json | 8 ++++---- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index f3f1e7ac..29223770 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.1+sha-177f356", + "version": "19.2.1+sha-dc24656", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#177f356", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#dc24656", "@babel/core": "7.26.9", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#177f356", + "@angular/ssr": "github:angular/angular-ssr-builds#dc24656", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#177f356", + "@angular/ssr": "github:angular/angular-ssr-builds#dc24656", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 87899b4b..e2017ecc 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.1+sha-177f356'; +const VERSION = '19.2.1+sha-dc24656'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index eb4a28aa..e081f660 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Tue Mar 11 2025 15:10:43 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Wed Mar 12 2025 11:20:13 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 2448cd90c2f585af6ab136a41489e18f39212a40 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Wed, 12 Mar 2025 17:35:30 +0000 Subject: [PATCH 24/78] 935cc1d release: cut the v19.2.2 release --- package.json | 8 ++++---- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 29223770..3476590b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.1+sha-dc24656", + "version": "19.2.2+sha-935cc1d", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#dc24656", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#935cc1d", "@babel/core": "7.26.9", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#dc24656", + "@angular/ssr": "github:angular/angular-ssr-builds#935cc1d", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#dc24656", + "@angular/ssr": "github:angular/angular-ssr-builds#935cc1d", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index e2017ecc..cc3277c3 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.1+sha-dc24656'; +const VERSION = '19.2.2+sha-935cc1d'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index e081f660..12f71012 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Wed Mar 12 2025 11:20:13 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Wed Mar 12 2025 17:35:30 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 095ae4d2bfbf9e35ece2a8c3d065df391f814954 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Thu, 13 Mar 2025 08:19:02 +0000 Subject: [PATCH 25/78] 0ee1fc5 build: avoid WSL interop flake when preparing Windows CI environment --- package.json | 8 ++++---- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 3476590b..92863aa7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.2+sha-935cc1d", + "version": "19.2.2+sha-0ee1fc5", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#935cc1d", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#0ee1fc5", "@babel/core": "7.26.9", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#935cc1d", + "@angular/ssr": "github:angular/angular-ssr-builds#0ee1fc5", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#935cc1d", + "@angular/ssr": "github:angular/angular-ssr-builds#0ee1fc5", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index cc3277c3..635af809 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.2+sha-935cc1d'; +const VERSION = '19.2.2+sha-0ee1fc5'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 12f71012..c4ad6b8a 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Wed Mar 12 2025 17:35:30 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Thu Mar 13 2025 08:19:02 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 94f4d8c69a6cac9ecff19e8e1a83a3478e391d53 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Thu, 13 Mar 2025 09:50:54 +0000 Subject: [PATCH 26/78] 5a73982 fix(@angular/build): update babel packages --- package.json | 10 +++++----- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 92863aa7..f10bbbcc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.2+sha-0ee1fc5", + "version": "19.2.2+sha-5a73982", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,8 +23,8 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#0ee1fc5", - "@babel/core": "7.26.9", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#5a73982", + "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", "@babel/plugin-syntax-import-attributes": "7.26.0", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#0ee1fc5", + "@angular/ssr": "github:angular/angular-ssr-builds#5a73982", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#0ee1fc5", + "@angular/ssr": "github:angular/angular-ssr-builds#5a73982", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 635af809..78561375 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.2+sha-0ee1fc5'; +const VERSION = '19.2.2+sha-5a73982'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index c4ad6b8a..8e0fbd41 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Thu Mar 13 2025 08:19:02 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Thu Mar 13 2025 09:50:54 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 45923c8dd1fc152cbdb36823fca1afa62f398a55 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Thu, 13 Mar 2025 10:39:42 +0000 Subject: [PATCH 27/78] e4d1c2a release: cut the v19.2.3 release --- package.json | 8 ++++---- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index f10bbbcc..f094bc16 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.2+sha-5a73982", + "version": "19.2.3+sha-e4d1c2a", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#5a73982", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#e4d1c2a", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#5a73982", + "@angular/ssr": "github:angular/angular-ssr-builds#e4d1c2a", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#5a73982", + "@angular/ssr": "github:angular/angular-ssr-builds#e4d1c2a", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 78561375..7b494ba2 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.2+sha-5a73982'; +const VERSION = '19.2.3+sha-e4d1c2a'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 8e0fbd41..df6fea9a 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Thu Mar 13 2025 09:50:54 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Thu Mar 13 2025 10:39:42 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 08af9e13bbb4c2cecd0dff035a57c99834f6048f Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Thu, 13 Mar 2025 13:58:50 +0000 Subject: [PATCH 28/78] 40b228d docs(@angular-devkit/build-angular): update `forceEsbuild` option description --- package.json | 8 ++++---- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index f094bc16..94e51c01 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.3+sha-e4d1c2a", + "version": "19.2.3+sha-40b228d", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#e4d1c2a", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#40b228d", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#e4d1c2a", + "@angular/ssr": "github:angular/angular-ssr-builds#40b228d", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#e4d1c2a", + "@angular/ssr": "github:angular/angular-ssr-builds#40b228d", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 7b494ba2..a3675f02 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.3+sha-e4d1c2a'; +const VERSION = '19.2.3+sha-40b228d'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index df6fea9a..734b6ff8 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Thu Mar 13 2025 10:39:42 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Thu Mar 13 2025 13:58:50 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 8f271c206253cd5352fe0374254de8adb25b13b6 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Thu, 13 Mar 2025 23:45:48 +0000 Subject: [PATCH 29/78] 7b637fc refactor(@angular/build): define an internal ngHmrMode value --- package.json | 8 ++++---- src/tools/esbuild/application-code-bundle.js | 1 + src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 94e51c01..5ea8aef4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.3+sha-40b228d", + "version": "19.2.3+sha-7b637fc", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#40b228d", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#7b637fc", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#40b228d", + "@angular/ssr": "github:angular/angular-ssr-builds#7b637fc", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#40b228d", + "@angular/ssr": "github:angular/angular-ssr-builds#7b637fc", "karma": { "optional": true }, diff --git a/src/tools/esbuild/application-code-bundle.js b/src/tools/esbuild/application-code-bundle.js index dea33231..4b944861 100644 --- a/src/tools/esbuild/application-code-bundle.js +++ b/src/tools/esbuild/application-code-bundle.js @@ -430,6 +430,7 @@ function getEsBuildCommonOptions(options) { ...(optimizationOptions.scripts ? { 'ngDevMode': 'false' } : undefined), 'ngJitMode': jit ? 'true' : 'false', 'ngServerMode': 'false', + 'ngHmrMode': options.templateUpdates ? 'true' : 'false', }, loader: loaderExtensions, footer, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index a3675f02..d8ee071f 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.3+sha-40b228d'; +const VERSION = '19.2.3+sha-7b637fc'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 734b6ff8..a5cecdd4 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Thu Mar 13 2025 13:58:50 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Thu Mar 13 2025 23:45:48 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 454d2cc92cb6944ac3c771fd1fbe742f5bf8f321 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Fri, 14 Mar 2025 14:48:07 +0000 Subject: [PATCH 30/78] 43706b3 docs: correct bazel e2e commands --- package.json | 8 ++++---- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 5ea8aef4..f50e5c28 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.3+sha-7b637fc", + "version": "19.2.3+sha-43706b3", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#7b637fc", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#43706b3", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#7b637fc", + "@angular/ssr": "github:angular/angular-ssr-builds#43706b3", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#7b637fc", + "@angular/ssr": "github:angular/angular-ssr-builds#43706b3", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index d8ee071f..2c95712b 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.3+sha-7b637fc'; +const VERSION = '19.2.3+sha-43706b3'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index a5cecdd4..462bad65 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Thu Mar 13 2025 23:45:48 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Fri Mar 14 2025 14:48:07 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 7c9da72f48c3e85e2e188ae3be51b6b51cdcf068 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Tue, 18 Mar 2025 13:59:57 +0000 Subject: [PATCH 31/78] 74d54a9 build: improve debugging mode of e2e test runner --- package.json | 8 ++++---- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index f50e5c28..89217fc7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.3+sha-43706b3", + "version": "19.2.3+sha-74d54a9", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#43706b3", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#74d54a9", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#43706b3", + "@angular/ssr": "github:angular/angular-ssr-builds#74d54a9", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#43706b3", + "@angular/ssr": "github:angular/angular-ssr-builds#74d54a9", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 2c95712b..2af4b5c1 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.3+sha-43706b3'; +const VERSION = '19.2.3+sha-74d54a9'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 462bad65..89672cb5 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Fri Mar 14 2025 14:48:07 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Tue Mar 18 2025 13:59:57 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From cf6c916803b5d71e89e9636c2f476183413f9504 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Tue, 18 Mar 2025 14:35:39 +0000 Subject: [PATCH 32/78] 2cd763e fix(@angular/build): ensure relative karma stack traces for test failures --- package.json | 8 ++++---- src/builders/karma/application_builder.js | 16 +++++++++------- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 4 files changed, 15 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index 89217fc7..f7cc913a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.3+sha-74d54a9", + "version": "19.2.3+sha-2cd763e", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#74d54a9", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#2cd763e", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#74d54a9", + "@angular/ssr": "github:angular/angular-ssr-builds#2cd763e", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#74d54a9", + "@angular/ssr": "github:angular/angular-ssr-builds#2cd763e", "karma": { "optional": true }, diff --git a/src/builders/karma/application_builder.js b/src/builders/karma/application_builder.js index 4e590436..251c09e8 100644 --- a/src/builders/karma/application_builder.js +++ b/src/builders/karma/application_builder.js @@ -351,7 +351,8 @@ async function initializeApplication(options, context, karmaOptions, transforms // Write test files await writeTestFiles(buildOutput.files, buildOptions.outputPath); // We need to add this to the beginning *after* the testing framework has - // prepended its files. + // prepended its files. The output path is required for each since they are + // added later in the test process via a plugin. const polyfillsFile = { pattern: `${outputPath}/polyfills.js`, included: true, @@ -366,28 +367,29 @@ async function initializeApplication(options, context, karmaOptions, transforms type: 'module', watched: false, }; + karmaOptions.basePath = outputPath; karmaOptions.files ??= []; if (options.scripts?.length) { // This should be more granular to support named bundles. // However, it replicates the behavior of the Karma Webpack-based builder. karmaOptions.files.push({ - pattern: `${outputPath}/scripts.js`, + pattern: `scripts.js`, watched: false, type: 'js', }); } karmaOptions.files.push( // Serve global setup script. - { pattern: `${outputPath}/${mainName}.js`, type: 'module', watched: false }, + { pattern: `${mainName}.js`, type: 'module', watched: false }, // Serve all source maps. - { pattern: `${outputPath}/*.map`, included: false, watched: false }, + { pattern: `*.map`, included: false, watched: false }, // These are the test entrypoints. - { pattern: `${outputPath}/spec-*.js`, type: 'module', watched: false }); + { pattern: `spec-*.js`, type: 'module', watched: false }); if (hasChunkOrWorkerFiles(buildOutput.files)) { karmaOptions.files.push( // Allow loading of chunk-* files but don't include them all on load. { - pattern: `${outputPath}/{chunk,worker}-*.js`, + pattern: `{chunk,worker}-*.js`, type: 'module', included: false, watched: false, @@ -395,7 +397,7 @@ async function initializeApplication(options, context, karmaOptions, transforms } if (options.styles?.length) { // Serve CSS outputs on page load, these are the global styles. - karmaOptions.files.push({ pattern: `${outputPath}/*.css`, type: 'css', watched: false }); + karmaOptions.files.push({ pattern: `*.css`, type: 'css', watched: false }); } const parsedKarmaConfig = await karma.config.parseConfig(options.karmaConfig && path.resolve(context.workspaceRoot, options.karmaConfig), transforms.karmaOptions ? transforms.karmaOptions(karmaOptions) : karmaOptions, { promiseConfig: true, throwErrors: true }); // Remove the webpack plugin/framework: diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 2af4b5c1..093235b0 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.3+sha-74d54a9'; +const VERSION = '19.2.3+sha-2cd763e'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 89672cb5..49057a52 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Tue Mar 18 2025 13:59:57 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Tue Mar 18 2025 14:35:39 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From f21a1d331d4cb0308017ee70f02c41c4178c32ac Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Wed, 19 Mar 2025 11:13:16 +0000 Subject: [PATCH 33/78] 0a4e96b fix(@schematics/angular): replace `@angular/platform-browser-dynamic` with `@angular/platform-browser` --- package.json | 8 ++++---- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index f7cc913a..23b2acaa 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.3+sha-2cd763e", + "version": "19.2.3+sha-0a4e96b", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#2cd763e", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#0a4e96b", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#2cd763e", + "@angular/ssr": "github:angular/angular-ssr-builds#0a4e96b", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#2cd763e", + "@angular/ssr": "github:angular/angular-ssr-builds#0a4e96b", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 093235b0..2355b3ca 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.3+sha-2cd763e'; +const VERSION = '19.2.3+sha-0a4e96b'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 49057a52..d8870950 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Tue Mar 18 2025 14:35:39 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Wed Mar 19 2025 11:13:16 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From e62c4521928305c5a50ae11d007ffbd4ddec996c Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Wed, 19 Mar 2025 16:37:21 +0000 Subject: [PATCH 34/78] b0b643e fix(@angular/build): ensure errors for missing component resources --- package.json | 8 ++++---- src/tools/angular/angular-host.js | 3 +++ src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 23b2acaa..28ba5f6a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.3+sha-0a4e96b", + "version": "19.2.3+sha-b0b643e", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#0a4e96b", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#b0b643e", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#0a4e96b", + "@angular/ssr": "github:angular/angular-ssr-builds#b0b643e", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#0a4e96b", + "@angular/ssr": "github:angular/angular-ssr-builds#b0b643e", "karma": { "optional": true }, diff --git a/src/tools/angular/angular-host.js b/src/tools/angular/angular-host.js index cb2ea324..4a47a9c2 100644 --- a/src/tools/angular/angular-host.js +++ b/src/tools/angular/angular-host.js @@ -118,6 +118,9 @@ function createAngularCompilerHost(typescript, compilerOptions, hostOptions, pac }; host.resourceNameToFileName = function (resourceName, containingFile) { const resolvedPath = node_path_1.default.join(node_path_1.default.dirname(containingFile), resourceName); + if (!this.fileExists(resolvedPath)) { + return null; + } // All resource names that have template file extensions are assumed to be templates // TODO: Update compiler to provide the resource type to avoid extension matching here. if (!hostOptions.externalStylesheets || hasTemplateExtension(resolvedPath)) { diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 2355b3ca..77bef782 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.3+sha-0a4e96b'; +const VERSION = '19.2.3+sha-b0b643e'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index d8870950..0c780d5f 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Wed Mar 19 2025 11:13:16 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Wed Mar 19 2025 16:37:21 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 4363b6d773d0fff4ec6a118dee71b55039704819 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Wed, 19 Mar 2025 17:52:05 +0000 Subject: [PATCH 35/78] 148023a release: cut the v19.2.4 release --- package.json | 8 ++++---- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 28ba5f6a..9326c23b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.3+sha-b0b643e", + "version": "19.2.4+sha-148023a", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#b0b643e", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#148023a", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#b0b643e", + "@angular/ssr": "github:angular/angular-ssr-builds#148023a", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#b0b643e", + "@angular/ssr": "github:angular/angular-ssr-builds#148023a", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 77bef782..d52bf758 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.3+sha-b0b643e'; +const VERSION = '19.2.4+sha-148023a'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 0c780d5f..6939d569 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Wed Mar 19 2025 16:37:21 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Wed Mar 19 2025 17:52:05 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 97a3b7095e86f9828a9a3301cdc74d3ea85a9392 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Wed, 19 Mar 2025 18:03:30 +0000 Subject: [PATCH 36/78] e2413f5 test: correct test description typos --- package.json | 8 ++++---- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 9326c23b..96886352 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.4+sha-148023a", + "version": "19.2.4+sha-e2413f5", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#148023a", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#e2413f5", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#148023a", + "@angular/ssr": "github:angular/angular-ssr-builds#e2413f5", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#148023a", + "@angular/ssr": "github:angular/angular-ssr-builds#e2413f5", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index d52bf758..89f89c04 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.4+sha-148023a'; +const VERSION = '19.2.4+sha-e2413f5'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 6939d569..9182438d 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Wed Mar 19 2025 17:52:05 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Wed Mar 19 2025 18:03:30 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 964f3c2b6f6cf1560bf27b4d7a5ad4e1580f0829 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Thu, 20 Mar 2025 13:27:43 +0000 Subject: [PATCH 37/78] 20455e2 fix(@angular/build): correct handling of response/request errors --- package.json | 8 ++++---- src/utils/normalize-cache.js | 2 +- src/utils/server-rendering/launch-server.js | 2 +- src/utils/server-rendering/prerender.js | 6 +++--- uniqueId | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 96886352..f021ba31 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.4+sha-e2413f5", + "version": "19.2.4+sha-20455e2", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#e2413f5", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#20455e2", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#e2413f5", + "@angular/ssr": "github:angular/angular-ssr-builds#20455e2", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#e2413f5", + "@angular/ssr": "github:angular/angular-ssr-builds#20455e2", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 89f89c04..18030c37 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.4+sha-e2413f5'; +const VERSION = '19.2.4+sha-20455e2'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/src/utils/server-rendering/launch-server.js b/src/utils/server-rendering/launch-server.js index fcfdd47b..16c899c8 100644 --- a/src/utils/server-rendering/launch-server.js +++ b/src/utils/server-rendering/launch-server.js @@ -34,7 +34,7 @@ async function launchServer() { // handle request if ((0, utils_1.isSsrNodeRequestHandler)(reqHandler)) { await reqHandler(req, res, (e) => { - throw e; + throw e ?? new Error(`Unable to handle request: '${req.url}'.`); }); } else { diff --git a/src/utils/server-rendering/prerender.js b/src/utils/server-rendering/prerender.js index e51d7f3b..27270cc5 100644 --- a/src/utils/server-rendering/prerender.js +++ b/src/utils/server-rendering/prerender.js @@ -54,7 +54,7 @@ async function prerenderPages(workspaceRoot, baseHref, appShellOptions, prerende // Get routes to prerender const { errors: extractionErrors, serializedRouteTree: serializableRouteTreeNode, appShellRoute, } = await getAllRoutes(workspaceRoot, baseHref, outputFilesForWorker, assetsReversed, appShellOptions, prerenderOptions, sourcemap, outputMode).catch((err) => { return { - errors: [`An error occurred while extracting routes.\n\n${err.stack ?? err.message ?? err}`], + errors: [`An error occurred while extracting routes.\n\n${err.message ?? err.stack ?? err}`], serializedRouteTree: [], appShellRoute: undefined, }; @@ -150,7 +150,7 @@ async function renderPages(baseHref, sourcemap, serializableRouteTreeNode, maxTh } }) .catch((err) => { - errors.push(`An error occurred while prerendering route '${route}'.\n\n${err.stack ?? err.message ?? err.code ?? err}`); + errors.push(`An error occurred while prerendering route '${route}'.\n\n${err.message ?? err.stack ?? err.code ?? err}`); void renderWorker.destroy(); }); renderingPromises.push(renderResult); @@ -222,7 +222,7 @@ async function getAllRoutes(workspaceRoot, baseHref, outputFilesForWorker, asset (0, error_1.assertIsError)(err); return { errors: [ - `An error occurred while extracting routes.\n\n${err.stack ?? err.message ?? err.code ?? err}`, + `An error occurred while extracting routes.\n\n${err.message ?? err.stack ?? err.code ?? err}`, ], serializedRouteTree: [], }; diff --git a/uniqueId b/uniqueId index 9182438d..3b5a3311 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Wed Mar 19 2025 18:03:30 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Thu Mar 20 2025 13:27:43 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 78705266f8ae71b6519f3b50d0f2e4c64215aea4 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Fri, 21 Mar 2025 14:07:57 +0000 Subject: [PATCH 38/78] 32b1dcd fix(@angular/build): handle undefined `getOrCreateAngularServerApp` during error compilation --- package.json | 8 ++++---- src/tools/vite/middlewares/ssr-middleware.js | 9 +++++---- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index f021ba31..e022f589 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.4+sha-20455e2", + "version": "19.2.4+sha-32b1dcd", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#20455e2", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#32b1dcd", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#20455e2", + "@angular/ssr": "github:angular/angular-ssr-builds#32b1dcd", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#20455e2", + "@angular/ssr": "github:angular/angular-ssr-builds#32b1dcd", "karma": { "optional": true }, diff --git a/src/tools/vite/middlewares/ssr-middleware.js b/src/tools/vite/middlewares/ssr-middleware.js index 40ab7573..270dfc6d 100644 --- a/src/tools/vite/middlewares/ssr-middleware.js +++ b/src/tools/vite/middlewares/ssr-middleware.js @@ -22,11 +22,12 @@ function createAngularSsrInternalMiddleware(server, indexHtmlTransformer) { // which must be processed by the runtime linker, even if they are not used. await (0, load_esm_1.loadEsmModule)('@angular/compiler'); const { writeResponseToNodeResponse, createWebRequestFromNodeRequest } = await (0, load_esm_1.loadEsmModule)('@angular/ssr/node'); - // The following is necessary because accessing the module after invalidation may result in an empty module, - // which can trigger a `TypeError: ɵgetOrCreateAngularServerApp is not a function` error. - // TODO: look into why. - await server.ssrLoadModule('/main.server.mjs'); const { ɵgetOrCreateAngularServerApp } = (await server.ssrLoadModule('/main.server.mjs')); + // `ɵgetOrCreateAngularServerApp` can be undefined right after an error. + // See: https://github.com/angular/angular-cli/issues/29907 + if (!ɵgetOrCreateAngularServerApp) { + return next(); + } const angularServerApp = ɵgetOrCreateAngularServerApp({ allowStaticRouteRender: true, }); diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 18030c37..4c9a6db5 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.4+sha-20455e2'; +const VERSION = '19.2.4+sha-32b1dcd'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 3b5a3311..6af9a052 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Thu Mar 20 2025 13:27:43 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Fri Mar 21 2025 14:07:57 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 7a13169fca640e1b0d4331c78b2eae2876925d1a Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Tue, 25 Mar 2025 08:09:28 +0000 Subject: [PATCH 39/78] 7552a9f fix(@angular/build): normalize karma asset paths before lookup --- package.json | 8 ++++---- src/builders/karma/application_builder.js | 9 ++++++++- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index e022f589..d2b5b160 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.4+sha-32b1dcd", + "version": "19.2.4+sha-7552a9f", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#32b1dcd", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#7552a9f", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#32b1dcd", + "@angular/ssr": "github:angular/angular-ssr-builds#7552a9f", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#32b1dcd", + "@angular/ssr": "github:angular/angular-ssr-builds#7552a9f", "karma": { "optional": true }, diff --git a/src/builders/karma/application_builder.js b/src/builders/karma/application_builder.js index 251c09e8..0785db3c 100644 --- a/src/builders/karma/application_builder.js +++ b/src/builders/karma/application_builder.js @@ -55,6 +55,7 @@ const bundler_context_1 = require("../../tools/esbuild/bundler-context"); const schema_1 = require("../application/schema"); const find_tests_1 = require("./find-tests"); const localResolve = (0, node_module_1.createRequire)(__filename).resolve; +const isWindows = process.platform === 'win32'; class ApplicationBuildError extends Error { constructor(message) { super(message); @@ -75,7 +76,13 @@ class AngularAssetsMiddleware { let err = null; try { const url = new URL(`http://${req.headers['host']}${req.url}`); - const file = this.latestBuildFiles.files[url.pathname.slice(1)]; + // Remove the leading slash from the URL path and convert to platform specific. + // The latest build files will use the platform path separator. + let pathname = url.pathname.slice(1); + if (isWindows) { + pathname = pathname.replaceAll(path.posix.sep, path.win32.sep); + } + const file = this.latestBuildFiles.files[pathname]; if (file?.origin === 'disk') { this.serveFile(file.inputPath, undefined, res); return; diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 4c9a6db5..93cb5c4b 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.4+sha-32b1dcd'; +const VERSION = '19.2.4+sha-7552a9f'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 6af9a052..1ed6ac10 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Fri Mar 21 2025 14:07:57 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Tue Mar 25 2025 08:09:28 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 78b21b519827de60d5e64d223a7c46282cb970ba Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Wed, 26 Mar 2025 08:49:32 +0000 Subject: [PATCH 40/78] 1eb5b43 fix(@angular/build): update vite to 6.2.3 --- package.json | 10 +++++----- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index d2b5b160..a18f2fe6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.4+sha-7552a9f", + "version": "19.2.4+sha-1eb5b43", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#7552a9f", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#1eb5b43", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -46,7 +46,7 @@ "sass": "1.85.0", "semver": "7.7.1", "source-map-support": "0.5.21", - "vite": "6.2.0", + "vite": "6.2.3", "watchpack": "2.4.2" }, "optionalDependencies": { @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#7552a9f", + "@angular/ssr": "github:angular/angular-ssr-builds#1eb5b43", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#7552a9f", + "@angular/ssr": "github:angular/angular-ssr-builds#1eb5b43", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 93cb5c4b..ddb74586 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.4+sha-7552a9f'; +const VERSION = '19.2.4+sha-1eb5b43'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 1ed6ac10..cc3dbf21 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Tue Mar 25 2025 08:09:28 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Wed Mar 26 2025 08:49:31 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 30f11e18a6d3759d8c813c9208288b47e04003a8 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Wed, 26 Mar 2025 10:32:22 +0000 Subject: [PATCH 41/78] ab0bdce release: cut the v19.2.5 release --- package.json | 8 ++++---- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index a18f2fe6..09d9737e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.4+sha-1eb5b43", + "version": "19.2.5+sha-ab0bdce", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#1eb5b43", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#ab0bdce", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#1eb5b43", + "@angular/ssr": "github:angular/angular-ssr-builds#ab0bdce", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#1eb5b43", + "@angular/ssr": "github:angular/angular-ssr-builds#ab0bdce", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index ddb74586..97e3c27d 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.4+sha-1eb5b43'; +const VERSION = '19.2.5+sha-ab0bdce'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index cc3dbf21..59856963 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Wed Mar 26 2025 08:49:31 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Wed Mar 26 2025 10:32:22 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 3f5576b9155b1a7995309b3e99c6ab903ca94b2f Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Wed, 26 Mar 2025 17:18:07 +0000 Subject: [PATCH 42/78] d556d32 build: disable remote upload of local action results to RBE cache --- package.json | 8 ++++---- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 09d9737e..79880cf8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.5+sha-ab0bdce", + "version": "19.2.5+sha-d556d32", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#ab0bdce", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#d556d32", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#ab0bdce", + "@angular/ssr": "github:angular/angular-ssr-builds#d556d32", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#ab0bdce", + "@angular/ssr": "github:angular/angular-ssr-builds#d556d32", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 97e3c27d..29e4cbee 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.5+sha-ab0bdce'; +const VERSION = '19.2.5+sha-d556d32'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 59856963..4323ab2a 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Wed Mar 26 2025 10:32:22 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Wed Mar 26 2025 17:18:07 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From fc43e6c49eb0933c7f1eb3e2a2d276834545db91 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Thu, 27 Mar 2025 18:58:11 +0000 Subject: [PATCH 43/78] cac7f3c ci: update bazel RBE setup on CI and use trusted build configuration for upstream CI runs --- package.json | 8 ++++---- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 79880cf8..31a3d3e1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.5+sha-d556d32", + "version": "19.2.5+sha-cac7f3c", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#d556d32", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#cac7f3c", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#d556d32", + "@angular/ssr": "github:angular/angular-ssr-builds#cac7f3c", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#d556d32", + "@angular/ssr": "github:angular/angular-ssr-builds#cac7f3c", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 29e4cbee..88d06e7b 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.5+sha-d556d32'; +const VERSION = '19.2.5+sha-cac7f3c'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 4323ab2a..721903d3 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Wed Mar 26 2025 17:18:07 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Thu Mar 27 2025 18:58:11 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 0536c7ecd3111e5b4aed4bd4539e47308c956656 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Mon, 31 Mar 2025 11:01:14 +0000 Subject: [PATCH 44/78] 76cfd36 fix(@angular/build): correctly handle `false` value in server option --- package.json | 8 ++++---- src/builders/application/options.js | 8 ++++---- src/builders/application/schema.d.ts | 9 ++++++--- src/builders/application/schema.json | 1 - src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 6 files changed, 16 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index 31a3d3e1..63afdba5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.5+sha-cac7f3c", + "version": "19.2.5+sha-76cfd36", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#cac7f3c", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#76cfd36", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#cac7f3c", + "@angular/ssr": "github:angular/angular-ssr-builds#76cfd36", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#cac7f3c", + "@angular/ssr": "github:angular/angular-ssr-builds#76cfd36", "karma": { "optional": true }, diff --git a/src/builders/application/options.js b/src/builders/application/options.js index 563c71ac..863e152e 100644 --- a/src/builders/application/options.js +++ b/src/builders/application/options.js @@ -132,12 +132,12 @@ async function normalizeOptions(context, projectName, options, extensions) { ? undefined : await getTailwindConfig(searchDirectories, workspaceRoot, context); let serverEntryPoint; - if (options.server) { + if (typeof options.server === 'string') { + if (options.server === '') { + throw new Error('The "server" option cannot be an empty string.'); + } serverEntryPoint = node_path_1.default.join(workspaceRoot, options.server); } - else if (options.server === '') { - throw new Error('The "server" option cannot be an empty string.'); - } let prerenderOptions; if (options.prerender) { const { discoverRoutes = true, routesFile = undefined } = options.prerender === true ? {} : options.prerender; diff --git a/src/builders/application/schema.d.ts b/src/builders/application/schema.d.ts index 907ad244..47a1cee8 100644 --- a/src/builders/application/schema.d.ts +++ b/src/builders/application/schema.d.ts @@ -163,11 +163,11 @@ export type Schema = { * The full path for the server entry point to the application, relative to the current * workspace. */ - server?: string; + server?: Serv; /** * Generates a service worker configuration. */ - serviceWorker?: ServiceWorker; + serviceWorker?: Serv; /** * Output source maps for scripts and styles. For more information, see * https://angular.dev/reference/configs/workspace-config#source-map-configuration. @@ -496,9 +496,12 @@ export type AutoCspClass = { unsafeEval?: boolean; }; /** + * The full path for the server entry point to the application, relative to the current + * workspace. + * * Generates a service worker configuration. */ -export type ServiceWorker = boolean | string; +export type Serv = boolean | string; /** * Output source maps for scripts and styles. For more information, see * https://angular.dev/reference/configs/workspace-config#source-map-configuration. diff --git a/src/builders/application/schema.json b/src/builders/application/schema.json index d990e3a3..e2bf1f3a 100644 --- a/src/builders/application/schema.json +++ b/src/builders/application/schema.json @@ -17,7 +17,6 @@ "description": "The full path for the browser entry point to the application, relative to the current workspace." }, "server": { - "type": "string", "description": "The full path for the server entry point to the application, relative to the current workspace.", "oneOf": [ { diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 88d06e7b..b6e4babf 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.5+sha-cac7f3c'; +const VERSION = '19.2.5+sha-76cfd36'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 721903d3..9827bdab 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Thu Mar 27 2025 18:58:11 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Mon Mar 31 2025 11:01:14 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 235c64e816faaf21b9bb8d77dd68ebf9bd6d8cbb Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Tue, 1 Apr 2025 13:09:11 +0000 Subject: [PATCH 45/78] e5aec56 fix(@angular-devkit/schematics): properly resolve relative schematics when executed from a nested directory --- package.json | 8 ++++---- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 63afdba5..8dd788d2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.5+sha-76cfd36", + "version": "19.2.5+sha-e5aec56", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#76cfd36", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#e5aec56", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#76cfd36", + "@angular/ssr": "github:angular/angular-ssr-builds#e5aec56", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#76cfd36", + "@angular/ssr": "github:angular/angular-ssr-builds#e5aec56", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index b6e4babf..6485c6c3 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.5+sha-76cfd36'; +const VERSION = '19.2.5+sha-e5aec56'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 9827bdab..fb4abd63 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Mon Mar 31 2025 11:01:14 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Tue Apr 01 2025 13:09:11 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 0083d34f4d3e4fbc64d60dc3eaa091eddf015093 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Tue, 1 Apr 2025 18:39:38 +0000 Subject: [PATCH 46/78] 61ee961 build: setup `rules_esbuild` in preparation for `devinfra` update --- package.json | 8 ++++---- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 8dd788d2..ed276b66 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.5+sha-e5aec56", + "version": "19.2.5+sha-61ee961", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#e5aec56", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#61ee961", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#e5aec56", + "@angular/ssr": "github:angular/angular-ssr-builds#61ee961", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#e5aec56", + "@angular/ssr": "github:angular/angular-ssr-builds#61ee961", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 6485c6c3..721ab325 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.5+sha-e5aec56'; +const VERSION = '19.2.5+sha-61ee961'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index fb4abd63..92c13111 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Tue Apr 01 2025 13:09:11 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Tue Apr 01 2025 18:39:38 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 8d66a1c75dd7e4e38d0da3b633a695ee47362ecc Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Wed, 2 Apr 2025 13:42:43 +0000 Subject: [PATCH 47/78] d69188c fix(@angular/build): update vite to 6.2.4 due to a security issues --- package.json | 10 +++++----- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index ed276b66..51dcde6b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.5+sha-61ee961", + "version": "19.2.5+sha-d69188c", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#61ee961", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#d69188c", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -46,7 +46,7 @@ "sass": "1.85.0", "semver": "7.7.1", "source-map-support": "0.5.21", - "vite": "6.2.3", + "vite": "6.2.4", "watchpack": "2.4.2" }, "optionalDependencies": { @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#61ee961", + "@angular/ssr": "github:angular/angular-ssr-builds#d69188c", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#61ee961", + "@angular/ssr": "github:angular/angular-ssr-builds#d69188c", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 721ab325..960fc35d 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.5+sha-61ee961'; +const VERSION = '19.2.5+sha-d69188c'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 92c13111..a8e1c29b 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Tue Apr 01 2025 18:39:38 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Wed Apr 02 2025 13:42:43 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 77648d950eff91432f4d45241a7f9b25e8b2dfae Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Wed, 2 Apr 2025 17:12:48 +0000 Subject: [PATCH 48/78] f3d6159 release: cut the v19.2.6 release --- package.json | 8 ++++---- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 51dcde6b..f2f71c0c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.5+sha-d69188c", + "version": "19.2.6+sha-f3d6159", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#d69188c", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#f3d6159", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#d69188c", + "@angular/ssr": "github:angular/angular-ssr-builds#f3d6159", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#d69188c", + "@angular/ssr": "github:angular/angular-ssr-builds#f3d6159", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 960fc35d..07a4ea99 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.5+sha-d69188c'; +const VERSION = '19.2.6+sha-f3d6159'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index a8e1c29b..d111b780 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Wed Apr 02 2025 13:42:43 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Wed Apr 02 2025 17:12:48 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 1ae345ad293a0658d26f958ffcf34b4ba3ccff55 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Thu, 3 Apr 2025 18:43:20 +0000 Subject: [PATCH 49/78] 7f1e8c6 fix(@angular/build): include component test metadata in development builds --- package.json | 8 ++++---- src/tools/esbuild/angular/compiler-plugin.d.ts | 1 + src/tools/esbuild/angular/compiler-plugin.js | 5 +++-- src/tools/esbuild/compiler-plugin-options.js | 3 ++- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 6 files changed, 12 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index f2f71c0c..33988900 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.6+sha-f3d6159", + "version": "19.2.6+sha-7f1e8c6", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#f3d6159", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#7f1e8c6", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#f3d6159", + "@angular/ssr": "github:angular/angular-ssr-builds#7f1e8c6", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#f3d6159", + "@angular/ssr": "github:angular/angular-ssr-builds#7f1e8c6", "karma": { "optional": true }, diff --git a/src/tools/esbuild/angular/compiler-plugin.d.ts b/src/tools/esbuild/angular/compiler-plugin.d.ts index 7fb0bb9e..f7484597 100644 --- a/src/tools/esbuild/angular/compiler-plugin.d.ts +++ b/src/tools/esbuild/angular/compiler-plugin.d.ts @@ -14,6 +14,7 @@ export interface CompilerPluginOptions { sourcemap: boolean | 'external'; tsconfig: string; jit?: boolean; + includeTestMetadata?: boolean; advancedOptimizations?: boolean; thirdPartySourcemaps?: boolean; fileReplacements?: Record; diff --git a/src/tools/esbuild/angular/compiler-plugin.js b/src/tools/esbuild/angular/compiler-plugin.js index 75b2fe33..7c99b37d 100644 --- a/src/tools/esbuild/angular/compiler-plugin.js +++ b/src/tools/esbuild/angular/compiler-plugin.js @@ -233,7 +233,7 @@ function createCompilerPlugin(pluginOptions, compilationOrFactory, stylesheetBun let referencedFiles; let externalStylesheets; try { - const initializationResult = await compilation.initialize(pluginOptions.tsconfig, hostOptions, createCompilerOptionsTransformer(setupWarnings, pluginOptions, preserveSymlinks, build.initialOptions.conditions, build.initialOptions.absWorkingDir)); + const initializationResult = await compilation.initialize(pluginOptions.tsconfig, hostOptions, createCompilerOptionsTransformer(setupWarnings, pluginOptions, preserveSymlinks, build.initialOptions.conditions)); shouldTsIgnoreJs = !initializationResult.compilerOptions.allowJs; // Isolated modules option ensures safe non-TypeScript transpilation. // Typescript printing support for sourcemaps is not yet integrated. @@ -474,7 +474,7 @@ async function bundleExternalStylesheet(stylesheetBundler, stylesheetFile, exter }); } } -function createCompilerOptionsTransformer(setupWarnings, pluginOptions, preserveSymlinks, customConditions, absWorkingDir) { +function createCompilerOptionsTransformer(setupWarnings, pluginOptions, preserveSymlinks, customConditions) { return (compilerOptions) => { // target of 9 is ES2022 (using the number avoids an expensive import of typescript just for an enum) if (compilerOptions.target === undefined || compilerOptions.target < 9 /** ES2022 */) { @@ -550,6 +550,7 @@ function createCompilerOptionsTransformer(setupWarnings, pluginOptions, preserve preserveSymlinks, externalRuntimeStyles: pluginOptions.externalRuntimeStyles, _enableHmr: !!pluginOptions.templateUpdates, + supportTestBed: !!pluginOptions.includeTestMetadata, }; }; } diff --git a/src/tools/esbuild/compiler-plugin-options.js b/src/tools/esbuild/compiler-plugin-options.js index 3bc2dbf1..22adab19 100644 --- a/src/tools/esbuild/compiler-plugin-options.js +++ b/src/tools/esbuild/compiler-plugin-options.js @@ -9,7 +9,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.createCompilerPluginOptions = createCompilerPluginOptions; function createCompilerPluginOptions(options, sourceFileCache, loadResultCache, templateUpdates) { - const { sourcemapOptions, tsconfig, fileReplacements, advancedOptimizations, jit, externalRuntimeStyles, instrumentForCoverage, } = options; + const { sourcemapOptions, tsconfig, fileReplacements, advancedOptimizations, jit, externalRuntimeStyles, instrumentForCoverage, optimizationOptions, } = options; const incremental = !!options.watch; return { sourcemap: !!sourcemapOptions.scripts && (sourcemapOptions.hidden ? 'external' : true), @@ -24,5 +24,6 @@ function createCompilerPluginOptions(options, sourceFileCache, loadResultCache, externalRuntimeStyles, instrumentForCoverage, templateUpdates, + includeTestMetadata: !optimizationOptions.scripts, }; } diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 07a4ea99..86178df9 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.6+sha-f3d6159'; +const VERSION = '19.2.6+sha-7f1e8c6'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index d111b780..56a1a560 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Wed Apr 02 2025 17:12:48 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Thu Apr 03 2025 18:43:20 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 8c6f20642672428d0e65926e25fd12ac8764a369 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Mon, 7 Apr 2025 17:06:05 +0000 Subject: [PATCH 50/78] 74cd4ed fix(@angular/build): skip normalization of relative externals --- package.json | 8 ++++---- src/builders/application/options.js | 6 +++++- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 33988900..f76848c3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.6+sha-7f1e8c6", + "version": "19.2.6+sha-74cd4ed", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#7f1e8c6", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#74cd4ed", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#7f1e8c6", + "@angular/ssr": "github:angular/angular-ssr-builds#74cd4ed", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#7f1e8c6", + "@angular/ssr": "github:angular/angular-ssr-builds#74cd4ed", "karma": { "optional": true }, diff --git a/src/builders/application/options.js b/src/builders/application/options.js index 863e152e..0c2ffcd4 100644 --- a/src/builders/application/options.js +++ b/src/builders/application/options.js @@ -468,5 +468,9 @@ function normalizeExternals(value) { if (!value) { return undefined; } - return [...new Set(value.map((d) => (d.endsWith('/*') ? d.slice(0, -2) : d)))]; + return [ + ...new Set(value.map((d) => + // remove "/*" wildcard in the end if provided string is not path-like + d.endsWith('/*') && !/^\.{0,2}\//.test(d) ? d.slice(0, -2) : d)), + ]; } diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 86178df9..a12182fd 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.6+sha-7f1e8c6'; +const VERSION = '19.2.6+sha-74cd4ed'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 56a1a560..cb674b1b 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Thu Apr 03 2025 18:43:20 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Mon Apr 07 2025 17:06:05 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 117b504081e1b693e1b4970caaeb2ee73dd3feba Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Tue, 8 Apr 2025 11:02:03 +0000 Subject: [PATCH 51/78] f4021e6 build: update `beasties` to `0.3.2` --- package.json | 10 +++++----- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index f76848c3..1d72ab8d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.6+sha-74cd4ed", + "version": "19.2.6+sha-f4021e6", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,14 +23,14 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#74cd4ed", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#f4021e6", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", "@babel/plugin-syntax-import-attributes": "7.26.0", "@inquirer/confirm": "5.1.6", "@vitejs/plugin-basic-ssl": "1.2.0", - "beasties": "0.2.0", + "beasties": "0.3.2", "browserslist": "^4.23.0", "esbuild": "0.25.1", "fast-glob": "3.3.3", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#74cd4ed", + "@angular/ssr": "github:angular/angular-ssr-builds#f4021e6", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#74cd4ed", + "@angular/ssr": "github:angular/angular-ssr-builds#f4021e6", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index a12182fd..4a0355e5 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.6+sha-74cd4ed'; +const VERSION = '19.2.6+sha-f4021e6'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index cb674b1b..1af0b505 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Mon Apr 07 2025 17:06:05 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Tue Apr 08 2025 11:02:03 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 78d763ea6a2a08187a7c03f7d73e75311efc4f2d Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Tue, 8 Apr 2025 13:50:59 +0000 Subject: [PATCH 52/78] 71537c8 build: update vite to 6.2.5 --- package.json | 10 +++++----- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 1d72ab8d..119ae283 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.6+sha-f4021e6", + "version": "19.2.6+sha-71537c8", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#f4021e6", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#71537c8", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -46,7 +46,7 @@ "sass": "1.85.0", "semver": "7.7.1", "source-map-support": "0.5.21", - "vite": "6.2.4", + "vite": "6.2.5", "watchpack": "2.4.2" }, "optionalDependencies": { @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#f4021e6", + "@angular/ssr": "github:angular/angular-ssr-builds#71537c8", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#f4021e6", + "@angular/ssr": "github:angular/angular-ssr-builds#71537c8", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 4a0355e5..13f7dabe 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.6+sha-f4021e6'; +const VERSION = '19.2.6+sha-71537c8'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 1af0b505..8076aec7 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Tue Apr 08 2025 11:02:03 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Tue Apr 08 2025 13:50:59 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 79b40130b7bedfa48849de342f661f0b3104ee86 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Wed, 9 Apr 2025 18:46:57 +0000 Subject: [PATCH 53/78] e0b1bed release: cut the v19.2.7 release --- package.json | 8 ++++---- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 119ae283..dc947f79 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.6+sha-71537c8", + "version": "19.2.7+sha-e0b1bed", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#71537c8", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#e0b1bed", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#71537c8", + "@angular/ssr": "github:angular/angular-ssr-builds#e0b1bed", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#71537c8", + "@angular/ssr": "github:angular/angular-ssr-builds#e0b1bed", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 13f7dabe..c228203d 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.6+sha-71537c8'; +const VERSION = '19.2.7+sha-e0b1bed'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 8076aec7..4806fa0e 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Tue Apr 08 2025 13:50:59 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Wed Apr 09 2025 18:46:57 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 4307939477a29441b8475192a75381c2c8673259 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Thu, 10 Apr 2025 16:45:35 +0000 Subject: [PATCH 54/78] a297c41 fix(@angular/build): properly resolve transitive external dependencies in vite-dev-server --- package.json | 8 ++++---- src/builders/dev-server/vite-server.js | 5 +++-- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index dc947f79..bbb53ff2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.7+sha-e0b1bed", + "version": "19.2.7+sha-a297c41", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#e0b1bed", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#a297c41", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#e0b1bed", + "@angular/ssr": "github:angular/angular-ssr-builds#a297c41", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#e0b1bed", + "@angular/ssr": "github:angular/angular-ssr-builds#a297c41", "karma": { "optional": true }, diff --git a/src/builders/dev-server/vite-server.js b/src/builders/dev-server/vite-server.js index 09f6e661..9ca9a8c4 100644 --- a/src/builders/dev-server/vite-server.js +++ b/src/builders/dev-server/vite-server.js @@ -253,8 +253,9 @@ async function* serveWithVite(serverOptions, builderName, builderAction, context externalMetadata.explicitServer.length = 0; externalMetadata.implicitServer.length = 0; externalMetadata.implicitBrowser.length = 0; - externalMetadata.explicitBrowser.push(...explicit); - externalMetadata.explicitServer.push(...explicit, ...node_module_1.builtinModules); + const externalDeps = browserOptions.externalDependencies ?? []; + externalMetadata.explicitBrowser.push(...explicit, ...externalDeps); + externalMetadata.explicitServer.push(...explicit, ...externalDeps, ...node_module_1.builtinModules); externalMetadata.implicitServer.push(...implicitServerFiltered); externalMetadata.implicitBrowser.push(...implicitBrowserFiltered); // The below needs to be sorted as Vite uses these options are part of the hashing invalidation algorithm. diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index c228203d..ce647725 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.7+sha-e0b1bed'; +const VERSION = '19.2.7+sha-a297c41'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 4806fa0e..a587d97f 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Wed Apr 09 2025 18:46:57 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Thu Apr 10 2025 16:45:35 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From e45015643d3e82918e926dfa0e7f90082b028199 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Fri, 11 Apr 2025 18:12:45 +0000 Subject: [PATCH 55/78] 4a8a4a0 fix(@angular/build): include `module` value check when adding custom conditions --- package.json | 8 ++++---- src/tools/esbuild/angular/compiler-plugin.js | 3 ++- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index bbb53ff2..0997e160 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.7+sha-a297c41", + "version": "19.2.7+sha-4a8a4a0", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#a297c41", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#4a8a4a0", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#a297c41", + "@angular/ssr": "github:angular/angular-ssr-builds#4a8a4a0", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#a297c41", + "@angular/ssr": "github:angular/angular-ssr-builds#4a8a4a0", "karma": { "optional": true }, diff --git a/src/tools/esbuild/angular/compiler-plugin.js b/src/tools/esbuild/angular/compiler-plugin.js index 7c99b37d..f82c25b0 100644 --- a/src/tools/esbuild/angular/compiler-plugin.js +++ b/src/tools/esbuild/angular/compiler-plugin.js @@ -536,7 +536,8 @@ function createCompilerOptionsTransformer(setupWarnings, pluginOptions, preserve } // Synchronize custom resolve conditions. // Set if using the supported bundler resolution mode (bundler is the default in new projects) - if (compilerOptions.moduleResolution === 100 /* ModuleResolutionKind.Bundler */) { + if (compilerOptions.moduleResolution === 100 /* ModuleResolutionKind.Bundler */ || + compilerOptions.module === 200 /** ModuleKind.Preserve */) { compilerOptions.customConditions = customConditions; } return { diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index ce647725..5fff2438 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.7+sha-a297c41'; +const VERSION = '19.2.7+sha-4a8a4a0'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index a587d97f..86a94089 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Thu Apr 10 2025 16:45:35 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Fri Apr 11 2025 18:12:45 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 4bc11982f927cef50962dff136a68790228db3da Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Tue, 15 Apr 2025 08:22:33 +0000 Subject: [PATCH 56/78] 00cd0d1 fix(@angular/build): prevent nested CSS in components --- package.json | 10 +++++----- src/tools/esbuild/angular/component-stylesheets.js | 8 ++++++++ src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 0997e160..57d17ab6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.7+sha-4a8a4a0", + "version": "19.2.7+sha-00cd0d1", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#4a8a4a0", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#00cd0d1", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -46,7 +46,7 @@ "sass": "1.85.0", "semver": "7.7.1", "source-map-support": "0.5.21", - "vite": "6.2.5", + "vite": "6.2.6", "watchpack": "2.4.2" }, "optionalDependencies": { @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#4a8a4a0", + "@angular/ssr": "github:angular/angular-ssr-builds#00cd0d1", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#4a8a4a0", + "@angular/ssr": "github:angular/angular-ssr-builds#00cd0d1", "karma": { "optional": true }, diff --git a/src/tools/esbuild/angular/component-stylesheets.js b/src/tools/esbuild/angular/component-stylesheets.js index 883de8fd..2e31ab5c 100644 --- a/src/tools/esbuild/angular/component-stylesheets.js +++ b/src/tools/esbuild/angular/component-stylesheets.js @@ -58,6 +58,10 @@ class ComponentStylesheetBundler { else { buildOptions.entryPoints = [entry]; } + // Angular encapsulation does not support nesting + // See: https://github.com/angular/angular/issues/58996 + buildOptions.supported ??= {}; + buildOptions.supported['nesting'] = false; return buildOptions; }); }); @@ -89,6 +93,10 @@ class ComponentStylesheetBundler { else { buildOptions.entryPoints = [`${namespace};${entry}`]; } + // Angular encapsulation does not support nesting + // See: https://github.com/angular/angular/issues/58996 + buildOptions.supported ??= {}; + buildOptions.supported['nesting'] = false; buildOptions.plugins.push({ name: 'angular-component-styles', setup(build) { diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 5fff2438..98d050b8 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.7+sha-4a8a4a0'; +const VERSION = '19.2.7+sha-00cd0d1'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 86a94089..93f97068 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Fri Apr 11 2025 18:12:45 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Tue Apr 15 2025 08:22:33 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From b7e7fb8e650dbf2c79d36786c780cd87f8356ae4 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Tue, 15 Apr 2025 21:12:17 +0000 Subject: [PATCH 57/78] 03a420b refactor(@angular/build): use `ngHmrMode` define for Vite prebundling --- package.json | 8 ++++---- src/builders/dev-server/vite-server.js | 5 ++++- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 57d17ab6..c88cbf94 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.7+sha-00cd0d1", + "version": "19.2.7+sha-03a420b", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#00cd0d1", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#03a420b", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#00cd0d1", + "@angular/ssr": "github:angular/angular-ssr-builds#03a420b", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#00cd0d1", + "@angular/ssr": "github:angular/angular-ssr-builds#03a420b", "karma": { "optional": true }, diff --git a/src/builders/dev-server/vite-server.js b/src/builders/dev-server/vite-server.js index 9ca9a8c4..4bbdb568 100644 --- a/src/builders/dev-server/vite-server.js +++ b/src/builders/dev-server/vite-server.js @@ -314,7 +314,10 @@ async function* serveWithVite(serverOptions, builderName, builderAction, context }); } // Setup server and start listening - const serverConfiguration = await setupServer(serverOptions, generatedFiles, assetFiles, browserOptions.preserveSymlinks, externalMetadata, ssrMode, prebundleTransformer, target, (0, internal_1.isZonelessApp)(polyfills), componentStyles, templateUpdates, browserOptions.loader, browserOptions.define, extensions?.middleware, transformers?.indexHtml, thirdPartySourcemaps); + const serverConfiguration = await setupServer(serverOptions, generatedFiles, assetFiles, browserOptions.preserveSymlinks, externalMetadata, ssrMode, prebundleTransformer, target, (0, internal_1.isZonelessApp)(polyfills), componentStyles, templateUpdates, browserOptions.loader, { + ...browserOptions.define, + 'ngHmrMode': browserOptions.templateUpdates ? 'true' : 'false', + }, extensions?.middleware, transformers?.indexHtml, thirdPartySourcemaps); server = await createServer(serverConfiguration); await server.listen(); // Setup builder context logging for browser clients diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 98d050b8..34853e90 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.7+sha-00cd0d1'; +const VERSION = '19.2.7+sha-03a420b'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 93f97068..ee1be6d4 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Tue Apr 15 2025 08:22:33 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Tue Apr 15 2025 21:12:17 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 16739c3e7335bf778ca59ab9ef5bef216fc4f208 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Wed, 16 Apr 2025 15:26:33 +0000 Subject: [PATCH 58/78] cc5229a fix(@angular/build): pass `preserveSymlinks` option to Karma esbuild builder --- package.json | 8 ++++---- src/builders/karma/application_builder.js | 1 + src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index c88cbf94..9efd96b5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.7+sha-03a420b", + "version": "19.2.8+sha-cc5229a", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#03a420b", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#cc5229a", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#03a420b", + "@angular/ssr": "github:angular/angular-ssr-builds#cc5229a", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#03a420b", + "@angular/ssr": "github:angular/angular-ssr-builds#cc5229a", "karma": { "optional": true }, diff --git a/src/builders/karma/application_builder.js b/src/builders/karma/application_builder.js index 0785db3c..3fa83e55 100644 --- a/src/builders/karma/application_builder.js +++ b/src/builders/karma/application_builder.js @@ -323,6 +323,7 @@ async function initializeApplication(options, context, karmaOptions, transforms entryPoints, tsConfig: options.tsConfig, outputPath, + preserveSymlinks: options.preserveSymlinks, aot: options.aot, index: false, outputHashing: schema_1.OutputHashing.None, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 34853e90..fd3a7d0c 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.7+sha-03a420b'; +const VERSION = '19.2.8+sha-cc5229a'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index ee1be6d4..a32e889a 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Tue Apr 15 2025 21:12:17 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Wed Apr 16 2025 15:26:33 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 3177cd49e1a8ec7eecbcff89662653f2984062d2 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Thu, 17 Apr 2025 16:09:58 +0000 Subject: [PATCH 59/78] 36d2644 refactor: replace usage of ng_package with new ng_package from rules_angular --- package.json | 8 ++++---- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 9efd96b5..ace0a186 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.8+sha-cc5229a", + "version": "19.2.8+sha-36d2644", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -23,7 +23,7 @@ "builders": "builders.json", "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#cc5229a", + "@angular-devkit/architect": "github:angular/angular-devkit-architect-builds#{BUILD_SCM_ABBREV_HASH}", "@babel/core": "7.26.10", "@babel/helper-annotate-as-pure": "7.25.9", "@babel/helper-split-export-declaration": "7.24.7", @@ -58,7 +58,7 @@ "@angular/localize": "^19.0.0 || ^19.2.0-next.0", "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "github:angular/angular-ssr-builds#cc5229a", + "@angular/ssr": "github:angular/angular-ssr-builds#{BUILD_SCM_ABBREV_HASH}", "karma": "^6.4.0", "less": "^4.2.0", "ng-packagr": "^19.0.0 || ^19.2.0-next.0", @@ -76,7 +76,7 @@ "@angular/service-worker": { "optional": true }, - "@angular/ssr": "github:angular/angular-ssr-builds#cc5229a", + "@angular/ssr": "github:angular/angular-ssr-builds#{BUILD_SCM_ABBREV_HASH}", "karma": { "optional": true }, diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index fd3a7d0c..cad9f366 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.8+sha-cc5229a'; +const VERSION = '19.2.8+sha-36d2644'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index a32e889a..8953f04a 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Wed Apr 16 2025 15:26:33 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Thu Apr 17 2025 16:09:58 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 63a4a46776f02136bc54793e5af123af8621b5fa Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Tue, 22 Apr 2025 13:02:54 +0000 Subject: [PATCH 60/78] de52cc2 fix(@angular-devkit/build-angular): update http-proxy-middleware to v3.0.5 --- package.json | 2 +- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index ace0a186..cc853281 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.8+sha-36d2644", + "version": "19.2.8+sha-de52cc2", "description": "Official build system for Angular", "keywords": [ "Angular CLI", diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index cad9f366..bd7341ad 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.8+sha-36d2644'; +const VERSION = '19.2.8+sha-de52cc2'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 8953f04a..4844e9e9 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Thu Apr 17 2025 16:09:58 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Tue Apr 22 2025 13:02:54 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 31b84235b2924cd55e2bff5c006ddadc6fc21a3d Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Wed, 23 Apr 2025 08:25:34 +0000 Subject: [PATCH 61/78] a4e415e fix(@angular/ssr): support `getPrerenderParams` for wildcard routes --- package.json | 2 +- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index cc853281..54575dee 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.8+sha-de52cc2", + "version": "19.2.8+sha-a4e415e", "description": "Official build system for Angular", "keywords": [ "Angular CLI", diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index bd7341ad..7a42fc1b 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.8+sha-de52cc2'; +const VERSION = '19.2.8+sha-a4e415e'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 4844e9e9..552e6686 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Tue Apr 22 2025 13:02:54 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Wed Apr 23 2025 08:25:33 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 084dfda2f43674b99341c3822d846b429db378c6 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Wed, 23 Apr 2025 09:10:42 +0000 Subject: [PATCH 62/78] 2a7cb6e release: cut the v19.2.9 release --- package.json | 2 +- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 54575dee..f1ad8c5b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.8+sha-a4e415e", + "version": "19.2.9+sha-2a7cb6e", "description": "Official build system for Angular", "keywords": [ "Angular CLI", diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 7a42fc1b..0c88d92a 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.8+sha-a4e415e'; +const VERSION = '19.2.9+sha-2a7cb6e'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 552e6686..2546d944 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Wed Apr 23 2025 08:25:33 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Wed Apr 23 2025 09:10:42 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 3acc77f00cd6ead27aeb3ef9da721350597b5a2c Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Fri, 25 Apr 2025 16:54:35 +0000 Subject: [PATCH 63/78] 2a25652 build: remove legacy rnjs setup --- package.json | 2 +- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index f1ad8c5b..c32b1845 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.9+sha-2a7cb6e", + "version": "19.2.9+sha-2a25652", "description": "Official build system for Angular", "keywords": [ "Angular CLI", diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 0c88d92a..bf4cf50a 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.9+sha-2a7cb6e'; +const VERSION = '19.2.9+sha-2a25652'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 2546d944..e492922b 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Wed Apr 23 2025 09:10:42 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Fri Apr 25 2025 16:54:35 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 1552dbd50856aeadcef5173ff310b54c2a517ede Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Mon, 28 Apr 2025 15:18:04 +0000 Subject: [PATCH 64/78] 65dc5a5 build: rename npm2 to npm as rules_nodejs based npm workspace has been removed --- package.json | 2 +- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index c32b1845..a191f958 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.9+sha-2a25652", + "version": "19.2.9+sha-65dc5a5", "description": "Official build system for Angular", "keywords": [ "Angular CLI", diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index bf4cf50a..81cbba28 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.9+sha-2a25652'; +const VERSION = '19.2.9+sha-65dc5a5'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index e492922b..9a7c6e7e 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Fri Apr 25 2025 16:54:35 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Mon Apr 28 2025 15:18:04 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 930afc4d4e669e4ef54b2c97185095b526111ef9 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Wed, 30 Apr 2025 13:08:10 +0000 Subject: [PATCH 65/78] 067f1cb fix(@angular/build): update vite to 6.2.7 --- package.json | 4 ++-- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index a191f958..19753779 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.9+sha-65dc5a5", + "version": "19.2.9+sha-067f1cb", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -46,7 +46,7 @@ "sass": "1.85.0", "semver": "7.7.1", "source-map-support": "0.5.21", - "vite": "6.2.6", + "vite": "6.2.7", "watchpack": "2.4.2" }, "optionalDependencies": { diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 81cbba28..f8d0531a 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.9+sha-65dc5a5'; +const VERSION = '19.2.9+sha-067f1cb'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 9a7c6e7e..b9783760 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Mon Apr 28 2025 15:18:04 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Wed Apr 30 2025 13:08:10 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 45c202e498b7c39b292cd3d6de7fdcefafbe6bcd Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Wed, 30 Apr 2025 16:24:59 +0000 Subject: [PATCH 66/78] 36e911b release: cut the v19.2.10 release --- package.json | 2 +- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 19753779..2f9c72c9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.9+sha-067f1cb", + "version": "19.2.10+sha-36e911b", "description": "Official build system for Angular", "keywords": [ "Angular CLI", diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index f8d0531a..a810d6cb 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.9+sha-067f1cb'; +const VERSION = '19.2.10+sha-36e911b'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index b9783760..3a8254fb 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Wed Apr 30 2025 13:08:10 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Wed Apr 30 2025 16:24:59 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 7e02ad13bfc88a72c0d0b3ab7a2270f44e4f09c7 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Fri, 2 May 2025 20:20:28 +0000 Subject: [PATCH 67/78] 0695531 ci: try simplify windows test preparation with bazel 7 --- package.json | 2 +- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 2f9c72c9..47b248d2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.10+sha-36e911b", + "version": "19.2.10+sha-0695531", "description": "Official build system for Angular", "keywords": [ "Angular CLI", diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index a810d6cb..f218a436 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.10+sha-36e911b'; +const VERSION = '19.2.10+sha-0695531'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 3a8254fb..d26a4c3e 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Wed Apr 30 2025 16:24:59 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Fri May 02 2025 20:20:28 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 9b7aee64ba66a6fc99cc9e1bc847bb626e004bdb Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Sat, 3 May 2025 16:12:26 +0000 Subject: [PATCH 68/78] b43da39 perf(@angular/build): fix unnecessary esbuild rebuilds --- package.json | 2 +- src/tools/esbuild/bundler-context.js | 12 ++++++------ src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 47b248d2..97c77ab9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.10+sha-0695531", + "version": "19.2.10+sha-b43da39", "description": "Official build system for Angular", "keywords": [ "Angular CLI", diff --git a/src/tools/esbuild/bundler-context.js b/src/tools/esbuild/bundler-context.js index 08654c33..cfc3efaf 100644 --- a/src/tools/esbuild/bundler-context.js +++ b/src/tools/esbuild/bundler-context.js @@ -184,7 +184,7 @@ class BundlerContext { // When incremental always add any files from the load result cache if (this.#loadCache) { for (const file of this.#loadCache.watchFiles) { - if (!isInternalAngularFile(file)) { + if (!isInternalAngularFileOrEsBuildDefine(file)) { // watch files are fully resolved paths this.watchFiles.add(file); } @@ -198,7 +198,7 @@ class BundlerContext { if (this.incremental) { // Add input files except virtual angular files which do not exist on disk for (const input of Object.keys(result.metafile.inputs)) { - if (!isInternalAngularFile(input)) { + if (!isInternalAngularFileOrEsBuildDefine(input)) { // input file paths are always relative to the workspace root this.watchFiles.add((0, node_path_1.join)(this.workspaceRoot, input)); } @@ -324,12 +324,12 @@ class BundlerContext { #addErrorsToWatch(result) { for (const error of result.errors) { let file = error.location?.file; - if (file && !isInternalAngularFile(file)) { + if (file && !isInternalAngularFileOrEsBuildDefine(file)) { this.watchFiles.add((0, node_path_1.join)(this.workspaceRoot, file)); } for (const note of error.notes) { file = note.location?.file; - if (file && !isInternalAngularFile(file)) { + if (file && !isInternalAngularFileOrEsBuildDefine(file)) { this.watchFiles.add((0, node_path_1.join)(this.workspaceRoot, file)); } } @@ -377,6 +377,6 @@ class BundlerContext { } } exports.BundlerContext = BundlerContext; -function isInternalAngularFile(file) { - return file.startsWith('angular:'); +function isInternalAngularFileOrEsBuildDefine(file) { + return file.startsWith('angular:') || file.startsWith(' Date: Sun, 4 May 2025 10:16:09 +0000 Subject: [PATCH 69/78] 3e3abf4 build: improve stability of windows jobs further --- package.json | 2 +- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 97c77ab9..db4a332e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.10+sha-b43da39", + "version": "19.2.10+sha-3e3abf4", "description": "Official build system for Angular", "keywords": [ "Angular CLI", diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 2f5f79b2..dfe7a881 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.10+sha-b43da39'; +const VERSION = '19.2.10+sha-3e3abf4'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 4869d34e..822db6a5 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Sat May 03 2025 16:12:26 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Sun May 04 2025 10:16:09 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 2c3737ec1e57f02e91a7f2f7571d40f87edd8539 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Sun, 4 May 2025 22:40:50 +0000 Subject: [PATCH 70/78] 009fc37 fix(@angular/build): avoid internal karma request cache for assets --- package.json | 2 +- src/builders/karma/application_builder.js | 2 +- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index db4a332e..fd3e6f00 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.10+sha-3e3abf4", + "version": "19.2.10+sha-009fc37", "description": "Official build system for Angular", "keywords": [ "Angular CLI", diff --git a/src/builders/karma/application_builder.js b/src/builders/karma/application_builder.js index 3fa83e55..bc35771c 100644 --- a/src/builders/karma/application_builder.js +++ b/src/builders/karma/application_builder.js @@ -84,7 +84,7 @@ class AngularAssetsMiddleware { } const file = this.latestBuildFiles.files[pathname]; if (file?.origin === 'disk') { - this.serveFile(file.inputPath, undefined, res); + this.serveFile(file.inputPath, undefined, res, undefined, undefined, /* doNotCache */ true); return; } else if (file?.origin === 'memory') { diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index dfe7a881..3cfc460b 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.10+sha-3e3abf4'; +const VERSION = '19.2.10+sha-009fc37'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 822db6a5..9b60882c 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Sun May 04 2025 10:16:09 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Sun May 04 2025 22:40:50 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From abff2473635a9ef7994a0b7d6d8e5ac96b7eb512 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Tue, 6 May 2025 10:58:19 +0000 Subject: [PATCH 71/78] cba66a8 fix(@angular/build): avoid attempting to watch bundler internal files --- package.json | 2 +- src/tools/esbuild/bundler-context.js | 31 +++++++++++++++++++++------- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 4 files changed, 26 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index fd3e6f00..afcd5f54 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.10+sha-009fc37", + "version": "19.2.10+sha-cba66a8", "description": "Official build system for Angular", "keywords": [ "Angular CLI", diff --git a/src/tools/esbuild/bundler-context.js b/src/tools/esbuild/bundler-context.js index cfc3efaf..b68e60de 100644 --- a/src/tools/esbuild/bundler-context.js +++ b/src/tools/esbuild/bundler-context.js @@ -13,6 +13,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.BundlerContext = exports.BuildOutputFileType = void 0; const esbuild_1 = require("esbuild"); const node_assert_1 = __importDefault(require("node:assert")); +const node_module_1 = require("node:module"); const node_path_1 = require("node:path"); const load_result_cache_1 = require("./load-result-cache"); const utils_1 = require("./utils"); @@ -184,7 +185,7 @@ class BundlerContext { // When incremental always add any files from the load result cache if (this.#loadCache) { for (const file of this.#loadCache.watchFiles) { - if (!isInternalAngularFileOrEsBuildDefine(file)) { + if (!isInternalAngularFile(file)) { // watch files are fully resolved paths this.watchFiles.add(file); } @@ -198,10 +199,11 @@ class BundlerContext { if (this.incremental) { // Add input files except virtual angular files which do not exist on disk for (const input of Object.keys(result.metafile.inputs)) { - if (!isInternalAngularFileOrEsBuildDefine(input)) { - // input file paths are always relative to the workspace root - this.watchFiles.add((0, node_path_1.join)(this.workspaceRoot, input)); + if (isInternalAngularFile(input) || isInternalBundlerFile(input)) { + continue; } + // Input file paths are always relative to the workspace root + this.watchFiles.add((0, node_path_1.join)(this.workspaceRoot, input)); } } // Return if the build encountered any errors @@ -324,12 +326,12 @@ class BundlerContext { #addErrorsToWatch(result) { for (const error of result.errors) { let file = error.location?.file; - if (file && !isInternalAngularFileOrEsBuildDefine(file)) { + if (file && !isInternalAngularFile(file)) { this.watchFiles.add((0, node_path_1.join)(this.workspaceRoot, file)); } for (const note of error.notes) { file = note.location?.file; - if (file && !isInternalAngularFileOrEsBuildDefine(file)) { + if (file && !isInternalAngularFile(file)) { this.watchFiles.add((0, node_path_1.join)(this.workspaceRoot, file)); } } @@ -377,6 +379,19 @@ class BundlerContext { } } exports.BundlerContext = BundlerContext; -function isInternalAngularFileOrEsBuildDefine(file) { - return file.startsWith('angular:') || file.startsWith('" or "" + if (file[0] === '<' && file.at(-1) === '>') { + return true; + } + const DISABLED_BUILTIN = '(disabled):'; + // Disabled node builtins such as "/some/path/(disabled):fs" + const disabledIndex = file.indexOf(DISABLED_BUILTIN); + if (disabledIndex >= 0) { + return node_module_1.builtinModules.includes(file.slice(disabledIndex + DISABLED_BUILTIN.length)); + } + return false; } diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 3cfc460b..885cae69 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.10+sha-009fc37'; +const VERSION = '19.2.10+sha-cba66a8'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 9b60882c..63ec8485 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Sun May 04 2025 22:40:50 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Tue May 06 2025 10:58:19 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 32c9dca296cc0aef18154739fa3285028a234c9b Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Tue, 6 May 2025 11:19:39 +0000 Subject: [PATCH 72/78] 9eaf344 fix(@angular-devkit/build-angular): correctly set i18n subPath in webpack browser builder --- package.json | 2 +- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index afcd5f54..44166efe 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.10+sha-cba66a8", + "version": "19.2.10+sha-9eaf344", "description": "Official build system for Angular", "keywords": [ "Angular CLI", diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 885cae69..a6c38c7c 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.10+sha-cba66a8'; +const VERSION = '19.2.10+sha-9eaf344'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 63ec8485..19f13647 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Tue May 06 2025 10:58:19 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Tue May 06 2025 11:19:39 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From e3525ee2c8194906b54ea713391d89045f1c7af2 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Tue, 6 May 2025 16:07:30 +0000 Subject: [PATCH 73/78] 78ab131 build: update esbuild to v0.25.4 --- package.json | 4 ++-- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 44166efe..d641b972 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.10+sha-9eaf344", + "version": "19.2.10+sha-78ab131", "description": "Official build system for Angular", "keywords": [ "Angular CLI", @@ -32,7 +32,7 @@ "@vitejs/plugin-basic-ssl": "1.2.0", "beasties": "0.3.2", "browserslist": "^4.23.0", - "esbuild": "0.25.1", + "esbuild": "0.25.4", "fast-glob": "3.3.3", "https-proxy-agent": "7.0.6", "istanbul-lib-instrument": "6.0.3", diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index a6c38c7c..7a9608a3 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.10+sha-9eaf344'; +const VERSION = '19.2.10+sha-78ab131'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 19f13647..24ba4e1a 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Tue May 06 2025 11:19:39 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Tue May 06 2025 16:07:30 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 9e74f4c62d93305f789438db9e5244e84f1b0ad3 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Wed, 7 May 2025 10:50:17 +0000 Subject: [PATCH 74/78] 7720741 release: cut the v19.2.11 release --- package.json | 2 +- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index d641b972..0c5e661b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.10+sha-78ab131", + "version": "19.2.11+sha-7720741", "description": "Official build system for Angular", "keywords": [ "Angular CLI", diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 7a9608a3..b0c2811f 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.10+sha-78ab131'; +const VERSION = '19.2.11+sha-7720741'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 24ba4e1a..8f1964ea 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Tue May 06 2025 16:07:30 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Wed May 07 2025 10:50:17 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 9e168e8c8bfd21f5b8ec3b862bd9be6a2b02f92e Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Mon, 12 May 2025 13:21:21 +0000 Subject: [PATCH 75/78] cf1ab3e ci: skip `e2e-snapshots` on non-main branches --- package.json | 2 +- src/utils/load-proxy-config.js | 2 +- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 0c5e661b..a159566e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.11+sha-7720741", + "version": "19.2.11+sha-cf1ab3e", "description": "Official build system for Angular", "keywords": [ "Angular CLI", diff --git a/src/utils/load-proxy-config.js b/src/utils/load-proxy-config.js index fbc440f3..6483d6de 100644 --- a/src/utils/load-proxy-config.js +++ b/src/utils/load-proxy-config.js @@ -93,7 +93,7 @@ async function loadProxyConfiguration(root, proxyConfig) { } catch (e) { (0, error_1.assertIsError)(e); - if (e.code === 'ERR_REQUIRE_ESM') { + if (e.code === 'ERR_REQUIRE_ESM' || e.code === 'ERR_REQUIRE_ASYNC_MODULE') { // Load the ESM configuration file using the TypeScript dynamic import workaround. // Once TypeScript provides support for keeping the dynamic import this workaround can be // changed to a direct dynamic import. diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index b0c2811f..50abcba0 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.11+sha-7720741'; +const VERSION = '19.2.11+sha-cf1ab3e'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 8f1964ea..4803156a 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Wed May 07 2025 10:50:17 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Mon May 12 2025 13:21:21 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 64590eda67706d014a67ae1e90330d0d496c3ffa Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Wed, 14 May 2025 13:32:11 +0000 Subject: [PATCH 76/78] 72b2d16 release: cut the v19.2.12 release --- package.json | 2 +- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index a159566e..288f8f39 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.11+sha-cf1ab3e", + "version": "19.2.12+sha-72b2d16", "description": "Official build system for Angular", "keywords": [ "Angular CLI", diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 50abcba0..39a44a12 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.11+sha-cf1ab3e'; +const VERSION = '19.2.12+sha-72b2d16'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 4803156a..5756f50a 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Mon May 12 2025 13:21:21 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Wed May 14 2025 13:32:11 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From bb406f1e47000de3183cd54d70e67f878320ea74 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Fri, 16 May 2025 13:19:58 +0000 Subject: [PATCH 77/78] d2f99b5 build: update dev-infra for latest RBE changes --- package.json | 2 +- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 288f8f39..6e39e607 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.12+sha-72b2d16", + "version": "19.2.12+sha-d2f99b5", "description": "Official build system for Angular", "keywords": [ "Angular CLI", diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 39a44a12..7cc003ac 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.12+sha-72b2d16'; +const VERSION = '19.2.12+sha-d2f99b5'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index 5756f50a..b6fe515c 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Wed May 14 2025 13:32:11 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Fri May 16 2025 13:19:58 GMT+0000 (Coordinated Universal Time) \ No newline at end of file From 29bdcc300eee6fd7074c2423e0b15dd257b5fe19 Mon Sep 17 00:00:00 2001 From: Angular Builds Date: Mon, 19 May 2025 12:44:05 +0000 Subject: [PATCH 78/78] ad2fb29 fix(@angular/pwa): remove `background_color` and `theme_color` from manifest --- package.json | 2 +- src/utils/normalize-cache.js | 2 +- uniqueId | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 6e39e607..2c9fe915 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/build", - "version": "19.2.12+sha-d2f99b5", + "version": "19.2.12+sha-ad2fb29", "description": "Official build system for Angular", "keywords": [ "Angular CLI", diff --git a/src/utils/normalize-cache.js b/src/utils/normalize-cache.js index 7cc003ac..6b76748e 100644 --- a/src/utils/normalize-cache.js +++ b/src/utils/normalize-cache.js @@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.normalizeCacheOptions = normalizeCacheOptions; const node_path_1 = require("node:path"); /** Version placeholder is replaced during the build process with actual package version */ -const VERSION = '19.2.12+sha-d2f99b5'; +const VERSION = '19.2.12+sha-ad2fb29'; function hasCacheMetadata(value) { return (!!value && typeof value === 'object' && diff --git a/uniqueId b/uniqueId index b6fe515c..de9a7dc3 100644 --- a/uniqueId +++ b/uniqueId @@ -1 +1 @@ -Fri May 16 2025 13:19:58 GMT+0000 (Coordinated Universal Time) \ No newline at end of file +Mon May 19 2025 12:44:05 GMT+0000 (Coordinated Universal Time) \ No newline at end of file