25294 Commits

Author SHA1 Message Date
Pawel Kozlowski 779da7f9c4 test(core): re-organize event listener tests (#46509)
Re-organize acceptance test for even listeners by moving
all the tests under an appropriate describe block.

PR Close #46509
2022-06-27 09:04:39 -07:00
Paul Gschwendtner 6b8f10ef4b test: update standalone browser tests to not pollute test output (#46510)
There are a couple of tests intentionally triggering and verifying
runtime errors thrown by `bootstrapApplication`. These errors are
also printed using the default `ErrorHandler`, while also being
re-thrown and caught/asserted by the test.

The error logging should be disabled as otherwise three tests will
pollute the test output with large amounts of text that make it
also seem like actual failing tests / something incorrect going on with
the jasmine environment.

PR Close #46510
2022-06-27 09:04:13 -07:00
Paul Gschwendtner 0a84898749 test: remove unused intl polyfill from tests and third_party vendoring (#46512)
Removes an unused `Intl` polyfill that we needed in the past when
Angular common did not use CLDR.

PR Close #46512
2022-06-27 09:03:48 -07:00
Jeremy Meiss bdf57ab14a docs(core): add circleci insights metrics widget (#46496)
PR Close #46496
2022-06-24 17:04:06 -07:00
dario-piotrowicz 599870f121 refactor(docs-infra): create external-link-with-icon mixin (#46482)
create external-link-with-icon mixin in order to reduce scss code
duplication

PR Close #46482
2022-06-24 15:28:01 -07:00
KMathy 7316fa71c4 docs(forms): add usage notes (#46472)
Add usage notes for removeValidators and hasValidators to better understand how to use these functions

PR Close #46472
2022-06-24 13:28:50 -07:00
Kristiyan Kostadinov 1c39aace0e fix(common): handle CSS custom properties in NgStyle (#46451)
Fixes that `NgStyle` wasn't applying CSS custom properties.

PR Close #46451
2022-06-24 13:12:45 -07:00
Ramesh Thiruchelvam 07828528be refactor(core): make di error messages tree shakable (#46422)
Tree shake error messages from the production build and introduce error codes.

PR Close #46422
2022-06-24 13:12:21 -07:00
dario-piotrowicz 7558c558e0 feat(docs-infra): redesign contributors page (#46347)
redesign the aio contributors page so that it displays the contributors
details as a list instead of using flipping cards, this should improve
the usability of the page and especially its accessibility

resolves #44346

PR Close #46347
2022-06-24 13:11:56 -07:00
Ramesh Thiruchelvam 7da389a461 refactor(core): make zone error messages tree shakable (#46480)
Make the error messages tree shakable from the production build to reduce the bundle size.

PR Close #46480
2022-06-24 13:11:14 -07:00
Cédric Exbrayat dedbc2c5d5 refactor(forms): remove unused internal function (#46479)
The `isFormControlOptions` function is never used, and can be safely removed as it is not a public API.

PR Close #46479
2022-06-24 13:10:37 -07:00
Paul Gschwendtner 14e24ac1ff ci: attempt to unblock renovate from error state (#46486)
It looks like renovate does not send PRs for a couple of weeks now,
looking at the renovate dashboard there seem to be errors but the
logs cannot be viewed. Running the renovate config validation tool
locally indicates that schedules should be changed.

When we changed the schedules in
8d7351d939, the `@beejs/later` text
schedules have changed, but result in parse errors (also verified
locally by running the tool).

PR Close #46486
2022-06-24 13:10:06 -07:00
Paul Gschwendtner 83ef9d2fd9 build: remove unused karma debug config file (#46491)
As part of the initial devtools migration (moving it into this repo with
Bazel), we copied some of the Bazel Karma debug config code since it was
not available from the shared dev-infra repo. We already switched to the
shared code that is now available, but were missing an now-unused file.

PR Close #46491
2022-06-24 13:09:25 -07:00
Ramesh Thiruchelvam 1da3a051b5 refactor(core): make i18n error messages tree shakable (#46468)
Make the error messages tree shakable from the production build to reduce the bundle size.

PR Close #46468
2022-06-23 16:36:35 -07:00
arturovt 4eb1ca11f0 fix(animations): cleanup DOM elements when the root view is removed (#45143)
Currently, when importing `BrowserAnimationsModule`, Angular provides
`AnimationRendererFactory` as the `RendererFactory2`. The `AnimationRendererFactory`
relies on the `AnimationEngine`. The `AnimationEngine` may be created earlier than the
`ApplicationRef` (e.g. if it's requested within the `APP_INITIALIZER` before the `ApplicationRef`
is created). This means that Angular will add the `AnimationEngine` to `R3Injector.onDestroy`
before the `ApplicationRef`. The `R3Injector` will call `ngOnDestroy()` on the `AnimationEngine`
before the `ApplicationRef`, which means the `flush()` will be called earlier before views are destroyed.

PR Close #45108

PR Close #45143
2022-06-23 13:52:58 -07:00
Chellappan d24d54bf69 refactor(platform-browser):remove unused code in dom sanitization service (#46383)
PR Close #46383
2022-06-23 13:52:20 -07:00
Andrew Kushnir 4a2e7335b1 feat(common): make the CommonModule pipes standalone (#46401)
This commit updates the pipes presents in the `CommonModule` and annotates them with the `standalone: true` flag. With that flag, the pipes can now be imported individually, as well as imported via the `CommonModule`.

PR Close #46401
2022-06-23 13:51:43 -07:00
dario-piotrowicz b417370383 fix(animations): enable shadowElements to leave when their parent does (#46459)
when a component uses the shadowDom view encapsulation its children are
not rendered as normal HTML children of the element but they are
insterted in the element's shadowRoot, this causes the leave of the
element not to be normally propagated to the shadow child elements, fix
such issue

resolves #46450

PR Close #46459
2022-06-23 13:49:12 -07:00
Paul Gschwendtner a7db899ade build: speed up ng-dev config loading by disabling type-checking (#46476)
We perform type-checking as part of a CI check already and shouldn't
do this when loading the `ng-dev` configuration. This would slow-down
some `ng-dev` commands which are used quite often.

PR Close #46476
2022-06-23 13:48:25 -07:00
Andrew Kushnir 8d485491a9 release: cut the v14.1.0-next.2 release 14.1.0-next.2 2022-06-22 16:58:39 -07:00
Andrew Kushnir b1414ed800 docs: release notes for the v14.0.3 release 2022-06-22 16:52:52 -07:00
Andrew Kushnir 2402c47b76 Revert "fix(zone.js): do not silence uncaught promise rejections when the finally is called (#45449)" (#46461)
This reverts commit cb57cdbbd4.

PR Close #46461
2022-06-22 16:04:23 -07:00
Paul Gschwendtner 63396a1ea7 build: avoid use of ts-node wrapper script as it breaks child process forking (#46456)
`ts-node` spawns a custom node launcher script and has a brotli-base64
encoded configuration that will point to the user-provided entry-point.

This breaks child process forking as we wouldn't be able to specify our
custom build worker and basically `ng-dev` would run inside `ng-dev`
again.

PR Close #46456
2022-06-22 14:35:31 -07:00
Paul Gschwendtner d248d83c17 build: convert release package build scripts to typescript (#46456)
Follow-up to: cce395a928.

PR Close #46456
2022-06-22 14:35:31 -07:00
Andrew Scott 2d713f5847 refactor(router): separate router initializer into different logical providers (#46215)
This change separates the router initializer into different providers.
While it does not actually change the tree-shakeablity or the public
API, it does move us towards a world that _could_ do this. That is,
instead of `initialNavigation: 'disabled'`, users could use
`provideDisabledInitialNavigation` in the `bootstrapApplication` call
and none of the code for `initialNavigation: 'enabledBlocking'` would be
included in the application.

PR Close #46215
2022-06-22 13:26:46 -07:00
Andrew Scott ae0a63ad48 refactor(router): Move preloading to tree-shakeable provider (#46215)
Extracting preloading to a provider moves us towards
thinking about a world where `ExtraOptions` doesn't exist to control
behaviors that are opt-in/opt-out. Instead, these behaviors could be
controlled by the presence (or lackthereof) of the providers which has
the functionality. This is relevant to a world in which we no longer
have the `RouterModule` but instead have something like `provideRouter`
where the features are tree-shakeable.

This change _does not_ make the `RouterPreloader` tree-shakeable inside
`RouterModule.forRoot` because the compiler cannot statically determine
whether it's needed. However, in the `provideRouter` world without
`forRoot`, preloading could be exposed through the provider function
instead, making the `RouterPreloader` and `PreloadingStrategy`
implementations tree-shakeable for those that don't use it (which is the
default - no preloading).

PR Close #46215
2022-06-22 13:26:46 -07:00
Andrew Scott 9a0e681c10 refactor(router): Extract router scroller into a tree-shakeable provider (#46215)
Extracting the scroller to a provider moves us towards
thinking about a world where `ExtraOptions` doesn't exist to control
behaviors that are opt-in/opt-out. Instead, these behaviors could be
controlled by the presence (or lackthereof) of the providers which has
the functionality. This is relevant to a world in which we no longer
have the `RouterModule` but instead have something like `provideRouter`
where the features are tree-shakeable.

This change does not affect the current `RouterModule.forRoot` behavior,
tree-shakeability of the option, or existence of the options related to
the router scroller (scrollPositionRestoriation, anchorScrolling,
scrollOffset).

PR Close #46215
2022-06-22 13:26:46 -07:00
Andrew Scott bfea80d19f refactor(router): Simplify location strategy providers (#46215)
Rather than using a `provideLocationStrategy` function, the `useHash`
can simply provide one strategy or another. The current factory function
does not change how the dependencies are used.

PR Close #46215
2022-06-22 13:26:46 -07:00
Andrew Scott d7a7983a0a refactor(router): Extract 'enableTracing' option to a provider (#46215)
Extracting the `'enableTracing'` option to a provider moves us towards
thinking about a world where `ExtraOptions` doesn't exist to control
behaviors that are opt-in/opt-out. Instead, these behaviors could be
controlled by the presence (or lackthereof) of the providers which has
the functionality. This is relevant to a world in which we no longer
have the `RouterModule` but instead have something like `provideRouter`
where the features are tree-shakeable.

This change does not affect the current `RouterModule.forRoot` behavior,
tree-shakeability of the option, or existence of `enableTracing` on the
`ExtraOptions`.

PR Close #46215
2022-06-22 13:26:46 -07:00
Dmitrij Kuba abe3759e24 fix(router): allow to return UrlTree from CanMatchFn (#46455)
Currently it's not possible to return plain `UrlTree` from `CanMatchFn`,
only wrapped `UrlTree` into Observable or Promise is allowed.
These changes allow to return `UrlTree` from `CanMatchFn`.

PR Close #46455
2022-06-22 13:25:23 -07:00
arturovt cb57cdbbd4 fix(zone.js): do not silence uncaught promise rejections when the finally is called (#45449)
The native promise implementation logs unhandled promise rejections after `onFinally`
has been called. We may rely on the `scheduledByFinally` argument, which is `false` by
default, to avoid creating a breaking change; this will also allow us to reduce the number of
changes. The `finally` function should not silence unhandled promise rejections, because
they're not silenced in any implementation. If the `scheduleResolveOrReject` is called within
the `finally` we won't clear unhandled rejections. We'll keep the same behaviour if the
`scheduleResolveOrReject` is called within the `then`.

PR Close #43206

PR Close #45449
2022-06-22 13:23:03 -07:00
Aristeidis Bampakos fac6944ff7 docs: fix typos in several guides (#46453)
PR Close #46453
2022-06-22 09:14:53 -07:00
Paul Gschwendtner cce395a928 build: load ng-dev release package builder using CJS interop (#46454)
We need to switch the package builder to ESM or TS, like we did
in the components repo, but for now until we can, the release script
should work by loading the package builder CJS through the dynamic
import expression.

PR Close #46454
2022-06-22 09:14:07 -07:00
Dany Paredes 2512f65e51 docs: add dany paredes to GDE resources (#46411)
PR Close #46411
2022-06-21 14:21:29 -07:00
JoostK ddd6d66203 fix(core): deduplicate imports of standalone components in JIT compiler (#46439)
During JIT compilation of standalone components the compiler did not deduplicate
declarations in the imports array, unlike the AOT compiler. This may result in
runtime errors during directive matching, when the same component is found
multiple times resulting in NG0300, for example:

> NG0300: Multiple components match node with tagname mat-form-field: MatFormField and MatFormField.

This commit fixes the issue by deduplicating imports in the JIT compiler.

Relates to https://github.com/angular/angular/issues/46109#issuecomment-1160705031

Closes #46109

PR Close #46439
2022-06-21 12:41:16 -07:00
dario-piotrowicz 342effeb7d fix(animations): reset the start and done fns on player reset (#46364)
in the animation players, make sure than upon reset the
_onStartFns and _onDoneFns are also re-applied so that
they can be called again after resetting the animation

also set the noop animation player's _finished to false
when the player resets (needed to make sure that the _onDoneFns
get called)

resolves #26630

PR Close #46364
2022-06-21 12:40:24 -07:00
Derek Cormier d2648d9d77 build(bazel): remove tsec patch to enable runfiles on Windows (#46447)
tsec previously did not use runfiles on Windows even when the flag was enabled.
The latest version now adds an option to force its usage.

PR Close #46447
2022-06-21 12:19:53 -07:00
dario-piotrowicz db5d2683c8 fix(docs-infra): slightly improve aio-top-menu css (#46429)
slightly improve the aio-top-menu css by making it more robust
regarding differnt font-sizes and also remove unnecessary css rules

PR Close #46429
2022-06-21 12:19:12 -07:00
Kristiyan Kostadinov 08d3db232c fix(platform-server): invalid style attribute being generated for null values (#46433)
Fixes that the server renderer was producing an invalid `style` attribute when a null value is passed in. Also aligns the behavior with the DOM renderer by removing the attribute when it's empty.

Fixes #46385.

PR Close #46433
2022-06-21 11:54:52 -07:00
Andrew Kushnir 3d8787c961 fix(core): handle NgModules with standalone pipes in TestBed correctly (#46407)
Prior to this commit, the TestBed logic erroneously tried to apply provider overrides to standalone pipes that were imported in an NgModule. This commit updates the logic to recognize types that may have a scope (an NgModule or a standalone component) and skip other types while applying provider overrides recursively.

PR Close #46407
2022-06-21 11:54:19 -07:00
Andrew Kushnir e1d2a9c591 refactor(core): rename internal method to account for standalone components (#46407)
Prior to standalone components, the `applyProviderOverridesToModule` method was used exclusively for NgModules. With standalone, its scope was expended to include standalone components as well. This commit renames the method to `applyProviderOverridesInScope` to better reflect this + also renames a field that refers to a set that contains already overridden types.

PR Close #46407
2022-06-21 11:54:19 -07:00
web-dave 96c70741ab docs: update ng-de date (#46446)
PR Close #46446
2022-06-21 11:49:09 -07:00
renovate[bot] 0c9af71f80 build: update scorecard action dependencies (#46440)
PR Close #46440
2022-06-21 11:48:29 -07:00
Paul Gschwendtner ffedcdec08 build: replace copied spec_bundle rule in devtools with dev-infra rule (#46437)
Replaces the copied `spec_bundle` rule in the devtools folder with the
one provided by dev-infra. Initially we couldn't use the rule because
it wasn't available / and also later didn't work with the linker
version from `compiler-cli` built from `HEAD`.

PR Close #46437
2022-06-21 11:48:03 -07:00
Paul Gschwendtner 86248bb8d0 build: wire up ng-dev ts-node config loading (#46437)
With the new ESM version of `ng-dev`, the TypeScript config loading
cannot happen automatically because `ts-node` cannot hook into the
Node ESM module resolution at runtime. To fix this `ng-dev` is now
loading a plain `.ng-dev/config.mjs` and the runtime just needs to be
configured accordingly, i.e. running `ng-dev` with `ts-node` so that
the ESM loader can be wired up before Node's runtime starts (using e.g.
`node --loader`).

PR Close #46437
2022-06-21 11:48:03 -07:00
Paul Gschwendtner 3b077c05c4 build: update dev-infra package to latest version with full ESM (#46437)
Updates `angular/dev-infra` to the latest version which is now full ESM.

PR Close #46437
2022-06-21 11:48:03 -07:00
Paul Gschwendtner 0e3c2b2c40 ci: update renovate to update angular packages when available (#46437)
We recently aggressively limited Renovate to only two days and set the
hourly limit to one. This resulted in e.g. Angular not being updated
for quite a while now, as well as missing out on e.g. dev-infra updates
which should happen as often as possible.

This commit reworks the config to (1) avoid legacy syntax and (2) to
update Angular-cross repo depsas often as possible. Also groups Bazel
dependencies better and attempts to fix the non-working Babel dep
grouping.

PR Close #46437
2022-06-21 11:48:03 -07:00
Alan Agius e8a33e75f4 docs: remove old bazel schematics doc (#46436)
This doc was intended for users migrating to version 10.

PR Close #46436
2022-06-21 11:47:35 -07:00
behrooz bozorg chami 1aa27ebbad docs: fix base href haser tag (#46431)
I add '>' end of header tag
Fixes #46430

PR Close #46431
2022-06-21 11:47:04 -07:00
markostanimirovic cdd19bd30e docs(core): add full example for IfLoadedDirective (#46425)
This commit adds a full example for the IfLoadedDirective and moves
the code to the StackBlitz playground for structural directives.

Fixes #40739, #37119

PR Close #46425
2022-06-21 11:46:26 -07:00