Commit graph

29561 commits

Author SHA1 Message Date
Rushikesh Kavar
1752af1cf5 docs: applicability of NgModule providers (#49966)
saying that providers of this NgModule is available to components,pipes and directive of "this" ngModule is not accurate sentence to describe the fact.
I am referring from: https://angular.io/guide/hierarchical-dependency-injection.
It says that "ModuleInjector is configured by the @NgModule.providers and NgModule.imports property. ModuleInjector is a flattening of all the providers arrays that can be reached by following the NgModule.imports recursively."
So, any component,pipe or directive of other NgModule within same ModuleInjector can use providers of this NgModule.
PR Close #49966
2023-04-24 09:51:56 -07:00
Matthieu Riegler
bb6a3e849e refactor(core): throw an error when APP_INITIALIZER token is not an array. (#49860)
Providing a non-multi token for `APP_INITIALIZER` now throws `INVALID_MULTI_PROVIDER` (NG209)

PR Close #49860
2023-04-23 18:31:24 -07:00
Andrew Kushnir
3bcbfecb78 refactor(platform-browser): log a warning when a custom or a noop ZoneJS is used with hydration (#49944)
Hydration relies on a signal from ZoneJS when it becomes stable inside an application, so that Angular can start serialization process on the server or post-hydration cleanup on the client (to remove DOM nodes that remained unclaimed).

Providing a custom or a "noop" ZoneJS implementation may lead to a different timing of the "stable" event, thus triggering the serialization or the cleanup too early or too late. This is not yet a fully supported configuration.

This commit adds a warning (non-blocking) for those cases.

PR Close #49944
2023-04-23 18:23:28 -07:00
Matthieu Riegler
eb5bc95dbf docs: remove the warning about shadowDom support (#49961)
ShadowDom support is now ubiquitous since 2020 and all evergreen browsers.

PR Close #49961
2023-04-23 18:22:44 -07:00
Matthieu Riegler
2487d41bbf docs: remove mention of the webworker platform issues (#49947)
The Webworker platform was remove in v10, we can remove this part.

Fixes #49934

PR Close #49947
2023-04-23 18:20:58 -07:00
Payam Valadkhan
345dd6d81a refactor(compiler-cli): Add experimental local compilation mode. (#49846)
In this mode the compiler generates code based on each individual source file without using its dependencies. This mode is suitable only for fast edit/refresh during development.

PR Close #49846
2023-04-23 18:19:35 -07:00
Angular Robot
27093a7167 build: update cross-repo angular dependencies (#49956)
See associated pull request for more information.

PR Close #49956
2023-04-21 09:06:25 -07:00
Angular Robot
521e284214 build: update cross-repo angular dependencies to v16.0.0-rc.2 (#49941)
See associated pull request for more information.

PR Close #49941
2023-04-20 14:51:02 -07:00
Andrew Kushnir
bbc2efcda2 refactor(core): hydrate components of the same type used with and without ngSkipHydration (#49943)
This commit updates hydration logic to hanlde a case when the same component is used multiple times in a template and in some of those cases, component is opted-out of hydration, for example:

```
<cmp ngSkipHydration />
<cmp />
```

Previously, the first occurrence of the `<cmp>` would result in storing the `ssrId` on a TView as `null` (since hydration is disabled for the component) and the second component instance reused the `null` as a value, thus also skipping hydration.

With the changes from this commit, the `ssrId` would be set when we come across a hydratable instance. We also make sure that the `ssrId` value never changes after we first set it to a non-`null` value.

PR Close #49943
2023-04-20 14:50:32 -07:00
lonikadze
da1ed98dfd docs: replaces "comp: docs" label to "area: docs" (#49952)
Fixes #49951

PR Close #49952
2023-04-20 14:50:00 -07:00
skrtheboss
c029c678d9 fix(core): ensure takeUntilDestroyed unregisters onDestroy listener on unsubscribe (#49901)
The takeUntilDestroyed must always remove the onDestroy listener,
in the teardown logic.

PR Close #49901
2023-04-19 19:55:09 +00:00
Jessica Janiuk
856a0ecbcd docs: release notes for the v16.0.0-rc.2 release 2023-04-19 12:39:01 -07:00
Jessica Janiuk
4b49bfc4f0 docs: release notes for the v15.2.8 release 2023-04-19 12:15:56 -07:00
lonikadze
a29c51bca4 docs: add information on how to use index option in configuration (#49813)
#49780

PR Close #49813
2023-04-19 18:46:10 +00:00
Pawel Kozlowski
1dc919a3df fix(core): execute query setters in non-reactive context (#49906)
This commit assures that query results setters run when there is no active
reactive consumer set.

PR Close #49906
2023-04-19 18:12:15 +00:00
Pawel Kozlowski
40318021ee fix(core): execute input setters in non-reactive context (#49906)
This change explicitly resets a reactive consumer before setting inputs
on directive instances. This is to assure that any potential input setters
do _not_ run in the reactive context.

PR Close #49906
2023-04-19 18:12:15 +00:00
judytag
726d8a8a71 docs: update-to-version-14 linting fixes (#49839)
PR Close #49839
2023-04-19 18:10:33 +00:00
Kristiyan Kostadinov
9165942629 fix(core): handle invalid classes in class array bindings (#49924)
When binding an array to `class` like `[class]="['foo', 'bar']"`, the runtime treats it the same as a literal binding with all the values being `true`, e.g. `{foo: true, bar: true}`. While object literals can only have string keys, arrays can have any value which can lead to errors if the array contains non-string values.

These changes add some logic to stringify the keys and ignore invalid ones.

Fixes #48473.

PR Close #49924
2023-04-19 16:28:26 +00:00
Matthieu Riegler
661b9549c2 docs: schematics for functional guards & resolvers (#49865)
Adding back the schematics to generate functional guards & resolver that they are supported.

PR Close #49865
2023-04-19 16:22:53 +00:00
Matthieu Riegler
195aaa6b11 refactor(core): Create TestBed injector without a module (#49864)
We can create the injector without relying on th module factory.

PR Close #49864
2023-04-19 15:30:23 +00:00
Alan Agius
38661a6f2b test: update platform-server tests to test both ngmodule and standalone application (#49927)
This commits update the platform-server test structure to add 2 applications in the Angular CLI workspace one based on ngmodules and another standalone. The same E2E suit is ran on both apps.

PR Close #49927
2023-04-19 14:56:29 +00:00
Andrew Kushnir
338c7d9125 test(core): adding extra tests for hydration of view containers located after <ng-content> slots (#49920)
This commit adds extra tests to verify a couple additional use-cases related to view containers located after <ng-content> slots.

PR Close #49920
2023-04-19 14:26:43 +00:00
Andrew Kushnir
81ef9c327d refactor(core): handle empty projection slots within <ng-container> during hydration (#49920)
This commit updates hydration logic to handle cases when there are projection slots present in a template inside of an `<ng-container>` and when there are regular elements follow an <ng-content> slot (see tests for additional information). With this combination, the logic that annotates regular element locations should fallback to calculating a path from a reference node to that node. In case of an <ng-container>, the comment node is located *after* the node that needs an annotation. An existing logic was mistakenly returning an empty path, which was represented as a pointer to teh reference node. This commit fixes that and triggers a fallback to using a component host node as a reference in this case.

Resolves #49918.

PR Close #49920
2023-04-19 14:26:43 +00:00
Alan Agius
efb3c68899 refactor(core): remove redundant hydrationInfo check (#49926)
This check is not needed as it is done in the previous line

PR Close #49926
2023-04-19 14:21:40 +00:00
Alan Agius
4175f6fa09 docs: some changes to the helpful not in preserve-whitespaces (#49928)
This commit updates the note with a recommendation.

PR Close #49928
2023-04-19 14:18:43 +00:00
Alan Agius
de567bb800 docs: fix grammer in preserve whitespaces notes (#49928)
This commit fixes some grammer in preserve whitespaces notes.

PR Close #49928
2023-04-19 14:18:43 +00:00
Lars Gyrup Brink Nielsen
aa960c7db4 docs(core): add version ranges for Angular 14.3 (#48753)
PR Close #48753
2023-04-19 14:07:30 +00:00
Lars Gyrup Brink Nielsen
670b809ca7 docs: change section heading (#48753)
Co-authored-by: Daniel Scalzi <d_scalzi@yahoo.com>
PR Close #48753
2023-04-19 14:07:30 +00:00
Lars Gyrup Brink Nielsen
bed517d398 docs(core): add version ranges for Angular 15.2 (#48753)
PR Close #48753
2023-04-19 14:07:30 +00:00
Lars Gyrup Brink Nielsen
beda7e3c5a docs(core): split versions table into LTS and non-LTS tables (#48753)
PR Close #48753
2023-04-19 14:07:30 +00:00
Lars Gyrup Brink Nielsen
c18c3c182b docs(docs-infra): add versions document to code owners (#48753)
PR Close #48753
2023-04-19 14:07:30 +00:00
Lars Gyrup Brink Nielsen
d74cc5713d docs(docs-infra): add versions document to the navigation (#48753)
PR Close #48753
2023-04-19 14:07:30 +00:00
Lars Gyrup Brink Nielsen
61cfca0d55 docs(core): include introductory text about version compatibility (#48753)
PR Close #48753
2023-04-19 14:07:30 +00:00
Lars Gyrup Brink Nielsen
5d3d2bdf24 docs(core): add Angular, Node.js, TypeScript, and RxJS version compatibility matrix (#48753)
PR Close #48753
2023-04-19 14:07:30 +00:00
Angular Robot
c7aa10f2f5 docs: update events (#49569)
Generated `events.json` with the latest events retrieved from the Firebase DB.

Closes #49545

PR Close #49569
2023-04-19 14:05:44 +00:00
Angular Robot
bf8041fdfc build: update angular/dev-infra digest to 1564c4e (#49916)
See associated pull request for more information.

PR Close #49916
2023-04-18 22:09:40 +00:00
arturovt
1afef35050 docs: add Artur Androsovych to GDE resources (#48520)
PR Close #48520
2023-04-18 21:35:45 +00:00
Joey Perrott
b1f7aa35d6 ci: update renovate.json (#49909)
Update renovate to ignore rules_pkg bazel dep and group the babel @types packages with the babel packages themselves.

PR Close #49909
2023-04-18 20:54:28 +00:00
Angular Robot
85f3a38bb3 build: update all non-major dependencies (#49909)
See associated pull request for more information.

PR Close #49909
2023-04-18 20:54:28 +00:00
Angular Robot
59e332cc1e build: update dependency build_bazel_rules_nodejs to v5.8.2 (#49910)
See associated pull request for more information.

PR Close #49910
2023-04-18 20:45:24 +00:00
Alan Agius
03ae094e8f test: update platform-server integration tests to use the Angular CLI (#49900)
This commit updates the platform-server integration tests to use the Angular CLI as it makes it easier to add more tests and remove the custom webpack setup.

PR Close #49900
2023-04-18 19:47:02 +00:00
Angular Robot
ce4a57288c build: update actions/cache digest to 88522ab (#49437)
See associated pull request for more information.

PR Close #49437
2023-04-18 19:46:16 +00:00
Angular Robot
50de000cf7 build: update dependency google-closure-compiler to v20230411 (#49892)
See associated pull request for more information.

PR Close #49892
2023-04-18 19:07:14 +00:00
Angular Robot
882ca66f05 build: update cross-repo angular dependencies (#49891)
See associated pull request for more information.

PR Close #49891
2023-04-18 19:06:46 +00:00
Jessica Janiuk
80907b2d23 docs: Update hydration guide constraints section (#49908)
PR Close #49908
2023-04-18 19:05:23 +00:00
Jessica Janiuk
30ec56ec97 docs: add info on preserveWhitespaces to hydration guide (#49904)
PR Close #49904
2023-04-18 19:04:56 +00:00
Andrew Kushnir
5efd4fff57 refactor(core): insert special marker only when text node content is an empty string (#49877)
Empty text nodes are not present in the server-rendered HTML output, thus we inject a special marker
at a text node location to later restore an empty text node at the client. Currently, we treat text nodes with spaces as "empty" as well, however those spaces are present in the HTML and text nodes are created in a browser. Adding extra annotation in this case results in extra text nodes created on the client and may trigger hydration issues. This commit updates the code to avoid treating text nodes with spaces as "empty".

PR Close #49877
2023-04-18 19:04:28 +00:00
Douglas Diniz Carvalho
fb1161f2ec docs: type clearTimer function as VoidFunction or undefined (#48480)
PR Close #48480
2023-04-18 19:03:57 +00:00
Douglas Diniz Carvalho
e2d5687b8e docs: standardize examples using timers for SSR compatibility (#48480)
PR Close #48480
2023-04-18 19:03:57 +00:00
Alex Rickabaugh
0d9705be0b refactor(compiler): next context merging in the template pipeline (#49797)
This commit adds a phase to the template pipeline to merge `nextContext()`
instructions that follow each other without context reads in between. That
is, the sequence:

```typescript
nextContext();
var v1 = nextContext();
```

becomes:

```typescript
var v1 = nextContext(2);
```

PR Close #49797
2023-04-18 17:00:51 +00:00