Configuration
Permet de passer un chemin vers un fichier de schéma JSON.
Nous publions un schéma JSON pour le fichier biome.json
.
Vous pouvez spécifier un chemin relatif vers le schéma du paquet npm @biomejs/biome
si @biomejs/biome
est installé dans le dossier node_modules
:
{ "$schema": "./node_modules/@biomejs/biome/configuration_schema.json"}
Si vous avez des problèmes avec la résolution du fichier sur disque, vous pouvez utiliser celui que nous publions sur notre site :
{ "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json"}
Une liste de chemins vers d’autres fichiers de configuration Biome.
Biome résout et applique les paramètres de configuration contenus dans les fichiers listés dans extends
,
puis applique les options définies dans ce fichier biome.json
ou biome.jsonc
.
L’ordre des chemins dans la liste va du moins pertinent au plus pertinent.
Depuis la version 2, cette option accepte une chaîne de caractères correspondant à "//"
,
qui peut être utilisée lors de la configuration de monorepos.
Indique si cette configuration doit être considérée comme une racine. Par défaut, tout fichier de configuration est considéré comme une racine.
Lorsqu’un fichier de configuration est imbriqué (nested configuration),
il doit définir "root": false
, sinon une erreur est générée.
Cela est nécessaire pour que Biome puisse orchestrer plusieurs fichiers en ligne de commande et dans les éditeurs simultanément.
Valeur par défaut :
true
files.includes
Section intitulée « files.includes »Une liste de motifs glob représentant les fichiers à traiter.
Si un dossier correspond à un motif glob, tous les fichiers à l’intérieur de ce dossier seront traités.
L’exemple suivant correspond à tous les fichiers avec une extension .js
dans le dossier src
:
{ "files": { "includes": ["src/**/*.js"] }}
*
est utilisé pour correspondre à tous les fichiers dans un dossier, tandis
que **
correspond récursivement à tous les fichiers et sous-dossiers dans un
dossier. Pour plus d’informations sur les globs, consulte la référence de la
syntaxe glob.
includes
prend également en charge les motifs négatifs, ou exceptions.
Ce sont des motifs qui commencent par !
et peuvent être utilisés pour
indiquer à Biome de traiter tous les fichiers sauf ceux qui correspondent
au motif négatif. Lors de l’utilisation d’un motif négatif, il est
recommandé de spécifier d’abord **
pour inclure tous les fichiers et
dossiers, sinon le motif négatif ne correspondra à aucun fichier.
Note que les exceptions sont traitées dans l’ordre, ce qui permet de définir des exceptions aux exceptions.
Considère l’exemple suivant :
{ "files": { "includes": ["**", "!**/*.test.js", "**/special.test.js", "!test"] }}
Cet exemple indique que :
- Tous les fichiers dans tous les dossiers (et sous-dossiers) sont traités, grâce au motif
**
… - … sauf ceux ayant une extension
.test.js
… - … mais le fichier
special.test.ts
est tout de même traité … - … sauf s’il se trouve dans le dossier nommé
test
, car aucun fichier dans ce dossier n’est traité.
Ce qui donne :
src/app.js
est traité.src/app.test.js
n’est pas traité.src/special.test.js
est traité.test/special.test.js
n’est pas traité.
Remarque sur le scanner de Biome
Section intitulée « Remarque sur le scanner de Biome »Biome dispose d’un scanner chargé de détecter les fichiers .gitignore
imbriqués ainsi que d’indexer les projets si certaines règles du domaine projet sont activées.
Le scanner respecte le paramètre files.includes
, mais il y a quelques subtilités.
Consulte la documentation du scanner pour plus d’informations.
files.ignoreUnknown
Section intitulée « files.ignoreUnknown »Biome n’engendrera pas de diagnostics s’il rencontre des fichiers qu’il ne peut pas prendre en charge.
{ "files": { "ignoreUnknown": true }}
Valeur par défaut :
false
files.maxSize
Section intitulée « files.maxSize »La taille maximale autorisée pour les fichiers de code source, en octets. Les fichiers dépassant cette limite seront ignorés pour des questions de performance.
Valeur par défaut :
1048576
(1024*1024, 1 Mo)
files.experimentalScannerIgnores
Section intitulée « files.experimentalScannerIgnores »Un tableau de chemins que le scanner doit ignorer lors de l’exploration. Les fichiers ignorés ne seront pas indexés, ce qui signifie qu’ils ne feront pas partie du graphe de modules, et que leurs types ne seront pas inférés.
Dans l’exemple suivant, les dossiers lodash
et dist
, ainsi que le fichier RedisCommander.d.ts
, seront ignorés :
{ "files" : { "experimentalScannerIgnores": [ "lodash", "dist", "RedisCommander.d.ts" ] }}
il ne faut utiliser cette option qu’en dernier recours, dans les cas où Biome met beaucoup de temps à analyser ou vérifier le projet. Les chemins de type glob ne sont pas pris en charge, seuls les noms de base sont comparés.
Voir la documentation du scanner pour plus d’informations.
Ensemble de propriétés pour intégrer Biome à un VCS (logiciel de contrôle de versions, Version Control Software).
vcs.enabled
Section intitulée « vcs.enabled »Si Biome devrait s’intégrer au client VCS ou non.
Valeur par défaut :
false
vcs.clientKind
Section intitulée « vcs.clientKind »Le type de client.
Valeurs :
"git"
vcs.useIgnoreFile
Section intitulée « vcs.useIgnoreFile »Si Biome devrait utiliser le fichier ignore du VCS ou non. Si true
, Biome ignorera les fichiers
spécifiés dans le fichier ignore.
vcs.root
Section intitulée « vcs.root »Le dossier où Biome devrait vérifier les fichiers du VCS. Par défaut, Biome utilisera le même
dossier où biome.json
a été trouvé.
Si Biome ne peut pas trouver la configuration, il tentera d’utiliser le répertoire de l’espace de travail actuel. Si aucun répertoire de l’espace de travail actuel ne peut être trouvé, Biome n’utilisera pas l’intégration au VCS et un diagnostic sera généré.
vcs.defaultBranch
Section intitulée « vcs.defaultBranch »La branche principale du projet. Biome utilisera cette branche quand il évaluera les fichiers modifiés.
linter.enabled
Section intitulée « linter.enabled »Active l’outil de linting de Biome.
Valeur par défaut :
true
linter.includes
Section intitulée « linter.includes »Une liste de motifs glob représentant les fichiers à analyser avec le linter.
L’exemple suivant analyse tous les fichiers avec une extension .js
dans le dossier src
:
{ "linter": { "includes": ["src/**/*.js"] }}
*
est utilisé pour correspondre à tous les fichiers dans un dossier, tandis
que **
correspond récursivement à tous les fichiers et sous-dossiers dans un
dossier. Pour plus d’informations sur les globs, consulte la référence de la
syntaxe glob.
includes
prend également en charge les motifs négatifs, ou exceptions.
Ce sont des motifs qui commencent par !
et peuvent être utilisés pour
indiquer à Biome de traiter tous les fichiers sauf ceux qui correspondent
au motif négatif.
Note que les exceptions sont traitées dans l’ordre, ce qui permet de définir des exceptions aux exceptions.
Considère l’exemple suivant :
{ "linter": { "includes": ["**", "!**/*.test.js", "**/special.test.js"] }}
Cet exemple indique que :
- Tous les fichiers dans tous les dossiers (et sous-dossiers) sont traités, grâce au motif
**
… - … sauf ceux ayant une extension
.test.js
… - … mais le fichier
special.test.ts
est tout de même traité …
Ce qui donne :
src/app.js
est traité.src/app.test.js
n’est pas traité.src/special.test.js
est traité.
À noter : linter.includes
est appliqué après files.includes
.
Cela signifie que tout fichier non inclus par files.includes
ne pourra pas être analysé par linter.includes
.
L’exemple suivant ne fonctionne pas :
{ "files": { "includes": "src/**" }, "linter": { // Cela ne correspond à rien car il n’y a pas de chevauchement avec `files.includes` : "includes": "scripts/**" }}
Si linter.includes
n’est pas spécifié, tous les fichiers
correspondants à files.includes
seront analysés.
linter.rules.recommended
Section intitulée « linter.rules.recommended »Active les règles recommandées pour tous les groupes.
Valeur par défaut :
true
linter.rules.[groupe]
Section intitulée « linter.rules.[groupe] »Options qui influencent les règles d’un seul groupe. Biome prend en charge les groupes suivants :
- accessibility: Règles visant à prévenir les problèmes d’accessibilité.
- complexity: Règles qui inspectent du code complexe pouvant être simplifié.
- correctness: Règles qui détectent du code garanti comme incorrect ou inutile.
- nursery: Nouvelles règles encore en développement. Ces règles nécessitent une activation explicite dans la configuration des versions stables, car elles peuvent contenir des bugs ou des problèmes de performance. Elles sont activées par défaut dans les versions nightly, mais leur sévérité peut être définie comme erreur ou avertissement selon leur niveau de recommandation futur. Les règles de ce groupe peuvent être promues vers d’autres groupes une fois stabilisées, ou supprimées. Elles ne sont pas soumises au versionnement sémantique.
- performance: Règles qui identifient des moyens d’écrire du code plus rapide ou plus efficace.
- security: Règles qui détectent des failles potentielles de sécurité.
- style: Règles qui imposent une manière cohérente et idiomatique d’écrire du code.
- suspicious: Règles qui détectent du code probablement incorrect ou inutile.
Chaque groupe peut être configuré avec une valeur de sévérité ou un objet où chaque règle est définie individuellement.
Quand la sévérité est passée, elle s’appliquera à toutes les règles du groupe.
Par exemple, pour configurer le groupe a11y
afin qu’il émette des diagnostics de type “info” :
{ "linter": { "rules": { "a11y": "info" } }}
Valeurs acceptées :
"on"
: Chaque règle du groupe émettra un diagnostic avec sa sévérité par défaut. Tu peux consulter la documentation de la règle ou utiliser la commandebiome explain
:Fenêtre de terminal biome explain noDebugger"off"
: Aucune règle du groupe n’émettra de diagnostic."info"
: Toutes les règles du groupe émettront des diagnostics de type information."warn"
: Toutes les règles du groupe émettront des diagnostics de type avertissement."error"
: Toutes les règles du groupe émettront des diagnostics de type erreur.
linter.rules.[groupe].recommended
Section intitulée « linter.rules.[groupe].recommended »Active les règles recommandées pour un seul groupe.
Exemple :
{ "linter": { "enabled": true, "rules": { "nursery": { "recommended": true } } }}
assist.enabled
Section intitulée « assist.enabled »Active l’assistant de Biome.
Default:
true
assist.includes
Section intitulée « assist.includes »Une liste de motifs glob représentant les fichiers à analyser avec l’assistant.
L’exemple suivant analyse tous les fichiers avec une extension .js
dans le dossier src
:
{ "assist": { "includes": ["src/**/*.js"] }}
*
est utilisé pour correspondre à tous les fichiers dans un dossier, tandis
que **
correspond récursivement à tous les fichiers et sous-dossiers dans un
dossier. Pour plus d’informations sur les globs, consulte la référence de la
syntaxe glob.
includes
prend également en charge les motifs négatifs, ou exceptions.
Ce sont des motifs qui commencent par !
et peuvent être utilisés pour
indiquer à Biome de traiter tous les fichiers sauf ceux qui correspondent
au motif négatif.
Note que les exceptions sont traitées dans l’ordre, ce qui permet de définir des exceptions aux exceptions.
Considère l’exemple suivant :
{ "assist": { "includes": ["**", "!**/*.test.js", "**/special.test.js"] }}
Cet exemple indique que :
- Tous les fichiers dans tous les dossiers (et sous-dossiers) sont traités, grâce au motif
**
… - … sauf ceux ayant une extension
.test.js
… - … mais le fichier
special.test.ts
est tout de même traité …
Ce qui donne :
src/app.js
est traité.src/app.test.js
n’est pas traité.src/special.test.js
est traité.
À noter : assist.includes
est appliqué après files.includes
.
Cela signifie que tout fichier non inclus par files.includes
ne pourra pas être analysé par assist.includes
.
L’exemple suivant ne fonctionne pas :
{ "files": { "includes": "src/**" }, "assist": { // Cela ne correspond à rien car il n’y a pas de chevauchement avec `files.includes` : "includes": "scripts/**" }}
Si assist.includes
n’est pas spécifié, tous les fichiers
correspondants à files.includes
seront analysés.
assist.actions.recommended
Section intitulée « assist.actions.recommended »Active les actions recommandées pour tous les groupes.
assist.actions.[group]
Section intitulée « assist.actions.[group] »Options qui influencent les règles d’un groupe spécifique. Biome prend en charge les groupes suivants :
- source: Ce groupe représente les actions qui peuvent être appliquées en toute sécurité à un document lors de l’enregistrement. Ces actions sont généralement sûres : elles ne modifient pas le fonctionnement du programme.
assist.actions.[group].recommended
Section intitulée « assist.actions.[group].recommended »Active les règles recommandées pour un groupe spécifique.
Exemple:
{ "assist": { "enabled": true, "actions": { "source": { "recommended": true } } }}
formatter
Section intitulée « formatter »Ces options s’appliquent à tous les langages. Plus loin, il y a des options de formatage supplémentaires propres à un langage.
formatter.enabled
Section intitulée « formatter.enabled »Active l’outil de formatage de Biome.
Valeur par défaut :
true
formatter.includes
Section intitulée « formatter.includes »Une liste de motifs glob représentant les fichiers à formatter.
L’exemple suivant analyse tous les fichiers avec une extension .js
dans le dossier src
:
{ "formatter": { "includes": ["src/**/*.js"] }}
*
est utilisé pour correspondre à tous les fichiers dans un dossier, tandis
que **
correspond récursivement à tous les fichiers et sous-dossiers dans un
dossier. Pour plus d’informations sur les globs, consulte la référence de la
syntaxe glob.
includes
prend également en charge les motifs négatifs, ou exceptions.
Ce sont des motifs qui commencent par !
et peuvent être utilisés pour
indiquer à Biome de traiter tous les fichiers sauf ceux qui correspondent
au motif négatif.
Note que les exceptions sont traitées dans l’ordre, ce qui permet de définir des exceptions aux exceptions.
Considère l’exemple suivant :
{ "formatter": { "includes": ["**", "!**/*.test.js", "**/special.test.js"] }}
Cet exemple indique que :
- Tous les fichiers dans tous les dossiers (et sous-dossiers) sont traités, grâce au motif
**
… - … sauf ceux ayant une extension
.test.js
… - … mais le fichier
special.test.ts
est tout de même traité …
Ce qui donne :
src/app.js
est traité.src/app.test.js
n’est pas traité.src/special.test.js
est traité.
À noter : formatter.includes
est appliqué après files.includes
.
Cela signifie que tout fichier non inclus par files.includes
ne pourra pas être analysé par formatter.includes
.
L’exemple suivant ne fonctionne pas :
{ "files": { "includes": "src/**" }, "formatter": { // Cela ne correspond à rien car il n’y a pas de chevauchement avec `files.includes` : "includes": "scripts/**" }}
Si formatter.includes
n’est pas spécifié, tous les fichiers
correspondants à files.includes
seront analysés.
formatter.formatWithErrors
Section intitulée « formatter.formatWithErrors »Permet de formater un document comportant des erreurs de syntaxe.
{ "formatter": { "formatWithErrors": true }}
Valeur par défaut :
false
formatter.indentStyle
Section intitulée « formatter.indentStyle »Le style d’indentation. La valeur peut être "tab"
ou "space"
.
Valeur par défaut :
"tab"
formatter.indentWidth
Section intitulée « formatter.indentWidth »Quelle devrait être la largeur de l’indentation.
Valeur par défaut :
2
formatter.lineEnding
Section intitulée « formatter.lineEnding »Le type de fin de ligne :
"lf"
: caractère de retour à la ligne seulement (\n
), courant sur Linux et macOS, ainsi que dans les dépôts git ;"crlf"
: caractère de retour chariot + caractère de retour à la ligne (\r\n
), courant sur Windows ;"cr"
: caractère de retour chariot seulement (\r
), très rarement utilisé.
Valeur par défaut :
"lf"
formatter.lineWidth
Section intitulée « formatter.lineWidth »Combien de caractères peuvent être écrits sur une seule ligne.
Valeur par défaut :
80
formatter.attributePosition
Section intitulée « formatter.attributePosition »Le style de positionnement d’un attribut dans les langages HTML et assimilés :
"auto"
: les attributs sont automatiquement formatés et ne se répartiront en plusieurs lignes que s’ils répondent à certains critères ;"multiline"
: les attributs sont toujours formatés en plusieurs lignes, quoi qu’il en soit.
Valeur par défaut :
"auto"
formatter.bracketSpacing
Section intitulée « formatter.bracketSpacing »Détermine si des espaces doivent être ajoutés entre les crochets et les valeurs internes.
Valeur par défaut :
true
formatter.expand
Section intitulée « formatter.expand »Indique si les tableaux et objets doivent être formatés sur plusieurs lignes.
"auto"
: les objets sont mis sur plusieurs lignes si la première propriété contient un saut de ligne ; les tableaux restent sur une seule ligne s’ils tiennent dans la largeur."always"
: les objets et tableaux sont toujours formatés sur plusieurs lignes, peu importe leur taille."never"
: les objets et tableaux sont toujours formatés sur une seule ligne s’ils tiennent dans la largeur.
Lors du formatage du fichier package.json
, Biome utilisera always
par défaut, sauf si une autre option est spécifiée.
Valeur par défaut :
"auto"
formatter.useEditorconfig
Section intitulée « formatter.useEditorconfig »Si Biome devrait utiliser le fichier .editorconfig
pour déterminer les options de formatage ou non. Si true
, les options applicables dans le fichier .editorconfig
seront utilisées ; mais, toute configuration dans le fichier biome.json
sera toujours prioritaire.
En migrant depuis Prettier avec biome migrate
, cette option est définie à true
pour se conformer au comportement de Prettier.
Valeur par défaut :
false
javascript
Section intitulée « javascript »Ces options ne s’appliquent qu’aux fichiers JavaScript (et TypeScript).
javascript.parser.unsafeParameterDecoratorsEnabled
Section intitulée « javascript.parser.unsafeParameterDecoratorsEnabled »Permet la prise en charge des décorateurs de paramètre non sûrs/expérimentaux.
{ "javascript": { "parser": { "unsafeParameterDecoratorsEnabled": true } }}
Valeur par défaut :
false
javascript.parser.jsxEverywhere
Section intitulée « javascript.parser.jsxEverywhere »Lorsqu’elle est définie sur true
, cette option permet d’analyser la syntaxe JSX dans les fichiers .js
.
Valeur par défaut :
true
{ "javascript": { "parser": { "jsxEverywhere": false } }}
javascript.formatter.quoteStyle
Section intitulée « javascript.formatter.quoteStyle »Le type de guillemets utilisé pour représenter les littéraux de chaîne. La valeur peut être "single"
ou "double"
.
Valeur par défaut :
"double"
javascript.formatter.jsxQuoteStyle
Section intitulée « javascript.formatter.jsxQuoteStyle »Le type de guillemets utilisé pour représenter les littéraux de chaîne JSX. La valeur peut être "single"
ou "double"
.
Valeur par défaut :
"double"
{ "javascript": { "formatter": { "jsxQuoteStyle": "single" } }}
javascript.formatter.quoteProperties
Section intitulée « javascript.formatter.quoteProperties »Quand les propriétés d’objet devraient être entourées de guillemets. La valeur peut être "asNeeded"
ou "preserve"
.
Valeur par défaut :
"asNeeded"
{ "javascript": { "formatter": { "quoteProperties": "preserve" } }}
javascript.formatter.trailingComma
Section intitulée « javascript.formatter.trailingComma »Cette option est obsolète, veuillez utiliser javascript.formatter.trailingCommas
à la place.
Obsolète
Ajoute si possible des virgules de fin dans les structures syntaxiques séparées par des virgules et réparties sur plusieurs lignes. Valeurs possibles :
"all"
: la virgule de fin est toujours ajoutée ;"es5"
: la virgule de fin n’est ajoutée qu’aux endroits où elle est prise en charge par les anciennes versions de JavaScript ;"none"
: les virgules de fin ne sont jamais ajoutées.
Valeur par défaut :
"all"
javascript.formatter.trailingCommas
Section intitulée « javascript.formatter.trailingCommas »Ajoute si possible des virgules de fin dans les structures syntaxiques séparées par des virgules et réparties sur plusieurs lignes. Valeurs possibles :
"all"
: la virgule de fin est toujours ajoutée ;"es5"
: la virgule de fin n’est ajoutée qu’aux endroits où elle est prise en charge par les anciennes versions de JavaScript ;"none"
: les virgules de fin ne sont jamais ajoutées.
Valeur par défaut :
"all"
javascript.formatter.semicolons
Section intitulée « javascript.formatter.semicolons »Configure l’endroit où l’outil de formatage insère les points-virgules :
"always"
: les points-virgules sont toujours ajoutés à la fin de chaque instruction ;"asNeeded"
: les points-virgules ne sont ajoutés qu’aux endroits où ils sont nécessaires, pour protéger le code de l’insertion automatique de points-virgules.
Valeur par défaut :
"always"
Exemple :
{ "javascript": { "formatter": { "semicolons": "asNeeded" } }}
javascript.formatter.arrowParentheses
Section intitulée « javascript.formatter.arrowParentheses »S’il faut ajouter ou non des parenthèses non nécessaires aux fonctions fléchées :
"always"
: les parenthèses sont toujours ajoutées ;"asNeeded"
: les parenthèses ne sont ajoutées que si elles sont nécessaires.
Valeur par défaut :
"always"
javascript.formatter.enabled
Section intitulée « javascript.formatter.enabled »Active l’outil de formatage de Biome pour les fichiers JavaScript (et ses super-langages).
Valeur par défaut :
true
javascript.formatter.indentStyle
Section intitulée « javascript.formatter.indentStyle »Le style d’indentation pour les fichiers JavaScript (et ses super-langages). La valeur peut être "tab"
ou "space"
.
Valeur par défaut :
"tab"
javascript.formatter.indentWidth
Section intitulée « javascript.formatter.indentWidth »Quelle devrait être la largeur de l’indentation pour les fichiers JavaScript (et ses super-langages).
Valeur par défaut :
2
javascript.formatter.lineEnding
Section intitulée « javascript.formatter.lineEnding »Le type de fin de ligne pour les fichiers JavaScript (et ses super-langages) :
"lf"
: caractère de retour à la ligne seulement (\n
), courant sur Linux et macOS, ainsi que dans les dépôts git ;"crlf"
: caractère de retour chariot + caractère de retour à la ligne (\r\n
), courant sur Windows ;"cr"
: caractère de retour chariot seulement (\r
), très rarement utilisé.
Valeur par défaut :
"lf"
javascript.formatter.lineWidth
Section intitulée « javascript.formatter.lineWidth »Combien de caractères peuvent être écrits sur une seule ligne dans les fichiers JavaScript (et ses super-langages).
Valeur par défaut :
80
javascript.formatter.bracketSameLine
Section intitulée « javascript.formatter.bracketSameLine »Détermine si le >
de fin d’un élément JSX écrit sur plusieurs lignes devrait être sur la ligne du dernier attribut ou non.
Valeur par défaut :
false
javascript.formatter.bracketSpacing
Section intitulée « javascript.formatter.bracketSpacing »Détermine si les espaces devraient être ajoutés ou non entre les accolades et les valeurs à l’intérieur de ces dernières.
Valeur par défaut :
true
javascript.formatter.attributePosition
Section intitulée « javascript.formatter.attributePosition »Le style de positionnement d’un attribut dans les éléments JSX.
"auto"
: les attributs sont automatiquement formatés et ne se répartiront en plusieurs lignes que s’ils répondent à certains critères ;"multiline"
: les attributs sont toujours formatés en plusieurs lignes, quoi qu’il en soit.
Valeur par défaut :
"auto"
javascript.formatter.expand
Section intitulée « javascript.formatter.expand »Détermine si les tableaux et objets doivent être formatés sur plusieurs lignes.
"auto"
: les objets littéraux sont formatés sur plusieurs lignes si la première propriété contient un saut de ligne. Les tableaux sont formatés sur une seule ligne s’ils tiennent dans la largeur."always"
: les objets et tableaux sont toujours formatés sur plusieurs lignes, quelle que soit leur longueur."never"
: les objets et tableaux sont formatés sur une seule ligne s’ils tiennent dans la largeur.
Valeur par défaut :
"after"
.
javascript.formatter.operatorLinebreak
Section intitulée « javascript.formatter.operatorLinebreak »Définit si, lors du retour à la ligne dans une expression binaire, l’opérateur doit être placé avant ou après la ligne.
Valeur par défaut :
"after"
.
"after"
: l’opérateur est placé après l’expression :file.js if (expressionOne &&expressionTwo &&expressionThree &&expressionFour) {}"before"
: l’opérateur est placé avant l’expression :file.js if (expressionOne&& expressionTwo&& expressionThree&& expressionFour) {}
javascript.globals
Section intitulée « javascript.globals »Une liste de noms globaux que Biome devrait ignorer (analyzer, linter, etc.).
{ "javascript": { "globals": ["$", "_", "externalVariable"] }}
javascript.jsxRuntime
Section intitulée « javascript.jsxRuntime »Indique le type d’environnement d’exécution ou de transformation utilisé pour interpréter le JSX.
"transparent"
: indique un environment JSX moderne ou natif, qui ne requiert pas de prise en charge spéciale par Biome ;"reactClassic"
: indique un environment React classique qui requiert l’importReact
, correspond à la valeurreact
de l’optionjsx
dans letsconfig.json
de TypeScript.
{ "javascript": { "jsxRuntime": "reactClassic" }}
Pour plus de renseignements sur les environnements d’exécution JSX anciens et nouveaux, veuillez consulter : https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html
Valeur par défaut :
"transparent"
javascript.linter.enabled
Section intitulée « javascript.linter.enabled »Active l’outil de linting de Biome pour les fichiers JavaScript (et ses super-langages).
Valeur par défaut :
true
{ "javascript": { "linter": { "enabled": false } }}
javascript.assist.enabled
Section intitulée « javascript.assist.enabled »Active l’assistance de Biome pour les fichiers JavaScript (et ses super-langages).
Valeur par défaut :
true
{ "javascript": { "assist": { "enabled": false } }}
Options appliquées aux fichiers JSON.
json.parser.allowComments
Section intitulée « json.parser.allowComments »Active l’analyse des commentaires dans les fichiers JSON.
{ "json": { "parser": { "allowComments": true } }}
json.parser.allowTrailingCommas
Section intitulée « json.parser.allowTrailingCommas »Active l’analyse des virgules de fin dans les fichiers JSON.
{ "json": { "parser": { "allowTrailingCommas": true } }}
json.formatter.enabled
Section intitulée « json.formatter.enabled »Active l’outil de formatage de Biome pour les fichiers JSON (et ses super-langages).
Valeur par défaut :
true
{ "json": { "formatter": { "enabled": false } }}
json.formatter.indentStyle
Section intitulée « json.formatter.indentStyle »Le style d’indentation pour les fichiers JSON (et ses super-langages). La valeur peut être "tab"
ou "space"
.
Valeur par défaut :
"tab"
json.formatter.indentWidth
Section intitulée « json.formatter.indentWidth »Quelle devrait être la largeur de l’indentation pour les fichiers JSON (et ses super-langages).
Valeur par défaut :
2
json.formatter.lineEnding
Section intitulée « json.formatter.lineEnding »Le type de fin de ligne pour les fichiers JSON (et ses super-langages).
"lf"
: caractère de retour à la ligne seulement (\n
), courant sur Linux et macOS, ainsi que dans les dépôts git ;"crlf"
: caractère de retour chariot + caractère de retour à la ligne (\r\n
), courant sur Windows ;"cr"
: caractère de retour chariot seulement (\r
), très rarement utilisé.
Valeur par défaut :
"lf"
json.formatter.lineWidth
Section intitulée « json.formatter.lineWidth »Combien de caractères peuvent être écrits sur une seule ligne dans les fichiers JSON (et ses super-langages).
Valeur par défaut :
80
json.formatter.trailingCommas
Section intitulée « json.formatter.trailingCommas »Ajoute si possible des virgules de fin dans les structures syntaxiques séparées par des virgules et réparties sur plusieurs lignes.
Valeurs possibles :
"none"
: la virgule de fin est supprimée ;"all"
: la virgule de fin est préservée et préférée.
Valeur par défaut :
"none"
json.formatter.bracketSpacing
Section intitulée « json.formatter.bracketSpacing »Détermine si des espaces doivent être ajoutés entre les crochets et les valeurs internes.
Valeur par défaut :
true
json.formatter.expand
Section intitulée « json.formatter.expand »Détermine si les tableaux et objets doivent être formatés sur plusieurs lignes.
"auto"
: les objets sont formatés sur plusieurs lignes si la première propriété contient un saut de ligne. Les tableaux sont formatés sur une seule ligne s’ils tiennent dans la largeur."always"
: les objets et tableaux sont toujours formatés sur plusieurs lignes, quelle que soit leur longueur."never"
: les objets et tableaux sont formatés sur une seule ligne s’ils tiennent dans la largeur.
Lors du formatage du fichier package.json
, Biome utilisera always
par défaut, sauf si une autre option est spécifiée.
Valeur par défaut :
auto
json.linter.enabled
Section intitulée « json.linter.enabled »Active l’outil de linting de Biome pour les fichiers JSON (et ses super-langages).
Valeur par défaut :
true
{ "json": { "linter": { "enabled": false } }}
json.assist.enabled
Section intitulée « json.assist.enabled »Active l’assistance de Biome pour les fichiers JSON (et ses super-langages).
Valeur par défaut :
true
{ "json": { "assist": { "enabled": false } }}
Options appliquées aux fichiers CSS.
css.parser.cssModules
Section intitulée « css.parser.cssModules »Active l’analyse des modules CSS.
Valeur par défaut :
false
css.formatter.enabled
Section intitulée « css.formatter.enabled »Active l’outil de formatage de Biome pour les fichiers CSS (et ses super-langages).
Valeur par défaut :
false
{ "css": { "formatter": { "enabled": false } }}
css.formatter.indentStyle
Section intitulée « css.formatter.indentStyle »Le style d’indentation pour les fichiers CSS (et ses super-langages). La valeur peut être "tab"
ou "space"
.
Valeur par défaut :
"tab"
css.formatter.indentWidth
Section intitulée « css.formatter.indentWidth »Quelle devrait être la largeur de l’indentation pour les fichiers CSS (et ses super-langages).
Valeur par défaut :
2
{ "css": { "formatter": { "indentWidth": 2 } }}
css.formatter.lineEnding
Section intitulée « css.formatter.lineEnding »Le type de fin de ligne pour les fichiers CSS (et ses super-langages).
"lf"
: caractère de retour à la ligne seulement (\n
), courant sur Linux et macOS, ainsi que dans les dépôts git ;"crlf"
: caractère de retour chariot + caractère de retour à la ligne (\r\n
), courant sur Windows ;"cr"
: caractère de retour chariot seulement (\r
), très rarement utilisé.
Valeur par défaut :
"lf"
css.formatter.lineWidth
Section intitulée « css.formatter.lineWidth »Combien de caractères peuvent être écrits sur une seule ligne dans les fichiers CSS (et ses super-langages).
Valeur par défaut :
80
css.formatter.quoteStyle
Section intitulée « css.formatter.quoteStyle »Le type de guillemets utilisé pour représenter les littéraux de chaîne. La valeur peut être "single"
ou "double"
.
Valeur par défaut :
"double"
css.linter.enabled
Section intitulée « css.linter.enabled »Active l’outil de linting de Biome pour les fichiers CSS (et ses super-langages).
Valeur par défaut :
true
{ "css": { "linter": { "enabled": false } }}
css.assist.enabled
Section intitulée « css.assist.enabled »Active l’assistance de Biome pour les fichiers CSS.
Valeur par défaut :
true
{ "css": { "assist": { "enabled": false } }}
Options appliquées aux fichiers GraphQL.
graphql.formatter.enabled
Section intitulée « graphql.formatter.enabled »Active le formateur de Biome pour les fichiers GraphQL.
Valeur par défaut :
false
graphql.formatter.indentStyle
Section intitulée « graphql.formatter.indentStyle »Définit le style d’indentation pour les fichiers GraphQL. Peut être "tab"
(tabulation) ou "space"
(espaces).
Valeur par défaut :
"tab"
graphql.formatter.indentWidth
Section intitulée « graphql.formatter.indentWidth »Définit la largeur de l’indentation dans les fichiers GraphQL.
Valeur par défaut :
2
graphql.formatter.lineEnding
Section intitulée « graphql.formatter.lineEnding »Définit le type de saut de ligne utilisé dans les fichiers GraphQL :
"lf"
: Line Feed uniquement (\n
), courant sur Linux, macOS et dans les dépôts Git ;"crlf"
: Carriage Return + Line Feed (\r\n
), courant sur Windows ;"cr"
: Carriage Return uniquement (\r
), très rarement utilisé.
Valeur par défaut :
"lf"
graphql.formatter.lineWidth
Section intitulée « graphql.formatter.lineWidth »Nombre maximal de caractères autorisés sur une seule ligne dans les fichiers GraphQL.
Valeur par défaut :
80
graphql.formatter.quoteStyle
Section intitulée « graphql.formatter.quoteStyle »Définit le type de guillemets utilisés pour les littéraux de chaîne. Peut être "single"
(guillemets simples) ou "double"
(guillemets doubles).
Valeur par défaut :
"double"
graphql.linter.enabled
Section intitulée « graphql.linter.enabled »Active le linter de Biome pour les fichiers GraphQL.
Valeur par défaut :
true
graphql.assist.enabled
Section intitulée « graphql.assist.enabled »Active l’assistance de Biome pour les fichiers GraphQL.
Valeur par défaut :
true
Options appliquées aux fichiers Grit.
grit.formatter.enabled
Section intitulée « grit.formatter.enabled »Active le formateur de Biome pour les fichiers Grit.
Valeur par défaut :
false
grit.formatter.indentStyle
Section intitulée « grit.formatter.indentStyle »Définit le style d’indentation pour les fichiers Grit. Peut être "tab"
(tabulation) ou "space"
(espaces).
Valeur par défaut :
"tab"
grit.formatter.indentWidth
Section intitulée « grit.formatter.indentWidth »Définit la largeur de l’indentation dans les fichiers Grit.
Valeur par défaut :
2
grit.formatter.lineEnding
Section intitulée « grit.formatter.lineEnding »Définit le type de saut de ligne utilisé dans les fichiers Grit :
"lf"
: Line Feed uniquement (\n
), courant sur Linux, macOS et dans les dépôts Git ;"crlf"
: Carriage Return + Line Feed (\r\n
), courant sur Windows ;"cr"
: Carriage Return uniquement (\r
), très rarement utilisé.
Valeur par défaut :
"lf"
grit.formatter.lineWidth
Section intitulée « grit.formatter.lineWidth »Nombre maximal de caractères autorisés sur une seule ligne dans les fichiers Grit.
Valeur par défaut :
80
grit.formatter.quoteStyle
Section intitulée « grit.formatter.quoteStyle »Définit le type de guillemets utilisés pour les littéraux de chaîne. Peut être "single"
(guillemets simples) ou "double"
(guillemets doubles).
Valeur par défaut :
"double"
grit.linter.enabled
Section intitulée « grit.linter.enabled »Active le linter de Biome pour les fichiers Grit.
Valeur par défaut :
true
{ "grit": { "linter": { "enabled": false } }}
grit.assist.enabled
Section intitulée « grit.assist.enabled »Active l’assistance de Biome pour les fichiers Grit.
Valeur par défaut :
true
{ "grit": { "assist": { "enabled": false } }}
html.parser.interpolation
Section intitulée « html.parser.interpolation »Active l’analyse des expressions entre doubles accolades comme {{ expression }}
dans les fichiers .html
.
Valeur par défaut :
false
html.formatter.enabled
Section intitulée « html.formatter.enabled »Active le formateur de Biome pour les fichiers HTML.
Valeur par défaut :
false
html.formatter.indentStyle
Section intitulée « html.formatter.indentStyle »Définit le style d’indentation pour les fichiers HTML. Peut être "tab"
(tabulation) ou "space"
(espaces).
Valeur par défaut :
"tab"
html.formatter.indentWidth
Section intitulée « html.formatter.indentWidth »Définit la largeur de l’indentation dans les fichiers HTML.
Valeur par défaut :
2
html.formatter.lineEnding
Section intitulée « html.formatter.lineEnding »Définit le type de saut de ligne utilisé dans les fichiers HTML :
"lf"
: Line Feed uniquement (\n
), courant sur Linux, macOS et dans les dépôts Git ;"crlf"
: Carriage Return + Line Feed (\r\n
), courant sur Windows ;"cr"
: Carriage Return uniquement (\r
), très rarement utilisé.
Valeur par défaut :
"lf"
html.formatter.lineWidth
Section intitulée « html.formatter.lineWidth »Nombre maximal de caractères autorisés sur une seule ligne dans les fichiers HTML.
Valeur par défaut :
80
html.formatter.attributePosition
Section intitulée « html.formatter.attributePosition »Définit le style de positionnement des attributs dans les éléments HTML :
"auto"
: les attributs sont formatés automatiquement et ne passent à la ligne que si certaines conditions sont remplies ;"multiline"
: les attributs passent à la ligne si plus d’un attribut est utilisé.
Valeur par défaut :
"auto"
html.formatter.bracketSameLine
Section intitulée « html.formatter.bracketSameLine »Indique si la balise fermante d’un élément HTML multilignes doit être collée à la dernière ligne plutôt que seule sur une nouvelle ligne.
Valeur par défaut :
false
html.formatter.whitespacesSensitivity
Section intitulée « html.formatter.whitespacesSensitivity »Définit la sensibilité aux espaces lors du formatage HTML (et ses super-langages).
Valeur par défaut :
"css"
-
"css"
: les espaces sont considérés comme significatifs pour les éléments ayant un style d’affichage “inline” par défaut dans les feuilles de style des navigateurs. -
"strict"
: les espaces en début et fin de contenu sont considérés comme significatifs pour tous les éléments.Le formateur doit conserver au moins un espace s’il est présent. Sinon, aucun espace ne doit être ajouté après
>
ou avant<
.Exemple de contenu collé aux balises :
<b>content</b> -
"ignore"
: les espaces sont considérés comme non significatifs. Le formateur peut les ajouter ou les supprimer librement.
html.formatter.indentScriptAndStyle
Section intitulée « html.formatter.indentScriptAndStyle »Indique si les balises <script>
et <style>
doivent être indentées dans les fichiers HTML (et ses super-langages).
Valeur par défaut :
true
html.formatter.selfCloseVoidElements
Section intitulée « html.formatter.selfCloseVoidElements »Indique si les éléments vides doivent être auto-fermés.
Valeur par défaut :
"never"
"never"
: le slash / dans les éléments vides est supprimé par le formateur."always"
: le slash / est toujours ajouté dans les éléments vides.
overrides
Section intitulée « overrides »Une liste de modèles.
Utilisez cette configuration pour modifier le comportement des outils pour certains fichiers.
Quand un fichier correspond à un modèle d’écrasement, la configuration spécifiée dans ce modèle écrasera la configuration du premier niveau.
L’ordre des modèles a son importance. Si un fichier peut correspondre à trois modèles, seul le premier est utilisé.
overrides.<ITEM>.includes
Section intitulée « overrides.<ITEM>.includes »Une liste de motifs glob représentant les fichiers auxquels appliquer des paramètres personnalisés.
{ "overrides": [{ "includes": ["scripts/*.js"], // paramètres qui ne s’appliqueront qu’aux fichiers spécifiés dans le champ includes. }]}
overrides.<ITEM>.formatter
Section intitulée « overrides.<ITEM>.formatter »Inclura les options de configuration de formatage du premier niveau, moins ignore
et include
.
Exemples
Section intitulée « Exemples »Par exemple, il est possible de modifier le formatage de lineWidth
: indentStyle
pour certains fichiers qui sont inclus dans le glob generated/**
:
{ "formatter": { "lineWidth": 100 }, "overrides": [ { "include": ["generated/**"], "formatter": { "lineWidth": 160, "indentStyle": "space" } } ]}
overrides.<ITEM>.linter
Section intitulée « overrides.<ITEM>.linter »Inclura les options de configuration de linting de premier niveau, moins ignore
et include
.
Exemples
Section intitulée « Exemples »Vous pouvez désactiver certaines règles pour certains globs et désactiver le linting pour d’autres globs :
{ "linter": { "enabled": true, "rules": { "recommended": true } }, "overrides": [ { "include": ["lib/**"], "linter": { "rules": { "suspicious": { "noDebugger": "off" } } } }, { "include": ["shims/**"], "linter": { "enabled": false } } ]}
overrides.<ITEM>.organizeImports
Section intitulée « overrides.<ITEM>.organizeImports »Inclura les options d’organisation des imports de premier niveau, moins ignore
et include
.
overrides.<ITEM>.javascript
Section intitulée « overrides.<ITEM>.javascript »Inclura les options de configuration de JavaScript de premier niveau.
Exemples
Section intitulée « Exemples »Vous pouvez modifier le comportement du formatage des fichiers JavaScript dans certains dossiers :
{ "formatter": { "lineWidth": 120 }, "javascript": { "formatter": { "quoteStyle": "single" } }, "overrides": [ { "include": ["lib/**"], "javascript": { "formatter": { "quoteStyle": "double" } } } ]}
overrides.<ITEM>.json
Section intitulée « overrides.<ITEM>.json »Inclura les options de configuration de JSON de premier niveau.
Exemples
Section intitulée « Exemples »Vous pouvez activer les fonctionnalités d’analyse pour certains fichiers JSON :
{ "linter": { "enabled": true, "rules": { "recommended": true } }, "overrides": [ { "include": [".vscode/**"], "json": { "parser": { "allowComments": true, "allowTrailingCommas": true } } } ]}
Glob syntax reference
Section intitulée « Glob syntax reference »Les motifs glob sont utilisés pour faire correspondre des chemins de fichiers et de dossiers. Biome prend en charge la syntaxe suivante :
*
correspond à zéro ou plusieurs caractères. Il ne peut pas correspondre au séparateur de chemin /.**
correspond récursivement aux dossiers et fichiers. Cette séquence doit être utilisée comme un composant entier du chemin, donc**a
etb**
sont invalides et entraîneront une erreur. Une séquence de plus de deux caractères*
consécutifs est également invalide.[...]
correspond à tout caractère situé entre les crochets. Il est aussi possible de spécifier des plages de caractères, selon l’ordre Unicode. Par exemple,[0-9]
correspond à tout caractère entre 0 et 9 inclus.[!...]
est la négation de[...]
, c’est-à-dire qu’il correspond à tout caractère non présent dans les crochets.- Si le motif glob commence par
!
, il s’agit d’un motif dit négatif. Ce motif ne correspond que si le chemin ne correspond pas au motif. Les motifs négatifs ne peuvent pas être utilisés seuls, ils ne peuvent servir que d’exception à un motif glob classique. - Lorsqu’il détermine si un fichier est inclus ou non, Biome prend également en compte les dossiers parents.
Cela signifie que si vous souhaitez inclure tous les fichiers d’un dossier,
vous devez utiliser le suffixe
/**
pour les faire correspondre. En revanche, si vous souhaitez ignorer tous les fichiers d’un dossier, vous pouvez le faire sans le suffixe/**
. Il est recommandé d’ignorer les dossiers sans le suffixe final/**
, afin d’éviter de les parcourir inutilement, ainsi que le risque que Biome charge un fichierbiome.json
ou.gitignore
depuis un dossier ignoré.
Quelques exemples :
dist/**
correspond au dossierdist/
et à tous les fichiers qu’il contient.!dist
ignore le dossierdist/
et tous les fichiers qu’il contient.**/test/**
correspond à tous les fichiers situés dans un dossier nommétest
, peu importe son emplacement. Par exemple :dist/test
,src/test
.**/*.js
correspond à tous les fichiers se terminant par l’extension.js
, dans tous les dossiers.
Copyright (c) 2023-present Biome Developers and Contributors.