Os desenvolvedores da biblioteca JavaScript anunciaram do desenvolvimento e a transição do projeto para um estado de manutenção, que implica a parada da expansão de funcionalidades, congelamento da API e limitação da atividade a correções de erros graves, reflexões sobre alterações da base de fusos horários e manutenção da infraestrutura para os usuários existentes. Para novos projetos, o uso do Moment.js não é recomendado.
A biblioteca Moment.js fornece funções para manipulações de tempo e datas e é o padrão de fato em sua área. Semanalmente, a biblioteca cerca de 12 milhões de vezes. A razão para a decisão tomada foi a percepção de que o projeto está desatualizado e não se encaixa nas modernas paradigmas de desenvolvimento em JavaScript.
Entre as desvantagens, menciona-se o tamanho relativamente grande da biblioteca (329KB sem compressão, 70KB com compressão) e o uso de objetos mutáveis (, a alteração de uma cópia do objeto moment leva à modificação do original).
Em também problemas com o Moment.js, como baixa performance, confusão na API, falta de suporte a "" (remoção de código não utilizado para reduzir o tamanho da aplicação web) e dificuldade de depuração. Aparentemente, a gota d'água que levou os desenvolvedores a decidir pela transição do Moment.js para o estado de manutenção foi a mudança no sistema de auditoria de páginas web Lighthouse, incorporado nas ferramentas de desenvolvimento web do Chrome — alguns dias atrás, o Lighthouse começou a emitir avisos sobre a excessiva bulking do código do Moment.js e sugerir alternativas de substituição.
Os navegadores modernos oferecem uma API embutida para trabalhar com localidades e fusos horários. Esta API é utilizada na biblioteca , criada por um dos participantes do desenvolvimento do Moment.js e apresentada como o próximo passo na evolução do Moment.js. Além do Luxon, como opções de substituição, são mencionadas as bibliotecas (uma variante minimalista do Moment.js com API similar, ocupa cerca de 7KB sem plugins), , (porta do java.time) e os objetos JavaScript padrão e , assim como a API em rascunho .
Fonte: opennet.ru
