22373 Commits

Author SHA1 Message Date
Andrew Kushnir c25927da25 release: cut the v13.0.2 release (#44199) 13.0.2 2021-11-17 09:35:20 -08:00
fusho-takahashi 158ad09945 docs: Adding type annotation to ngOnInit() to make it consistent with the class structure produced by the CLI (#43579)
PR Close #43579
2021-11-16 14:09:52 -08:00
Armen Vardanyan f218644784 docs: add armen vardanyan to GDE resources (#43919)
PR Close #43919
2021-11-16 14:09:01 -08:00
Joey Perrott 89678d1b18 build: update to latest commit for feature-request github action (#44191)
Updating as this fixes a permissions error.

PR Close #44191
2021-11-16 14:08:24 -08:00
Andrew Kushnir dcf035223f ci: update pullapprove.yml (#44193)
This commit updates the PullApprove config, since Zach is currently focused on improving Components.

PR Close #44193
2021-11-16 14:07:19 -08:00
Paul Gschwendtner 00a16e432a refactor(elements): remove non-existent schematic collection breaking with ng add (#44187)
Removes a non-existent schematic collection wired up for
`@angular/elements` that has been removed
with: https://github.com/angular/angular/commit/619b7cc3857b34598a0036f8ebf9bc2eb27f5507.

Fixes #44160.

PR Close #44187
2021-11-16 12:03:42 -08:00
Dylan Hunn fe4845b055 ci: add dylhunn to review groups for size, piblic api, minimum, and circular (#44190)
This is needed so I can review forms PRs that affect public API.

PR Close #44190
2021-11-16 12:02:15 -08:00
dario-piotrowicz aa98cf17fe docs(animations): improve wording for animation example (#44168)
improve the wording of the text explaining an animation
code snippet as that can be misinterpreted

resolves #43952

PR Close #44168
2021-11-16 09:45:14 -08:00
Ramesh Thiruchelvam 83d22847ee test: type spy objects in test example (#44170)
Example for test doesn't use typing for Jasmine Spy objects. Updated 
them with `SpyObj<T>` typing as in the Angular Documentation.

See https://angular.io/guide/testing-services

PR Close #44170
2021-11-16 09:38:43 -08:00
Martin von Gagern 1d14800ab9 refactor(router): add type annotation for UrlSegment.parameterMap (#44175)
Having the type specified explicitly makes the API reference more readable.
PR Close #44175
2021-11-16 09:36:18 -08:00
Joey Perrott 7115e838fa ci: remove cla: yes from required labels (#44179)
Remove `cla: yes` from the require labels for merging as the CLACheck
tool no longer relies on labels.

Enforcement of the CLA being signed is still enforced by the status check
which is visible both in Github as well as checked by merge tooling.

PR Close #44179
2021-11-15 11:21:56 -08:00
Pete Bacon Darwin 40a2dad031 build: add instructions for getting Angular version for bug report (#44159)
The template asked for the Angular version but did not say how to get it.
Closes #44158

PR Close #44159
2021-11-15 11:21:06 -08:00
Joey Perrott 1f9ec1c14d build: update to yarn v1.22.17 (#44150)
Update to the latest version of yarn, 1.22.17.

PR Close #44150
2021-11-15 11:19:07 -08:00
Andrew Scott 539d720fcd release: cut the v13.0.1 release (#44139) 13.0.1 2021-11-10 15:41:43 -08:00
Joey Perrott ca0873fca9 build: update to latest @angular/dev-infra-private to address issues related to verifying environment (#44138)
Update to the latest package which properly checks if the running version of ng-dev is the version
described in yarn lock.

PR Close #44138
2021-11-10 23:40:09 +00:00
Joey Perrott 1ace7d4f38 refactor: add space to satisfy formatting (#44134)
Add return space to satisfy formatting for the file.

PR Close #44134
2021-11-10 23:33:11 +00:00
Paul Gschwendtner 9c47b77b05 build: sync all lock file and package.json updates from next with patch (#44134)
With the goal of avoiding more conflicts with build changes that should
go into both patch + next in general, this commit brings the lock files
+ `package.json` files from patch branch to the equivalent contents of
the next branch, except for the actual `version` field.

PR Close #44134
2021-11-10 23:33:11 +00:00
dario-piotrowicz e4475e66f9 refactor(core): move outdated comment to view.ts (#44099)
remove the comment suggesting to use a const enum for ViewEncapsulation in
the renderer3/definitions.ts file and add a similar comment in the
view.ts file in which the enum is defined

Note: the new comment does not contain the suggestion of changing `None`
to `0` as it is unclear what benefits that would bring (for more info
see: https://github.com/angular/angular/pull/44099#discussion_r744157686)

PR Close #44099
2021-11-10 20:42:20 +00:00
ileil 5ae679deb8 docs: update review tag to topic (#44008)
PR Close #44008
2021-11-10 19:29:13 +00:00
Pete Bacon Darwin ee2031d9f4 fix(compiler): ensure that partially compiled queries can handle forward references (#44113)
When a partially compiled component or directive is "linked" in JIT mode, the body
of its declaration is evaluated by the JavaScript runtime. If a class is referenced
in a query (e.g. `ViewQuery` or `ContentQuery`) but its definition is later in the
file, then the reference must be wrapped in a `forwardRef()` call.

Previously, query predicates were not wrapped correctly in partial declarations
causing the code to crash at runtime. In AOT mode, this code is never evaluated
but instead transformed as part of the build, so this bug did not become apparent
until Angular Material started running JIT mode tests on its distributable output.

This change fixes this problem by noting when queries are wrapped in `forwardRef()`
calls and ensuring that this gets passed through to partial compilation declarations
and then suitably stripped during linking.

See https://github.com/angular/components/pull/23882 and https://github.com/angular/components/issues/23907

PR Close #44113
2021-11-10 18:25:17 +00:00
Pete Bacon Darwin f63771e828 refactor(compiler): rename R3ProviderExpression and associated helpers (#44113)
This interface will be used in other situations so this change renames it to be more general as `MaybeForwardRefExpression`.

PR Close #44113
2021-11-10 18:25:17 +00:00
Pei Wang bfb2882a71 ci: Windows support for tsec_test. (#44130)
Contents of generated tsconfig for tsec_test now depend on whether
Bazel uses symlinked runfiles for nodejs_test. The current
implementation assumes that symlinked runfiles are not available
on Windows.

PR Close #44130
2021-11-10 17:48:48 +00:00
Pete Bacon Darwin 18cc5f5611 test(compiler): remove IE11 match in JIT compiler tests (#44122)
Since we no longer support (nor test on) IE11 we can remove these matches
for `anonymous` functions.

PR Close #44122
2021-11-10 17:37:24 +00:00
Pavan Kumar Jadda 2256734fea docs: updates typescript configuration file links (#44131)
The links for `tsconfig.json` target and module sections no longer valid. This commit updates the document with correct links
PR Close #44131
2021-11-10 17:37:03 +00:00
raman 30a27adf9a fix(platform-browser): use correct parent in animation removeChild callback (#44033)
Animation's `onRemovalComplete` callback is using incorrect `parentNode`.
Should be parentNode provided by `delegate.parentNode(element)` instead of direct `element.parentNode`.
This is not a problem with default renderer but can cause problems with custom renderer if it uses another
logic to add/remove nodes.

Fixes #44023

PR Close #44033
2021-11-10 01:21:56 +00:00
Andrew Scott 0fdecc476d refactor(language-service): Move language service code out of ivy/ folder (#44064)
This commit moves code in the language service package out of the ivy
subfolder. Ivy is the _only_ engine supported in v13+ so there's no need
to have a name for it.

PR Close #44064
2021-11-10 01:20:05 +00:00
Andrew Scott 789c1d43ed refactor(language-service): Remove View Engine code from language service package (#44064)
This commit removes ViewEngine-specific code from the langauge service
package. This code is no longer used since VE is not supported in v13+.

PR Close #44064
2021-11-10 01:20:05 +00:00
Kristiyan Kostadinov 04df3a0b92 fix(compiler-cli): handle pre-release versions when checking version (#44109)
Currently the TS version checking function interprets a version like `1.2.3-rc.5` as `1.2.NaN` which would allow it to bypass the version checking altogether.

These changes add a little bit more logic to ensure that such versions are handled correctly. There's also an error if we don't manage to parse the version string.

Also it seemed like we never actually ran the version check unit tests, because they didn't have a test target.

PR Close #44109
2021-11-09 20:54:45 +00:00
kreuzerk c3d925f400 docs: including additional assets into libraries (#44076)
PR Close #44076
2021-11-09 20:54:22 +00:00
Pete Bacon Darwin 192ee90921 refactor(ngcc): improve logging of progress (#43996)
This commit adds additional information to encourage developers to contact
the author of View Engine libraries and ask them to update to partial Ivy.

Fixes #42308

PR Close #43996
2021-11-09 18:10:19 +00:00
George Kalpakas 47a5136bae build(docs-infra): remove unnecessary work-around for SW config generation (#44114)
Since angular.io is now updated to a version that includes the fix
from #43679, the work-around added in
841c5aebbf can now be removed.

PR Close #44114
2021-11-09 18:08:20 +00:00
Paul Gschwendtner c2f4e9736c ci: instruct renovate to apply patch label to avoid divergence with other version branches (#44065)
Renovate currently always applies the minor label. This often causes
the patch/FF/RC branches to quickly diverge. We should always apply
the patch label with the goal of keeping infra-related changes in sync
as much as possible.. Then it is still possible to selectively apply the
minor/major label if needed (this forces the reviewer to actually think
about where this should go in, if it fails!).

PR Close #44065
2021-11-09 18:08:00 +00:00
dario-piotrowicz c6d023b39f fix(docs-infra): prevent automatic linking of 'number' (#44000)
add 'number' to the ignoreGenericWords set so that it doesn't get
wrongly linked to the decimalPipe during the aio docs generation
as it is a generic typescript term

PR Close #44000
2021-11-09 18:03:39 +00:00
dario-piotrowicz 1434fad0bf refactor(docs-infra): remove eslint directive comments from examples (#43831)
Linting has recently been removed from the examples provided in angular.io
(see PRs #43592 and #43746) such removal effects the downloadable and
stackblitz examples but linting is still generally used in the examples
in the aio project itself (they are being migrated from tslint to eslint in
PR #43218) thus eslint directive comments are still necessary in the code itself.

So the comments need to be present but need not to be exposed to the users
(not in the zips, stackblitzes nor docs themselves), these changes are
removing such comments during the examples' parsing phase (effectively
removing them from all three sources mentioned above).

Original discussion: https://github.com/angular/angular/pull/43218#discussion_r697305494

resolves #43788

PR Close #43831
2021-11-09 18:02:33 +00:00
JoostK 4c700b6244 fix(core): do not use Function constructors in development mode to avoid CSP violations (#43587)
This commit removes the dynamic creation of named arrays for internal
runtime storage arrays as they may cause CSP violations in development
mode,  when an application's CSP configuration does not include
`unsafe-eval`.

Named arrays for view data can still be enabled in development mode
using the `ngDevMode=namedConstructors` query parameter when loading the
application.

The usage of native class syntax for named arrays does not have the
desired effect when the code is downleveled to ES5. Since ES5 targets
are becoming increasingly more rare this is considered less of a problem
than the CSP violation.

Fixes #43494

PR Close #43587
2021-11-09 18:02:13 +00:00
profanis b7d27aaf54 docs(animations): express the seconds in numbers (#40098)
I've noticed that the seconds are expressed both by using numbers and words.
For example, the doc says `0.5 second` and not `half second`.
I believe is more readable to express them by using numbers and is consistent too.

PR Close #40098
2021-11-09 18:01:47 +00:00
JoostK dede29e4f3 fix(compiler-cli): ensure literal types are retained when strictNullInputTypes is disabled (#38305)
Consider the `NgModel` directive which has the `ngModelOptions` input:

```ts
class NgModel {
  @Input() ngModelOptions: { updateOn: 'blur'|'change'|'submit' };
}
```

In a template this may be set using an object literal as follows:

```html
<input ngModel [ngModelOptions]="{updateOn: 'blur'}">
```

This assignment should be accepted, as the object's type aligns with the
`ngModelOptions` input in `NgModel`. However, if the `strictNullInputTypes`
option is disabled this assignment would inadvertently produce an error:

```
Type '{ updateOn: string; }' is not assignable to type '{ updateOn: "blur"|"change"|"submit"; }'.
  Types of property 'updateOn' are incompatible.
    Type 'string' is not assignable to type '"blur"|"change"|"submit"'
```

This is due to the `'blur'` value being inferred to be of type `string`
instead of retaining its literal type. The non-null assertion operator
that is automatically inserted for input binding assignments when
`strictNullInputTypes` is disabled inhibits TypeScript from inferring
the string value as its literal type.

This commit fixes the issue by omitting the insertion of the non-null
operator for object literals and array literals.

PR Close #38305
2021-11-09 18:01:25 +00:00
Joey Perrott b8a7124be6 refactor(compiler-cli): use relative imports within the @angular/compiler-cli package (#44118)
Intrapackage imports should always be done via relative imports rather than using the external
import location.

PR Close #44118
2021-11-08 22:08:27 +00:00
Joey Perrott 5eac4343c1 refactor(compiler): reverse testing of ternary operator to ensure typescript properly narrows types (#44089)
By checking if the providedIn is a function instead of everything but a function, typescript properly
narrows the typings for creating the expressions.

PR Close #44089
2021-11-08 21:30:34 +00:00
Pete Bacon Darwin 644e1e2f8f docs: update getting started tutorial to use StackBlitz web-containers (#44085)
Previous commits changed the docs to use web-container versions for StackBlitz examples.
This commit updates the content of the tutorial to match.

Fixes #44079

PR Close #44085
2021-11-08 18:12:17 +00:00
Pete Bacon Darwin 65fd656444 build(docs-infra): remove link to custom Stackblitz for running tests (#44085)
Previously there was a custom version of the testing app for Stackblitz that would run the tests in the browser.
With the web-container approach, this is no longer necessary since the tests can be run directly from the command line.

Fixes #44047

PR Close #44085
2021-11-08 18:12:17 +00:00
Pete Bacon Darwin 0f64a35ade build(docs-infra): ensure necessary boilerplate files appear in Stackblitz examples (#44085)
The `tsconfig.app.json` and similar were not appearing in the generated Stackblitz examples.

PR Close #44085
2021-11-08 18:12:17 +00:00
Pete Bacon Darwin 091db9c325 build(docs-infra): remove unused code (#44085)
This import was not being used and so it is redundant and can be removed.

PR Close #44085
2021-11-08 18:12:17 +00:00
JoostK e5a960b159 fix(compiler): generate correct code for safe method calls (#44088)
When a safe method call such as `person?.getName()` is used, the
compiler would generate invalid code if the argument list also contained
a safe method call. For example, the following code:

```
person?.getName(config?.get('title').enabled)
```

would generate

```
let tmp;
ctx.person == null ? null : ctx.person.getName((tmp = tmp) == null ?
null : tmp.enabled)
```

Notice how the call to `config.get('title')` has completely disappeared,
with `(tmp = tmp)` having taken its place.

The issue occurred due to how the argument list would be converted
from expression AST to output AST twice. First, the outer safe method
call would first convert its arguments list. This resulted in a
temporary being allocated for `config.get('title')`, which was stored in
the internal `_resultMap`. Only after the argument list has been
converted would the outer safe method call realize that it should be
guarded by a safe access of `person`, entering the `convertSafeAccess`
procedure to convert itself. This would convert the argument list once
again, but this time the `_resultMap` would already contain the
temporary `tmp` for `config?.get('title')`. Consequently, the safe
method in the argument list would be emitted as `tmp`.

This commit fixes the issue by ensuring that nodes are only converted
once.

Closes #44069

PR Close #44088
2021-11-08 17:31:37 +00:00
Pete Bacon Darwin 0c6c4d815e docs: add Angular 13 support information (#44098)
Closes #44097

PR Close #44098
2021-11-08 17:03:59 +00:00
Michael Urban db37f029b7 docs(animations): update developers on state of package (#44014)
Notify developers that @angular/animations package has been "significantly de-prioritized"

`animateChild` documentation now references #30477

References #30477# Please enter the commit message for your changes. Lines starting

PR Close #44014
2021-11-08 17:03:29 +00:00
George Kalpakas 7e0c7cefe5 build(docs-infra): fix SystemJS-based docs examples (#43868)
Previously, the SystemJS-based docs examples (typically `ngUpgrade`
examples) were not compatible with Angular v13 (due to the removal of
UMD bundles from the published packages).

This commit makes the examples compatible with Angular v13 and
re-enables the tests for all SystemJS-based examples on CI.

PR Close #43868
2021-11-08 17:01:16 +00:00
George Kalpakas 23d56d7469 build(docs-infra): include systemjs as a dependency to SystemJS-based docs examples (#43868)
Due to an oversight, the `systemjs` package was previously not included
as a dependency in the boilerplate `package.json` file for
SystemJS-based docs examples, despite it being required by the app.

PR Close #43868
2021-11-08 17:01:16 +00:00
George Kalpakas f367efb14d docs(upgrade): minor fixes to the upgrade guide (#43868)
Includes the following fixes:
- Remove unused `format` attribute from `<code-example>` elements
- Explicitly mention that the starting point for the "Phonecat Upgrade
  Tutorial" is the 1.5.x version of the original Phonecat tutorial
  (since the original tutorial has since been updated to use AngularJS
  v1.8.x and use npm instead of bower).

PR Close #43868
2021-11-08 17:01:16 +00:00
Renovate Bot 3c0daa94ba build: update dependency vlq to v2 (#43901)
PR Close #43901
2021-11-08 17:00:56 +00:00