Repository navigation
Comparing changes
Open a pull request
base repository: angular/angular
base: g3
head repository: angular/angular
compare: main
- 6 commits
- 44 files changed
- 6 contributors
Commits on Oct 27, 2026
-
fix(compiler-cli): match ctorParameters behavior from ngtsc
Resolves a test failure internally where we weren't matching how ngtsc emits `ctorParameters` for primitive types. It appears that in ngtsc we have some logic where `string` gets emitted as the `String` object, `number` as the `Number` object etc.
Configuration menu - View commit details
-
Copy full SHA for 1172ba3 - Browse repository at this point
Copy the full SHA 1172ba3View commit details -
docs: fix inaccurate null and class notes in the template binding guide
Interpolation renders null and undefined as an empty string instead of converting them with toString. Attribute bindings remove the attribute for undefined as well as null. The [class] binding does not drop strings that are not valid CSS class names, so describe the string form instead.
Configuration menu - View commit details
-
Copy full SHA for c35b3ad - Browse repository at this point
Copy the full SHA c35b3adView commit details -
docs: update cross-repo adev docs
Updated Angular adev cross repo docs files.
Configuration menu - View commit details
-
Copy full SHA for 56f45e0 - Browse repository at this point
Copy the full SHA 56f45e0View commit details -
refactor(compiler-cli): decouple preprocessor HybridCompiler from tsc…
…onfigPath `HybridCompiler` wrote `<tsconfig>.ngdiag.json` itself from `prepareChunk` and `prepareChunkSync`, which tied it to a `tsconfigPath` and to the Node filesystem, or to a `virtualFiles` overlay standing in for it. Now that the analyzer no longer requires a tsconfig, hosts that embed the compiler without one have nowhere to write such a file, and whether and where diagnostics are persisted is a decision for the build driver rather than for the compiler. `tsconfigPath` and `virtualFiles` are therefore removed from `HybridCompilerOptions`, together with `writeDiagnosticsFile` and `writeDiagnosticsFileSync`, and `hybrid_compiler.ts` no longer imports `node:fs`. In their place, `HybridCompiler.getDiagnostics()` returns the collected per-file diagnostics in the deterministic order the `.ngdiag.json` already used and leaves out diagnostics anchored on `.d.ts` files unless `includeDeclarationFiles` is set, making it the single place that filters and orders them; `serializeDiagnostics` now only formats that output. The `.ngdiag.json` write moves into `run` in `ngp.ts`, gated on a new optional `RunOptions.tsconfigPath`. The write that preceded the processing of each chunk is dropped as redundant, while `run` still writes after every chunk and once more at the end so that option diagnostics reach the file even when the analyzer produces no chunks. Without a tsconfig there is also nothing to resolve relative paths against, so `rootDir` and `rootDirs` on `HybridCompilerOptions` must now be absolute; relative `rootDirs` used to be resolved against `rootDir` or `dirname(tsconfigPath)`. This matters because `getProjectRelativePath`, which produces the `ɵsetClassDebugInfo` paths and HMR IDs, uses `path.posix.relative` and would silently resolve a relative root against the process cwd. Both options are normalized to forward slashes; `rootDir` previously was not, which would have broken that computation for backslash paths on Windows. `main.ts` resolves relative `rootDirs` against the tsconfig directory, matching TypeScript and the analyzer, and the test helpers do the same.
Configuration menu - View commit details
-
Copy full SHA for 338d0a2 - Browse repository at this point
Copy the full SHA 338d0a2View commit details -
refactor(compiler-cli): unconditionally use namespace imports for imp…
…orted constructor tokens in ngp Align ngp with ngtsc by unconditionally emitting imported constructor DI tokens and class metadata through module namespace imports (e.g. i1.Service) instead of only doing so for @angular/core or in complianceMode. This removes the divergence and eliminates the need to pass complianceMode to buildDeps or useCoreNamespace/complianceMode to buildCtorParametersExpr.
Configuration menu - View commit details
-
Copy full SHA for 6ac3065 - Browse repository at this point
Copy the full SHA 6ac3065View commit details
Commits on Oct 28, 2026
-
Configuration menu - View commit details
-
Copy full SHA for b81b37d - Browse repository at this point
Copy the full SHA b81b37dView 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 g3...main