20358 Commits

Author SHA1 Message Date
Joey Perrott 09dcf86396 release: cut the v11.2.7 release (#41336) 11.2.7 2021-03-24 09:17:05 -07:00
George Kalpakas 2d183f63c6 ci: fix elements test on older browsers (#41324)
Some `elements` tests rely on `window.customElements` being available.
On browsers where this was not present, the tests were skipped.

This commit includes the `@webcomponents/custom-elements` polyfill in
order to be able to run all `elements` tests on older browsers, which do
not natively support Custom Elements.

This, also, fixes the [saucelabs_ivy][1] and [saucelabs_view_engine][2]
CI jobs (part of the `monitoring` workflow), which have been failing
recently on IE 11 (probably due to the update to TS 4.2.3).

[1]: https://circleci.com/gh/angular/angular/944291
[2]: https://circleci.com/gh/angular/angular/944289

PR Close #41324
2021-03-24 08:28:47 -07:00
Marios Radis cdbec67032 docs: spelling changes in app.e2e-spec and validate-spec files (#41331)
PR Close #41331
2021-03-23 15:22:48 -07:00
Joey Perrott d8d77ed00d refactor(dev-infra): use conventional-commits-parser for commit parsing (#41329)
Use conventional-commits-parser for parsing commits for validation, this is being done
in anticipation of relying on this parser for release note creation.  Unifying how commits
are parsed will provide the most consistency in our tooling.

PR Close #41329
2021-03-23 14:17:08 -07:00
Joey Perrott a68f6b0ca6 docs: format browser-support tables for GitHub markdown (#41327)
Format the HTML used in browser-support.md such that the tables
render correctly under GitHub markdown.

PR Close #41327
2021-03-23 13:09:08 -07:00
Yvonne Allen 9cb11758c1 docs: add link to fork repo how-to (#41266)
add a link from github doc on how to fork a repo. 

this will enhance user experience for users new to github by putting the information on how to fork a repo at their finger tips without them having to do additional work to search for it.
PR Close #41266
2021-03-23 11:22:32 -07:00
waterplea c8edb04701 docs: add Alexander Inkin to GDE list (#41310)
PR Close #41310
2021-03-23 11:18:27 -07:00
Alex Rickabaugh 18cd7a0c69 fix(language-service): show suggestion when type inference is suboptimal (#41072)
The Ivy Language Service uses the compiler's template type-checking engine,
which honors the configuration in the user's tsconfig.json. We recommend
that users upgrade to `strictTemplates` mode in their projects to take
advantage of the best possible type inference, and thus to have the best
experience in Language Service.

If a project is not using `strictTemplates`, then the compiler will not
leverage certain type inference options it has. One case where this is very
noticeable is the inference of let- variables for structural directives that
provide a template context guard (such as NgFor). Without `strictTemplates`,
these guards will not be applied and such variables will be inferred as
'any', degrading the user experience within Language Service.

This is working as designed, since the Language Service _should_ reflect
types exactly as the compiler sees them. However, the View Engine Language
Service used its own type system that _would_ infer these types even when
the compiler did not. As a result, it's confusing to some users why the
Ivy Language Service has "worse" type inference.

To address this confusion, this commit implements a suggestion diagnostic
which is shown in the Language Service for variables which could have been
narrowed via a context guard, but the type checking configuration didn't
allow it. This should make the reason why variables receive the 'any' type
as well as the action needed to improve the typings much more obvious,
improving the Language Service experience.

Fixes angular/vscode-ng-language-service#1155
Closes #41042

PR Close #41072
2021-03-23 09:39:19 -07:00
George Kalpakas 89867eb5af ci: check that there are no unused contributor images (#41290)
When a contributor was removed from `contributors.json`, the
corresponding image should also be removed from
`aio/content/images/bios/`. However, this was often overlooked,
resulting in unused images remaining in `aio/content/images/bios/`.

This commit adds a check to ensure that all images in
`aio/content/images/bios/` are referenced in `contributors.json`.

PR Close #41290
2021-03-23 09:38:44 -07:00
George Kalpakas e3fce5ded1 build(docs-infra): remove unused contributor images (#41290)
This commit removes some contributor images that are no longer
referenced in `contributors.json` (i.e. they belong to contributors that
have since been removed).

BTW, removing these unused images saves ~720KB off the total size of the
assets that are deployed along with the app.

PR Close #41290
2021-03-23 09:38:43 -07:00
Kapunahele Wong 8cac76731e docs: add some boilerplate button, h3, and hr styles (#41052)
PR Close #41052
2021-03-23 09:38:00 -07:00
Alisa Duncan 824f0a99de docs: add alisa duncan to GDE resources (#41295)
PR Close #41295
2021-03-23 09:37:11 -07:00
cindygk 17c5dc7bc5 docs: update contributors.json (#41284)
PR Close #41284
2021-03-22 08:56:48 -07:00
Joey Perrott d719a5d967 fix(dev-infra): remove commit message wizard and builder (#41280) (#41285)
Removing commit message builder and wizard as they are unused and
unneeded.

PR Close #41285
2021-03-22 08:56:20 -07:00
Pete Bacon Darwin 8fb4290a3c refactor(docs-infra): remove image size exclusion list (#41292)
In #41253 the size of contributor images was limited, but
some images were already too large. So an exclusion list
was added. These images have now been reduced, so
the exclusion list is no longer needed.

The files were reduced by a combination of running them through the
https://tinyjpg.com/ online service and manually setting their size to
168px wide or tall using the MacOS Image Preview app.

PR Close #41292
2021-03-22 08:55:54 -07:00
Pete Bacon Darwin 95d0e6608f docs: reduce the file size of contributor images (#41292)
Fixes #41287

PR Close #41292
2021-03-22 08:55:53 -07:00
MariosRadis 74b2d4aa7f docs: simplify deleteHero method in tutorial (#41303)
Fixes #41233

PR Close #41303
2021-03-22 08:54:54 -07:00
Yvonne Allen 72c9565c34 docs: specify date format for reviewed tag (#41269)
Specify a date format for the reviewed tag and provided an example.

PR Close #41269
2021-03-19 12:38:51 -07:00
Pete Bacon Darwin f358d6b113 fix(compiler): correctly process multiple rules containing :host selectors (#41261)
When there was more than one rule in a single style string, only the first
rule was having its `:host` selector processed correctly. Now subsequent
rules will also be processed accurately.

Fixes #41237

PR Close #41261
2021-03-19 12:38:16 -07:00
Andrew Kushnir 8a53b5454e fix(core): remove obsolete check for [class] and [className] presence (#41254)
Previously presence of both [class] and [className] bindings on an element was treated as compiler error (implemented in https://github.com/angular/angular/commit/6f203c9575fe9a2da04529fbdf1e5f7b51e85e09). Later, the situation was improved to actually allow both bindings to co-exist (see https://github.com/angular/angular/commit/a153b610983389de6408f7a723fd5714a11c168e), however the compiler check was not removed completely. The only situation where the error is thrown at this moment is when static (but with interpolation) and bound `class` attributes are present on an element, for ex.:

```
<div class="{{ one }}" [class]="'two'"></div>
```

In the current situation the error is acually misleading (as it refers to `[className]`).

This commit removes the mentioned compiler check as obsolete and makes the `class` and `style` attribute processing logically the same (the last occurrence is used to compute the value).

PR Close #41254
2021-03-19 12:37:46 -07:00
Andrew Kushnir a4b42a27e9 feat(docs-infra): add profile picture size check (#41253)
This commit updates the logic that validates contributors.json data and introduces a new check that verifies that profile images don't exceed specified limit.

PR Close #41253
2021-03-19 12:37:21 -07:00
Pete Bacon Darwin 230e7d3b06 docs(localize): expose documentation for the @angular/localize package (#40317)
PR Close #40317
2021-03-19 12:36:10 -07:00
Zach Arend 57644e95aa fix(compiler-cli): add useInlining option to type check config (#41268)
This commit fixes the behavior when creating a type constructor for a directive when the following
conditions are met.
1. The directive has bound generic parameters.
2. Inlining is not available. (This happens for language service compiles).

Previously, we would throw an error saying 'Inlining is not supported in this environment.' The
compiler would stop type checking, and the developer could lose out on getting errors after the
compiler gives up.

This commit adds a useInlineTypeConstructors to the type check config. When set to false, we use
`any` type for bound generic parameters to avoid crashing. When set to true, we inline the type
constructor when inlining is required.

Addresses #40963

PR Close #41268
2021-03-19 12:31:27 -07:00
Zach Arend e58c8a68cb refactor(compiler-cli): don't use FakeEnvironment for tcb tests (#41268)
For the tests in //packages/compiler-cli/src/ngtsc/typecheck, this
commits uses a `TypeCheckFile` for the environment, rather than a
`FakeEnvironment`. Using a real environment gives us more flexibility
with testing.

PR Close #41268
2021-03-19 12:31:27 -07:00
Samuel R 4690b6dbca docs: update link to schematics schema (#41258)
PREVIOUSLY:
The https://angular.io/guide/schematics#configuring-cli-schematics page has a link to "app" schematic specifically and to a version 7.

NOW:
The https://angular.io/guide/schematics#configuring-cli-schematics page links to the latest version of schematics (all of them, not just the "app" schematic) to let the reader snoop around a bit.
PR Close #41258
2021-03-18 10:02:25 -07:00
Manuele Dones 19fba2a295 docs: replace deprecated karma-coverage-istanbul-reporter (#41246)
'karma-coverage-istanbul-reporter' usage has been deprecated since version 11.
Please install 'karma-coverage' and update 'karma.conf.js.' For more info, see https://github.com/karma-runner/karma-coverage/blob/master/README.md

PR Close #41246
2021-03-18 10:01:58 -07:00
George Kalpakas 60ea0b1a1c docs: make HeroService#gerHero() in toh-pt5 compatible with TS strict mode (#41234)
Fixes #41207

PR Close #41234
2021-03-18 10:00:53 -07:00
George Kalpakas 9a1abe2164 docs: align toh-pt5 code with toh-pt4 (#41234)
This commit aligns the code of `HeroService` `getHeroes()` and
`getHero()` methods in `toh-pt5` with that of `toh-pt4`. I.e. it applies
the changes from #40419 to `toh-pt5`.

PR Close #41234
2021-03-18 10:00:53 -07:00
Preston Lamb 8f5f3d2c1e docs: add preston lamb to GDE resources (#41204)
PR Close #41204
2021-03-18 09:58:07 -07:00
Jessica Janiuk cbba7152fd release: cut the v11.2.6 release (#41247) 11.2.6 2021-03-17 10:43:01 -07:00
Alan Agius 78038027fc docs: update assets configuration to include followSymlinks option (#41238)
The `followSymlinks` is not listed in the assets configuration section.

PR Close #41238
2021-03-17 09:04:16 -07:00
Teri Glover 1cde7056db docs: minor update to what is Angular topic (#41123)
PR Close #41123
2021-03-17 09:01:36 -07:00
Gérôme Grignon 18cd7bbd9b docs: remove unused attribute (#41211)
Fixes #41210

PR Close #41211
2021-03-16 14:48:53 -07:00
George Kalpakas ca9af4078f build(docs-infra): upgrade cli command docs sources to 61b617392 (#41228)
Updating [angular#11.2.x](https://github.com/angular/angular/tree/11.2.x) from
[cli-builds#11.2.x](https://github.com/angular/cli-builds/tree/11.2.x).

##
Relevant changes in
[commit range](https://github.com/angular/cli-builds/compare/ab638724c...61b617392):

**Modified**
- help/generate.json
- help/new.json

PR Close #41228
2021-03-16 11:04:50 -07:00
Andrew Kushnir ae1255c55e ci: remove Stephen from PullApprove config (#41224)
This commit updates PullApprove config and removes Stephen from the list of reviewers.

PR Close #41224
2021-03-16 11:00:34 -07:00
Andrew Kushnir 6414590f8d perf(forms): make RadioControlRegistry class tree-shakable (#41126)
This commit makes the `RadioControlRegistry` class tree-shakable by adding the `providedIn` property to its
`@Injectable` decorator. Now if the radio buttons are not used in the app (thus no `RadioControlValueAccessor`
directive is initialized), the `RadioControlRegistry` should not be included into application's prod bundle.

PR Close #41126
2021-03-16 09:35:15 -07:00
Andrew Kushnir ffc93e0946 perf(forms): make FormBuilder class tree-shakable (#41126)
This commit makes the `FormBuilder` class tree-shakable by adding the `providedIn` property to its `@Injectable`
decorator. Now if the `FormBuilder` class is not referenced in application's code, it should not be included into
its production bundle.

PR Close #41126
2021-03-16 09:35:15 -07:00
JoostK be050b2582 fix(ngcc): do not compile JavaScript sources if typings-only processing is repeated (#41209)
The recently introduced typings-only mode in ngcc would incorrectly
write compiled JavaScript files if typings-only mode was requested, in
case the typings of the entry-point had already been processed in a
prior run of ngcc. The corresponding format property for which the
JavaScript files were written were not marked as processed, though, as
the typings-only mode excluded the format property itself from being
marked as processed. Consequently, subsequent runs of ngcc would not
consider the entry-point to have been processed and recompile the
JavaScript bundle once more, resulting in duplicate ngcc imports.

Fixes #41198

PR Close #41209
2021-03-16 09:33:54 -07:00
David Shevitz bec919ace9 docs: add contributors guide to aio (#41061)
PR Close #41061
2021-03-15 12:16:38 -07:00
Andrew Kushnir 804b6b6685 perf(forms): avoid direct references to the Validators class (#41189) (#41220)
Currently the `Validators` class contains a number of static methods that represent different validators as well as some helper methods. Since class methods are not tree-shakable, any reference to the `Validator` class retains all of its methods (even if you've used just one).

This commit refactors the code to extract the logic into standalone functions and use these functions in the code instead of referencing them via `Validators` class. That should make the code more tree-shakable. The `Validators` class still retains its structure and calls these standalone methods internally to keep this change backwards-compatible.

PR Close #41189

PR Close #41220
2021-03-15 12:15:16 -07:00
twerske da5f5a4910 docs: add youtube to social icons (#40987) (#41202)
PR Close #40987

PR Close #41202
2021-03-15 11:15:10 -07:00
George Kalpakas b4484125d6 docs: document help wanted and good first issue labels (#41195)
Previously, we used the `hotlist: community-help` label to mark issues
that were good candidates for contributions from the community.
Recently, we also started using the `good first issue` label to mark
issues that would additionally be suitable for first-time contributors.

This commit is part of the work to replace `hotlist: community-help`
with the newly added `help wanted` label, which (same as
`good first issue`) is a [default GitHub label][1]. This commit changes
all occurrences of `hotlist: community-help` in the documentation to
`help wanted` and also documents the purpose of the `help wanted` and
`good first issue` labels.

[1]: https://docs.github.com/en/github/managing-your-work-on-github/managing-labels#about-default-labels

PR Close #41195
2021-03-15 10:31:30 -07:00
Andrew Kushnir 5908eda7c1 perf(forms): make built-in ControlValueAccessors more tree-shakable (#41146) (#41197)
This commit updates Forms code to avoid direct references to all built-in ControlValueAccessor classes, which
prevents their tree-shaking from production builds. Instead, a new static property is added to all built-in
ControlValueAccessors, which is checked when we need to identify whether a given ControlValueAccessors is a
built-in one.

PR Close #41146

PR Close #41197
2021-03-12 16:48:59 -08:00
Andrew Kushnir 60ac964333 fix(forms): properly handle the change to the FormGroup shape (#40829)
Currently the code in the `FormGroupDirective` assumes that the shape of the underlying `FormGroup` never
changes and `FormControl`s are not replaced with other types. In practice this is possible and Forms code
should be able to process such changes in FormGroup shape.

This commit adds extra check to the `FormGroupDirective` class to avoid applying FormControl-specific to
other types.

Fixes #13788.

PR Close #40829
2021-03-12 14:23:02 -08:00
George Kalpakas b37296ae64 ci: remove CHANGELOG.md from the public-api group (#41135)
This commit changes the owning group for the `CHANGELOG.md` file from
`public-api` to `dev-infra` (similar to other top-level `.md` files).

Internal discussion:
https://angular-team.slack.com/archives/C040TF8UT/p1615218082023400

PR Close #41135
2021-03-12 13:27:14 -08:00
stefanos- 226834752c docs: add book about testing to resources (#41159)
PR Close #41159
2021-03-12 13:25:49 -08:00
George Kalpakas 35fa658a4d fix(docs-infra): fix <code-tabs> in IE11 (#41183)
Previously, `<code-tabs>` did not work correctly in IE11. More
specifically, due to how IE11 handles updates to `innerHTML`, the
contents of `<code-pane>` elements were cleared before we could capture
them and pass them to the `<aio-code>` components.

This commit fixes it by ensuring we capture the `<code-pane>` contents
before clearing unneeded HTML.

Before: ![code tabs in IE11 before][1]
After: ![code tabs in IE11 after][2]

[1]: https://user-images.githubusercontent.com/8604205/110815248-f4460e00-8292-11eb-868e-eca7ba5e9cd3.png
[2]: https://user-images.githubusercontent.com/8604205/110815253-f5773b00-8292-11eb-80a6-1a0b1ea44d8f.png

PR Close #41183
2021-03-12 13:22:59 -08:00
George Kalpakas 06745fc057 fix(docs-infra): fix display of AngularJS logo on the "Press kit" page in IE11 (#41183)
Previously, the AngularJS SVG logo shown on the "Press kit" page was not
displayed correctly in IE11 (see the image below).

This commit fixes it by explicitly specifying the SVG `viewBox` on the
logo.

Before: ![presskit AngularJS logo in IE11 before][1]
After: ![presskit AngularJS logo in IE11 after][2]

[1]: https://user-images.githubusercontent.com/8604205/110812629-7123b880-8290-11eb-9f71-0ae910536fa5.png
[2]: https://user-images.githubusercontent.com/8604205/110812633-7254e580-8290-11eb-896c-84f595d273b8.png

PR Close #41183
2021-03-12 13:22:59 -08:00
George Kalpakas 338c77c9b1 fix(docs-infra): fix the layout of the "Features" page in IE11 (#41183)
IE11 does not support `justify-content: space-evenly` and therefore
falls back to the default (`flex-start`), breaking the layout of the
items in the "Features" page (see the image below).

This commit fixes the layout by specifying `space-around` as a fallback
for `justify-content`, which keeps the layout closer to the intended.

Before: ![features page layout in IE11 before][1]
After: ![features page layout in IE11 after][2]

[1]: https://user-images.githubusercontent.com/8604205/110811038-045bee80-828f-11eb-8027-d5851762a5eb.png
[2]: https://user-images.githubusercontent.com/8604205/110811076-0a51cf80-828f-11eb-98a0-2f2928128dd0.png

PR Close #41183
2021-03-12 13:22:58 -08:00
George Kalpakas 8cfc3d7fa2 fix(docs-infra): fix the layout of docs pages in IE11 (#41183)
IE11 does not recognize the `<main>` element as a block element and
therefore it does not apply margin/paddings/widths as expected. This
resulted in the layout of docs pages being broken in IE11 (see the image
below).

This commit fixes the layout by explicitly setting `.sidenav-content`
(which is a `<main>` element) to `display: block`.

Before: ![docs pages layout in IE11 before][1]
After: ![docs pages layout in IE11 after][2]

[1]: https://user-images.githubusercontent.com/8604205/110808902-1b014600-828d-11eb-9eef-c1234dc2d436.png
[2]: https://user-images.githubusercontent.com/8604205/110808907-1ccb0980-828d-11eb-91d9-06e5cfafc894.png

PR Close #41183
2021-03-12 13:22:58 -08:00