Saltearse al contenido

Configuración

Permite pasar una ruta a un archivo de esquema JSON.

Publicamos un archivo de esquema JSON para el biome.json.

Puedes especificar una ruta relativa al esquema del paquete npm @biomejs/biome si @biomejs/biome está instalado en la carpeta node_modules:

biome.json
{
"$schema": "./node_modules/@biomejs/biome/configuration_schema.json"
}

Si tiene problemas para resolver el archivo físico, puede utilizar el publicado en este sitio:

biome.json
{
"$schema": "https://biomejs.dev/schemas/1.9.4/schema.json"
}

Una lista de rutas a otros archivos JSON. Biome resuelve y aplica las opciones de los archivos contenidos en la lista extends, y finalmente aplica las opciones contenidas en el archivo biome.json.

El tamaño máximo permitido para los archivos de código fuente en bytes. Los archivos que superen este límite serán ignorados por razones de rendimiento.

Por defecto: 1048576 (1024*1024, 1MB)

Una lista de patrones de estilo shell de Unix. Biome ignora los archivos y carpetas que coinciden con estos patrones.

biome.json
{
"files": {
"ignore": ["scripts/*.js"]
}
}

Una lista de patrones de estilo shell de Unix. Biome sólo gestiona los archivos y carpetas que coinciden con estos patrones.

biome.json
{
"files": {
"include": ["scripts/*.js"]
}
}

Dado el siguiente ejemplo:

biome.json
{
"files": {
"include": ["scripts/**/*.js", "src/**/*.js"],
"ignore": ["scripts/**/*.js"]
}
}

Sólo se tratarán los archivos que coincidan con el patrón src/**/*.js, mientras que se ignorarán los archivos que coincidan con el patrón scripts/**/*.js.

Biome no emitirá diagnósticos si encuentra archivos que no puede manejar.

biome.json
{
"files": {
"ignoreUnknown": true
}
}

Por defecto: false

Conjunto de propiedades para integrar Biome con un VCS (Version Control Software).

Si Biome debe integrarse con el cliente VCS

Por defecto: false

El tipo de cliente.

Valores:

  • "git"

Si Biome debe utilizar el archivo de ignorar VCS. Si es true, Biome ignorará los archivos especificados en el archivo de ignorar.

La carpeta en la que Biome debe buscar los archivos VCS. Por defecto, Biome utilizará la misma carpeta en la que se encontró biome.json.

Si Biome no puede encontrar la configuración, intentará utilizar el directorio de trabajo actual. Si no se encuentra el directorio de trabajo actual, Biome no utilizará la integración VCS y se emitirá un mensaje de diagnóstico

La rama principal del proyecto. Biome utilizará esta rama al evaluar los archivos modificados.

Activa el linter de Biome

Por defecto: true

Un conjunto de patrones de estilo shell Unix.

biome.json
{
"linter": {
"ignore": ["scripts/*.js"]
}
}

Una lista de patrones de estilo shell de Unix. Biome sólo gestiona los archivos y carpetas que coinciden con estos patrones.

biome.json
{
"linter": {
"include": ["scripts/*.js"]
}
}

Dado el siguiente ejemplo:

biome.json
{
"linter": {
"include": ["scripts/**/*.js", "src/**/*.js"],
"ignore": ["scripts/**/*.js"]
}
}

Sólo los archivos que coincidan con el patrón src/**/*.js serán lintados, mientras que los archivos que coincidan con el patrón scripts/**/*.js serán ignorados.

Activa las reglas recomendadas para todos los grupos.

Por defecto: true

Activar o desactivar todas las reglas para todos los grupos.

Si recommended y all son ambos true, Biome emitirá un diagnóstico y volverá a sus valores por defecto.

biome.json
{
"linter": {
"enabled": true,
"rules": {
"all": true
}
}
}

También es posible combinar esta bandera para activar/desactivar diferentes grupos de reglas:

biome.json
{
"linter": {
"enabled": true,
"rules": {
"all": true,
"style": {
"all": false
},
"complexity": {
"all": false
}
}
}
}

En el ejemplo anterior, Biome activará todas las reglas, excepto las que pertenezcan a los grupos style y complexity.

Opciones que influyen en las reglas de un solo grupo. Biome admite los siguientes grupos:

  • accessibility: Rules focused on preventing accessibility problems.
  • complexity: Rules that focus on inspecting complex code that could be simplified.
  • correctness: Rules that detect code that is guaranteed to be incorrect or useless.
  • nursery: New rules that are still under development. Nursery rules require explicit opt-in via configuration on stable versions because they may still have bugs or performance problems. They are enabled by default on nightly builds, but as they are unstable their diagnostic severity may be set to either error or warning, depending on whether we intend for the rule to be recommended or not when it eventually gets stabilized. Nursery rules get promoted to other groups once they become stable or may be removed. Rules that belong to this group are not subject to semantic version.
  • performance: Rules catching ways your code could be written to run faster, or generally be more efficient.
  • security: Rules that detect potential security flaws.
  • style: Rules enforcing a consistent and idiomatic way of writing your code.
  • suspicious: Rules that detect code that is likely to be incorrect or useless.
  • linter.rules.[group].recommended

    Section titled linter.rules.[group].recommended

    Activa las reglas recomendadas para un solo grupo.

    Ejemplo:

    biome.json
    {
    "linter": {
    "enabled": true,
    "rules": {
    "nursery": {
    "recommended": true
    }
    }
    }
    }

    Activa todas las reglas de un mismo grupo.

    Ejemplo:

    biome.json
    {
    "linter": {
    "enabled": true,
    "rules": {
    "nursery": {
    "all": true
    }
    }
    }
    }

    Estas opciones se aplican a todos los idiomas. A continuación encontrarás otras opciones de formato específicas para cada idioma.

    Activa el formateador de Biome

    Por defecto: true

    Un conjunto de patrones de estilo shell Unix.

    biome.json
    {
    "formatter": {
    "ignore": ["scripts/*.js"]
    }
    }

    Una lista de patrones de estilo shell de Unix. Biome sólo gestiona los archivos y carpetas que coinciden con estos patrones.

    biome.json
    {
    "formatter": {
    "include": ["scripts/*.js"]
    }
    }

    Dado el siguiente ejemplo:

    biome.json
    {
    "formatter": {
    "include": ["scripts/**/*.js", "src/**/*.js"],
    "ignore": ["scripts/**/*.js"]
    }
    }

    Sólo se formatearán los archivos que coincidan con el patrón src/**/*.js, mientras que se ignorarán los archivos que coincidan con el patrón scripts/**/*.js.

    Permite dar formato a un documento que tiene errores de sintaxis.

    biome.json
    {
    "formatter": {
    "formatWithErrors": true
    }
    }

    Por defecto: false

    El estilo de la sangría. Puede ser "tab" o "space".

    Por defecto: "tab"

    Esta opción está obsoleta, utiliza formatter.indentWidth en su lugar.

    Obsoleto

    El tamaño de la sangría.

    Por defecto: 2

    El tamaño de la sangría.

    Por defecto: 2

    El tipo de final de línea.

    • "lf", Line Feed only (\n), común en Linux y macOS así como dentro de repositorios git;
    • "crlf", Caracteres de retorno de carro + salto de línea (\r\n), comunes en Windows;
    • "cr", Carácter de retorno de carro solamente (\r), utilizado muy raramente.

    Por defecto: "lf"

    Cuántos caracteres pueden escribirse en una sola línea.

    Por defecto: 80

    El estilo de posición de atributos en lenguajes HTMLish.

    • "auto", los atributos se formatean automáticamente, y se contraerán en varias líneas sólo cuando cumplan determinados criterios;
    • "multiline", los atributos se contraerán en varias líneas si se utiliza más de 1 atributo.

    Por defecto: "auto"

    Si Biome debe utilizar el archivo .editorconfig para determinar las opciones de formato. Si es true, se utilizarán las opciones aplicables del archivo .editorconfig, pero cualquier configuración del archivo biome.json seguirá teniendo prioridad.

    Al migrar desde Prettier con biome migrate, esta opción se establece en true para que coincida con el comportamiento de Prettier.

    Por defecto: false

    Activa las importaciones de ordenación de Biome.

    Por defecto: true

    Una lista de patrones de estilo shell de Unix. Biome ignora los archivos y carpetas que coinciden con estos patrones.

    biome.json
    {
    "organizeImports": {
    "ignore": ["scripts/*.js"]
    }
    }

    Una lista de patrones de estilo shell de Unix. Biome sólo gestiona los archivos y carpetas que coinciden con estos patrones.

    biome.json
    {
    "organizeImports": {
    "include": ["scripts/*.js"]
    }
    }

    Dado el siguiente ejemplo:

    biome.json
    {
    "organizeImports": {
    "include": ["scripts/**/*.js", "src/**/*.js"],
    "ignore": ["scripts/**/*.js"]
    }
    }

    Sólo los archivos que coincidan con el patrón src/**/*.js tendrán sus importaciones ordenadas, mientras que los archivos que coincidan con el patrón scripts/**/*.js serán ignorados.

    Estas opciones sólo se aplican a los archivos JavaScript (y TypeScript).

    javascript.parser.unsafeParameterDecoratorsEnabled

    Section titled javascript.parser.unsafeParameterDecoratorsEnabled

    Permite soportar los decoradores de parámetros inseguros/experimentales.

    biome.json
    {
    "javascript": {
    "parser": {
    "unsafeParameterDecoratorsEnabled": true
    }
    }
    }

    Por defecto: false

    javascript.formatter.quoteStyle

    Section titled javascript.formatter.quoteStyle

    El tipo de comilla utilizado al representar literales de cadena. Puede ser "single" o "double".

    Por defecto: "double"

    javascript.formatter.jsxQuoteStyle

    Section titled javascript.formatter.jsxQuoteStyle

    El tipo de comilla utilizado cuando se representan literales de cadena jsx. Puede ser "single" o "double".

    Por defecto: "double"

    javascript.formatter.quoteProperties

    Section titled javascript.formatter.quoteProperties

    Cuando las propiedades dentro de los objetos deben ser entrecomilladas. Puede ser "asNeeded" o "preserve".

    Por defecto: "asNeeded"

    javascript.formatter.trailingComma

    Section titled javascript.formatter.trailingComma

    Esta opción está obsoleta, utilice javascript.formatter.trailingCommas en su lugar.

    Obsoleto

    Imprime comas finales siempre que sea posible en estructuras sintácticas de varias líneas separadas por comas. Valores posibles:

    • "all", siempre se añade la coma final;
    • "es5", la coma final sólo se añade en los lugares en los que es compatible con versiones anteriores de JavaScript;
    • "none", nunca se añaden comas finales.

    Por defecto: "all"

    javascript.formatter.trailingCommas

    Section titled javascript.formatter.trailingCommas

    Imprime comas finales siempre que sea posible en estructuras sintácticas de varias líneas separadas por comas. Valores posibles:

    • "all", siempre se añade la coma final;
    • "es5", la coma final sólo se añade en los lugares en los que es compatible con versiones anteriores de JavaScript;
    • "none", nunca se añaden comas finales.

    Por defecto: "all"

    javascript.formatter.semicolons

    Section titled javascript.formatter.semicolons

    Configura dónde imprime el formateador el punto y coma:

    • "always", el punto y coma se añade siempre al final de cada declaración;
    • "asNeeded", el punto y coma se añade sólo en los lugares donde es necesario, para proteger de ASI.

    Por defecto: "always"

    Ejemplo:

    biome.json
    {
    "javascript": {
    "formatter": {
    "semicolons": "asNeeded"
    }
    }
    }

    javascript.formatter.arrowParentheses

    Section titled javascript.formatter.arrowParentheses

    Si se añaden paréntesis no necesarios a las funciones de flecha:

    • "always", siempre se añaden los paréntesis;
    • "asNeeded", los paréntesis se añaden sólo cuando son necesarios.

    Por defecto: "always"

    Activa el formateador de Biome para archivos JavaScript (y sus super lenguajes).

    Por defecto: true

    javascript.formatter.indentStyle

    Section titled javascript.formatter.indentStyle

    El estilo de la sangría para archivos JavaScript (y sus super lenguajes). Puede ser "tab" o "space".

    Por defecto: "tab"

    javascript.formatter.indentSize

    Section titled javascript.formatter.indentSize

    Esta opción está obsoleta, utiliza javascript.formatter.indentWidth en su lugar.

    Obsoleto

    Qué tamaño debe tener la sangría para los archivos JavaScript (y sus super lenguajes).

    Por defecto: 2

    javascript.formatter.indentWidth

    Section titled javascript.formatter.indentWidth

    Qué tamaño debe tener la sangría para los archivos JavaScript (y sus super lenguajes).

    Por defecto: 2

    javascript.formatter.lineEnding

    Section titled javascript.formatter.lineEnding

    El tipo de final de línea para archivos JavaScript (y sus super lenguajes).

    • "lf", Line Feed only (\n), común en Linux y macOS así como dentro de repositorios git;
    • "crlf", Caracteres de retorno de carro + salto de línea (\r\n), comunes en Windows;
    • "cr", Carácter de retorno de carro solamente (\r), utilizado muy raramente.

    Por defecto: "lf"

    javascript.formatter.lineWidth

    Section titled javascript.formatter.lineWidth

    Cuántos caracteres pueden escribirse en una sola línea en los archivos JavaScript (y sus superlenguajes).

    Por defecto: 80

    javascript.formatter.bracketSameLine

    Section titled javascript.formatter.bracketSameLine

    Elija si el final > de un elemento JSX multilínea debe estar en la última línea de atributos o no

    Por defecto: false

    javascript.formatter.bracketSpacing

    Section titled javascript.formatter.bracketSpacing

    Elige si se deben añadir espacios entre paréntesis y valores interiores

    Por defecto: true

    javascript.formatter.attributePosition

    Section titled javascript.formatter.attributePosition

    El atributo estilo de posición en elementos jsx.

    • "auto", no imponen un único atributo por línea.
    • "multiline", aplicar un único atributo por línea.

    Por defecto: "auto"

    Una lista de nombres globales que Biome debe ignorar (analizador, linter, etc.)

    biome.json
    {
    "javascript": {
    "globals": ["$", "_", "externalVariable"]
    }
    }

    Indica el tipo de tiempo de ejecución o transformación utilizado para interpretar JSX.

    • "transparent" — Indica un entorno JSX moderno o nativo, que no requiere un manejo especial por parte de Biome.
    • "reactClassic" — Indica un entorno React clásico que requiere la importación React. Corresponde al valor react de la opción jsx de en [tsconfig.json] de TypeScript (https://www.typescriptlang.org/tsconfig#jsx).
    biome.json
    {
    "javascript": {
    "jsxRuntime": "reactClassic"
    }
    }

    Para obtener más información sobre el antiguo y el nuevo tiempo de ejecución de JSX, consulta: https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html

    Por defecto: "transparent"

    Activa el formateador de Biome para archivos JavaScript (y sus super lenguajes).

    Por defecto: true

    Opciones aplicadas a los archivos JSON.

    Activa el análisis sintáctico de comentarios en archivos JSON.

    biome.json
    {
    "json": {
    "parser": {
    "allowComments": true
    }
    }
    }

    json.parser.allowTrailingCommas

    Section titled json.parser.allowTrailingCommas

    Activa el análisis sintáctico de las comas finales en los archivos JSON.

    biome.json
    {
    "json": {
    "parser": {
    "allowTrailingCommas": true
    }
    }
    }

    Activa el formateador de Biome para archivos JSON (y sus super lenguajes).

    Por defecto: true

    El estilo de la sangría para archivos JSON (y sus super lenguajes). Puede ser "tab" o "space".

    Por defecto: "tab"

    Esta opción está obsoleta, utiliza json.formatter.indentWidth en su lugar.

    Obsoleto

    Cómo de grande debe ser la sangría para archivos JSON (y sus super lenguajes).

    Por defecto: 2

    Cómo de grande debe ser la sangría para archivos JSON (y sus super lenguajes).

    Por defecto: 2

    El tipo de final de línea para archivos JSON (y sus super lenguajes).

    • "lf", Line Feed only (\n), común en Linux y macOS así como dentro de repositorios git;
    • "crlf", Caracteres de retorno de carro + salto de línea (\r\n), comunes en Windows;
    • "cr", Carácter de retorno de carro solamente (\r), utilizado muy raramente.

    Por defecto: "lf"

    Cuántos caracteres pueden escribirse en una sola línea en los archivos JSON (y sus superlenguajes).

    Por defecto: 80

    Imprima comas finales siempre que sea posible en estructuras sintácticas de varias líneas separadas por comas.

    Valores permitidos:

    • "none": se elimina la coma final;
    • "all": la coma final se mantiene y se prefiere.

    Por defecto: "none"

    Activa el formateador de Biome para archivos JSON (y sus superlenguajes).

    Por defecto: true

    Opciones aplicadas a los archivos CSS.

    Habilita el análisis sintáctico de módulos CSS

    Por defecto: false

    Activa el formateador de Biome para archivos CSS (y sus super lenguajes).

    Por defecto: false

    El estilo de la sangría para los archivos CSS (y sus super lenguajes). Puede ser "tab" o "space".

    Por defecto: "tab"

    Cómo de grande debe ser la sangría para los archivos CSS (y sus super lenguajes).

    Por defecto: 2

    El tipo de final de línea para los archivos CSS (y sus super lenguajes).

    • "lf", Line Feed only (\n), común en Linux y macOS así como dentro de repositorios git;
    • "crlf", Caracteres de retorno de carro + salto de línea (\r\n), comunes en Windows;
    • "cr", Carácter de retorno de carro solamente (\r), utilizado muy raramente.

    Por defecto: "lf"

    Cuántos caracteres pueden escribirse en una sola línea en los archivos JSON (y sus superlenguajes).

    Por defecto: 80

    El tipo de comilla utilizado al representar literales de cadena. Puede ser "single" o "double".

    Por defecto: "double"

    Activa el linter de Biome para archivos CSS (y sus super lenguajes).

    Por defecto: false

    Una lista de patrones.

    Utiliza esta configuración para cambiar el comportamiento de las herramientas para determinados archivos.

    Cuando se compara un archivo con un patrón de anulación, la configuración especificada en ese patrón anula la configuración de nivel superior.

    El orden de los patrones es importante. Si un archivo puede coincidir con tres patrones, sólo se utiliza el primero.

    Una lista de patrones de estilo de shell Unix. Biome no aplicará la anulación a los archivos que coincidan con el patrón.

    biome.json
    {
    "overrides": [
    {
    "ignore": ["scripts/*.js"]
    }
    ]
    }

    Una lista de patrones de estilo de shell Unix. Biome aplicará la anulación sólo a los archivos que coincidan con el patrón.

    biome.json
    {
    "overrides": [
    {
    "include": ["scripts/*.js"]
    }
    ]
    }

    Incluirá las opciones de configuración de top level formatter, menos ignore e include.

    Por ejemplo, es posible modificar el formateador lineWidth, indentStyle para ciertos ficheros que están incluidos en la ruta glob generated/**:

    biome.json
    {
    "formatter": {
    "lineWidth": 100
    },
    "overrides": [
    {
    "include": ["generated/**"],
    "formatter": {
    "lineWidth": 160,
    "indentStyle": "space"
    }
    }
    ]
    }

    Incluirá las opciones de configuración de linter de nivel superior, menos ignore e include.

    Puede desactivar ciertas reglas para determinadas rutas glob, y desactivar el linter para otras rutas glob:

    biome.json
    {
    "linter": {
    "enabled": true,
    "rules": {
    "recommended": true
    }
    },
    "overrides": [
    {
    "include": ["lib/**"],
    "linter": {
    "rules": {
    "suspicious": {
    "noDebugger": "off"
    }
    }
    }
    },
    {
    "include": ["shims/**"],
    "linter": {
    "enabled": false
    }
    }
    ]
    }

    Incluirá las opciones de top level organize imports, menos ignore e include.

    Incluirá las opciones de configuración top level javascript.

    Puede cambiar el comportamiento de formato de los archivos JavaScript en determinadas carpetas:

    biome.json
    {
    "formatter": {
    "lineWidth": 120
    },
    "javascript": {
    "formatter": {
    "quoteStyle": "single"
    }
    },
    "overrides": [
    {
    "include": ["lib/**"],
    "javascript": {
    "formatter": {
    "quoteStyle": "double"
    }
    }
    }
    ]
    }

    Incluirá las opciones de configuración top level json.

    Puede activar las funciones de análisis sintáctico para determinados archivos JSON:

    biome.json
    {
    "linter": {
    "enabled": true,
    "rules": {
    "recommended": true
    }
    },
    "overrides": [
    {
    "include": [".vscode/**"],
    "json": {
    "parser": {
    "allowComments": true,
    "allowTrailingCommas": true
    }
    }
    }
    ]
    }