Skip to content

build: update angular #23244

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 3, 2022
Merged

build: update angular #23244

merged 1 commit into from
Jun 3, 2022

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented May 28, 2022

Mend Renovate

This PR contains the following updates:

Package Type Update Change Age Adoption Passing Confidence
@angular/animations dependencies digest b6e8050 -> f0a4173 age adoption passing confidence
@angular/animations devDependencies patch 14.0.0-rc.2 -> 14.0.0 age adoption passing confidence
@angular/cdk dependencies digest c24af14 -> 9c6801f age adoption passing confidence
@angular/cdk devDependencies patch 14.0.0-rc.1 -> 14.0.0 age adoption passing confidence
@angular/common dependencies digest ee3b9d0 -> ae2f0d8 age adoption passing confidence
@angular/common peerDependencies major ^13.0.0 -> ^14.0.0 age adoption passing confidence
@angular/common devDependencies patch 14.0.0-rc.2 -> 14.0.0 age adoption passing confidence
@angular/compiler dependencies digest 5736e09 -> fe501dd age adoption passing confidence
@angular/compiler devDependencies patch 14.0.0-rc.2 -> 14.0.0 age adoption passing confidence
@angular/compiler-cli dependencies digest 39e06aa -> f850e5f age adoption passing confidence
@angular/compiler-cli devDependencies patch 14.0.0-rc.2 -> 14.0.0 age adoption passing confidence
@angular/core dependencies digest 69d6a50 -> 6d56144 age adoption passing confidence
@angular/core peerDependencies major ^13.0.0 -> ^14.0.0 age adoption passing confidence
@angular/core devDependencies patch 14.0.0-rc.2 -> 14.0.0 age adoption passing confidence
@angular/dev-infra-private devDependencies digest 323ae68 -> 932b9d5 age adoption passing confidence
@angular/forms dependencies digest 294d026 -> 3d03169 age adoption passing confidence
@angular/forms devDependencies patch 14.0.0-rc.2 -> 14.0.0 age adoption passing confidence
@angular/language-service dependencies digest fe29911 -> e5b3009 age adoption passing confidence
@angular/localize dependencies digest ac009f8 -> 3329e70 age adoption passing confidence
@angular/localize devDependencies patch 14.0.0-rc.2 -> 14.0.0 age adoption passing confidence
@angular/material dependencies digest 2e54c76 -> 2acc760 age adoption passing confidence
@angular/material devDependencies patch 14.0.0-rc.1 -> 14.0.0 age adoption passing confidence
@angular/material-moment-adapter dependencies digest 2e82b76 -> 07fe11a age adoption passing confidence
@angular/platform-browser dependencies digest 925b6b3 -> e41ae13 age adoption passing confidence
@angular/platform-browser devDependencies patch 14.0.0-rc.2 -> 14.0.0 age adoption passing confidence
@angular/platform-browser-dynamic dependencies digest 5fafb35 -> d034336 age adoption passing confidence
@angular/platform-browser-dynamic devDependencies patch 14.0.0-rc.2 -> 14.0.0 age adoption passing confidence
@angular/platform-server dependencies digest 6c0d95b -> 9699999 age adoption passing confidence
@angular/platform-server devDependencies patch 14.0.0-rc.2 -> 14.0.0 age adoption passing confidence
@angular/router dependencies digest cea3066 -> 6e3cb26 age adoption passing confidence
@angular/router devDependencies patch 14.0.0-rc.2 -> 14.0.0 age adoption passing confidence
@angular/service-worker dependencies digest 655e20d -> 9c26303 age adoption passing confidence
@angular/service-worker devDependencies patch 14.0.0-rc.2 -> 14.0.0 age adoption passing confidence
angular/dev-infra action digest 86c3cdc -> d1a108d age adoption passing confidence

🔡 If you wish to disable git hash updates, add ":disableDigestUpdates" to the extends array in your config.


Release Notes

angular/angular

v14.0.0

Compare Source

Blog post "Angular v14 is now available".

Breaking Changes

animations
  • The AnimationDriver.getParentElement method has become required, so any
    implementors of this interface are now required to provide an implementation
    for this method. This breakage is unlikely to affect application developers,
    as AnimationDriver is not expected to be implemented in user code.
common
  • Adds new required class member that any implementors of the LocationStrategy will need to satisfy.
    Location does not depend on PlatformLocation anymore.
compiler
  • Keyframes names are now prefixed with the component's "scope name".
    For example, the following keyframes rule in a component definition,
    whose "scope name" is host-my-cmp:

    @​keyframes foo { ... }

    will become:

    @​keyframes host-my-cmp_foo { ... }

    Any TypeScript/JavaScript code which relied on the names of keyframes rules
    will no longer match.

    The recommended solutions in this case are to either:

    • change the component's view encapsulation to the None or ShadowDom
    • define keyframes rules in global stylesheets (e.g styles.css)
    • define keyframes rules programmatically in code.
  • Keyframes names are now prefixed with the component's "scope name".
    For example, the following keyframes rule in a component definition,
    whose "scope name" is host-my-cmp:

    @​keyframes foo { ... }

    will become:

    @​keyframes host-my-cmp_foo { ... }

    Any TypeScript/JavaScript code which relied on the names of keyframes rules
    will no longer match.

    The recommended solutions in this case are to either:

    • change the component's view encapsulation to the None or ShadowDom
    • define keyframes rules in global stylesheets (e.g styles.css)
    • define keyframes rules programmatically in code.
core
  • Support for Node.js v12 has been removed as it will become EOL on 2022-04-30. Please use Node.js v14.15 or later.

  • TypeScript versions older than 4.6 are no longer supported.

  • Forms [email] input coercion

    Forms [email] input value will be considered as true if it is defined with any value rather
    than false and 'false'.

  • Since Ivy, TestBed doesn't use AOT summaries. The aotSummaries fields in TestBed APIs were present, but unused. The fields were deprecated in previous major version and in v14 those fields are removed. The aotSummaries fields were completely unused, so you can just drop them from the TestBed APIs usage.

forms
  • Forms classes accept a generic.

    Forms model classes now accept a generic type parameter. Untyped versions of these classes are available to opt-out of the new, stricter behavior.

  • objects with a length key set to zero will no longer validate as empty.

    This is technically a breaking change, since objects with a key length and value 0 will no longer validate as empty. This is a very minor change, and any reliance on this behavior is probably a bug anyway.

http
  • Queries including + will now actually query for + instead of space.
    Most workarounds involving custom codecs will be unaffected.
    Possible server-side workarounds will need to be undone.

  • JSONP will throw an error when headers are set on a reques

    JSONP does not support headers being set on requests. Before when
    a request was sent to a JSONP backend that had headers set the headers
    were ignored. The JSONP backend will now throw an error if it
    receives a request that has any headers set. Any uses of JSONP
    on requests with headers set will need to remove the headers
    to avoid the error.

platform-browser
  • This change may cause a breaking change in unit tests that are implicitly depending on a specific
    number and sequence of change detections in order for their assertions to pass.

  • This may break invalid calls to TransferState methods.

    This tightens parameter types of TransferState usage, and is a minor breaking change which may reveal existing problematic calls.

router
  • The type of Route.pathMatch is now more strict. Places that use
    pathMatch will likely need to be updated to have an explicit
    Route/Routes type so that TypeScript does not infer the type as
    string.
  • When returning a Promise from the
    LoadChildrenCallback, the possible type is now restricted to
    Type<any>|NgModuleFactory<any> rather than any.
  • initialNavigation: 'enabled' was deprecated in v11 and is replaced by
    initialNavigation: 'enabledBlocking'.
  • The type of component on ActivatedRoute and ActivatedRouteSnapshot
    includes string. In reality, this is not the case. The component
    cannot be anything other than a component class.
    • The type of initialUrl is set to string|UrlTree but in reality,
      the Router only sets it to a value that will always be UrlTree
    • initialUrl is documented as "The target URL passed into the
      Router#navigateByUrl() call before navigation" but the value
      actually gets set to something completely different. It's set to the
      current internal UrlTree of the Router at the time navigation
      occurs.
      With this change, there is no exact replacement for the old value of
      initialUrl because it was enver intended to be exposed.
      Router.url is likely the best replacement for this.
      In more specific use-cases, tracking the finalUrl between successful
      navigations can also be used as a replacement.
  • Lazy loaded configs are now also validated once loaded like the
    initial set of routes are. Lazy loaded modules which have invalid Route
    configs will now error. Note that this is only done in dev mode so
    there is no production impact of this change.
  • When a guard returns a UrlTree, the router would previously schedule
    the redirect navigation within a setTimeout. This timeout is now removed,
    which can result in test failures due to incorrectly written tests.
    Tests which perform navigations should ensure that all timeouts are
    flushed before making assertions. Tests should ensure they are capable
    of handling all redirects from the original navigation.
  • Previously, resolvers were waiting to be completed
    before proceeding with the navigation and the Router would take the last
    value emitted from the resolver.
    The router now takes only the first emitted value by the resolvers
    and then proceeds with navigation. This is now consistent with Observables
    returned by other guards: only the first value is used.
zone.js
  • in TaskTrackingZoneSpec track a periodic task until it is cancelled

    The breaking change is scoped only to the plugin
    zone.js/plugins/task-tracking. If you used TaskTrackingZoneSpec and
    checked the pending macroTasks e.g. using (this.ngZone as any)._inner ._parent._properties.TaskTrackingZone.getTasksFor('macroTask'), then
    its behavior slightly changed for periodic macrotasks. For example,
    previously the setInterval macrotask was no longer tracked after its
    callback was executed for the first time. Now it's tracked until
    the task is explicitly cancelled, e.g with clearInterval(id).

Deprecations

common
  • The ngModuleFactory input of the NgComponentOutlet directive is deprecated in favor of a newly added ngModule input. The ngModule input accepts references to the NgModule class directly, without the need to resolve module factory first.
forms
  • The initialValueIsDefault option has been deprecated and replaced with the otherwise-identical nonNullable option, for the sake of naming consistency.
  • It is now deprecated to provide both AbstractControlOptions and an async validators argument to a FormControl. Previously, the async validators would just be silently dropped, resulting in a probably buggy forms. Now, the constructor call is deprecated, and Angular will print a warning in devmode.
router
  • The resolver argument of the RouterOutletContract.activateWith function and the resolver field of the OutletContext class are deprecated. Passing component factory resolvers are no longer needed. The ComponentFactoryResolver-related symbols were deprecated in @angular/core package since v13.
animations
Commit Type Description
a6fa37bc6e feat make validateStyleProperty check dev-mode only (#​45570)
79d334b138 feat provide warnings for non-animatable CSS properties (#​45212)
f8dc660605 fix allow animations with unsupported CSS properties (#​44729)
2a75754ee8 fix apply default params when resolved value is null or undefined (#​45339)
e46b379204 fix implement missing transition delay (#​44799)
5c7c56bc85 perf improve algorithm to balance animation namespaces (#​45057)
4c778cdb28 perf made errors in the animations package tree shakeable (#​45004)
7a81481fb2 perf Remove generic objects in favor of Maps (#​44482)
6642e3c8fd perf remove no longer needed CssKeyframes classes (#​44903)
59559fdbac refactor make AnimationDriver.getParentElement required (#​45114)
common
Commit Type Description
31d7c3bd71 feat add getState method to LocationStrategy interface (#​45648)
c89cf63059 feat support NgModule as an input to the NgComponentOutlet (#​44815)
38c03a2035 feat support years greater than 9999 (#​43622)
bedb257afc fix cleanup URL change listeners when the root view is removed (#​44901)
10691c626b fix properly cast http param values to strings (#​42643)
05d50b849b perf make NgLocalization token tree-shakable (#​45118)
compiler
Commit Type Description
bb8d7091c6 fix exclude empty styles from emitted metadata (#​45459)
4d6a1d6722 fix scope css keyframes in emulated view encapsulation (#​42608)
f03e313f24 fix scope css keyframes in emulated view encapsulation (#​42608)
compiler-cli
Commit Type Description
9cf14ff03d feat exclude abstract classes from strictInjectionParameters requirement (#​44615)
0072eb48ba feat initial implementation of standalone components (#​44812)
2142ffd295 feat propagate standalone flag to runtime (#​44973)
6f653e05f9 feat standalone types imported into NgModule scopes (#​44973)
752ddbc165 feat Support template binding to protected component members (#​45823)
3d13343975 fix better error messages for NgModule structural issues (#​44973)
046dad1a8d fix fix issue with incremental tracking of APIs for pipes (#​45672)
27b4af7240 fix full side-effectful registration of NgModules with ids (#​45024)
32c625d027 fix handle forwardRef in imports of standalone component (#​45869)
06050ac2b4 fix handle inline type-check blocks in nullish coalescing extended check (#​45454)
a524a50361 fix handle standalone components with cycles (#​46029)
724e88e042 fix preserve forwardRef for component scopes (#​46139)
9cfea3d522 fix report invalid imports in standalone components during resolve phase (#​45827)
c0778b4dfc fix Support resolve animation name from the DTS (#​45107)
f2e5234e07 fix update unknown tag error for aot standalone components (#​45919)
35f20afcac fix use existing imports for standalone dependencies (#​46029)
8155428ba6 perf ignore the module.id anti-pattern for NgModule ids (#​45024)
core
Commit Type Description
174ce7dd13 feat add ApplicationRef.destroy method (#​45624)
5771b18a98 feat add the bootstrapApplication function (#​45674)
69018c9f42 feat allow for injector to be specified when creating an embedded view (#​45156)
94c949a60a feat allow for injector to be specified when creating an embedded view (#​45156)
e702cafcf2 feat allow to throw on unknown elements in tests (#​45479)
6662a97c61 feat allow to throw on unknown elements in tests (#​45479)
a6675925b0 feat allow to throw on unknown properties in tests (#​45853)
6eaaefd22e feat drop support for Node.js 12 (#​45286)
c9d566ce4b feat drop support for TypeScript 4.4 and 4.5 (#​45394)
b568a5e708 feat implement importProvidersFrom function (#​45626)
d5a6cd1111 feat implement EnvironmentInjector with adapter to NgModuleRef (#​45626)
5a10fc4f82 feat implement standalone directives, components, and pipes (#​45687)
e461f716d4 feat move ANIMATION_MODULE_TYPE injection token into core (#​44970)
94bba76a4a feat support TypeScript 4.6 (#​45190)
29039fcdbc feat support TypeScript 4.7 (#​45749)
225e4f2dbe feat triggerEventHandler accept optional eventObj (#​45279)
401dec46eb feat update TestBed to recognize Standalone Components (#​45809)
35653ce337 fix add more details to the MISSING_INJECTION_CONTEXT error (#​46166)
d36fa111eb fix avoid Closure Compiler error in restoreView (#​45445)
0bc77f4cab fix better error message when unknown property is present (#​46147)
f3eb7d9ecb fix Ensure the StandaloneService is retained after closure minification (#​45783)
701405fa71 fix handle AOT-compiled standalone components in TestBed correctly (#​46052)
ddce357d1d fix improve TestBed declarations standalone error message (#​45999)
ba9f30c9a6 fix include component name into unknown element/property error message (#​46160)
9fa6f5a552 fix incorrectly inserting elements inside <template> element (#​43429)
d5719c2e0f fix input coercion (#​42803)
be161bef79 fix memory leak in event listeners inside embedded views (#​43075)
fa755b2a54 fix prevent BrowserModule providers from being loaded twice (#​45826)
3172b4cc99 fix produce proper error message for unknown props on <ng-template>s (#​46068)
4f1a813596 fix restore NgModule state correctly after TestBed overrides (#​46049)
3f7ecec59b fix set correct context for inject() for component ctors (#​45991)
4e413d9240 fix support nested arrays of providers in EnvironmentInjector (#​45789)
fde4942cdf fix throw if standalone components are present in @NgModule.bootstrap (#​45825)
560188bf12 fix update unknown property error to account for standalone components in AOT (#​46159)
df339d8abf fix update unknown tag error for jit standalone components (#​45920)
aafac7228f fix verify standalone component imports in JiT (#​45777)
e9317aee71 perf allow checkNoChanges mode to be tree-shaken in production (#​45913)
071c8af8ba perf avoid storing LView in __ngContext__ (#​45051)
a96c4827c4 perf make Compiler, ApplicationRef and ApplicationInitStatus tree-shakable (#​45102)
45d98e7ca5 perf make IterableDiffers and KeyValueDiffers tree-shakable (#​45094)
1e60fe0a3e perf make LOCALE_ID and other tokens from ApplicationModule tree-shakable (#​45102)
88f1168506 perf only track LViews that are referenced in __ngContext__ (#​45172)
9add714b13 refactor remove deprecated aotSummaries fields in TestBed config (#​45487)
devtools tabs
Commit Type Description
6c284ef32e fix stop scroll occuring at tabs level
forms
Commit Type Description
2dbdebc646 feat Add FormBuilder.nonNullable. (#​45852)
e0a2248b32 feat Add a FormRecord type. (#​45607)
7ee121f595 feat Add untyped versions of the model classes for use in migration. (#​45205)
89d299105a feat Implement strict types for the Angular Forms package. (#​43834)
f490c2de4e feat support negative indices in FormArray methods. (#​44848)
39be06037d fix Add a nonNullable option to FormControl for consistency.
4332897baa fix Add UntypedFormBuilder (#​45268)
5d13e58aed fix Allow NonNullableFormBuilder to be injected. (#​45904)
8dd3f82f94 fix Correct empty validator to handle objects with a property length: 0. (#​33729)
ff3f5a8d12 fix Fix a typing bug in FormBuilder. (#​45684)
fe0e42a996 fix Make UntypedFormBuilder assignable to FormBuilder, and vice versa. (#​45421)
b36dec6b5b fix not picking up disabled state if group is swapped out and disabled (#​43499)
9f6fa5b746 fix Prevent FormBuilder from distributing unions to control types. (#​45942)
aa7b857be8 fix Property renaming safe code (#​45271)
cae1e44608 fix Update the typed forms migration to use FormArray<T> instead of FormArray<T[]>. (#​44933)
d336ba96d9 fix Update the typed forms migration. (#​45281)
018550ed50 fix Value and RawValue should be part of the public API. (#​45978)
2e96cede3e fix Warn on FormControls that are constructed with both options and asyncValidators.
http
Commit Type Description
76a9a24cdc fix encode + signs in query params as %2B (angular#​11058) (#​45111)
d43c0e973f fix Throw error when headers are supplied in JSONP request (#​45210)
language-service

| Commit | Type | Description |
| -- |


Configuration

📅 Schedule: Branch creation - "after 10pm every weekday,before 4am every weekday,every weekend" in timezone America/Tijuana, Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot force-pushed the renovate/angular branch from 65b7a6c to 3828035 Compare May 28, 2022 05:51
@renovate renovate bot added action: merge The PR is ready for merge by the caretaker target: minor This PR is targeted for the next minor release labels May 28, 2022
@renovate renovate bot force-pushed the renovate/angular branch 6 times, most recently from 9cfae85 to 504127f Compare May 30, 2022 16:18
@renovate renovate bot changed the title build: update angular to cde8300 build: update angular to efa7257 May 31, 2022
@renovate renovate bot force-pushed the renovate/angular branch from 504127f to d2b74be Compare May 31, 2022 19:23
@angular-robot angular-robot bot requested a review from alan-agius4 May 31, 2022 19:24
@renovate renovate bot force-pushed the renovate/angular branch from d2b74be to da5cec2 Compare May 31, 2022 22:17
@renovate renovate bot changed the title build: update angular to efa7257 build: update angular May 31, 2022
@renovate renovate bot force-pushed the renovate/angular branch 11 times, most recently from 2fcb8da to 2c3af8c Compare June 2, 2022 21:35
@devversion
Copy link
Member

Important: We made some larger changes to the release tool in angular/dev-infra. The update should be backported as much as possible since otherwise cutting an LTS wouldn't work smoothly. If it cannot be backported/or is too difficult and we expect no LTS releases, we can still always temporarily patch the release-tool when needed for a future LTS>

alan-agius4 added a commit to alan-agius4/angular-cli that referenced this pull request Jun 3, 2022
alan-agius4 added a commit to alan-agius4/angular-cli that referenced this pull request Jun 3, 2022
This contains larger changes to improve releasing LTS versions.

See: angular#23244 (comment)
alan-agius4 added a commit to alan-agius4/angular-cli that referenced this pull request Jun 3, 2022
This contains larger changes to improve releasing LTS versions.

See: angular#23244 (comment)
alan-agius4 added a commit to alan-agius4/angular-cli that referenced this pull request Jun 3, 2022
This contains larger changes to improve releasing LTS versions.

See: angular#23244 (comment)
@alan-agius4
Copy link
Collaborator

@devversion, back-porting to the LTS branches would be problematic and it involves some additional work since the LTS branches use an older version of Bazel and nodejs rules.

@devversion
Copy link
Member

@alan-agius4 Interesting. Technically the update of ng-dev should be uncoupled from the underlaying Bazel setup etc, but I doubt an LTS is coming up soon, and we can always easily get it done with the older ng-dev version (we just would need to patch a single line in the node_modules for that to work)

@alan-agius4
Copy link
Collaborator

Taking this offline as the update is coupled with the Bazel version.

@devversion
Copy link
Member

Conclusion: We will not backport to the v13 and v12 LTS branches because ng-dev is currently coupled with other infra setup that we cannot easily update in the LTS branches. This is fine since we don't expect an LTS release and it's easy to skip release checks by patching the node_modules (can also be made a flag if we really need it).

Dev-Infra team needs to see if we can split ng-dev from the toolchains we provide. i.e. having two packages.

@renovate renovate bot force-pushed the renovate/angular branch from 2c3af8c to d3c889e Compare June 3, 2022 08:35
@angular-robot angular-robot bot requested a review from alan-agius4 June 3, 2022 08:35
@renovate renovate bot force-pushed the renovate/angular branch from d3c889e to 4185d74 Compare June 3, 2022 13:06
@angular-robot angular-robot bot requested a review from alan-agius4 June 3, 2022 13:06
@renovate renovate bot force-pushed the renovate/angular branch from 4185d74 to 1083650 Compare June 3, 2022 15:34
@renovate renovate bot force-pushed the renovate/angular branch from 1083650 to ad2aed2 Compare June 3, 2022 18:41
clydin pushed a commit that referenced this pull request Jun 3, 2022
@clydin clydin removed the request for review from alan-agius4 June 3, 2022 19:14
@clydin clydin merged commit 45b6954 into main Jun 3, 2022
@renovate renovate bot deleted the renovate/angular branch June 3, 2022 19:16
@angular-automatic-lock-bot
Copy link

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Jul 4, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
action: merge The PR is ready for merge by the caretaker target: minor This PR is targeted for the next minor release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants