Browserslist
Chef использует browserslist для определения целевых браузеров при транспиляции через Babel и автопрефиксинге CSS через PostCSS.
По умолчанию Chef нацеливается на baseline widely available — браузеры с широкой поддержкой современных веб-возможностей.
Как это работает
- Если в
bundle.config.tsуказан параметрtargets— используется он - Иначе Chef ищет файл
.browserslistrcвверх по дереву директорий от расширения - Если файл не найден — используется
baseline widely available
Данные о браузерах
Версии браузеров и их поддержку Chef берёт из базы caniuse-lite, которая поставляется вместе с Chef и обновляется с каждым его релизом. Чтобы получить свежие данные, достаточно обновить Chef:
npm i -g @bitrix/chefЕсли база старше полугода, Chef напомнит об этом после выполнения команды. Совет browserslist npx update-browserslist-db здесь не поможет: он обновляет базу в текущем проекте, а не ту, что поставляется с Chef.
Кастомные цели
Указать цели напрямую в конфиге:
export default {
// ...
targets: ['last 2 versions', 'not dead'],
};Или создать файл .browserslistrc в корне проекта (команда chef init build создаст его автоматически):
baseline widely availableМиграция с browserslist
Параметр browserslist в bundle.config объявлен устаревшим. Используйте targets вместо него:
// Было
export default {
browserslist: ['last 2 versions'],
};
// Стало
export default {
targets: ['last 2 versions'],
};Старый параметр browserslist продолжает работать для обратной совместимости.