Deweloperzy biblioteki JavaScript ogłosili o rozwijania i przeniesieniu projektu do trybu wsparcia, co oznacza zatrzymanie rozszerzania funkcjonalności, zamrożenie API oraz ograniczenie aktywności do naprawy poważnych błędów, uwzględnienia zmian w bazie stref czasowych i utrzymania infrastruktury dla istniejących użytkowników. Nowym projektom nie zaleca się używania Moment.js.
Biblioteka Moment.js oferuje funkcje do manipulacji czasem i datami, stanowiąc de facto standard w swojej dziedzinie. Co tydzień bibliotekę około 12 milionów razy. Przyczyną podjętej decyzji było uświadomienie sobie, że projekt jest przestarzały i nie wpisuje się w nowoczesne paradygmaty rozwoju na JavaScript.
Wśród wad wymienia się stosunkowo dużą wielkość biblioteki (329KB bez kompresji, 70KB po kompresji) oraz użycie obiektów modyfikowalnych (, zmiana kopii obiektu moment prowadzi do zmiany oryginału).
W także takie problemy Moment.js, jak niska wydajność, złożoność API, brak wsparcia dla „” (usuwanie nieużywanego kodu w celu zmniejszenia rozmiaru aplikacji webowej) oraz pracochłonność debugowania. Najwyraźniej ostatnim strawą, która skłoniła twórców do decyzji o przeniesieniu Moment.js w tryb wsparcia, było zmienienie systemu audytu stron webowych Lighthouse, wbudowanego w narzędzia dla twórców webowych Chrome — kilka dni temu Lighthouse wydawać ostrzeżenie o nadmiernej objętości kodu Moment.js i sugerować alternatywy do zastąpienia.
Nowoczesne przeglądarki oferują wbudowane API do pracy z lokalizacjami i strefami czasowymi. To API jest wykorzystywane w bibliotece , stworzonej przez jednego z uczestników rozwoju Moment.js i przedstawianej jako następny krok w ewolucji Moment.js. Oprócz Luxon, jako alternatywne rozwiązania wymienia się biblioteki (minimalistyczna wersja Moment.js z podobnym API, zajmuje około 7KB bez wtyczek), , (port java.time) oraz standardowe obiekty JavaScript i , a także znajdujące się w fazie roboczej API .
Źródło: opennet.ru
