25294 Commits

Author SHA1 Message Date
JoostK 73c97aea9e fix(compiler-cli): accept nullish coalescing operator for any and unknown types (#44862)
We should not make assumptions about the any and unknown types; using a nullish
coalescing operator is acceptable for those.

PR Close #44862
2022-01-31 20:31:58 +00:00
Esteban Gehring f0d572eebf docs(core): showcase host listener support for specific keys in events (#44833)
PR Close #44833
2022-01-31 20:30:45 +00:00
Jessica Janiuk 7a81481fb2 perf(animations): Remove generic objects in favor of Maps (#44482)
We were using a number of generic objects as if they were maps and relying on delete to remove
properties. In order to improve performance, these have been switched to native maps.

PR Close #44482
2022-01-31 20:28:43 +00:00
Juri Strumpflohner 55b180876d docs: update Nx headline (#44910)
PR Close #44910
2022-01-31 19:46:36 +00:00
Aristeidis Bampakos 8d9eb994cb docs: add code format in content projection guide (#44907)
PR Close #44907
2022-01-31 19:45:47 +00:00
George Kalpakas 3d07d1f772 fix(docs-infra): make it possible to see whole notification text on smaller screens (#44900)
Previously, when the notification text did not fit on the viewport
width, it got truncated and it was not possible to see the whole text.

This commit fixes this by making the notification scrollable when the
text overflows.

PR Close #44900
2022-01-31 19:44:52 +00:00
George Kalpakas 2320025a8e fix(docs-infra): make it easier to interact with notification on smaller screens (#44900)
On smaller screens, the action button in `NotificationComponent` is
hidden (due to limited horizontal screen "real estate"). Thus, the only
way to perform the action is to click on the notification message, which
is typically a link.

Previously, the link inside the notification did not take up the whole
height of the notification bar. As a result, clicking outside the link
would dismiss the notification without following the link.

This commit makes it easier to interact with the notification (esp. on
smaller screens) by ensuring the link covers the whole notification bar
(width and height).

PR Close #44900
2022-01-31 19:44:52 +00:00
Renovate Bot 390a653b7b build: update dependency d3 to v7 (#44892)
PR Close #44892
2022-01-31 19:43:34 +00:00
Renovate Bot dea30d4c4f build: update dependency @types/send to ^0.17.0 (#44890)
PR Close #44890
2022-01-31 19:40:31 +00:00
Renovate Bot a8686c64b4 build: update dependency @types/chrome to ^0.0.177 (#44889)
PR Close #44889
2022-01-31 19:35:57 +00:00
George Kalpakas e62f0103cf build(docs-infra): upgrade cli command docs sources to db5e7c82e (#44888)
Updating [angular#master](https://github.com/angular/angular/tree/master) from
[cli-builds#master](https://github.com/angular/cli-builds/tree/master).

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

**Modified**
- help/build.json
- help/e2e.json
- help/extract-i18n.json
- help/serve.json
- help/test.json
- help/update.json

PR Close #44888
2022-01-31 19:33:37 +00:00
JimMorrison723 3f0a2d3120 fix(devtools): show date type property value in preview (#44864)
Values of Date properties were not shown in the preview. It was formatted to a simple string thus not giving valuable info to the developer.

PR Close #44864
2022-01-31 19:32:47 +00:00
Andrew Scott b1b45472c2 refactor(compiler-cli): Update where and how the indexed errors are exposed (#44884)
The initial commit e9124b42d5 stored the errors rather than
throwing but did not store them in a place that was accessible to consumers. Instead,
the errors should be added to the IndexedComponent so they can be surfaced where the
index results are consumed

PR Close #44884
2022-01-31 18:36:55 +00:00
Paul Gschwendtner 10092f24fc build: fix formatting in zone.js BUILD file (#44912)
Fixes formatting in one of the Zone BUILD files.
The lint check on the renovate branch did not check
formatting as it seems. Needs more investigation as
the PR was green.

PR Close #44912
2022-01-31 17:35:45 +00:00
George Kalpakas 0650066d59 Revert "fix(docs-infra): content overflow in mobile (#44851)" (#44899)
This reverts commit c2e09e0911, because it
messes up the table layouts on some resolutions/pages. See #44891 for
details.

Fixes #44891

PR Close #44899
2022-01-31 17:10:50 +00:00
Paul Gschwendtner d614a97af9 build: update legacy saucelabs bundle generation to account for esbuild update (#44830)
Previously with ESBuild 0.14.11, when a file had dynamic requires to
builtin NodeJS modules like `url`, the resolution completed successfully
regardless of `--platform browser`. This seems to be fixed in ESBuild now.

This unveiled some resolution errors with our Saucelabs bundle generation
because the framework code sometimes switches dynamically to `require('url')`
if `window.URL` is not defined. Previously this just didn't matter, but now
the `require('url')` is checked and a module resolution error is reported given
`url` not being available in the browser as a builtin module.

We fix this by marking the module as external. We will not hit this code path
anyway in the browser saucelabs code. Similarly we exclude all platform-server
files from the bundle. This is not strictly needed after the `url` module being
marked as external, but the issue showed that lots of unnecessary code for the
server platform is included. This can be omitted (unfortunately not from the TS
compilation without over-complicating things significantly more; experimented with
that).

PR Close #44830
2022-01-31 17:00:18 +00:00
Paul Gschwendtner 8817b08219 build: update postinstall patch to account for benchmark macro changes (#44830)
Updates the postinstall patch for the benchmark macro rule from dev-infra.
We moved the ZoneJS setup to the bundler. This was necessary in order to
switch away from the Go-based (windows-incompatible, m1-incompatible)
concatjs devserver to a rather basic HTTP server (also provided by dev-infra now).

PR Close #44830
2022-01-31 17:00:18 +00:00
Renovate Bot 23732bfe27 build: update angular (#44830)
PR Close #44830
2022-01-31 17:00:18 +00:00
Dylan Hunn deb9531a31 fix(forms): Update the typed forms migration schematic to find all files. (#44881)
We were breaking out of the loop that walks the source tree due to an incorrect return.

PR Close #44881
2022-01-28 21:59:34 +00:00
Paul Gschwendtner 9229511b1d build: bump version for @angular/benchpress to v0.2.2 (#44879)
Bumps the version for benchpress to v0.2.2 so that a new version
is available on NPM with Angular v13 support. This would be needed
for dev-infra which exposes tooling for benchmarks relying on the
Angular benchpress NPM package.

PR Close #44879
2022-01-28 18:02:26 +00:00
fru2 c2e09e0911 fix(docs-infra): content overflow in mobile (#44851)
When reading the docs page on mobile, some page tend to scroll in horizontal direction quite a lot which is unpleasant

Fixes #44850

PR Close #44851
2022-01-28 18:01:47 +00:00
Maarten Tibau a8fca09371 docs: fix typo in update guide (#44853)
PR Close #44853
2022-01-28 17:37:24 +00:00
Dylan Hunn f490c2de4e feat(forms): support negative indices in FormArray methods. (#44848)
This new feature allows negative indices to wrap around from the back, just like ES2021 `Array.at`. In particular, the following methods accept negative indices, and behave like corresponding Array methods:
* `FormArray.at(index)`: behaves the same as `Array.at(index)`
* `FormArray.insert(index, control)`: behaves the same as `Array.splice(index, 0, control)`
* `FormArray.setControl(index, control)`: behaves the same as `Array.splice(index, 1, control)`
* `FormArray.removeAt(index, control)`: behaves the same as `Array.splice(index, 1)`

Previous work in #44746 and #44631 (by @amitbeck).

Issue #44642.

Co-authored-by: Amit Beckenstein <amitbeck@gmail.com>

PR Close #44848
2022-01-28 16:58:29 +00:00
Aristeidis Bampakos 156fb37fa0 docs: fix GitHub broken link in update guide (#44875)
PR Close #44875
2022-01-28 16:08:28 +00:00
George Kalpakas c577a1dc93 fix(docs-infra): fix links to CLI commands source code (#44835)
Recently, the [CLI repository][1] switched to not prefixing tag names
with a `v`. Update the `versionInfo` generated for CLI commands docs, so
that the links to the source code (which include the tag name) are
correct.

Fixes #44822

[1]: https://github.com/angular/angular-cli

PR Close #44835
2022-01-28 16:07:47 +00:00
Theodore Brown f1a51457f9 refactor(forms): remove dead code (#37614)
This functionally dead code was originally introduced via pull request
were added to verify the fix, and the many comments on that issue after
it was closed indicate that it wasn't actually resolved.

In fact, setting `selectedIndex` does absolutely nothing here, since
the selected index is immediately overridden by setting the `value`
property. A working fix (with tests) for the IE/Safari bug is in pull
request #23784. Originally this dead code was removed as part of that PR,
but @AndrewKushnir recommended creating a separate PR for the cleanup.

PR Close #37614
2022-01-28 16:07:11 +00:00
dario-piotrowicz 07f827eec3 docs(core): edit and add docs for ng-container (#44762)
PR Close #44762
2022-01-28 15:55:32 +00:00
Andrew Scott 910de8bc33 feat(router): Add Route.title with a configurable TitleStrategy (#43307)
This commit provides a service, `PageTitleStrategy` for setting
the document page title after a successful router navigation.

Users can provide custom strategies by extending `TitleStrategy` and
adding a provider which overrides it.

The strategy takes advantage of the pre-existing `data` and `resolve` concepts
in the Router implementation:

We can copy the `Route.title` into `data`/`resolve` in a
non-breaking way by using a `symbol` as the key. This ensures that we
do not have any collisions with pre-existing property names. By using
`data` and `resolve`, we do not have to add anything more to
the router navigation pipeline to support this feature.

resolves #7630

PR Close #43307
2022-01-27 22:02:33 +00:00
Andrew Kushnir c12110f2f8 docs: update survey id (#44865)
The survey id is used as a key in the local storage to keep the state (don't show the message again). Reusing this survey id will make the message invisible to some users who already have that key in local storage.

PR Close #44865
2022-01-27 21:52:35 +00:00
Paul Gschwendtner 7b7d644286 refactor: fix type checking error with devtools state-serializer spec (#44735)
Fixes an error in the satte-serializer spec:

```
devtools/projects/ng-devtools-backend/src/lib/state-serializer/state-serializer.spec.ts:103:60 - error TS2345: Argument of type '{ name: string; children: { name: string; children: { name: number; children: { name: number; children: { name: string; }[]; }[]; }[]; }[]; }[]' is not assignable to parameter of type 'NestedProp[]'.
  Type '{ name: string; children: { name: string; children: { name: number; children: { name: number; children: { name: string; }[]; }[]; }[]; }[]; }' is not assignable to type 'NestedProp'.
    Types of property 'children' are incompatible.
      Type '{ name: string; children: { name: number; children: { name: number; children: { name: string; }[]; }[]; }[]; }[]' is not assignable to type 'NestedProp[]'.
        Type '{ name: string; children: { name: number; children: { name: number; children: { name: string; }[]; }[]; }[]; }' is not assignable to type 'NestedProp'.
          Types of property 'children' are incompatible.
            Type '{ name: number; children: { name: number; children: { name: string; }[]; }[]; }[]' is not assignable to type 'NestedProp[]'.
              Type '{ name: number; children: { name: number; children: { name: string; }[]; }[]; }' is not assignable to type 'NestedProp'.
                Types of property 'children' are incompatible.
                  Type '{ name: number; children: { name: string; }[]; }[]' is not assignable to type 'NestedProp[]'.
                    Type '{ name: number; children: { name: string; }[]; }' is not assignable to type 'NestedProp'.
                      Types of property 'children' are incompatible.
                        Type '{ name: string; }[]' is not assignable to type 'NestedProp[]'.
                          Property 'children' is missing in type '{ name: string; }' but required in type 'NestedProp'.

103     const result = deeplySerializeSelectedProperties(dir1, QUERY_1_2);
```

PR Close #44735
2022-01-27 21:51:28 +00:00
Paul Gschwendtner a82165e3f9 test(docs-infra): fix type checking errors with new jasmine types (#44735)
The jasmine types for `spyObj.calls().all()` seem to be more specific,
relying on `ThisType<Fn>` to determine the context/receiver for an invoked
spy. This type does not work as expected with class members as it seems.

This commit fixes three of these type checking failures by explicitly casting
the spy context to the actual class owning the method member.

PR Close #44735
2022-01-27 21:51:28 +00:00
Renovate Bot 362e07ba92 build: update angular (#44735)
PR Close #44735
2022-01-27 21:51:28 +00:00
Renovate Bot d12d7f2c3f build: lock file maintenance (#44735)
PR Close #44735
2022-01-27 21:51:28 +00:00
mgechev 1312ac1d98 docs: enable the survey banner (#44861)
PR Close #44861
2022-01-27 11:43:54 -08:00
Paul Gschwendtner df50af2bc5 ci: only build test targets for components repo unit test job (#44832)
To speed up the components CI job (avoiding it being a bottleneck in FW),
we will stop building everything in `src/...`, but rather only build targets
which are needed to run all tests within `src/...`.

This notably should avoid unnecessary NPM package building. Arguably that
part would also be valuable to have, but we already test the `ng_package`
rule in FW itself, plus we run snapshot tests in the components repo as well.

PR Close #44832
2022-01-27 09:22:23 -08:00
Paul Gschwendtner 15df7eb5f5 ci: re-enable components repo unit tests job (#44832)
Re-enables the components-repo unit tests job that we previously
disabled due to the devmode target change that caused conflicts
with `angular/components` patching `ng_module.bzl` of `@angular/bazel`.

PR Close #44832
2022-01-27 09:22:23 -08:00
Andrew Scott e9124b42d5 refactor(compiler-cli): Tolerate source span errors in indexer (#44825)
When the indexer encounters a location where the source span doesn't
match up with the expected identifier, the current visitor code throws
an error. Instead, this change creates an error and moves on to the next
template item. This allows the indexer to continue analysis even when
there are errors in the source mapping. In addition, it still allows callers
to surface those errors in their own way while still providing as much indexed
information as possible about a node.

PR Close #44825
2022-01-27 09:20:09 -08:00
Renovate Bot eb11bcb5e4 build: update dependency globby to v13 (#44801)
PR Close #44801
2022-01-27 09:18:58 -08:00
Renovate Bot a03f80a409 build: update dependency rules_pkg to v0.6.0 (#44818)
PR Close #44818
2022-01-26 17:37:41 -08:00
Dylan Hunn e5e81613a7 Revert "refactor(forms): Temporarily disable the typed forms migration. (#44828) (#44834)
This reverts commit 894fa759f1. In that commit, the migration was completely diabled in order to prevent users from selecting it for the 13.2 release. This revert commit restores the migration to its previous (fully optional) state, in order to continue migration-focused work.

PR Close #44834
2022-01-26 17:36:58 -08:00
AleksanderBodurri c020f60878 ci: reenable CI checks for commit message validation and rebasing on target branch (#44845)
These checks were temporarily disabled in order to support the angular devtools migration to the angular/angular repo. Now that devtools was merged, we can safely enable these checks again.

PR Close #44845
2022-01-26 14:33:47 -08:00
AleksanderBodurri 8fb3aed874 docs(devtools): update comment to better reflect what angular version is running in g3.
PR Close #43473
2022-01-26 14:18:32 -08:00
AleksanderBodurri f7541e5fb4 refactor(devtools): remove LICENSE file in the devtools directory
This file was carried over from the original angular devtools repo. Now that devtools has been merged into angular/angular, this file is no longer necessary, because the root of this repo has its own LICENSE file.
2022-01-26 16:35:31 -05:00
AleksanderBodurri 5e9b41181e ci: sort devtools pullapprove reviewers in alphabetical order
Previously this list was not in any order. This commit puts the reviewer list in alphabetical order to be consistent with how other groups order reviewers
2022-01-26 16:35:31 -05:00
AleksanderBodurri 5b7d18533c refactor(devtools): disable cypress and remove dependencies
Previously we were running Cypress in CI. Since cypress needs to be installed to run these tests, it was decided that we would not run devtools' cypress tests until a decision could be made on an e2e testing solution.

This commit removes all package scripts, dependencies, and CI commands that reference cypress. Notably it leaves the actual tests in the devtools directory intact, so that they can be referenced later once a decision is made.
2022-01-26 16:35:31 -05:00
AleksanderBodurri 445fbf81fd refactor(devtools): bring the angular devtools directory into the root bazel workspace
Previously devtools used a nested workspace for its bazel configurations. This meant framework dependencies were consumed via npm.

Now devtools is part of the root bazel directory that all other files in this codebase fall under. This allows us to build devtools using local angular packages, removing the need to consume these dependencies with npn. This is useful because we no longer have to update these dependencies with an automated tool like renovate, and our CI tests will always run against the most up to date framework packages.
2022-01-26 16:35:31 -05:00
AleksanderBodurri 7ed57f29ea refactor(devtools): add override to classes that extend abstract classes in the devtools directory
Previously the typescript override keyword was not on these methods. Now that devtools uses the tslint config in angular/angular (because of the no-implicit-override-abstract rule) we need to add these key words explicitly to method overrides. That is what this commit does.
2022-01-26 16:35:31 -05:00
AleksanderBodurri 1f70ac2428 refactor(devtools): remove rules_sass patch
Previously a workaround patch was needed because rules_sass didn't support v4 of rules_nodejs. This commit updates rules_sass to a version that does and removes the patch.
2022-01-26 16:35:31 -05:00
AleksanderBodurri 2a1ff17b42 refactor(devtools): run tslint --fix on devtools codebase
This commit runs tslint --fix with the angular/angular tslint configuration on the files inside the devtools codebase.

Notably, the file-header rule in `tslint.json` was missing a default attribute. This commit adds that default attribute and sets it to the
license header that is present in all files in this repo. After running tslint --fix with this default added, this commit added the license header to all files in the devtools directory. Note for the reviewer: the automatically added license headers were added as comments with the "/*!" prefix. Since we want these comments removed in builds, and the rest of the codebase uses "/**", a simple find and replace was performed on the devtools directory to change these prefixes to "/**".
2022-01-26 16:35:31 -05:00
AleksanderBodurri 494356426f ci: change the devtools test executor to test-browser-executor and remove tasks in the test_angular_devtools job that installed test dependencies manually
This commit also disables cypress' video recording feature to save time on running Cypress tasks in CI.
2022-01-26 16:35:30 -05:00