livechat / chat-widget-adapters

This project contains a set of libraries for adapting LiveChat Chat Widget with certain frontend frameworks
https://developers.livechat.com
MIT License
24 stars 8 forks source link

Update to Angular v15 #64

Closed ectuser closed 1 year ago

ectuser commented 1 year ago

Type of change

Packages

Issue

Update to Angular v15.

Description

Previous Pull Request introduced update to Angular v14. This one updates the package and the example app to v15. Also updated jest, jest-preset-angular. Introduced config changes for jest.

Jest update was needed because of typescript update to v4.8 which is required by Angular v15

ectuser commented 1 year ago

One thing I faced is the first run of tests performance that takes about 30s in my local machine. Please let me know if you face the same issue.

ectuser commented 1 year ago

Hello @walaszczykm! Can you please take a look at the PR please. Thank you!

walaszczykm commented 1 year ago

Hi @ectuser, thanks for the PR. I will take a look at that and let you know 👍

walaszczykm commented 1 year ago

@ectuser changes look good, and tests pass ✅ I have checked the updated example App, and it works great 👍 I am going to verify the backward compatibility of the updated Angular package with previously supported versions to make sure we will not introduce any breaking changes with this update 🙂

walaszczykm commented 1 year ago

Hello @ectuser. I have run regression tests, and unfortunately, it looks like the upgraded Angular version used for building the package causes breaking compatibility changes 😢

I have run through projects with Angular: 12, 13, 14, and 15, and it looks like upgrading the package Angular version 15 causes incompatibility with Angular 12 and 13.

On the other hand, I have run the same regression tests with the @livechat/widget-angualr package built using Angular 13 a surprise it worked well without any issues on projects with Angular 12, 13, 14, 15. The only required thing was to extend the supported peer dependency on Angular, but despite that, nothing more was required.

Considering those results IMO, the Angular version for the package needs to be downgraded to Angular 13, and only peerDependecies inside its package.json should be updated to mark support for Angular 15.

We can move forward with the Angular version upgrade for the package when we are ready to drop support for Angular 12 and 13, but we want to do something other than that.

That means I would close this PR and prepare an appropriate downgrade on myself while keeping Angular 14 and 15 s supported peer dependency.