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í!