🚨 Глупая ошибка в проекте, из-за которой может страдать перфоманс

Практически во всех компаниях, куда я приходил, была эта проблема.

Когда пришёл в 🛍 OZON и начал изучать проект — там опять была эта ошибка.

Эта проблема — неверный список поддерживаемых браузеров.

Так уж сложилось, что большинство сборщиков зависят от файлика browserslist.

В нём указывается для каких браузеров нужна поддержка. На основе этого файла babel и autoprefixer будут решать, что делать с кодом.

Чем больше браузеров нужно поддерживать, тем больше различных полифилов и префиксов нужно в коде.

⚠️ Больше кода — хуже перфоманс. Часто встречаю запись last 2 versions

Такая запись тянет за собой поддержку 🌐Internet Explorer, который уже давно мертв.

В 🛍 OZON была ситуация, когда раньше нужна была поддержка какого-то легаси браузера, но со временем потребность отпала, а файлик изменить забыли.

Лучше будет указать:

➡️ 0.25%, not op_mini all, not dead

или просто

➡️ defaults

Но ещё лучше будет поступить так:

1️⃣ Узнать с каких браузеров пользователи заходят на ваш сайт (сходить к менеджеру, посмотреть аналитику)

2️⃣ Поправить список браузеров под свои потребности

3️⃣ Вызвать npx browserslist в корне и проверить список браузеров

🔼 Исправив эту ошибку, я сократил суммарный размер бандла в текущем проекте с 2.05Мб до 1.78Мб.

Если в проекте используешь сборщик Vite, то проблемы скорее всего нет, потому что там современные дефолтные значения, но если ещё не успел перейти — то советую лишний раз проверить.

———

🧑 • ютубзадать вопрос

🚨 Глупая ошибка в проекте, из-за которой может страдать перфоманс
Практически во всех компаниях, куда я приходил, была эта проблема | Сетка — социальная сеть от hh.ru