22646 Commits

Author SHA1 Message Date
Dylan Hunn 240edcbc4e test(docs-infra): Correct an invalid assumption in aio tests. (#44479)
The aio application expects `FormControl` to have no properties for the purposes of its own internal tests, but this is no longer true after #44434.

PR Close #44479
2021-12-14 16:14:48 -05:00
Kristiyan Kostadinov 11187ef433 refactor(compiler): clean up workarounds for TypeScript 4.5 (#44477)
Cleans up some of the temporary workarounds that were necessary in order to land support for TypeScript 4.5 since they're no longer necessary.

PR Close #44477
2021-12-14 16:14:02 -05:00
George Kalpakas 9165191a13 build(docs-infra): upgrade cli command docs sources to febee7484 (#44476)
Updating [angular#13.1.x](https://github.com/angular/angular/tree/13.1.x) from
[cli-builds#13.1.x](https://github.com/angular/cli-builds/tree/13.1.x).

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

**Modified**
- help/new.json

PR Close #44476
2021-12-14 16:13:30 -05:00
Spej 17ac7c6624 docs: Fixed typo 'test' => 'text' (#44464)
PR Close #44464
2021-12-14 16:12:58 -05:00
dario-piotrowicz c195bd0b24 refactor(animations): remove the unused enter and leave selectors (#44460)
remove the no longer used ENTER_SELECTOR and LEAVE_SELECTOR constants

note: their uses have been removed in PR #19455

PR Close #44460
2021-12-14 16:12:36 -05:00
dario-piotrowicz 4a1cdbafc6 refactor(animations): improve _finalKeyframe non-null assertion (#44458)
instead of declaring the WebAnimationsPlayer's _finalKeyframe
field with a non-null assertion, declare it as optional field
and use a non-null assertion only when it is being used in the
beforeDestroy function

relates to #24571

PR Close #44458
2021-12-14 16:12:12 -05:00
Dylan Hunn f6f7a375a8 test(forms): Add more tests for FormBuilder method argument shapes. (#44452)
It is possible to pass arguments to `FormBuilder` using four different formats: value-only, boxed value, control config, and value-array. Currently, these different methods are not well-tested, especially as they interact. This PR will add tests for the variety of different argument shapes.

This was originally inspired by typed forms: when `FormBuilder` becomes typed, all these argument shapes should just work, with correct inferred types.

PR Close #44452
2021-12-14 16:11:29 -05:00
Dylan Hunn 199f7a2ba9 refactor(forms): Make the minimum changes to the forms unit tests in order to support the typed forms PR (#43834). (#44451)
Currently, many of our unit tests are written to use heterogenous groups and arrays, and controls that accept heterogenous values. This PR will make the minimum possible alterations to prepare those usages, mainly by annotating them as untyped controls, etc.

This PR is *not* intended to test typed forms, merely to minimize the size of the upcoming PR. This will allow that PR to be focused on the actual features and tests, rather than boilerplate fixes.

PR Close #44451
2021-12-14 16:10:08 -05:00
Dylan Hunn 998c1e63fe fix(forms): I indroduced a minor error in a previous PR: pendingValue is a value not a boolean flag. (#44450)
The bug should have no effect since it's a typings-only, internal-only bug, but it's good to fix nonetheless.

PR Close #44450
2021-12-14 16:09:43 -05:00
JoostK 1a25e381e6 test(ngcc): don't use the workspace typescript version to generate integration test fixtures (#44448)
Now that ViewEngine libraries can no longer be created, the latest
TypeScript version that ngcc should be able to process is TypeScript 4.3,
i.e. the version of TypeScript that was supported in Angular 12.
However, ngcc's integration tests used the TypeScript version of the
workspace to create the JavaScript files from TypeScript sources on
demand. This introduces friction when upgrading the TypeScript version
within the workspace, as changes to TypeScript's emit format may affect
ngcc's ability to process it correctly.

The on demand creation of JavaScript files was convenient for authoring
tests, but it also helped to detect incompatibilities with newer
versions of TypeScript. Now that ngcc no longer has to process newer
versions of TypeScript, we want to pin the integration suite to use
JavaScript code as if it were compiled using TypeScript 4.3, i.e. a
version of TypeScript that is actually supported by ngcc.

This commit updates the integration test to inline all the generated
files directly in the tests, instead of compiling them on demand. This
was done by temporarily installing TypeScript 4.3 and using it to create
the `loadTestFiles` statement from the original TypeScript inputs.

An alternative could have been to install TypeScript 4.3 as an actual
dependency in the workspace and using that to continue compiling the
integration suite on demand, but this brings some overhead in package
installations (TypeScript is ~60MB) and the authoring aspect of ngcc
integration test is expected to diminish, now that ngcc's support is no
longer a moving target.

PR Close #44448
2021-12-14 16:08:28 -05:00
Yousaf Nawaz 48e692dabe docs(docs-infra): change variable names in route guards examples (#44444)
change variable name 'next' to 'route' in route guards examples on developer guides "Routing and Navigation Tutorial: Adding routing to Tour of Heroes" to make it consistent with api docs and subsequent examples.

Fixes #44291

PR Close #44444
2021-12-14 16:08:05 -05:00
faso-dev 5ef03852c8 docs: fix typo (#44427)
`name` instead of `id`
PR Close #44427
2021-12-14 16:07:23 -05:00
jaybell 716f473d29 docs: add jaybell to gde list (#44423)
PR Close #44423
2021-12-14 16:06:32 -05:00
Aristeidis Bampakos 524e5152d7 docs: update Aristeidis Bampakos bio (#44410)
PR Close #44410
2021-12-14 16:06:06 -05:00
dario-piotrowicz bb1d4ff315 fix(animations): don't consume instructions for animateChild (#44357)
TODO: Fill body commit if PR gets accepted

resolves #41483
resolves #30693

PR Close #44357
2021-12-14 16:05:35 -05:00
zuckjet d8b6adb7bc fix(animations): should not invoke disabled child animations (#37724)
Currently child animation will be triggered by `animateChild()` despite it has been disabled.
These changes add some logic to prevent that unexpected behavior.

PR Close #37724

PR Close #37724
2021-12-14 16:05:00 -05:00
Renovate Bot f4fcdffbac build: update all non-major dependencies (#44152)
PR Close #44152
2021-12-14 16:04:34 -05:00
Dylan Hunn a0316ab0c0 refactor(forms): Fix weak helper types in the Forms package, mostly Function types that can be strengthened to specific callbacks. This was originally proposed as part of Typed Forms, but it may be possible to submit at least some of these changes separately and unconditionally (i.e. without relying on TypedOrUntyped.) (#44370)
It is desirable to land this separately to reduce the scope of the Typed Forms PR, by focusing it only on the new type parameters (rather than incidental strictness fixes).

PR Close #44370
2021-12-10 17:13:25 -05:00
Renovate Bot 6c0ac5145b build: update dependency google-closure-compiler to v20211201 (#44392)
PR Close #44392
2021-12-10 16:39:42 -05:00
Renovate Bot a8e5a93e12 build: update angular (#44273)
PR Close #44273
2021-12-10 16:39:05 -05:00
George Kalpakas 266b62c20f build(docs-infra): upgrade cli command docs sources to e7881e40b (#44413)
Updating [angular#13.1.x](https://github.com/angular/angular/tree/13.1.x) from
[cli-builds#13.0.x](https://github.com/angular/cli-builds/tree/13.0.x).

##
Relevant changes in
[commit range](https://github.com/angular/cli-builds/compare/481eb4544...e7881e40b):

**Modified**
- help/new.json

PR Close #44413
2021-12-10 16:36:41 -05:00
dario-piotrowicz a0e68250ad docs(animations): improve animation transition api docs (#44396)
improve the transition api docs by removing unnecessary examplanations
and examples

also provide helpful information regarding entering and leaving
elements (as part of #44253)

PR Close #44396
2021-12-10 16:34:01 -05:00
Paul Gschwendtner d7a9b36d91 build: remove unused starlark file that is no longer used (#44430)
Cleans up an unused Starlark file used by the old integration test
setup.

PR Close #44430
2021-12-10 16:31:04 -05:00
Paul Gschwendtner 5bdf321a97 build: fix integration test size trackings not running after recent refactoring (#44430)
Fixes that the integration test size trackings stopped working due to
the recent refactorings (switch to the rule from `@angular/dev-infra-private`).

The size-tracking does not integrate very-well into Bazel and needs
a better solution in the future, allowing for RBE and Windows support,
but currently with the new rule/setup/structure the tracking does not
validate sizes because:

* The `dist/*.js` argument to the tracking script got expanded and
  messed up the indices. It should be passed as a literal. This now
  surfaced because the new rule runs commands in a shell.

* The name for the size goldens were not computed properly because they
  were based on `ctx.attr.name`, but given the new structure, the test
  targets are always named `test`.

PR Close #44430
2021-12-10 16:31:04 -05:00
Alex Rickabaugh b11d3c3759 release: cut the v13.1.0 release (#44418)
PR Close #44418
13.1.0
2021-12-09 12:02:43 -05:00
Alex Rickabaugh 0c35e67ee7 Revert "release: cut the v13.1.0 release (#44417)"
This reverts commit 0e2c357358.

One more try, this time with a manual workaround.
2021-12-09 11:56:46 -05:00
Alex Rickabaugh 0e2c357358 release: cut the v13.1.0 release (#44417)
PR Close #44417
2021-12-09 11:52:25 -05:00
Alex Rickabaugh 22d8e5668e Revert "release: cut the v13.1.0 release (#44416)"
This reverts commit 6fb733fb40.

Still seeing transient errors - trying one more time before moving to a
workaround.
2021-12-09 11:50:04 -05:00
Alex Rickabaugh 6fb733fb40 release: cut the v13.1.0 release (#44416)
PR Close #44416
2021-12-09 11:37:17 -05:00
Alex Rickabaugh 6992a68935 Revert "release: cut the v13.1.0 release (#44415)"
This reverts commit 7e39556013.

The release process failed with a transient error, so reverting this commit
and trying again.
2021-12-09 11:35:00 -05:00
Alex Rickabaugh 7e39556013 release: cut the v13.1.0 release (#44415)
PR Close #44415
2021-12-09 11:31:04 -05:00
Alex Rickabaugh 08694e34dd release: cut the v13.1.0-rc.0 release 2021-12-08 14:24:20 -05:00
Paul Gschwendtner 2664bc2b3e test: switch integration tests from puppeteer/webdriver-manager to Bazel-managed chromium (#44238)
Switches the integration tests form Puppeteer/webdriver-manager to the
Bazel-managed Chromium/Chromedriver. This is now possible with the new
integration test rule for which we can consult the
`dev-infra/bazel/browsers` toolchain and setup environment variables.
This has been configured already in a previous commit.

This commit also includes some additional small cleanups necessary for
the new integration test rule:

* The `test.sh` scripts have been renamed as they would conflict with
  the `test.sh` scripts generated by the integration test rule.
  Previously this was not an issue because tests were declared at a
  higher-level. As mentioned though this has other downsides and it is
  trivial to rename the file.

* Related to the point above, since tests are now declared witin the
  actual test folder (for perf e.g.), `package.json` files setting
  `"type": "module"` will accidentally cause the `nodejs_test`-generated
  files to be considered ESM. This is not correct and likely needs to be
  fixed upstream in `rules_nodejs` where explicit `.cjs` extensions
  should be used. This is only happening **once** in the `injectable-def`
  test so it is acceptable doing that for now.

PR Close #44238
2021-12-08 13:42:42 -05:00
Paul Gschwendtner 5837fbd357 refactor: setup bazel integration test with new integration rule (#44238)
Sets up the Bazel integration test with the new integration rule. This
commit is separate from the other changes because it required some
additional work. i.e.

The test has moved from `integration/bazel` to `integration/<..>/bazel`
where `<..>` is a new Bazel package defining the integration test.

This is necessary because we could not declare the integration test
within the `BUILD.bazel` file actually being part of the nested bazel
workspace. In those cases we can just define it at a higher-level and
use integration test `working_dir` attribute.

PR Close #44238
2021-12-08 13:42:41 -05:00
Paul Gschwendtner 64fd824f67 build: setup test targets for integration tests with new rule (#44238)
Sets up the test targets for integration tests with the new rule.
The targets will match the configuration of the previous integration
test setup (through the dictionary in a `bzl` file).

Note: We already add `setup_chromium` based on whether Chromium tests
run as part of this integration test. In a follow-up commit we can then
remove puppeteer and rely on the Bazel-managed version of Chromium.

PR Close #44238
2021-12-08 13:42:41 -05:00
Paul Gschwendtner 98c5063cd8 build: update visibility for npm package targets to work with new integration test structure (#44238)
As mentioned in the previous commit, integration tests will be declared
in subpackages of `//integration`. For these tests to still rely on the
NPM packages from `HEAD`, we need to update the visibility.

PR Close #44238
2021-12-08 13:42:41 -05:00
Paul Gschwendtner 6c0905d7ab build: wire up integration test rule from shared dev-infra package (#44238)
Wires up the integration test rule from the shared dev-infra package,
while also deleting the old integration test rule.

The readme is updated to reflect the changes that are being made
to run with the new integration rule. Overall one major difference is
that we will declare the integration test targets within each test
directory, making those actual bazel packages. This is more idiomatic
within Bazel and also reduces the computation within Skyframe as less
globs need to be evaluated for example.

PR Close #44238
2021-12-08 13:42:41 -05:00
Paul Gschwendtner 6add6a097d build: replace validate import ESM/CJS interop rule with dev-infra shipped rule (#44238)
The import ESM/CJS interop lint rule has been ported to the shared
dev-infra package, so we can remove the local version here.

PR Close #44238
2021-12-08 13:42:41 -05:00
Alex Rickabaugh 0cd524b148 Revert "refactor(forms): Move FormControl to an overridden exported constructor. (#44316)"
This reverts commit cdf50ff931.

Reverting as this needs a little more work on the documentation side, plus
the `export declare interface` syntax in `model.ts` might have unintended
side effects in g3.
2021-12-08 13:36:58 -05:00
Dylan Hunn cdf50ff931 refactor(forms): Move FormControl to an overridden exported constructor. (#44316)
This implementation change was originally proposed as part of Typed Forms, and will have major consequences for that project as described in the design doc. Submitting it separately will greatly simplify the risk of landing Typed Forms. This change should have no visible impact on normal users of FormControl.

See the Typed Forms design doc here: https://docs.google.com/document/d/1cWuBE-oo5WLtwkLFxbNTiaVQGNk8ipgbekZcKBeyxxo.

PR Close #44316
2021-12-08 13:24:28 -05:00
Kristiyan Kostadinov 6df314f3d9 refactor(animations): remove unnecessary code (#44378)
* The `TransitionAnimationEngine` had a fallback where it would store classes directly on a node if it doesn't have a `classList`. Presumably this is to support old browsers or if an animation is set on something like `ng-container`. This information was never used for anything since `containsClass` was never called. These changes simplify the logic to just a null check.
* Deprecates the `AnimationDriver.matchesElement` method, because it was only used in one place which can be replaced with `classList.contains`. We can't remove the method completely, because `AnimationDriver` is a public API. We also can't turn it into a method on the base class in order to remove it from the sub-classes, because it can break apps using `noImplicitOverride` while extending `AnimationDriver`.

PR Close #44378
2021-12-08 13:23:40 -05:00
Markus Doggweiler 80ab604fe0 docs(localize): fix typo in i18n-overview.md (#44389)
Co-authored-by: Andrew Kushnir <43554145+AndrewKushnir@users.noreply.github.com>

PR Close #44389
2021-12-08 13:22:31 -05:00
Andrew Kushnir 52a73c6b14 refactor(animations): reuse existing Version class (#44375)
Animations package has its own implementation of the `Version` class, when other packages use an implementation from `@angular/core`. This commit aligns Animations package with other packages and makes use of the `Version` class from `@angular/core`.

PR Close #44375
2021-12-07 08:34:53 -05:00
dario-piotrowicz c434e84e20 test: spy on console.error in configureTestingModule reset test (#44377)
improve the configureTestingModule reset test by also spying on
console.error and making sure that an error is logged to the user
when it should be

PR Close #44377
2021-12-07 08:34:29 -05:00
dario-piotrowicz bca5638736 docs(animations): add :enter and :leave info to query api docs (#44379)
add information to the query api docs clarifying what elements can be
queried as entering and leaving (as that is not currently clearly
documented and has caused confusions to developers)

one of the tasks of issue #44253

PR Close #44379
2021-12-07 08:34:04 -05:00
George Kalpakas 41265919aa fix(ngcc): correctly resolve UMD dependencies (#44381)
Previously, when processing UMD, ngcc assumed that the `exports`
argument of the CommonJS factory call (if present) would be the first
argument of the call. This is generally true for the supported UMD
formats, but can change if ngcc prepends more imports (and thus factory
arguments) while processing the module. This could lead to errors when
trying to collect dependencies of an already processed module.
(This was accidentally broken in #44245 (commit 2bc3522e16).)

This commit fixes it by not making any assumptions about the position of
an `exports` argument in the CommonJS factory call.

Fixes #44380

PR Close #44381
2021-12-07 08:33:00 -05:00
Alex Rickabaugh 43db24302c refactor(compiler): delete View Engine components of @angular/compiler (#44368)
This commit finishes the removal of View Engine from the codebase, deleting
those pieces of @angular/compiler which were only used for VE.

Co-Authored-By: JoostK <joost.koehoorn@gmail.com>

PR Close #44368
2021-12-06 13:12:36 -05:00
Renovate Bot 433a9569b9 build: update dependency jsdom to v19 (#44362)
PR Close #44362
2021-12-03 11:49:42 -05:00
Renovate Bot 90de08cf33 build: update dependency tsec to v0.2.1 (#44361)
PR Close #44361
2021-12-03 11:48:45 -05:00
Renovate Bot 927bfb9e7b build: update dependency eslint to v8 (#43789)
PR Close #43789
2021-12-03 11:48:10 -05:00