I've spent the last two weeks migrating one project from Angular's deprecated
Http module to the new (more elegant)
HttpClient. Two weeks -- in my opinion that's way too much maintenance time on a single layer of the app. I encountered something similar in the fall with Angular Material.
Which brings me to the question: should we wrap critical built-in modules to avoid this kind of massive overhaul?
While Uncle Bob suggests that we should avoid concrete dependencies where possible, you'd think that concrete dependencies on the framework itself would be okay. But this
HttpClient debacle is proving otherwise.
Additional follow-up question: If / when we should put our own interface around critical modules, how do we define "critical?" What sort of modules warrant this kind of architecture?