Publié le 7 mai 2025
Browserslist est l'un des outils les plus populaires pour configurer les versions minimales de navigateurs compatibles dans les bases de code côté client. Les développeurs ajoutent une requête browserslist
à leur fichier package.json
, et Browserslist affiche une liste des navigateurs compatibles minimum. Browserslist peut être utilisé avec un large éventail d'outils populaires de linting, de polyfilling et d'empaquetage, y compris:
- Autoprefixer
- Babel avec
@babel/preset-env
- PostCSS à l'aide de
postcss-preset-env
- ESLint avec
eslint-plugin-compat
- Stylelint à l'aide de
stylelint-no-unsupported-browser-features
- webpack
Cibles de référence
Lorsque vous décidez d'utiliser la référence, vous devez tenir compte de votre base d'utilisateurs et choisir le jeu de fonctionnalités de référence que vous souhaitez cibler:
- Étalonnage largement disponible inclut toutes les fonctionnalités Web qui étaient entièrement compatibles avec le navigateur de base de référence défini il y a 30 mois ou plus.
- Les ensembles de fonctionnalités de l'année de référence, par exemple Référence 2020, incluent toutes les fonctionnalités qui étaient nouvelles à la fin de l'année spécifiée.
Selon votre base d'utilisateurs, vous pourrez peut-être cibler la référence "Largement disponible" ou vous devrez peut-être cibler une année de référence plus ancienne. Consultez vos outils d'analyse ou de RUM pour identifier les versions de navigateurs utilisées par vos utilisateurs.
Installez browserslist-config-baseline
Une fois que vous avez choisi le jeu de fonctionnalités de référence que vous souhaitez cibler, vous pouvez appliquer cette cible à vos outils de développement. Le moyen le plus simple d'y parvenir pour tous les outils qui utilisent browserslist consiste à installer browserslist-config-baseline
:
# npm npm i browserslist-config-baseline@latest -D # yarn yarn add --latest browserslist-config-baseline -D # bun bun add browserslist-config-baseline@latest -d
Cibler la référence largement disponible
Pour cibler la référence largement disponible, mettez à jour ou ajoutez une configuration browserlist
dans package.json
à l'aide du mot clé extends
:
{ ... "browserslist": [ "extends browserslist-config-baseline" ] ... }
Lorsque browserslist
charge sa liste des navigateurs compatibles, browserslist-config-baseline
génère dynamiquement les versions minimales actuelles des navigateurs compatibles avec toutes les fonctionnalités désormais largement disponibles. Vous pouvez également ajouter extends browserslist-config-baseline
à un fichier .browserslistrc
. Il sera géré de la même manière.
Cibler des années de référence
Si vous souhaitez cibler un ensemble de caractéristiques de l'année de référence, ajoutez un /
et l'année au format YYYY
à la fin de votre requête browserslist
:
"browserslist": "extends browserslist-config-baseline/2020"
Spécifier des navigateurs en aval
Le navigateur de référence de base comprend Chrome, Edge, Firefox et Safari. Les autres navigateurs sont basés sur le même code Open Source que Chrome et Edge (Chromium) et devraient prendre en charge le même ensemble de fonctionnalités que la version de Chromium qu'ils implémentent.
browserslist-config-baseline
utilise baseline-browser-mapping
pour mettre en correspondance les versions de navigateur avec les ensembles de fonctionnalités qu'elles prennent en charge. Les mappages pour UC Browser mobile et QQ Browser mobile sont disponibles dans baseline-browser-mapping
. D'autres navigateurs pourront être inclus à l'avenir.
Pour inclure ces navigateurs dans votre configuration de référence, ajoutez /with-downstream
immédiatement après le nom du module dans votre configuration browserslist
:
"browserslist": "extends browserslist-config-baseline/with-downstream"
soit :
"browserslist": "extends browserslist-config-baseline/with-downstream/2020"
Exemples d'utilisation de browserslist-config-baseline
Dans les outils de packaging
L'ajout de browserslist-config-baseline
à votre dépôt peut avoir un effet immédiat. Babel est un outil de compilation populaire pour empaqueter du code JavaScript. Si vous utilisez les valeurs par défaut du package @babel/preset-env
, de nombreuses API et méthodes JavaScript modernes seront remplacées par la syntaxe plus détaillée requise par les anciens navigateurs:
Toutefois, définir browserslist-config-baseline
pour cibler la référence 2020 dans le même exemple de projet réduit considérablement la taille de sortie de ce code JavaScript, car moins de transformations de syntaxe sont requises:
Essayez-le vous-même à l'aide de l'exemple de code du dépôt baseline-demos de Google Chrome Labs.
Dans les outils lint
Certains linters fonctionnent déjà avec Browserslist ou peuvent être configurés pour fonctionner avec Browserslist à l'aide d'un module de compatibilité. Par exemple, stylelint peut consommer une configuration browserslist
à l'aide du module stylelint-browser-compat. Définissez votre fichier stylelint.config.js
pour qu'il utilise browserslist-config-baseline
:
module.exports = { plugins: ['stylelint-browser-compat'], rules: { 'plugin/browser-compat': [ true, { browserslist: ['extends browserslist-config-baseline'], }, ], }, };
Stylelint signale désormais les CSS qui ne font pas partie de la référence largement disponible:
Stylelint fournit également un plug-in qui vous permet de définir directement des règles de référence, mais si vous utilisez déjà browserslist pour gérer votre configuration, browserslist-config-baseline
est une solution prête à l'emploi.
Contribuer à browserslist-config-baseline
Si vous souhaitez demander l'ajout d'une fonctionnalité pour browserslist-config-baseline
, créez un bug ou une demande d'extraction dans le dépôt GitHub.
Si vous souhaitez contribuer à d'autres données de navigateur en aval ou signaler un problème de données, créez un problème ou une demande de tirage dans le dépôt baseline-browser-mapping
.