Commit graph

36863 commits

Author SHA1 Message Date
Andrew Scott
0a0cc27aea feat(router): Support wildcard params with segments trailing
this adds support for both leading and trailing segments before/after wildcard
route. Exposig the segments in a new _splat param would require a
breaking change to the return value of the matchers.

fixes https://github.com/angular/angular/issues/60821
2025-10-28 10:23:58 +01:00
Matt Lewis
59e648913c fix(core): Clear lView from IcuIteratorState when stack is empty to prevent memory leak
If a component template contains an icu expression it is being retained until the next change detection cycle for that template. This results in a net retention of only ever a single copy of the given lView but that creates an opportunity for compounding leaks.

Change the icu i18n_icu_container_visitor to free the IcuIteratorState retained lView when the stack is empty so that garbage collection can occur when the view is discarded.
2025-10-27 19:42:18 +01:00
SkyZeroZx
bfcaf17005 refactor(devtools): Improves clipboard error feedback with snackbar and logging
Enhances user experience by displaying a snackbar notification when clipboard copy fails, and logs detailed error information via the message bus
2025-10-27 19:41:54 +01:00
Matthieu Riegler
eec6669733 refactor(migrations): use the applicationProviders for the zoneless migration
PR #64354 introduced the `applicationProviders` for `bootstrapModule`, this allows a simpler migration output.
2025-10-27 19:41:29 +01:00
Angular Robot
b8c8bc6654 build: update rules_angular digest to 1f1aa3e
See associated pull request for more information.
2025-10-27 17:13:39 +01:00
Angular Robot
9f57ca6e8a build: update cross-repo angular dependencies
See associated pull request for more information.
2025-10-27 17:13:16 +01:00
Alan Agius
9d00c6892f build: reduce package size of @angular/core
The schematics bundle size is reduced by externalizing @angular/compiler. This reduces the package size from 11mb to 9.1mb.
2025-10-27 17:12:48 +01:00
csorrentino
a5678f6f2b refactor(forms): add onError callback to validateHttp for HTTP errors
Adds onError callback inside validateHttp validator in signal forms

PR-Close: #63949
2025-10-27 17:12:25 +01:00
Matthew Beck
b478e91068 fix(compiler): support arbitrary nesting in :host-context()
Previously we supported one level of nested pseudo-element selectors
inside :host-context(), e.g. :host-context(:is(.foo, .bar)). This was
based on a regex-based approach. We could support deeper levels of
nesting by updating the regex, but using a regex approach prohibits us
from supporting arbitrary nesting.

Rather than just adding one more level to the existing expression, I've
added a new generator function which splits selectors on commas in a
parenthesis-aware way. This allows us to support arbitrary nesting.

It's likely we'll want to reuse this in other places where we're not as
careful today. We'll probably do this on a request-based basis, though.

Fixes #59176
2025-10-27 13:40:47 +01:00
Alan Agius
7a187a3bfd build: remove unused rollup-plugin-sourcemaps dependency
This dependency is not used as we use `rollup-plugin-sourcemaps2` instead.
2025-10-27 13:39:59 +01:00
Alan Agius
fffd34bb6e build: add @babel/core to list of rollup_runtime_deps
This will be needed following https://github.com/devversion/rules_angular/pull/72
2025-10-27 13:39:33 +01:00
Alan Agius
25e8bcbdf6 build: refactor location of best-practices.md
This commit moves the best-practices.md file from adev/src/context to packages/core/resources. The BUILD.bazel files and other configuration files have been updated to reflect this change.
2025-10-27 09:31:36 +01:00
Angular Robot
9b0940db37 build: update all github actions to v5
See associated pull request for more information.
2025-10-27 09:30:46 +01:00
Angular Robot
ae3a88c5f3 build: update all non-major dependencies
See associated pull request for more information.
2025-10-27 09:30:13 +01:00
Shuaib Hasan Akib
27e183330e fix(docs-infra): preserve shell class for multifile code blocks
The ExampleViewer component was extracting only innerHTML from code
blocks in multifile examples, which lost the shell class applied by
the formatCode function. This caused the $ prompt to not appear for
shell commands in multifile blocks even when language="shell" was set.

Modified the Snippet interface to track shell language state and
updated getCodeSnippetsFromMultifileWrapper and getStandaloneCodeSnippet
methods to preserve the shell class. Updated example-viewer template
to conditionally apply the shell class to the code wrapper element.

Fixes inconsistency between standalone and multifile shell code blocks.
2025-10-27 09:29:37 +01:00
idembele70
202fceed73 docs: fix accessibility of @empty block message 2025-10-27 09:29:10 +01:00
Angular Robot
7e41d6d44a build: update cross-repo angular dependencies
See associated pull request for more information.
2025-10-27 09:28:11 +01:00
Miles Malerba
01e1ad2b37 refactor(forms): fix some typos
Fix some typos in signal forms code
2025-10-27 09:27:02 +01:00
Alan Agius
53287bce9b
refactor(docs-infra): streamline adev build configuration
This commit introduces a number of changes to streamline the build configuration for adev, the documentation application.
2025-10-27 09:26:23 +01:00
SkyZeroZx
c5e6b8bdc8 docs: Adds guide links to HTTP API docs for better discoverability 2025-10-27 09:25:56 +01:00
aparziale
e155a1e9d7 refactor: inject an instance of typescript-vfs.worker
Modified tsVfsWorker worker initialization logic
2025-10-27 09:24:55 +01:00
Andrew Scott
a03c82564d feat(router): Add scroll behavior controls on router navigation
This commit adds the ability to control the behavior of scrolling in the
`NavigationBehaviorOptions`. The options directly correlate with the
intercept options of the Navigation API `NavigateEvent#intercept`:
https://developer.mozilla.org/en-US/docs/Web/API/NavigateEvent/intercept#scroll

While we do not currently have an integration with the navigation API,
this change would be necessary to provide the ability to configure that behavior
if/when we do. In the meantime, this option is also useful to control
the behavior of scrolling when the in memory scroller is enabled.

resolves #26744
2025-10-27 09:24:26 +01:00
AleksanderBodurri
c963569c0e refactor(devtools): use getRouterInstance to replace manual parsing logic
Previously we would look in the DI tree for a token named 'Router' and resolve its value.

Now we use the already existing getRouterInstance, which depends on ng global debug APIs to get the router instance of an application.
2025-10-27 09:23:16 +01:00
AleksanderBodurri
ecfcaba3b1 feat(devtools): Use "App Root" as name for root of router tree.
Previously '/' could cause confusion with other routes that use a path here. I think because this node is unique in that it is not actually a "Route" we should make it clear with the label that is simply the App Root.
2025-10-27 09:22:33 +01:00
Andrew Scott
dd09da8ba2
refactor(router): Add provider for integrating with Navigation API and Location shim
This adds a (private) provider for integrating with the browser Navigation API.
This provider ensures that interactions with the `Location` service
use the underlying platform navigation rather than the history and
location APIs.
2025-10-27 09:21:56 +01:00
Kristiyan Kostadinov
b5f8d0b5b1 fix(docs-infra): fix broken adev tests
Fixes some adev tests that are broken on main.
2025-10-24 21:28:29 +02:00
Alan Agius
620e2c4926 Revert "build: refactor location of best-practices.md"
This reverts commit 07a51872d5.
2025-10-24 19:02:37 +02:00
Angular Robot
d7e5aeaf0d build: update cross-repo angular dependencies
See associated pull request for more information.
2025-10-24 18:48:13 +02:00
Angular Robot
1acc0bcef5 build: update all non-major dependencies to v7.28.5
See associated pull request for more information.
2025-10-24 18:47:48 +02:00
Matthieu Riegler
6e7b3c2aa6 docs(docs-infra): Support linking to individual playground templates 2025-10-24 18:47:09 +02:00
SkyZeroZx
a3639e2258 feat(common): Blocks IPv6 localhost from preconnect checks
Prevents unnecessary preconnect warnings by adding IPv6 loopback ('[::1]') to the blocklist.
2025-10-24 18:46:43 +02:00
SkyZeroZx
207baad322 refactor(common): Add missing OnDestroy interface in PreconnectLinkChecker
The OnDestroy interface was implemented but not declared; this adds the missing interface declaration
2025-10-24 18:46:43 +02:00
Andrew Scott
48abe007d9 fix(zone.js): Support jasmine v6
This fixes the jasmine patch to ensure we are patching the private APIs
off of the right location, which changed in v6.

see 168ff0a751
2025-10-24 18:46:04 +02:00
Alan Agius
07a51872d5
build: refactor location of best-practices.md
This commit moves the best-practices.md file from adev/src/context to packages/core/resources. The BUILD.bazel files and other configuration files have been updated to reflect this change.
2025-10-24 18:45:32 +02:00
Angular Robot
029ed83e8b docs: update Angular CLI help
Updated Angular CLI help contents.
2025-10-24 16:19:06 +02:00
Angular Robot
1a0d2daef0 build: update all non-major dependencies
See associated pull request for more information.
2025-10-24 15:26:25 +02:00
Angular Robot
b258d01f89 build: update cross-repo angular dependencies
See associated pull request for more information.
2025-10-24 15:25:32 +02:00
jase88
cdfd073448 docs: update workspace configuration link in security documentation 2025-10-24 15:25:10 +02:00
SkyZeroZx
b1a0bad342 docs: Fix syntax highlighting & formatting in HTTP guide 2025-10-24 15:23:58 +02:00
Matthieu Riegler
57af0d7e1b docs(docs-infra): enable strict templates 2025-10-24 15:23:26 +02:00
Angular Robot
0d38cbf56b docs: update Angular CDK apis (#64643)
Updated Angular CDK api files.

PR Close #64643
2025-10-24 09:38:26 +02:00
Angular Robot
77ead34cc7 build: update dependency vitest to v4 (#64635)
See associated pull request for more information.

PR Close #64635
2025-10-24 09:35:52 +02:00
Angular Robot
ccf6721a4d build: update all non-major dependencies (#64634)
See associated pull request for more information.

PR Close #64634
2025-10-24 09:35:15 +02:00
Angular Robot
bbae71c93e build: update cypress-io/github-action action to v6.10.3 (#64633)
See associated pull request for more information.

PR Close #64633
2025-10-24 09:34:26 +02:00
Angular Robot
f6d7375026 build: update cross-repo angular dependencies (#64629)
See associated pull request for more information.

PR Close #64629
2025-10-24 09:32:54 +02:00
Alan Agius
4887dc883f build: enable auto merge strategy for pull requests (#64624)
This commit enables the 'auto' merge strategy for pull requests.
This strategy automatically determines the best merge method based on the
pull request's commits.

The auto merge strategy can:
- Delegate to the autosquash merge strategy if the PR has fixup/squash
  commits against multiple normal commits.
- Squash commits if the PR has only one normal commit and some
  fixup/squash commits.
- Rebase commits if the PR has no fixup/squash commits.

This improves the developer experience by automating the merge process. A
key benefit is that PRs that can be cleanly rebased will now appear as
'merged' in GitHub's UI, providing a clearer history than the previous
'unmerged' status that could occur with squashing.

Additionally, `dev-infra` and `bazel` are removed from the exempted scopes
for target labels as they are no longer necessary.

PR Close #64624
2025-10-24 09:32:13 +02:00
Matthieu Riegler
15d4bd58d1 fix(forms): interop supports CVAs with signals (#64618)
The directive implemnetation might set CVA values during the template evaluation. Since the template is a reactive context we need to untrack when setting the CVA values to prevent writing to signals in a reactive context.

fixes #64614

PR Close #64618
2025-10-24 09:31:39 +02:00
Andrew Scott
e2346dbfac refactor(router): Compress middle of navigation pipeline to fewer operators (#64480)
This cleans up the navigation transitions a bit by removing some
unnecessary operators. Combining operators makes debugging easier by
making it possible to step through the code.

PR Close #64480
2025-10-24 09:31:05 +02:00
Miles Malerba
55e1647e52 fix(core): ensure @for iteration over field is reactive (#64113)
When working with a proxy object such as signal forms' `Field`,
accessing the `lenght` or `Symbol.iterator` may trgger a reactive read.
This change ensures that `@for` properly captrues this before clearing
the active consumer.

PR Close #64113
2025-10-24 09:29:29 +02:00
Miles Malerba
515c2949d8 test(forms): test reactive iteration over array field (#64113)
Adds a test that verifies @for iteration over an array field is actually
reactive to new items being added to the array.

PR Close #64113
2025-10-24 09:29:29 +02:00