Fala, comunidade dev! 👋

Evoluir a arquitetura de um projeto corporativo de longo prazo sempre rende boas histórias. O sistema YMS (Yard Management System) em que atuo tem 5 anos de estrada, o que significa lidar com uma base sólida e pesada de regras de negócio, layouts complexos e integrações contínuas.

Ele rodava de forma muito estável no Angular 16. Não se trata de um "código legado" esquecido no tempo, mas como essa versão chegou ao seu End of Life (EOL), precisávamos tomar uma decisão estratégica para o futuro da aplicação.

Para dar um pouco de contexto histórico: esse projeto nasceu na época do Angular 14. Há uns 3 anos, ele passou por uma refatoração importante para o 16. Naquela época, a arquitetura Standalone ainda estava amadurecendo, então o time manteve o padrão seguro e conhecido: o bom e velho app.module.ts continuou sendo o coração da aplicação.

Mas o framework evoluiu de forma fantástica de lá para cá. Aproveitando a necessidade de sair do EOL, encarei o desafio de saltar do Angular 16 diretamente para o Angular 21, atualizando toda a stack (incluindo o PrimeNG) e abraçando as novas premissas da ferramenta.