We’ve embarked on the same journey as you here for one of our internal older applications still in full use. It’s eery, a couple of pennies for your experiences if you wouldn’t mind, as we’ve taken one key difference in approach.
Doesn’t exposing $injector inside the element create complete havoc?
Side effects that are hidden inside an Angular Element sound’s like a headache to me, and makes them very hard to test? Has it worked out better, in your honest opinion, than just duplicating the service layer first before embarking on the journey?
When are you done?
For me, reading this, i was wondering how you’d ever really considered your feature done? You’ll be going back over and over your elements to replace these side effects with the newer angular versions as and when they’re done. So you’ve sort of created a lot of vertical slicing of the work across all the teams. Which means nothing is every squared away and tested fully until the last time you replace the injector altogether.
As you might have guessed we’ve not gone this way and based on the above opted to pay down the cost of a little duplication upfront to make the deliveries during transitions far cleaner.
Looking back, did the approach pay off, or did you run into any of the above more than you wanted?