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 browserslistand_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 >= 15 | Safari 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, а потом исключения.