33397 Commits

Author SHA1 Message Date
Miles Malerba 2d9eaeefa6 docs: update rendering to use generated repo link (#61130)
PR Close #61130
2025-05-06 14:07:32 -07:00
Miles Malerba 67adcd8c9b docs: update API generation to include repo name (#61130)
PR Close #61130
2025-05-06 14:07:32 -07:00
Matthieu Riegler 6cd5d8ebdc fix(devtools): support defer blocks in IdentityTracker (#61139)
This reverts the fix of #61080 which wasn't adequate.

PR Close #61139
2025-05-06 13:44:37 -07:00
Joey Perrott 70f959b3bd ci: migrate node target version for deploy script to node20 (#61149)
Migrate the generated script to target node20 which is already the environment we run the action in.

PR Close #61149
2025-05-06 13:39:35 -07:00
Joey Perrott 4eb36373b0 build: migrate documentation site deploy script to use ts_project (#61149)
Migrate to the new toolchain

PR Close #61149
2025-05-06 13:39:35 -07:00
Alan Agius 9793693f5b refactor: add Node.js 24 as supported version (#61142)
Node.js 24 has been released https://nodejs.org/en/about/previous-releases

Closes: #61140

PR Close #61142
2025-05-06 13:38:25 -07:00
Joey Perrott 9f4830e000 build: update tslint configuration (#61146)
Update the configuration for tslint

PR Close #61146
2025-05-06 13:35:27 -07:00
Andrew Kushnir 8898328608 Revert "docs(docs-infra): fix first-app intro example (#61042)" (#61145)
This reverts commit ab91a355f8.

Revert reason: the change causes CI to fail (the `lint` CI job).

PR Close #61145
2025-05-06 11:06:24 -07:00
Tom Adler 121e0e6b9f docs: fix whitespace after a link (#61136)
PR Close #61136
2025-05-06 10:25:51 -07:00
Alan Agius 2b7aa9172f ci: add interop pnpm and aspect files to fileFilters (#61138)
This change will force these files to be committed.

PR Close #61138
2025-05-06 09:11:07 -07:00
Angular Robot 1bee10ccc3 build: update github/codeql-action action to v3.28.17 (#61134)
See associated pull request for more information.

PR Close #61134
2025-05-06 09:09:58 -07:00
Jan Martin bc31ad91a0 fix(platform-server): less aggressive ngServerMode cleanup (#61106)
Other code may depend on `ngServerMode` and it might have been set
globally / via a bundler. Forcing it to `undefined` in those situations
can lead to hard debug issues where the only symptom is that "suddenly"
browser-specific code paths run on the server and (obviously) break.

PR Close #61106
2025-05-06 09:08:50 -07:00
Matthieu Riegler 116a97a031 docs(docs-infra): fix first-app intro example (#61042)
fixes #60844

PR Close #61042
2025-05-06 09:07:28 -07:00
Alan Agius ff943e310d docs: update ssr docs to include prerendering wildcards (#61116)
This feature was introduced in version 20.

PR Close #61116
2025-05-05 17:02:29 -07:00
Angular Robot 3b3466a732 build: update rules_angular digest to 42d4791 (#61126)
See associated pull request for more information.

PR Close #61126
2025-05-05 15:36:39 -07:00
Joey Perrott 63d10dc879 build: fix the lockfiles (#61127)
Fix the lock files for the npm_translate

PR Close #61127
2025-05-05 11:54:21 -07:00
Angular Robot d8d4ee2f2d build: update rules_angular digest to 3ba9d67 (#61124)
See associated pull request for more information.

PR Close #61124
2025-05-05 09:24:35 -07:00
Andrew Scott 33f2ea83fc refactor(core): Remove use of private export PendingTasksInternal where possible (#61049)
This commit removes the use of the privately exported
PendingTasksInternal everywhere except for Router. A follow-up change
will be done to remove that one as well and delete the private export.

PR Close #61049
2025-05-05 08:56:20 -07:00
Klaas Cuvelier aa11d3d8a7 docs(router): update typing for skipLocationChange in RedirectCommand example (#61119)
The example for the RedirectCommand used a string for skipLocationChange, changed this to a boolean

PR Close #61119
2025-05-05 08:47:52 -07:00
oliv37 7ec40db118 docs(docs-infra): update use production configuration (#61112)
PR Close #61112
2025-05-05 08:45:03 -07:00
Miles Malerba c9ffcb145c docs: hide entries that are marked @docs-private (#61104)
PR Close #61104
2025-05-05 08:43:30 -07:00
Joey Perrott ce77eb13d0 build: enable rules_js interop mode in ng-dev release (#61087)
This will result in the release tool automatically updating the Aspect
lock files when necessary.

PR Close #61087
2025-05-02 09:12:24 -07:00
Joey Perrott f566ae4eba build: update renovate config for rules_js hybrid mode (#61087)
This will automatically result in Renovate updating the Aspect lock
files.

PR Close #61087
2025-05-02 09:12:23 -07:00
Joey Perrott 1c610a57de build: set up ts_project interop for rules_js migration (#61087)
The `ts_project` interop rule that we've built was also used in the
Angular CLI migration, and it allows us to mix `ts_project` and
`ts_library` targets; enabling an incremental migration. Additionally
set up the `ng_project` to replace `ng_module`.

PR Close #61087
2025-05-02 09:12:23 -07:00
Joey Perrott 273e09d6a3 build: setup rules_ts for compiling TypeScript sources (#61087)
This commit sets up `rules_ts`, providing the `ts_library` equivalent
for the `rules_js` migration.

PR Close #61087
2025-05-02 09:12:23 -07:00
Joey Perrott 74481e2693 build: setup rules_js and link dependencies (#61087)
Sets up `rules_js` and links dependencies into the bazel-bin.

PR Close #61087
2025-05-02 09:12:23 -07:00
Joey Perrott c4383bd3e9 build: update to bazel 6 (#61087)
This is necessary for an incremental migration to `rules_js` which
requires Bazel v6. Bazel v6 removed the managed directories feature,
which means we no longer can rely on symlinked node modules as the Bazel
repository; but rather need to duplicate dependencies. This is
okay/acceptable to enable the incremental migration.

PR Close #61087
2025-05-02 09:12:23 -07:00
Joey Perrott 324b8bf0ce build: add .prettierignore configuration file (#61087)
Add a configuration file to prevent autogenerated files from being formatted.

PR Close #61087
2025-05-02 09:12:23 -07:00
Foysol Ahmed 782c6e1d11 docs: ViewContainerRef.createComponent jsdoc update (#61097)
Co-authored-by: Jessica Janiuk <1596273+thePunderWoman@users.noreply.github.com>
PR Close #61097
2025-05-02 07:57:12 -07:00
KryptonBD b49834ef3b docs: ViewContainerRef.createComponent jsdoc update to reflect actual behavior (#61097)
Fixes #59918

PR Close #61097
2025-05-02 07:57:12 -07:00
Angular Robot 238af491af build: update angular/dev-infra digest to a4538b2 (#61096)
See associated pull request for more information.

PR Close #61096
2025-05-02 07:56:27 -07:00
Angular Robot 05e4bb4c50 docs: update Angular CDK apis [20.0.x] (#61092)
Updated Angular CDK api files.

PR Close #61092
2025-05-02 07:54:18 -07:00
arturovt 4e8a24ad32 refactor(zone.js): drop isIE checks (#61091)
This should not be considered as a breaking change, because Angular doesn't support IE.

PR Close #61091
2025-05-02 07:53:35 -07:00
Jessica Janiuk f8625403d8 docs: add guide for using native CSS animations (#60984)
This adds a guide for how to switch from the
angular animations package over to native CSS
animations.

PR Close #60984
2025-05-02 07:52:10 -07:00
Matthieu Riegler 0b0bd369b5 docs(docs-infra): Add version of introduction for APIs (#60814)
For new APIs we'll mention since when a particular API is in its current status (experimental, devPreview, stable)

fixes #49668

PR Close #60814
2025-05-02 07:51:33 -07:00
Miles Malerba bbdb16621a ci: add a script to copy cdk api files to adev (#61081)
Refactors the update-cli-help script into a generic script to copy json
assets, and uses the shared code to also copy the CDK apis

PR Close #61081
2025-05-01 15:00:43 -07:00
Andrew Scott 3c89905289 refactor(common): Mark inputs of deprecated control flow directives as deprecated (#61089)
This updates the inputs of the deprecated control flow directives as also deprecated.
Helpful for language services/tokenization tools

PR Close #61089
2025-05-01 14:59:25 -07:00
Matthieu Riegler 0a1ec53f6a fix(devtools): fix profiler support with @defer blocks (#61080)
Prior to this change, the devtools profile logged warnings "Unable to find parent node for ...".

PR Close #61080
2025-05-01 14:58:24 -07:00
arturovt 255c79e048 fix(common): cleanup updateLatestValue if view is destroyed before promise resolves (#58041)
According to the promise specification, promises are not cancellable by default.
Once a promise is created, it will either resolve or reject, and it doesn't
provide a built-in mechanism to cancel it.
There may be situations where a promise is provided, and it either resolves after
the pipe has been destroyed or never resolves at all. If the promise never
resolves — potentially due to factors beyond our control, such as third-party
libraries — this can lead to a memory leak.
When we use `async.then(updateLatestValue)`, the engine captures a reference to the
`updateLatestValue` function. This allows the promise to invoke that function when it
resolves. In this case, the promise directly captures a reference to the
`updateLatestValue` function. If the promise resolves later, it retains a reference
to the original `updateLatestValue`, meaning that even if the context where
`updateLatestValue` was defined has been destroyed, the function reference remains in memory.
This can lead to memory leaks if `updateLatestValue` is no longer needed or if it holds
onto resources that should be released.
When we do `async.then(v => ...)` the promise captures a reference to the lambda
function (the arrow function).
When we assign `updateLatestValue = null` within the context of an `unsubscribe` function,
we're changing the reference of `updateLatestValue` in the current scope to `null`.
The lambda will no longer have access to it after the assignment, effectively
preventing any further calls to the original function and allowing it to be garbage collected.

If Chrome is built with additional flags and run with `--allow-natives-syntax --track-retaining-path`,
we could use `%DebugTrackRetainingPath` to see the distance from the root for `updateLatestValue`
if it's passed directly to async.then, e.g.:

```js
%DebugTrackRetainingPath(updateLatestValue);

// Distance from root 4: 0x123456789abc <JSPromise (sfi = 0x1fbb02e2d7f1)>
```

PR Close #58041
2025-05-01 14:53:13 -07:00
arturovt d4dc7cb70c refactor(zone.js): drop passive supported check (#58010)
https://caniuse.com/passive-event-listener
Passive event listeners are supported in all major evergreen browsers.
Thus, we don't need to check whether passives are supported.

PR Close #58010
2025-05-01 11:42:13 -07:00
Angular Robot 181cc17944 build: update cross-repo angular dependencies to v20.0.0-next.10 (#61084)
See associated pull request for more information.

PR Close #61084
2025-05-01 10:31:46 -07:00
arturovt c276981dfd refactor(core): drop computation error messages in production (#60700)
Some of the error messages in `core/primitives` are already guarded with `ngDevMode`; this change guards the remaining ones.

PR Close #60700
2025-05-01 10:11:01 -07:00
Andrew Scott 4c26b91015 refactor(router): Remove outdated comment (#61086)
removes outdated comment in router code

PR Close #61086
2025-05-01 10:09:15 -07:00
arturovt 840c67959e refactor(core): tree-shake getDirectiveDef error (#61075)
This commit (https://github.com/angular/angular/commit/25cae4555abab4e5d9aa530a7996f90d8896ccb0) introduced an error throw when the directive definition is not defined. We can guard it with `ngDevMode` and throw the error only in development mode.

PR Close #61075
2025-05-01 08:43:43 -07:00
Andrew Miller d7fac2dab1 docs: Add docs for CoC plugin with neovim (#61005)
When docs were moved from aio to adev, the directions for the CoC plugin
were mistakenly dropped.

This brings back the documentation from prior versions:

https://v17.angular.io/guide/language-service#neovim

PR Close #61005
2025-05-01 08:41:48 -07:00
arturovt dddbe1075a refactor(common): drop platform checks in HttpXsrfCookieExtractor (#59810)
Replaces `PLATFORM_ID` checks with `ngServerMode` within the `HttpXsrfCookieExtractor`. It is not part of the public API, and thus this change should not affect consumers who may have called the constructor directly.

PR Close #59810
2025-05-01 08:41:12 -07:00
Matthieu Riegler 205fc7a181 refactor(core): remove module bootstrap code when using standalone. (#59208)
This commit improves tree shaking in standalone apps.

PR Close #59208
2025-05-01 08:39:34 -07:00
Angular Robot 05feabd63e build: update cross-repo angular dependencies (#61069)
See associated pull request for more information.

PR Close #61069
2025-04-30 15:12:30 -07:00
Andrew Scott b8f80ab2dc refactor(router): Remove unnecessary runOutsideAngular in view transition helper (#61068)
This refactor removes the unnecessary `runOutsideAngular` call in the
view transition helper. The resolved promise re-enters the zone in the
transition, so that will trigger the Angular zone anyways. If it didn't do that,
it risks activated the route outside the zone, which is a bigger risk.
Regardless, this function is only run once per navigation, so even if it
_did_ result in an extra promise/timeout inside the zone, this is not
excessive. Using ZoneJS to trigger rendering is known to overreact to events.
Using `OnPush` or zoneless is more effective at mitigating this issue.

PR Close #61068
2025-04-30 14:18:49 -07:00
Andrew Scott 4b84de7399 refactor(docs-infra): remove 'experimental' from cli entry (#61067)
this removes the experimental prefix from zoneless entry in fake cli

PR Close #61067
2025-04-30 14:16:55 -07:00