After successfully migrating our Angular application (a relatively simple one) from version 11 to 12 and then from 12 to 13 without any major issues, we encountered some challenges when moving from 13 to 14. The main hurdle we faced was adapting to the new Cypress e2e test tool that had been introduced.
Currently, I am in the process of upgrading from version 14 to 15, which is proving to be a significant change due to the transition of most material components to a new "Standalone" architecture (although I'm not exactly sure what to call it). The initial part of the update went smoothly by following the instructions provided in the Update guide. However, I did run into some hiccups with ESLinter TypeScript issues, particularly related to implicit any
definitions.
Although the Angular framework has been updated to version 15, we are still utilizing legacy code for the material components from version 14. In the Migration guide, there is guidance on updating these material components as well.
The final step of updating the material components proved to be challenging as it led to a breakdown of our entire application. Building became impossible, unit tests started failing, styling issues arose, and even the Cypress tests were unsuccessful. The root cause of these problems stemmed from missing module code imports and changes to @NgModule()
, with Cypress indicating that input fields were no longer accessible...
In conclusion, I can attest that transitioning to version 15 has been quite demanding in my particular scenario.