CyberDAS-Dev / Frontend

Сайт общежития ДАС МГУ.
https://cyberdas.net
MIT License
2 stars 1 forks source link

Убрать date-fns #106

Open idonotknowwhoiam opened 2 years ago

idonotknowwhoiam commented 2 years ago

Уточнить сколько весит date-fns, потому-что по одной информации ее бандл весит 30кб, а сам модуль в node_modules весит то 10мб, то 30. Скорее всего это сильно аффектится на производительности и ее придется убрать.

qqpayne commented 2 years ago

Главная проблема с этим date-fns - размер его пакета (т.е папки в node_modules). 30 мегабайт.

Такой размер обусловлен тем, что под каждую функцию заводится своя папочка, в которой лежит по 4 файла. Как известно, даже пустой файл занимает минимум 4 КБ на диске; поэтому 256 функций оформленных таким папочным способом занимают 4 мегабайта. Всего в пакете date-fns 5475 файлов.

В целом, это хорошая организация пакета, т.к позволяет ужать бандл и импортировать только то, что нужно. Но 30 мегабайтовый пакет жутко раздражает, замедляя весь наш контейнерный CI/CD. Для справки: весь контейнер весит 250 МБ.

Сейчас date-fns в проекте используется в трех файлах, в двух из которых импортируется только по одной функции. Самый активный потребитель date-fns - /modules/queue/components/SliderCalendar, там используется 10 функций.

Так что задача по отказу от date-fns вполне выполнима и актуальна