Zoneless
As a first step, I would look into supporting OnPush change detection.
Followed by converting Input/Output/etc to be signal based. (Minimum Angular version 17.2)
Also note that NgZone.run and NgZone.runOutsideAngular are compatible with Zoneless (experimental in 18)
This is a suggestion to adopt the newer angular patterns, the ones I am aware of are:
Standalone Components This should be fairly simple. Minimum Angular version 14 https://blog.angular.dev/angular-v14-is-now-available-391a6db736af
Zoneless As a first step, I would look into supporting OnPush change detection. Followed by converting Input/Output/etc to be signal based. (Minimum Angular version 17.2) Also note that
NgZone.run and NgZone.runOutsideAngular are compatible with Zoneless
(experimental in 18)