12669 Commits

Author SHA1 Message Date
Alan Agius fd968e80eb refactor(core): reduce generated code (#59220)
This commit updates the defer code promises to reduce a couple of bytes.

PR Close #59220
2024-12-17 14:53:49 -08:00
Paul Gschwendtner f1ab35cc36 refactor(compiler-cli): fix instanceof for error not working (#59219)
We recently introduced a custom error to allow us to catch certain types
of errors. Unfortunately it doesn't work as expected in G3 because the
Node execution seems to run with ES5.

PR Close #59219
2024-12-17 09:36:53 -08:00
Muhammad Awais c829a1564e docs(animations): update position parameter to be a decimal (#57927)
PR Close #57927
2024-12-17 09:28:03 -08:00
Angular Robot b476537ddd build: lock file maintenance (#59202)
See associated pull request for more information.

PR Close #59202
2024-12-16 15:22:39 -08:00
Alan Agius ba9bbd07bf refactor(core): add ENABLE_ROOT_COMPONENT_BOOTSTRAP token (#59205)
Introduced the `ENABLE_ROOT_COMPONENT_BOOTSTRAP` token to control the bootstrapping of components during application initialization. This token is utilized by the Angular CLI in the `@angular/ssr` package, particularly during server-side rendering (SSR) when extracting routes.

When set to `false`, this token prevents the root component from being bootstrapped during SSR's route extraction phase, which is crucial for efficiently extracting routes without triggering component initialization. This mechanism separates the concerns of route extraction and component bootstrapping during SSR rendering, optimizing performance.

If not provided or set to `true`, the default behavior of bootstrapping the root component(s) during initialization is maintained.

Context: https://github.com/angular/angular-cli/issues/29085

PR Close #59205
2024-12-16 11:32:46 -08:00
Jessica Janiuk 4d74f86139 refactor(core): add skipped defer blocks count to ngDevMode (#59188)
This adds the skipped defer blocks to the counts in ngDevMode and the logged hydration information.

PR Close #59188
2024-12-16 10:25:45 -08:00
Andrew Kushnir 3793218e77 fix(core): avoid triggering on timer and on idle on the server (#59177)
This commit updates defer block logic to avoid triggering `on idle` and `on timer` on the server for regular SSR mode (when incremental hydration is not enabled). Triggering the mentioned condition resulted in invoking `setTimeout` calls, which delayed serialization on the server during SSR (the process was waiting for the timeouts to clear).

PR Close #59177
2024-12-13 10:10:28 -08:00
Shayan Ghazali 515a1fb8fe docs: correct typo in description of runTask method (#59119)
PR Close #59119
2024-12-13 10:09:41 -08:00
hawkgs c8b192696e docs(core): remove redundant reference-manifests handwritten entries (#59169)
The handwritten entries are now included as part of `//packages/core:core_docs_extraction` it seems. So, they are no longer needed. On the contrary, they are causing duplicated entries in the generated manifest which are then reflected in the A.dev API reference.

Fixes #59165

PR Close #59169
2024-12-12 17:29:22 -08:00
Jessica Janiuk cfc96ed82c fix(core): Fix nested timer serialization (#59173)
There were type mismatches and or unintended any types that were preventing nested timers from accessing the delay value during hydration annotation processing.

PR Close #59173
2024-12-12 14:55:29 -08:00
Jessica Janiuk 456fe22ad4 refactor(core): replace regexp in incremental hydration (#59158)
This swaps the regular expression for a string split instead.

PR Close #59158
2024-12-12 14:53:59 -08:00
Jamie Rees e3bb6a0bb3 refactor(common): update the NgOptimizedImage message to use @if instead of *ngIf (#59131)
This commit updates an error message to mention `@if` rather than the `*ngIf` directive.
PR Close #59131
2024-12-12 14:51:44 -08:00
Jessica Janiuk c61ad65f64 refactor(core): incremental hydration TODO cleanup (#59032)
This adds a few helper functions and ensures we call complete fns when error state is rendered. It also eliminates serialized views from being copied.

PR Close #59032
2024-12-12 14:48:25 -08:00
kirjs 9085a8fbd8 fix(platform-server): Warn user when transfer state happens more than once (#58935)
This can happen if server providers are provided more than twice. We detect it on the state transfer phase by flagging app id as transferred in a set.

Resolves #58531

PR Close #58935
2024-12-12 14:47:29 -08:00
Alan Agius 326337ecba refactor: replace ɵPendingTasks with ɵPendingTasksInternal (#59138)
This commits remove usage of the old export.

PR Close #59138
2024-12-10 13:45:07 -08:00
Angular Robot 9bf047562c build: lock file maintenance (#59110)
See associated pull request for more information.

PR Close #59110
2024-12-10 13:43:27 -08:00
arielbackenroth 34ded10fa6 fix(core): Fix a bug where snapshotted functions are being run twice if they return a nullish/falsey value. (#59073)
Snapshots can return nullish values; don't run the snapshotted function if the snapshotted function returns a nullish/falsey value.

PR Close #59073
2024-12-05 16:16:49 -08:00
Kristiyan Kostadinov 7e61217170 fix(compiler-cli): consider pre-release versions when detecting feature support (#59061)
Fixes that the logic which checks whether a feature is supported didn't account for pre-releases.

Fixes https://github.com/angular/vscode-ng-language-service/issues/2123.

PR Close #59061
2024-12-05 16:15:12 -08:00
Kristiyan Kostadinov cd764a3115 fix(compiler-cli): error in unused standalone imports diagnostic (#59064)
Fixes a null pointer error in the unused standalone imports diagnostic. It was caused by an inconsistency in TypeScript's built-in types.

Fixes #58872.

PR Close #59064
2024-12-05 16:14:02 -08:00
Matthieu Riegler ffae7df6e8 refactor(http): Don't log fetch warning in tests. (#59049)
Prior to this commit, we were logging the `NOT_USING_FETCH_BACKEND_IN_SSR` error when `provideHttpTestingClient` and `PLATFORM_ID` were provided.

fixes #59028

PR Close #59049
2024-12-05 16:12:55 -08:00
Charles Lyding ae0802d63c fix(platform-browser): collect external component styles from server rendering (#59031)
SSR generated component styles used in development environments will add
external styles via link elements to the HTML. However, the runtime would
previously not collect these link elements for reuse with rendered components.
This would result in two copies of the link elements present in the DOM. In
isolation this is not problematic as it is only present in development mode.
Unfortunately, the Vite-based CSS HMR functionality used by the Angular CLI
only updates the first stylesheet it finds and leaves other instances of the
stylesheet in place. This behavior causes the styles to be left in an
inconsistent state. This could be considered a defect within Vite as it should
update all relevant styles to maintain consistency but ideally there should
not be two instances in the Angular SSR case. To avoid the Vite issue, the
runtime will now collect SSR generated external styles and reuse them.

PR Close #59031
2024-12-05 16:12:22 -08:00
Sheik Althaf 044e1d8007 refactor(router): remove standalone true (#58950)
removed the standalone true from router package.

PR Close #58950
2024-12-05 16:02:37 -08:00
Alex Rickabaugh 1cd0eb83d2 refactor(router): remove circular dep in router navigation code (#59083)
Use `import type` to break phantom circular imports for the router
navigation implementation.

PR Close #59083
2024-12-05 16:01:16 -08:00
Alex Rickabaugh 9d73fe605e refactor(router): remove circular dep in router model definitions (#59083)
Use `import type` to break phantom circular imports for router model
definitions.

PR Close #59083
2024-12-05 16:01:16 -08:00
Alex Rickabaugh f87cdd9280 refactor(router): remove circular dep in RouterOutletContext (#59083)
Use `import type` to break phantom circular imports for
`RouterOutletContext`.

PR Close #59083
2024-12-05 16:01:16 -08:00
Alex Rickabaugh 308950dafa refactor(core): remove circular dep in LView & LContainer definitions (#59083)
Use `import type` to break phantom circular imports in the runtime
definitions of `LView` and `LContainer`.

PR Close #59083
2024-12-05 16:01:15 -08:00
Alex Rickabaugh 8bc3693f7a refactor(core): remove circular dep in JIT decorator definitions (#59083)
Use `import type` to break phantom circular imports in the runtime
definitions of JIT decorators.

PR Close #59083
2024-12-05 16:01:15 -08:00
Alex Rickabaugh 98471dfc08 refactor(core): remove circular dep in ComponentFactoryResolver (#59083)
Use `import type` to break a phantom circular import in the runtime
definition of `ComponentFactory` and `ComponentFactoryResolver`.

PR Close #59083
2024-12-05 16:01:15 -08:00
Alex Rickabaugh 850a2ad899 refactor(core): remove circular dep in DI code (#59083)
Use `import type` to break a phantom circular import in the DI code.

PR Close #59083
2024-12-05 16:01:15 -08:00
Alex Rickabaugh c9ce08a7ea refactor(core): remove circular dep in iterable differs. (#59083)
Use `import type` to break a phantom circular import in iterable differs.

PR Close #59083
2024-12-05 16:01:15 -08:00
Alex Rickabaugh d0e0446149 refactor(core): remove circular dep in ViewRef definition (#59083)
Use `import type` to break a phantom circular import in the runtime
definition of `ViewRef`.

PR Close #59083
2024-12-05 16:01:15 -08:00
Alex Rickabaugh b58123bfd8 refactor(compiler): remove circular dep in the output ast (#59083)
Use `import type` to break a phantom circular import in the output AST in
the compiler.

PR Close #59083
2024-12-05 16:01:15 -08:00
Alex Rickabaugh 3e8e9483db refactor(compiler-cli): remove circular dep in the partial evaluator (#59083)
Use `import type` to break a phantom import cycle.

PR Close #59083
2024-12-05 16:01:15 -08:00
Tom Wilkinson e2c8c6f269 refactor(core): Remove event_contract_multi_container (#59059)
This code has been moved internally.

PR Close #59059
2024-12-05 15:24:43 -08:00
Matthieu Riegler a7fb45fba2 Revert "fix(platform-server): remove peer dependency on animations (#58997)" (#59051)
This reverts commit 1cfbfc66d3.

PR Close #59051
2024-12-04 19:11:12 +01:00
hawkgs e18adff76d refactor(docs-infra): update comments (#59004)
Add missing file header comments and update others.

PR Close #59004
2024-12-04 18:06:00 +01:00
hawkgs 0c40bb28e1 refactor(docs-infra): convert code-example-s that have only region param to @example-s (#59004)
Replace all <code-example>-s within TS files that contain only a path and a region with JSDoc @example-s.

PR Close #59004
2024-12-04 18:06:00 +01:00
hawkgs 41a600f3ae feat(docs-infra): include code examples files in the API gen (#59004)
The code examples in `package/examples` are now passed to the API JSON generator.

PR Close #59004
2024-12-04 18:05:59 +01:00
hawkgs 5f3ba068f1 docs: set syntax highlighting of code examples MD code blocks (#59026)
Set the syntax highlighting based on the code examples' language.

PR Close #59026
2024-12-04 17:30:28 +01:00
Sheik Althaf 0df7b1e0ed refactor(common): remove standalone: true (#58949)
Removed the standalone true flag from common packages.

PR Close #58949
2024-12-04 12:41:51 +01:00
hawkgs b8a2ae01d5 docs: fix missing alert block styles in the API reference (#59020)
Substitute legacy alert classes with the new ones.

PR Close #59020
2024-12-04 11:02:43 +01:00
Angular Robot a107bf8ddb build: update dependency mocha to v11 (#59012)
See associated pull request for more information.

PR Close #59012
2024-12-03 12:21:45 +01:00
Angular Robot 0fe3760626 build: lock file maintenance (#58998)
See associated pull request for more information.

PR Close #58998
2024-12-02 16:29:03 +01:00
Timon c453f5dc2f docs(core): fix eventCoalescing comment (#57097)
PR Close #57097
2024-12-02 11:34:27 +01:00
Kristiyan Kostadinov f3c388ecda fix(platform-server): remove peer dependency on animations (#58997)
The `@angular/platform-server` package had a peer dependency on `@angular/animations` which wasn't being used anywhere.

PR Close #58997
2024-12-02 11:33:05 +01:00
Kristiyan Kostadinov 4392ccedf9 fix(migrations): inject migration dropping code if everything except super is removed (#58959)
Fixes that in some cases the internal version of the migration was dropping code when all the statements after the `super` call are deleted.

PR Close #58959
2024-12-02 08:56:21 +01:00
Kristiyan Kostadinov e17ff71c31 fix(migrations): don't migrate classes with parameters that can't be injected (#58959)
Updates the inject migrations to skip over classes that have uninjectable class parameters.

PR Close #58959
2024-12-02 08:56:21 +01:00
Kristiyan Kostadinov 9cbebc6dda fix(migrations): preserve type literals and tuples in inject migrations (#58959)
Updates the inject migration to preserve type literals and tuple types, based on some internal feedback.

PR Close #58959
2024-12-02 08:56:21 +01:00
Kristiyan Kostadinov 7c5f990001 fix(migrations): inject migration aggressively removing imports (#58959)
Fixes that the inject migration would remove imports even if they're still used by classes that aren't being migrated.

PR Close #58959
2024-12-02 08:56:21 +01:00
Kristiyan Kostadinov d1cbdd6acb fix(migrations): correctly strip away parameters surrounded by comments in inject migration (#58959)
Fixes that the inject migration was sometimes producing invalid code if there are comments around the parameters.

PR Close #58959
2024-12-02 08:56:21 +01:00