33459 Commits

Author SHA1 Message Date
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
Matthieu Riegler 6ca7590666 fix(compiler): lexer support for template literals in object literals (#61601)
This commit fixes a shortcoming of the lexer with template literals

fixes #61572

PR Close #61601
2025-05-26 10:24:19 +00:00
Joey Perrott 308404eca7 build: update common's locales to use rules_js (#61629)
Use ts_project to build the common locales

PR Close #61629
2025-05-26 10:18:15 +00:00
Joey Perrott d366a9811d build: update tools directory to use rules_js for building (#61657)
Use ts_project for building the tools directory targets

PR Close #61657
2025-05-26 09:58:03 +00:00
Kristiyan Kostadinov 117e570ded refactor(core): replace propertyInterpolateX with property (#61639)
Replaces the `propertyInterpolateX` instructions with calls to `property` and the `interpolate` helper. This allows us to drop the dedicated interpolation instructions and simplify the runtime for future work.

PR Close #61639
2025-05-26 09:21:24 +00:00
Kristiyan Kostadinov d1ed9ac41b refactor(core): simplify single interpolations (#61639)
Updates the `ɵɵinterpolate` instruction so it doesn't call into `interpolation1` under the hood since it requires a prefix/suffix and we know there isn't one.

PR Close #61639
2025-05-26 09:21:24 +00:00
Kristiyan Kostadinov 6409e58160 refactor(core): replace classMapInterpolateX with classMap (#61639)
Replaces the `classMapInterpolateX` instructions with `classMap` plus a call to `interpolate` in order to simplify the runtime. The only difference between `classMapInterpolateX` and `classMap` was that the former passes `keyValueArraySet` into `checkStylingMap` while the latter passes `classKeyValueArraySet`. This doesn't appear to matter, because the interpolation instructions always have a string value which means that the function is never called.

PR Close #61639
2025-05-26 09:21:24 +00:00
Kristiyan Kostadinov e64141f038 refactor(core): replace styleMapInterpolateX with styleMap (#61639)
Replaces the `styleMapInterpolateX` instructions with the existing `styleMap` and a passed-in interpolated value in order to simplify the runtime.

PR Close #61639
2025-05-26 09:21:24 +00:00
Kristiyan Kostadinov 6b60a88766 refactor(core): replace stylePropInterpolateX with styleProp (#61639)
Replaces all of the `stylePropInterpolateX` instructions with the existing `styleProp` with an interpolated value.

PR Close #61639
2025-05-26 09:21:24 +00:00
Jonathan Meier 556413d440 refactor(compiler-cli): remove hardcoded config for unused standalone imports rule enablement (#61622)
The hardcoded config was introduced because suppressing the diagnostic
via `extendedDiagnostics` in the TS config was unreliable in google3.
This has since been fixed and the workaround is no longer needed.

PR Close #61622
2025-05-26 09:20:28 +00:00
Alan Agius f6ee2811cb ci: remove sync angular-robot forked repository workflow (#61675)
Renovate now supports syncing of non-default base branches, making this workflow obsolete.

PR Close #61675
2025-05-26 09:18:33 +00:00