K čemu je dobrý browserslist u webových projektů

Ve webových projektech vytvořím v root adresáři projektu konfigurační soubor .browserslistrc a dám do něj toto:

> 0.25%
not dead

To znamená, podporovat pouze prohlížeče s podílem na trhu větším než 0.25%. Bude ignorovat např. IE 10 a díky tomu bude celková velikost výsledného js a css menší! To je důležité pro web vitals, hlavně LCP!

Alternativa je v package.json definovaná vlastnost „browserslist“.

https://github.com/browserslist/browserslist

To je konfigurace prohlížečů, které hodlám řešit při transformaci js, používání stylů atd. Tuto konfiguraci může potom používat babel, stylelint, autoprefixer a další frontendové nástroje.

@babel/preset-env – integrace browserslist do Babel

https://babeljs.io/docs/en/babel-preset-env

@babel/preset-env je chytrá předvolba, která mi umožní používat nejnovější JavaScript, aniž bych musel řešit transformace a různé polyfilly pro starší prohlížeče. Aby babel věděl, pro jaké prohlížeče má udělat transformace, tak potřebuje prá vě ten konfigurační browserslist.

stylelint-no-unsupported-browser-features

https://github.com/ismay/stylelint-no-unsupported-browser-features#readme

Plugin pro stylelint (na githubu má přes 300 stars), který zakáže funkce, které moje podporované prohlížeče neumí!