Разработчики JavaScript-библиотеки объявили о разработки и переводе проекта в режим сопровождения, подразумевающем остановку расширения функциональности, заморозку API и ограничение активности исправлением серьёзных ошибок, отражением изменений из базы часовых поясов и поддержанием инфраструктуры для существующих пользователей. Для новых проектов Moment.js применять не рекомендуется.
Библиотека Moment.js предоставляет функции для манипуляций со временем и датами и является стандартом де-факто в своей области. Еженедельно библиотеку около 12 млн раз. Причиной принятого решения стало осознание, что проект устарел и не укладывается в современные парадигмы разработки на JavaScript.
Из недостатков упоминается относительно большой размер библиотеки (329KB без сжатия, 70КБ со сжатием) и использование изменяемых объектов (, изменении копии объекта moment приводит к изменению оригинала).
W также такие проблемы Moment.js, как низкая производительность, запутанность API, отсутствие поддержки «» (урезание неиспользуемого кода для сокращения размера web-приложения) и трудоёмкость отладки. Судя по всему, последней каплей, подтолкнувшей разработчиков к решению о переводе Moment.js в режим сопровождения, стало изменение в системе аудита web-страниц Lighthouse, встроенной в инструменты для web-разработчиков Chrome — несколько дней назад Lighthouse выдавать предупреждение об излишней раздутости кода Moment.js и предлагать альтернативы для замены.
Современные браузеры предоставляют встроенный API для работы с локалями и часовыми поясами. Данный API используется в библиотеке , созданной одним из участников разработки Moment.js и преподносимой как следующий шаг эволюции Moment.js. Кроме Luxon в качестве вариантов для замены упоминаются библиотеки (минималистичный вариант Moment.js с похожим API, занимает около 7КБ без плагинов), , (порт java.time) и штатные JavaScript-объекты и , а также находящийся в состоянии черновика API .
Źródło: opennet.ru
