-
Notifications
You must be signed in to change notification settings - Fork 11.8k
Comparing changes
Open a pull request
base repository: angular/angular-cli
base: dc79270
head repository: angular/angular-cli
compare: ee30413
- 13 commits
- 71 files changed
- 5 contributors
Commits on Sep 16, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 0035d82 - Browse repository at this point
Copy the full SHA 0035d82View commit details
Commits on Sep 17, 2026
-
test(@angular/build): add performance benchmark suite for i18n inliner
Introduces an automated macro performance benchmark suite for the i18n inlining subsystem in @angular/build, executable via the benchmark command. The suite generates synthetic in-memory bundles, source maps, and translation catalogs to evaluate realistic workloads without checking large test fixtures into the repository. Benchmark scenarios cover standard applications with and without source maps, enterprise multilingual applications across 32 locales, monolithic bundles to verify 2D task sharding, and warm persistent cache throughput. Each scenario is executed in an isolated child process, and persistent cache priming is performed out-of-process to avoid cross-scenario memory contamination from the OS memory allocator. The harness collects high-precision timing, peak heap, peak RSS, and memory deltas with explicit garbage collection support. The runner is integrated into devkit-admin with support for baseline comparison, machine-readable JSON output, stale build detection, and automatic rebuilds. (cherry picked from commit 2a636a7)
Configuration menu - View commit details
-
Copy full SHA for deed5d8 - Browse repository at this point
Copy the full SHA deed5d8View commit details -
test(@angular/build): add large-enterprise-10k benchmark scenario
Adds a large-scale stress test scenario to the i18n inliner benchmark suite with 10,000 translation messages across 32 locales. The scenario generates a 3 MB main bundle and 100 route chunks with source maps, evaluating binary translation catalog encoding, small file batching, and memory scaling under maximum enterprise workloads. (cherry picked from commit d285bd8)
Configuration menu - View commit details
-
Copy full SHA for 33e6d5f - Browse repository at this point
Copy the full SHA 33e6d5fView commit details -
build: update cross-repo angular dependencies
See associated pull request for more information.
Configuration menu - View commit details
-
Copy full SHA for 24dc029 - Browse repository at this point
Copy the full SHA 24dc029View commit details -
build: update bazel dependencies
See associated pull request for more information.
Configuration menu - View commit details
-
Copy full SHA for 6ffd267 - Browse repository at this point
Copy the full SHA 6ffd267View commit details -
refactor(@angular/build): cap default i18n inlining concurrency to 8
Translation inlining and sourcemap remapping are CPU- and memory-intensive operations. When Piscina is initialized without explicit maxThreads, it defaults to floor(cpus * 1.5), spawning 18 to 48 worker threads on high-core machines. This excessive concurrency causes severe thread oversubscription, memory allocator lock contention, and high-core performance degradation under Promise.all barriers. This change introduces maxInlinerWorkers in environment options defaulting to min(8, availableParallelism()) while preserving explicit overrides via NG_BUILD_MAX_WORKERS. Concurrency passed to I18nInliner in the application builder is bounded to maxInlinerWorkers, capping standalone workers and shared worker pools while honoring shared pool thread limits when lower. (cherry picked from commit 93c118e)
Configuration menu - View commit details
-
Copy full SHA for c76b2d5 - Browse repository at this point
Copy the full SHA c76b2d5View commit details -
Revert "refactor(@angular/cli): import markdown files directly for co…
…mmand descriptions" This reverts commit 3d7f081.
Configuration menu - View commit details
-
Copy full SHA for 9c6037a - Browse repository at this point
Copy the full SHA 9c6037aView commit details -
build: update cross-repo angular dependencies
See associated pull request for more information.
Configuration menu - View commit details
-
Copy full SHA for cf21837 - Browse repository at this point
Copy the full SHA cf21837View commit details -
refactor(@angular/build): extract shared concurrency, watcher, and st…
…yling utilities (cherry picked from commit d0eb6b6)
Configuration menu - View commit details
-
Copy full SHA for 96832f1 - Browse repository at this point
Copy the full SHA 96832f1View commit details
Commits on Sep 18, 2026
-
fix(@angular/build): support standard JavaScript MIME types and case …
…insensitivity in auto-CSP Previously, isJavascriptMimeType() in auto-csp.ts only performed a case-sensitive check against 'text/javascript' on the slice prior to the first semicolon. This caused several issues: 1. Valid and common JavaScript MIME types specified in the HTML Living Standard such as application/javascript and text/ecmascript were not recognized as JavaScript. 2. Case differences (e.g. type="text/JavaScript" or type="Module") were not matched, despite HTML attribute matching and MIME types being ASCII case-insensitive. 3. Whitespace around the essence (e.g. type="text/javascript ; charset=utf-8" or type=" text/javascript") caused the strict equality check to fail. When a script tag with one of these valid types was not recognized, auto-csp bypassed dynamic script rewriting and emitted the script element as-is into index.html. Under the generated strict CSP, the browser would then block the script from executing. This change introduces JAVASCRIPT_MIME_TYPES containing all HTML-standard JavaScript MIME types, normalizes the essence (stripping parameters, trimming surrounding whitespace, and lowercasing), and updates shouldDynamicallyLoadScriptTagBasedOnType to support case-insensitive module types. (cherry picked from commit 8e1b202)
Configuration menu - View commit details
-
Copy full SHA for e31bd66 - Browse repository at this point
Copy the full SHA e31bd66View commit details -
fix(@angular-devkit/core): name the unknown option in a schema valida…
…tion error An unknown property in `angular.json` or in a builder's options reported `Data path "" must NOT have additional properties(allowedCommonJsDependencies).`, which names neither the object the property was found in nor what is valid there. It now reads `Unknown option "allowedCommonJsDependencies". Valid options are: assets, browser, ...`, with `at "/cli"` where the instance path is not empty. Errors that are not about an unknown option are unchanged. Listing the valid options needs ajv's `verbose` option, which is what puts `parentSchema` on an error. That is the schema the property was rejected by, so a `$ref` and a `oneOf` branch each list their own options; a schema that declares no `properties` at all stops after the option name rather than offering an empty list. (cherry picked from commit 8c43889)
Configuration menu - View commit details
-
Copy full SHA for c0e6b3c - Browse repository at this point
Copy the full SHA c0e6b3cView commit details -
fix(@schematics/angular): update @types/node to a version vitest 5 ac…
…cepts `ng new --ssr` and `ng add @angular/ssr` fail to install their dependencies: the server schematic adds `@types/node@^20.17.19`, and vitest 5, which the same schematics now add, has `@types/node@^22.0.0 || >=24.0.0` as a peer. npm refuses the tree and the workspace is left without `node_modules`. `^22.12.0` is what this repository uses for `@types/node` itself, and Node 20 is already outside the `engines.node` range of the generated project. (cherry picked from commit 1627ccb)
Configuration menu - View commit details
-
Copy full SHA for 4ebaa66 - Browse repository at this point
Copy the full SHA 4ebaa66View commit details -
fix(@angular/build): ensure chokidar watcher is ready before returning
When initializing chokidar.watch with ignoreInitial: true, files visited during the initial scan are treated as the initial baseline and do not emit change events. If createChokidarWatcher returns before the initial scan completes, subsequent file modifications made shortly after setup can be visited for the first time during the initial scan, causing the change event to be dropped. (cherry picked from commit dc79270)
Configuration menu - View commit details
-
Copy full SHA for ee30413 - Browse repository at this point
Copy the full SHA ee30413View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff dc79270...ee30413