33419 Commits

Author SHA1 Message Date
Kristiyan Kostadinov 3817459f9e build: add missing symbol (#61783)
Fixes a broken symbol test.

PR Close #61783
2025-05-30 13:34:46 -04:00
Angular Robot f9258123fa build: update rules_angular digest to e0f7af7 (#61780)
See associated pull request for more information.

PR Close #61780
2025-05-30 13:27:32 -04:00
Paul Gschwendtner 0f13d908a9 build: migrate all modules/... code to ts_project (#61779)
Migrates all `modules/...`  code to `ts_project`.

PR Close #61779
2025-05-30 11:14:58 -04:00
Andrew Kushnir b1d960d082 fix(core): produce an error when incremental hydration is expected, but not configured (#61741)
This commit updates runtime logic to produce an error when there are some `@defer` blocks with `hydrate` triggers, but the incremental hydration is not enabled via `withIncrementalHydration()`. Previously the check was only detecting the case when `withIncrementalHydration()` is present on the server, but missing on the client. With the change in this commit, the check would be performed on the server as well.

PR Close #61741
2025-05-30 11:14:23 -04:00
Matthieu Riegler a685152adc docs: fix deprecated docs navigation background color. (#61775)
Backport of #58848 into v19 / main.

PR Close #61775
2025-05-30 11:09:14 -04:00
Kristiyan Kostadinov e9820a6d48 fix(migrations): avoid trailing whitespaces in unused imports migration (#61698)
Follow-up to #61674 where we were leaving behind some whitespace, e.g. `[One, Two, Three]` would turn into `[One ]`. These changes only preserve the whitespace if the node is preceded by a newline.

This wasn't caught by tests, because they were stripping away whitespaces before asserting. I've also reworked the tests to be sensitive to formatting changes.

PR Close #61698
2025-05-30 11:07:21 -04:00
Matthieu Riegler 517ad23729 docs: restore routing with matcher (#61778)
Let's restore that page until we rewrite that part.

fixes #61771

PR Close #61778
2025-05-30 11:05:02 -04:00
Doug Parker b561a5009b refactor: expand DevTools reviewer list (#61709)
Updates the current list of DevTools reviewers to make a few small changes.
1. Adds `hawkgs` and `milomg`.
2. Removes the leading `~` from `JeanMeche` to include him in automatic review requests.
3. Adds `jkrems` for additional Googler coverage in automatic review requests.
4. Removes `mgechev` and `MarkTechson` who haven't been involved in daily DevTools development for a while.
5. Adds the leading `~` to `devversion` and `josephperrott` to remove them from automatic review requests while leaving them with access for "break glass" situations.

Note that the leading `~` means that the individual may approve PRs and satisfy the group's requirement, but PullApprove will not automatically request a review from them. See https://v3-docs.pullapprove.com/config/reviewers/#reviewers-that-dont-want-review-requests.

PR Close #61709
2025-05-30 09:56:10 -04:00
Kristiyan Kostadinov 8461488835 refactor(compiler-cli): export type used by migrations (#61697)
Re-exports the `FileSystem` type since it's used by some tsurge migrations and because internally the barrel export from `ngtsc/file_system` is removed.

PR Close #61697
2025-05-30 09:50:58 -04:00
Paul Gschwendtner e538862c89 build: do not run ssr-benchmarks when using //...
These are also excluded on CI, and shouldn't run locally either as they
are "manual debug" targets.
2025-05-30 10:01:23 +02:00
Paul Gschwendtner 4fa276214c build: rework benchmarks and examples in modules/ to new optimization rule
We are dropping the custom ESBuild and Terser pipeline from dev-infra
and instead leverage the Angular CLI directly. This commit adjusts
the benchmarks to use this new rule.
2025-05-30 10:01:23 +02:00
Paul Gschwendtner e910893fa6 build: adjust bundling tests to use Angular CLI
Instead of dev-infra maintaining a custom ESBuild + Terser pipeline that
tries to emulate the Angular CLI, we are switching the bundling core
tests to a new rule that really leverages the Angular CLI.

This involves some file renames and small adjustments. In addition, we
leverage the updated symbol tracking rule to output new goldens that can
work with multiple bundle files (as generated by the Angular CLI;
especially with defer and its "lazy" chunks).
2025-05-30 10:01:23 +02:00
Paul Gschwendtner f521b6c99f build: rework symbol extractor to support lazy/common chunks
Since we are going to replace our `app_bundle` rule (custom ESBuild +
Terser pipeline) with the real Angular CLI where shared/lazy/common
chunks may exist, we need to update the symbol extractor to support
multiple files.

We could have just merged all symbols, but this commit tries to do
better by detecting what symbols are loaded eagerly vs. lazily. This
will be very useful for e.g. defer tests or other lazy features we are
introducing in the feature.
2025-05-30 10:01:23 +02:00
Paul Gschwendtner 845f8dfd38 build: fix app_bundle rule after migrating packages/compiler
The `app_bundle` rule does not work after the migration of
`packages/compiler` to `ts_project` because the `.mjs` extensions are
now missing in the non npm-package output.

This causes runtime errors as `.js` is not recognized as ESM. Switching
to the real npm package for usage, fixes this issue.
2025-05-30 10:01:23 +02:00
Paul Gschwendtner c7ac9dfd4f build: ensure compiler is properly picked up as runtime dep of compiler-cli
Currently when linking the `@angular/compiler-cli` package, the peer
dependency to `compiler` is not resolved and we are trying to make the
compiler dependency available via `data`. This is unidiomatic and
brittle. This commit fixes this.
2025-05-30 10:01:23 +02:00
Paul Gschwendtner b438971a24 build: enable merging of default shell_env and env in Bazel
This is necessary to support later versions of e.g. `rules_ts`.
2025-05-30 10:01:23 +02:00
Angular Robot 7081949665 build: update bazel dependencies
See associated pull request for more information.
2025-05-30 10:01:23 +02:00
Paul Gschwendtner a9fc1f94c9 build: migrate packages/elements to ng_project
Migrates `packages/elements` to `ng_project`.
2025-05-30 10:01:23 +02:00
Paul Gschwendtner e9987f2019 build: update api-gen to work with compiler as ts_project
Compiler now would have `.js` files. Those aren't picked up as ESM,
unless we install the `package.json` with `type: module`. Sounds great
on paper, but doesn't work in reality because the way the compiler
packages are available to `api-gen/` is via the old `rules_nodejs`
linker, so the `packages/package.json` wouldn't work; nor do the
`package.json`s of the e.g. compiler-cli package work- because those
already contain the `exports` of the built npm package.

We fix this in a much more reasonable way, and the whole module
resolution problem by leveraging the pnpm linking here. This works as
expected.
2025-05-30 10:01:23 +02:00
Paul Gschwendtner aa0c46f4f3 build: migrate packages/compiler to ts_project
Migrates `packages/compiler` to `ts_project`.
2025-05-30 10:01:23 +02:00
fejx 6113faefc8 docs: fix copy-paste error on defer page in interaction section (#61751)
PR Close #61751
2025-05-29 18:20:55 -04:00
Yuta Nishi 6b26adbd7e docs(router): fix typo in define-routes.md (#61740)
Fixes a typo in the "Lazily loaded components" section of the define-routes.md guide.
The path for the home-page component was incorrectly written as ',' instead of ''.

PR Close #61740
2025-05-29 18:17:33 -04:00
Matthieu Riegler ceb1bc0741 docs: update control flow migration command (#61750)
PR Close #61750
2025-05-29 18:15:56 -04:00
Vlad Boisa 435ab6df87 docs: fix broked link Routing guide (#61749)
Fix typo in link for correct display of the link
PR Close #61749
2025-05-29 18:14:14 -04:00
hawkgs 8bd1a3aab4 docs(docs-infra): fix update guide version dropdown on Firefox (#61744)
Fixes #58776

PR Close #61744
2025-05-29 18:12:41 -04:00
Matthieu Riegler 1802d36cb1 docs: remove ngIf/ngFor/ngSwitch from the directive overview (#61708)
PR Close #61708
2025-05-29 17:57:52 -04:00
Matthieu Riegler 5ae61cc24f docs: remove unnecessary mention of ngIf/ngFor from llms-full (#61694)
PR Close #61694
2025-05-29 17:56:50 -04:00
Matthieu Riegler 3fbb72b863 docs: remove the constructor DI from the learn angular tutorial (#61693)
PR Close #61693
2025-05-29 17:55:03 -04:00
Matthieu Riegler 9df5f508ca docs: update API examples to modern angular (#61688)
PR Close #61688
2025-05-29 17:53:29 -04:00
Matthieu Riegler f27b86ac06 docs: replace @Input/@Output in docs (#61686)
This commit also remove some unused examples

PR Close #61686
2025-05-29 17:51:31 -04:00
Matthieu Riegler 17b31d1d5b docs: update learn-angular tutorial to use input/output (#61607)
This replaces the example that were using the decorators.

PR Close #61607
2025-05-29 17:50:30 -04:00
mgechev a20a9d7a44 docs: update the roadmap to reflect v20 progress (#61406)
PR Close #61406
2025-05-29 17:44:49 -04:00
Matthieu Riegler f7d33ee479 docs: setup redirect for zoneless (#61737)
PR Close #61737
2025-05-28 17:44:46 -07:00
Andrew Scott a0d599e14d docs: link to v20 blog post in changelog (#61734)
PR Close #61734
2025-05-28 12:28:15 -07:00
Andrew Scott aed8a77348 docs: update versions.json with v20 (#61732)
This updates the versions.json to make v20 consistent with other versions

PR Close #61732
2025-05-28 11:11:24 -07:00
Andrew Scott 10352401bc release: bump version of in memory web api (#61731)
PR Close #61731
2025-05-28 10:53:18 -07:00
Andrew Scott bf7816e292 build: bump peer deps for angular-in-memory-web-api (#61730)
bumps peer deps to v20 for in memory web api
2025-05-28 10:35:38 -07:00
Jens Kuehlers 2c8de90a5f docs: update version picker for v20 (#61727)
PR Close #61727
2025-05-28 10:28:19 -07:00
Devin Chasanoff 23a855bb8e docs: add v20 dev event banner (#61723)
PR Close #61723
2025-05-28 10:27:36 -07:00
Andrew Scott 55306bd432 docs: update tutorials and playground to v20 (#61728)
update boilerplates to use v20 final

PR Close #61728
2025-05-28 10:03:56 -07:00
Andrew Scott 40e2b5b4d1 release: cut the v20.0.0 release 20.0.0 2025-05-28 06:52:44 -07:00
Andrew Scott 0502cf26c5 release: cut the v20.0.0-rc.3 release 20.0.0-rc.3 2025-05-27 15:59:11 -07:00
Matthieu Riegler 925a41c285 Revert "fix(core): call DestroyRef on destroy callback if view is destroyed (#58008)" (#61625)
This reverts commit 5f7f04634f.

PR Close #61625
2025-05-27 15:21:21 -07:00
Matthieu Riegler 87659baa01 docs(docs-infra): limit file interactions on tutorials. (#61696)
The restricted mode on the code editor prevents renaming, deleting or adding files.

PR Close #61696
2025-05-27 11:33:11 -07:00
Angular Robot cc5a393a27 build: lock file maintenance (#61681)
See associated pull request for more information.

PR Close #61681
2025-05-26 11:56:37 +00:00
arturovt 833c69b618 refactor(platform-browser): replace isPlatformServer with ngServerMode (#59496)
In this commit, we switch from using the `isPlatformServer` runtime call to the `ngServerMode`.

Note: constructors haven't been touched in order to prevent any breaking changes for the public API.

PR Close #59496
2025-05-26 11:14:28 +00:00
Angular Robot 360660db17 build: update all non-major dependencies (#61667)
See associated pull request for more information.

PR Close #61667
2025-05-26 11:13:25 +00:00
Joey Perrott 3731cce85d build: migrate examples to use rules_js (#61650)
Migrate examples to use ng_project and ts_project for building

PR Close #61650
2025-05-26 11:01:00 +00:00
Angular Robot 2f1f6eeb57 build: update cross-repo angular dependencies (#61680)
See associated pull request for more information.

PR Close #61680
2025-05-26 10:27:08 +00:00
Kristiyan Kostadinov eceacbc18b fix(migrations): preserve comments when removing unused imports (#61674)
Updates the unused imports schematic to preserve comments inside the array. THis is necessary for some internal use cases.

PR Close #61674
2025-05-26 10:26:22 +00:00