Skip to content

Opções de configuração do Oxfmt.

A maioria das opções é a mesma das do Prettier, mas nem todas. Além disso, algumas opções são extensões próprias nossas.

arrowParens

type: "always" | "avoid"

Incluir parênteses ao redor do único parâmetro de uma arrow function.

  • Padrão: "always"

bracketSameLine

type: boolean

Colocar o > de um elemento HTML multilinha (HTML, JSX, Vue, Angular) ao fim da última linha, em vez de deixá-lo sozinho na linha seguinte (não se aplica a elementos autoencerrados).

  • Padrão: false

bracketSpacing

type: boolean

Inserir espaços entre chaves em literais de objeto.

  • Padrão: true

embeddedLanguageFormatting

type: "auto" | "off"

Controla se trechos embutidos do arquivo devem ser formatados (por exemplo CSS-in-JS ou JS-in-Vue etc.).

NOTA: o suporte a XXX-in-JS está incompleto.

  • Padrão: "auto"

endOfLine

type: "lf" | "crlf" | "cr"

Quais caracteres de fim de linha usar.

NOTA: o valor "auto" não é suportado.

  • Padrão: "lf"
  • Substitui .editorconfig.end_of_line

htmlWhitespaceSensitivity

type: "css" | "strict" | "ignore"

Define a sensibilidade global a espaço em branco para HTML, Vue, Angular e Handlebars.

  • Padrão: "css"

ignorePatterns

type: string[]

Ignorar arquivos que correspondam a esses padrões glob. Os caminhos são resolvidos com base na localização do arquivo de configuração do Oxfmt.

  • Padrão: []

insertFinalNewline

type: boolean

Se deve inserir uma nova linha ao final do arquivo.

  • Padrão: true
  • Substitui .editorconfig.insert_final_newline

jsdoc

type: object | boolean

Ativa a formatação de comentários JSDoc.

Quando habilitado, comentários JSDoc são normalizados e reformatados: aliases de tags são canonizados, descrições ficam com inicial maiúscula, linhas longas são quebradas e comentários curtos são colapsados em uma linha.

Passe true ou um objeto para ativar com valores padrão; omita ou use false para desativar.

  • Padrão: desabilitado

jsdoc.addDefaultToDescription

type: boolean

Anexar valores padrão às descrições de @param (ex.: "O padrão é value").

  • Padrão: true

jsdoc.bracketSpacing

type: boolean

Inserir espaços dentro de chaves de tipo JSDoc: {string}{ string }.

  • Padrão: false

jsdoc.capitalizeDescriptions

type: boolean

Colocar maiúscula na primeira letra das descrições das tags.

  • Padrão: true

jsdoc.commentLineStrategy

type: string

Como formatar blocos de comentário.

  • "singleLine" — converter para /** conteúdo */ em uma linha quando possível.

  • "multiline" — sempre usar formato multilinha.

  • "keep" — preservar o formato original.

  • Padrão: "singleLine"

jsdoc.descriptionTag

type: boolean

Emitir a tag @description em vez da descrição embutida.

  • Padrão: false

jsdoc.descriptionWithDot

type: boolean

Adicionar ponto final às descrições.

  • Padrão: false

jsdoc.keepUnparsableExampleIndent

type: boolean

Preservar a indentação em código @example não analisável.

  • Padrão: false

jsdoc.lineWrappingStyle

type: string

Estratégia para quebrar linhas de descrição na largura de impressão.

  • "greedy" — sempre reencaixar o texto na largura de impressão.

  • "balance" — preservar quebras de linha originais se todas couberem na largura.

  • Padrão: "greedy"

jsdoc.preferCodeFences

type: boolean

Usar cercas de código (```) em vez de indentação de 4 espaços para código sem tag de linguagem.

  • Padrão: false

jsdoc.separateReturnsFromParam

type: boolean

Inserir linha em branco entre o último @param e @returns.

  • Padrão: false

jsdoc.separateTagGroups

type: boolean

Inserir linhas em branco entre grupos diferentes de tags (por exemplo entre @param e @returns).

  • Padrão: false

jsxSingleQuote

type: boolean

Usar aspas simples em vez de duplas no JSX.

  • Padrão: false

objectWrap

type: "preserve" | "collapse"

Como quebrar literais de objeto quando cabem em uma linha ou ocupam várias.

Por padrão, objetos são formatados em várias linhas se já houver quebra de linha antes da primeira propriedade. Autores podem usar essa heurística para melhorar a leitura, embora tenha desvantagens.

  • Padrão: "preserve"

overrides

type: array

Sobrescritas por arquivo. Quando um arquivo corresponde a várias sobrescritas, a última prevalece (a ordem do array importa).

  • Padrão: []

overrides[n]

type: object

overrides[n].excludeFiles

type: string[]

Padrões glob para excluir desta sobrescrita.

overrides[n].files

type: string[]

Padrões glob de arquivos para esta sobrescrita. Todos os padrões são relativos ao arquivo de configuração do Oxfmt.

overrides[n].options

type: object

overrides[n].options.arrowParens

type: "always" | "avoid"

Incluir parênteses ao redor do único parâmetro de uma arrow function.

  • Padrão: "always"
overrides[n].options.bracketSameLine

type: boolean

Colocar o > de um elemento HTML multilinha (HTML, JSX, Vue, Angular) ao fim da última linha, em vez de deixá-lo sozinho na linha seguinte (não se aplica a elementos autoencerrados).

  • Padrão: false
overrides[n].options.bracketSpacing

type: boolean

Inserir espaços entre chaves em literais de objeto.

  • Padrão: true
overrides[n].options.embeddedLanguageFormatting

type: "auto" | "off"

Controla se trechos embutidos do arquivo devem ser formatados (por exemplo CSS-in-JS ou JS-in-Vue etc.).

NOTA: o suporte a XXX-in-JS está incompleto.

  • Padrão: "auto"
overrides[n].options.endOfLine

type: "lf" | "crlf" | "cr"

Quais caracteres de fim de linha usar.

NOTA: o valor "auto" não é suportado.

  • Padrão: "lf"
  • Substitui .editorconfig.end_of_line
overrides[n].options.htmlWhitespaceSensitivity

type: "css" | "strict" | "ignore"

Define a sensibilidade global a espaço em branco para HTML, Vue, Angular e Handlebars.

  • Padrão: "css"
overrides[n].options.insertFinalNewline

type: boolean

Se deve inserir uma nova linha ao final do arquivo.

  • Padrão: true
  • Substitui .editorconfig.insert_final_newline
overrides[n].options.jsdoc

type: object | boolean

Ativa a formatação de comentários JSDoc.

Quando habilitado, comentários JSDoc são normalizados e reformatados: aliases de tags são canonizados, descrições ficam com inicial maiúscula, linhas longas são quebradas e comentários curtos são colapsados em uma linha.

Passe true ou um objeto para ativar com valores padrão; omita ou use false para desativar.

  • Padrão: desabilitado
overrides[n].options.jsdoc.addDefaultToDescription

type: boolean

Anexar valores padrão às descrições de @param (ex.: "O padrão é value").

  • Padrão: true
overrides[n].options.jsdoc.bracketSpacing

type: boolean

Inserir espaços dentro de chaves de tipo JSDoc: {string}{ string }.

  • Padrão: false
overrides[n].options.jsdoc.capitalizeDescriptions

type: boolean

Colocar maiúscula na primeira letra das descrições das tags.

  • Padrão: true
overrides[n].options.jsdoc.commentLineStrategy

type: string

Como formatar blocos de comentário.

  • "singleLine" — converter para /** conteúdo */ em uma linha quando possível.

  • "multiline" — sempre usar formato multilinha.

  • "keep" — preservar o formato original.

  • Padrão: "singleLine"

overrides[n].options.jsdoc.descriptionTag

type: boolean

Emitir a tag @description em vez da descrição embutida.

  • Padrão: false
overrides[n].options.jsdoc.descriptionWithDot

type: boolean

Adicionar ponto final às descrições.

  • Padrão: false
overrides[n].options.jsdoc.keepUnparsableExampleIndent

type: boolean

Preservar a indentação em código @example não analisável.

  • Padrão: false
overrides[n].options.jsdoc.lineWrappingStyle

type: string

Estratégia para quebrar linhas de descrição na largura de impressão.

  • "greedy" — sempre reencaixar o texto na largura de impressão.

  • "balance" — preservar quebras de linha originais se todas couberem na largura.

  • Padrão: "greedy"

overrides[n].options.jsdoc.preferCodeFences

type: boolean

Usar cercas de código (```) em vez de indentação de 4 espaços para código sem tag de linguagem.

  • Padrão: false
overrides[n].options.jsdoc.separateReturnsFromParam

type: boolean

Inserir linha em branco entre o último @param e @returns.

  • Padrão: false
overrides[n].options.jsdoc.separateTagGroups

type: boolean

Inserir linhas em branco entre grupos diferentes de tags (por exemplo entre @param e @returns).

  • Padrão: false
overrides[n].options.jsxSingleQuote

type: boolean

Usar aspas simples em vez de duplas no JSX.

  • Padrão: false
overrides[n].options.objectWrap

type: "preserve" | "collapse"

Como quebrar literais de objeto quando cabem em uma linha ou ocupam várias.

Por padrão, objetos são formatados em várias linhas se já houver quebra de linha antes da primeira propriedade. Autores podem usar essa heurística para melhorar a leitura, embora tenha desvantagens.

  • Padrão: "preserve"
overrides[n].options.printWidth

type: integer

Define o comprimento de linha em que o formatador quebra o código.

Se não quiser quebra de linha ao formatar Markdown, defina a opção proseWrap para desativar isso.

  • Padrão: 100
  • Substitui .editorconfig.max_line_length
overrides[n].options.proseWrap

type: "always" | "never" | "preserve"

Como quebrar texto corrido (prosa).

Por padrão, o formatador não altera quebras em Markdown: alguns serviços são sensíveis a quebra de linha (comentários no GitHub, Bitbucket etc.). Para quebrar prosa na largura de impressão, use "always". Para forçar blocos de prosa em uma única linha e depender do soft wrap do editor/visualizador, use "never".

  • Padrão: "preserve"
overrides[n].options.quoteProps

type: "as-needed" | "consistent" | "preserve"

Quando colocar aspas nas propriedades de objetos.

  • Padrão: "as-needed"
overrides[n].options.semi

type: boolean

Imprimir ponto e vírgula no fim das declarações.

  • Padrão: true
overrides[n].options.singleAttributePerLine

type: boolean

Exigir um atributo por linha em HTML, Vue e JSX.

  • Padrão: false
overrides[n].options.singleQuote

type: boolean

Usar aspas simples em vez de duplas.

No JSX, use a opção jsxSingleQuote.

  • Padrão: false
  • Substitui .editorconfig.quote_type
overrides[n].options.sortImports

type: object | boolean

Ordenar declarações de importação.

Usa um algoritmo semelhante ao do eslint-plugin-perfectionist/sort-imports. Veja a documentação de cada campo para detalhes.

Passe true ou um objeto para ativar com padrões; omita ou use false para desativar.

  • Padrão: desabilitado
overrides[n].options.sortImports.customGroups

type: array

Defina grupos próprios para imports muito específicos.

A lista customGroups é ordenada: a primeira definição que casa com um elemento é usada. Grupos customizados têm prioridade sobre grupos pré-definidos.

Se quiser que um grupo pré-definido vença um customizado, escreva uma definição customizada com o mesmo comportamento do grupo pré-definido e coloque-a primeiro na lista.

Se várias condições forem especificadas, como elementNamePattern, selector e modifiers, todas devem ser atendidas para o import entrar no grupo customizado (lógica E).

  • Padrão: []

####### overrides[n].options.sortImports.customGroups[n]

type: object

######## overrides[n].options.sortImports.customGroups[n].elementNamePattern

type: string[]

padrão: []

Lista de padrões glob para casar fontes de importação com este grupo.

######## overrides[n].options.sortImports.customGroups[n].groupName

type: string

padrão: ""

Nome do grupo customizado, usado na opção groups.

######## overrides[n].options.sortImports.customGroups[n].modifiers

type: string[]

Modificadores que descrevem características do import. Todos os modificadores especificados devem estar presentes (lógica E).

Valores possíveis: "side_effect", "type", "value", "default", "wildcard", "named"

######## overrides[n].options.sortImports.customGroups[n].selector

type: string

Seletor que define o tipo de import.

Valores possíveis: "type", "side_effect_style", "side_effect", "style", "index", "sibling", "parent", "subpath", "internal", "builtin", "external", "import"

overrides[n].options.sortImports.groups

type: array

Lista de grupos de import pré-definidos usados na ordenação.

Cada import recebe um único grupo da opção groups (ou o grupo unknown se não houver correspondência). A ordem dos itens em groups define a ordem dos grupos.

Dentro de um grupo, os membros são ordenados conforme as opções type, order, ignoreCase etc.

Vários grupos podem ser unidos colocando-os em um array. A ordem dos grupos nesse array não importa. Todos os membros dos grupos do array são ordenados como se fossem um único grupo.

Grupos pré-definidos são caracterizados por um seletor e possivelmente vários modificadores. Modificadores podem aparecer em qualquer ordem, mas o seletor sempre vem por último.

Lista de seletores, da maior para a menor importância:

  • type — imports de tipo TypeScript.
  • side_effect_style — imports de estilo com efeito colateral.
  • side_effect — imports apenas por efeito colateral.
  • style — imports de estilo.
  • index — arquivo principal do diretório atual.
  • sibling — módulos do mesmo diretório.
  • parent — módulos do diretório pai.
  • subpath — subcaminhos de importação do Node.js.
  • internal — seus módulos internos.
  • builtin — módulos embutidos do Node.js.
  • external — módulos externos instalados no projeto.
  • import — qualquer import.

Lista de modificadores, da maior para a menor importância:

  • side_effect — imports com efeito colateral.

  • type — imports de tipo TypeScript.

  • value — imports de valor.

  • default — imports com especificador default.

  • wildcard — imports com especificador curinga (* as).

  • named — imports com pelo menos um especificador nomeado.

  • Padrão: veja abaixo

json
["builtin", "external", ["internal", "subpath"], ["parent", "sibling", "index"], "style", "unknown"]

Também é possível sobrescrever a configuração global newlinesBetween para limites específicos de grupo incluindo um objeto marcador { "newlinesBetween": boolean } na lista groups na posição desejada.

####### overrides[n].options.sortImports.groups[n]

type: object | array | string

######## overrides[n].options.sortImports.groups[n].newlinesBetween

type: boolean

overrides[n].options.sortImports.ignoreCase

type: boolean

Define se a ordenação deve diferenciar maiúsculas e minúsculas.

  • Padrão: true
overrides[n].options.sortImports.internalPattern

type: string[]

Prefixos para identificar imports internos.

Útil para distinguir seus módulos das dependências externas.

  • Padrão: ["~/", "@/"]
overrides[n].options.sortImports.newlinesBetween

type: boolean

Se deve haver linhas em branco entre grupos.

Com false, nenhuma linha em branca é adicionada entre grupos.

  • Padrão: true
overrides[n].options.sortImports.order

type: "asc" | "desc"

Ordenação crescente ou decrescente.

  • Padrão: "asc"
overrides[n].options.sortImports.partitionByComment

type: boolean

Permite usar comentários para separar imports em grupos lógicos.

Com true, todos os comentários funcionam como delimitadores, criando partições.

js
import { b1, b2 } from "b";
// PARTITION
import { a } from "a";
import { c } from "c";
  • Padrão: false
overrides[n].options.sortImports.partitionByNewline

type: boolean

Permite usar linha vazia para separar imports em grupos lógicos.

Com true, o formatador não reordena imports se houver linha em branco entre eles. Isso ajuda a preservar o agrupamento lógico.

js
import { b1, b2 } from "b";

import { a } from "a";
import { c } from "c";
  • Padrão: false
overrides[n].options.sortImports.sortSideEffects

type: boolean

Se imports só com efeito colateral devem ser ordenados.

Por padrão, a ordenação desses imports fica desligada por motivos de segurança.

  • Padrão: false
overrides[n].options.sortPackageJson

type: object | boolean

Ordenar chaves do package.json.

O algoritmo NÃO é compatível com prettier-plugin-sort-packagejson. Ainda assim achamos mais claro e fácil de navegar. Consulte a documentação de cada campo para detalhes.

  • Padrão: true
overrides[n].options.sortPackageJson.sortScripts

type: boolean

Ordenar o campo scripts em ordem alfabética.

  • Padrão: false
overrides[n].options.sortTailwindcss

type: object | boolean

Ordenar classes do Tailwind CSS.

Usa o mesmo algoritmo do prettier-plugin-tailwindcss. Os nomes das opções omitem o prefixo tailwind usado no plugin original (por exemplo config em vez de tailwindConfig). Consulte a documentação de cada campo para detalhes.

Passe true ou um objeto para ativar com padrões; omita ou use false para desativar.

  • Padrão: desabilitado
overrides[n].options.sortTailwindcss.attributes

type: string[]

Lista de atributos adicionais a ordenar além de class e className (correspondência exata).

NOTA: padrões regex ainda não são suportados.

  • Padrão: []
  • Exemplo: ["myClassProp", ":class"]
overrides[n].options.sortTailwindcss.config

type: string

Caminho para o arquivo de configuração do Tailwind CSS (v3).

NOTA: os caminhos são resolvidos em relação ao arquivo de configuração do Oxfmt.

  • Padrão: localizar automaticamente "tailwind.config.js"
overrides[n].options.sortTailwindcss.functions

type: string[]

Lista de nomes de funções personalizadas cujos argumentos devem ser ordenados (correspondência exata).

NOTA: padrões regex ainda não são suportados.

  • Padrão: []
  • Exemplo: ["clsx", "cn", "cva", "tw"]
overrides[n].options.sortTailwindcss.preserveDuplicates

type: boolean

Manter classes duplicadas.

  • Padrão: false
overrides[n].options.sortTailwindcss.preserveWhitespace

type: boolean

Manter espaços em branco ao redor das classes.

  • Padrão: false
overrides[n].options.sortTailwindcss.stylesheet

type: string

Caminho para a folha de estilos do Tailwind CSS (v4).

NOTA: os caminhos são resolvidos em relação ao arquivo de configuração do Oxfmt.

  • Padrão: theme.css do Tailwind CSS instalado
overrides[n].options.tabWidth

type: integer

Número de espaços por nível de indentação.

  • Padrão: 2
  • Substitui .editorconfig.indent_size (com fallback para .editorconfig.tab_width)
overrides[n].options.trailingComma

type: "all" | "es5" | "none"

Imprimir vírgulas finais sempre que possível em estruturas sintáticas separadas por vírgula em várias linhas.

Um array em uma única linha, por exemplo, nunca recebe vírgulas finais.

  • Padrão: "all"
overrides[n].options.useTabs

type: boolean

Indentar linhas com tabulações em vez de espaços.

  • Padrão: false
  • Substitui .editorconfig.indent_style
overrides[n].options.vueIndentScriptAndStyle

type: boolean

Se o código dentro das tags <script> e <style> em arquivos Vue deve ser indentado.

  • Padrão: false

printWidth

type: integer

Define o comprimento de linha em que o formatador quebra o código.

Se não quiser quebra de linha ao formatar Markdown, defina a opção proseWrap para desativar isso.

  • Padrão: 100
  • Substitui .editorconfig.max_line_length

proseWrap

type: "always" | "never" | "preserve"

Como quebrar texto corrido (prosa).

Por padrão, o formatador não altera quebras em Markdown: alguns serviços são sensíveis a quebra de linha (comentários no GitHub, Bitbucket etc.). Para quebrar prosa na largura de impressão, use "always". Para forçar blocos de prosa em uma única linha e depender do soft wrap do editor/visualizador, use "never".

  • Padrão: "preserve"

quoteProps

type: "as-needed" | "consistent" | "preserve"

Quando colocar aspas nas propriedades de objetos.

  • Padrão: "as-needed"

semi

type: boolean

Imprimir ponto e vírgula no fim das declarações.

  • Padrão: true

singleAttributePerLine

type: boolean

Exigir um atributo por linha em HTML, Vue e JSX.

  • Padrão: false

singleQuote

type: boolean

Usar aspas simples em vez de duplas.

No JSX, use a opção jsxSingleQuote.

  • Padrão: false
  • Substitui .editorconfig.quote_type

sortImports

type: object | boolean

Ordenar declarações de importação.

Usa um algoritmo semelhante ao do eslint-plugin-perfectionist/sort-imports. Veja a documentação de cada campo para detalhes.

Passe true ou um objeto para ativar com padrões; omita ou use false para desativar.

  • Padrão: desabilitado

sortImports.customGroups

type: array

Defina grupos próprios para imports muito específicos.

A lista customGroups é ordenada: a primeira definição que casa com um elemento é usada. Grupos customizados têm prioridade sobre grupos pré-definidos.

Se quiser que um grupo pré-definido vença um customizado, escreva uma definição customizada com o mesmo comportamento do grupo pré-definido e coloque-a primeiro na lista.

Se várias condições forem especificadas, como elementNamePattern, selector e modifiers, todas devem ser atendidas para o import entrar no grupo customizado (lógica E).

  • Padrão: []

sortImports.customGroups[n]

type: object

sortImports.customGroups[n].elementNamePattern

type: string[]

padrão: []

Lista de padrões glob para casar fontes de importação com este grupo.

sortImports.customGroups[n].groupName

type: string

padrão: ""

Nome do grupo customizado, usado na opção groups.

sortImports.customGroups[n].modifiers

type: string[]

Modificadores que descrevem características do import. Todos os modificadores especificados devem estar presentes (lógica E).

Valores possíveis: "side_effect", "type", "value", "default", "wildcard", "named"

sortImports.customGroups[n].selector

type: string

Seletor que define o tipo de import.

Valores possíveis: "type", "side_effect_style", "side_effect", "style", "index", "sibling", "parent", "subpath", "internal", "builtin", "external", "import"

sortImports.groups

type: array

Lista de grupos de import pré-definidos usados na ordenação.

Cada import recebe um único grupo da opção groups (ou o grupo unknown se não houver correspondência). A ordem dos itens em groups define a ordem dos grupos.

Dentro de um grupo, os membros são ordenados conforme as opções type, order, ignoreCase etc.

Vários grupos podem ser unidos colocando-os em um array. A ordem dos grupos nesse array não importa. Todos os membros dos grupos do array são ordenados como se fossem um único grupo.

Grupos pré-definidos são caracterizados por um seletor e possivelmente vários modificadores. Modificadores podem aparecer em qualquer ordem, mas o seletor sempre vem por último.

Lista de seletores, da maior para a menor importância:

  • type — imports de tipo TypeScript.
  • side_effect_style — imports de estilo com efeito colateral.
  • side_effect — imports apenas por efeito colateral.
  • style — imports de estilo.
  • index — arquivo principal do diretório atual.
  • sibling — módulos do mesmo diretório.
  • parent — módulos do diretório pai.
  • subpath — subcaminhos de importação do Node.js.
  • internal — seus módulos internos.
  • builtin — módulos embutidos do Node.js.
  • external — módulos externos instalados no projeto.
  • import — qualquer import.

Lista de modificadores, da maior para a menor importância:

  • side_effect — imports com efeito colateral.

  • type — imports de tipo TypeScript.

  • value — imports de valor.

  • default — imports com especificador default.

  • wildcard — imports com especificador curinga (* as).

  • named — imports com pelo menos um especificador nomeado.

  • Padrão: veja abaixo

json
["builtin", "external", ["internal", "subpath"], ["parent", "sibling", "index"], "style", "unknown"]

Também é possível sobrescrever a configuração global newlinesBetween para limites específicos de grupo incluindo um objeto marcador { "newlinesBetween": boolean } na lista groups na posição desejada.

sortImports.groups[n]

type: object | array | string

sortImports.groups[n].newlinesBetween

type: boolean

sortImports.ignoreCase

type: boolean

Define se a ordenação deve diferenciar maiúsculas e minúsculas.

  • Padrão: true

sortImports.internalPattern

type: string[]

Prefixos para identificar imports internos.

Útil para distinguir seus módulos das dependências externas.

  • Padrão: ["~/", "@/"]

sortImports.newlinesBetween

type: boolean

Se deve haver linhas em branco entre grupos.

Com false, nenhuma linha em branca é adicionada entre grupos.

  • Padrão: true

sortImports.order

type: "asc" | "desc"

Ordenação crescente ou decrescente.

  • Padrão: "asc"

sortImports.partitionByComment

type: boolean

Permite usar comentários para separar imports em grupos lógicos.

Com true, todos os comentários funcionam como delimitadores, criando partições.

js
import { b1, b2 } from "b";
// PARTITION
import { a } from "a";
import { c } from "c";
  • Padrão: false

sortImports.partitionByNewline

type: boolean

Permite usar linha vazia para separar imports em grupos lógicos.

Com true, o formatador não reordena imports se houver linha em branco entre eles. Isso ajuda a preservar o agrupamento lógico.

js
import { b1, b2 } from "b";

import { a } from "a";
import { c } from "c";
  • Padrão: false

sortImports.sortSideEffects

type: boolean

Se imports só com efeito colateral devem ser ordenados.

Por padrão, a ordenação desses imports fica desligada por motivos de segurança.

  • Padrão: false

sortPackageJson

type: object | boolean

Ordenar chaves do package.json.

O algoritmo NÃO é compatível com prettier-plugin-sort-packagejson. Ainda assim achamos mais claro e fácil de navegar. Consulte a documentação de cada campo para detalhes.

  • Padrão: true

sortPackageJson.sortScripts

type: boolean

Ordenar o campo scripts em ordem alfabética.

  • Padrão: false

sortTailwindcss

type: object | boolean

Ordenar classes do Tailwind CSS.

Usa o mesmo algoritmo do prettier-plugin-tailwindcss. Os nomes das opções omitem o prefixo tailwind usado no plugin original (por exemplo config em vez de tailwindConfig). Consulte a documentação de cada campo para detalhes.

Passe true ou um objeto para ativar com padrões; omita ou use false para desativar.

  • Padrão: desabilitado

sortTailwindcss.attributes

type: string[]

Lista de atributos adicionais a ordenar além de class e className (correspondência exata).

NOTA: padrões regex ainda não são suportados.

  • Padrão: []
  • Exemplo: ["myClassProp", ":class"]

sortTailwindcss.config

type: string

Caminho para o arquivo de configuração do Tailwind CSS (v3).

NOTA: os caminhos são resolvidos em relação ao arquivo de configuração do Oxfmt.

  • Padrão: localizar automaticamente "tailwind.config.js"

sortTailwindcss.functions

type: string[]

Lista de nomes de funções personalizadas cujos argumentos devem ser ordenados (correspondência exata).

NOTA: padrões regex ainda não são suportados.

  • Padrão: []
  • Exemplo: ["clsx", "cn", "cva", "tw"]

sortTailwindcss.preserveDuplicates

type: boolean

Manter classes duplicadas.

  • Padrão: false

sortTailwindcss.preserveWhitespace

type: boolean

Manter espaços em branco ao redor das classes.

  • Padrão: false

sortTailwindcss.stylesheet

type: string

Caminho para a folha de estilos do Tailwind CSS (v4).

NOTA: os caminhos são resolvidos em relação ao arquivo de configuração do Oxfmt.

  • Padrão: theme.css do Tailwind CSS instalado

tabWidth

type: integer

Número de espaços por nível de indentação.

  • Padrão: 2
  • Substitui .editorconfig.indent_size (com fallback para .editorconfig.tab_width)

trailingComma

type: "all" | "es5" | "none"

Imprimir vírgulas finais sempre que possível em estruturas sintáticas separadas por vírgula em várias linhas.

Um array em uma única linha, por exemplo, nunca recebe vírgulas finais.

  • Padrão: "all"

useTabs

type: boolean

Indentar linhas com tabulações em vez de espaços.

  • Padrão: false
  • Substitui .editorconfig.indent_style

vueIndentScriptAndStyle

type: boolean

Se o código dentro das tags <script> e <style> em arquivos Vue deve ser indentado.

  • Padrão: false