Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Оглавление

Browserslist: список браузеров

Browserslist — общий для многих инструментов способ записать, какие браузеры должен поддерживать сайт. Его читают Autoprefixer, postcss-preset-env, Babel и другие. Вы описываете список один раз, а плагины сами решают, нужны ли префиксы и замены для новых возможностей CSS.

Где задаётся список

Добавьте ключ browserslist в package.json проекта блога:

{
  "browserslist": ["defaults"]
}

Запрос defaults — рекомендуемый вариант: браузеры с долей больше 0,5%, последние две версии каждого и Firefox ESR, кроме «мёртвых» (не обновлявшихся два года). Если списка нет вовсе, плагины тоже берут defaults.

Вместо ключа в package.json можно создать в корне проекта файл .browserslistrc — по одному запросу на строку:

# .browserslistrc
defaults

Используйте что-то одно: если есть оба, Browserslist сообщит об ошибке.

Проверка списка

Команда npx browserslist показывает, во что превратился запрос:

npx browserslist
and_chr 154
and_ff 157
and_qq 14.9
and_uc 15.5
android 154
chrome 154
chrome 153
chrome 151
...

Каждая строка — браузер и версия. Флаг --coverage показывает, какую долю пользователей покрывает список:

npx browserslist --coverage "defaults"
These browsers account for 84.65% of all users globally

Цифры зависят от свежести данных: здесь и далее в курсе результаты получены в октябре 2026 года.

Частые запросы

ЗапросЧто означает
defaultsРазумный набор по умолчанию
> 1%Браузеры с долей больше 1%
last 2 versionsДве последние версии каждого браузера
not deadИсключить браузеры без обновлений два года
baseline widely availableБраузеры, где есть все возможности со статусом Baseline Widely Available
safari >= 15Safari 15 и новее
not op_mini allИсключить Opera Mini

Запросы через запятую объединяются, а and и not сужают список:

{
  "browserslist": ["defaults", "not op_mini all"]
}

Обновление данных

Сведения о браузерах хранятся в пакете caniuse-lite внутри node_modules. Раз в несколько месяцев обновляйте их:

npx update-browserslist-db@latest

Когда данные устаревают больше чем на полгода, плагины выводят напоминание вида Browserslist: browsers data (caniuse-lite) is 7 months old. Please run: npx update-browserslist-db@latest.

Частая ошибка

Начать список с not dead. Запрос с not только вычитает браузеры из уже набранных, и такой список пуст — Browserslist остановится с сообщением, которое начинается с Write any browsers query. Сначала укажите, какие браузеры включить, например defaults, а потом исключения.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.