Skip to content

Параметры конфигурации Oxfmt.

Большинство опций совпадают с опциями Prettier, но не все. Часть опций — наши расширения.

arrowParens

type: "always" | "avoid"

Оборачивать в скобки единственный параметр стрелочной функции.

  • По умолчанию: "always"

bracketSameLine

type: boolean

Размещать символ > многострочного HTML-элемента (HTML, JSX, Vue, Angular) в конце последней строки, а не на отдельной следующей строке (не применяется к самозакрывающимся элементам).

  • По умолчанию: false

bracketSpacing

type: boolean

Печатать пробелы между скобками в объектных литералах.

  • По умолчанию: true

embeddedLanguageFormatting

type: "auto" | "off"

Управляет форматированием встроенных фрагментов (например CSS-in-JS, JS-in-Vue и т.д.) в файле.

ПРИМЕЧАНИЕ: поддержка XXX-in-JS неполная.

  • По умолчанию: "auto"

endOfLine

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

Какие символы конца строки применять.

ПРИМЕЧАНИЕ: значение "auto" не поддерживается.

  • По умолчанию: "lf"
  • Переопределяет .editorconfig.end_of_line

htmlWhitespaceSensitivity

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

Глобальная чувствительность к пробельным символам для HTML, Vue, Angular и Handlebars.

  • По умолчанию: "css"

ignorePatterns

type: string[]

Игнорировать файлы, соответствующие этим glob-шаблонам. Шаблоны считаются относительно расположения файла конфигурации Oxfmt.

  • По умолчанию: []

insertFinalNewline

type: boolean

Вставлять ли финальный перевод строки в конце файла.

  • По умолчанию: true
  • Переопределяет .editorconfig.insert_final_newline

jsdoc

type: object | boolean

Включить форматирование комментариев JSDoc.

При включении комментарии JSDoc нормализуются и переформатируются: алиасы тегов приводятся к каноническому виду, описания с заглавной буквы, длинные строки переносятся, короткие комментарии сжимаются в одну строку.

Передайте true или объект для включения с настройками по умолчанию, либо опустите/установите false для отключения.

  • По умолчанию: выключено

jsdoc.addDefaultToDescription

type: boolean

Добавлять значения по умолчанию к описаниям @param (напр. «По умолчанию value»).

  • По умолчанию: true

jsdoc.bracketSpacing

type: boolean

Добавлять пробелы внутри фигурных скобок типов JSDoc: {string}{ string }.

  • По умолчанию: false

jsdoc.capitalizeDescriptions

type: boolean

Делать заглавной первую букву описаний тегов.

  • По умолчанию: true

jsdoc.commentLineStrategy

type: string

Как форматировать блоки комментариев.

  • "singleLine" — по возможности преобразовать в однострочный /** content */.

  • "multiline" — всегда многострочный формат.

  • "keep" — сохранить исходное форматирование.

  • По умолчанию: "singleLine"

jsdoc.descriptionTag

type: boolean

Выводить тег @description вместо встроенного описания.

  • По умолчанию: false

jsdoc.descriptionWithDot

type: boolean

Добавлять точку в конце описаний.

  • По умолчанию: false

jsdoc.keepUnparsableExampleIndent

type: boolean

Сохранять отступы в неразбираемом коде @example.

  • По умолчанию: false

jsdoc.lineWrappingStyle

type: string

Стратегия переноса строк описания по ширине печати.

  • "greedy" — всегда переносить текст, чтобы уместиться в ширину печати.

  • "balance" — сохранять исходные разрывы строк, если все строки помещаются в ширину печати.

  • По умолчанию: "greedy"

jsdoc.preferCodeFences

type: boolean

Использовать ограждённые блоки кода (```) вместо отступа в 4 пробела для кода без указания языка.

  • По умолчанию: false

jsdoc.separateReturnsFromParam

type: boolean

Добавлять пустую строку между последним @param и @returns.

  • По умолчанию: false

jsdoc.separateTagGroups

type: boolean

Добавлять пустые строки между разными группами тегов (напр. между @param и @returns).

  • По умолчанию: false

jsxSingleQuote

type: boolean

Использовать одинарные кавычки в JSX вместо двойных.

  • По умолчанию: false

objectWrap

type: "preserve" | "collapse"

Как переносить объектные литералы, когда они могут поместиться в одну строку или занять несколько.

По умолчанию объекты форматируются как многострочные, если перед первым свойством уже есть перевод строки. Эвристика помогает читаемости, но имеет недостатки.

  • По умолчанию: "preserve"

overrides

type: array

Переопределения для отдельных файлов. Если файл подходит под несколько переопределений, применяется последнее (важен порядок в массиве).

  • По умолчанию: []

overrides[n]

type: object

overrides[n].excludeFiles

type: string[]

Glob-шаблоны исключения из этого переопределения.

overrides[n].files

type: string[]

Glob-шаблоны файлов для этого переопределения. Все шаблоны считаются относительно файла конфигурации Oxfmt.

overrides[n].options

type: object

overrides[n].options.arrowParens

type: "always" | "avoid"

Оборачивать в скобки единственный параметр стрелочной функции.

  • По умолчанию: "always"
overrides[n].options.bracketSameLine

type: boolean

Размещать символ > многострочного HTML-элемента (HTML, JSX, Vue, Angular) в конце последней строки, а не на отдельной следующей строке (не применяется к самозакрывающимся элементам).

  • По умолчанию: false
overrides[n].options.bracketSpacing

type: boolean

Печатать пробелы между скобками в объектных литералах.

  • По умолчанию: true
overrides[n].options.embeddedLanguageFormatting

type: "auto" | "off"

Управляет форматированием встроенных фрагментов (например CSS-in-JS, JS-in-Vue и т.д.) в файле.

ПРИМЕЧАНИЕ: поддержка XXX-in-JS неполная.

  • По умолчанию: "auto"
overrides[n].options.endOfLine

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

Какие символы конца строки применять.

ПРИМЕЧАНИЕ: значение "auto" не поддерживается.

  • По умолчанию: "lf"
  • Переопределяет .editorconfig.end_of_line
overrides[n].options.htmlWhitespaceSensitivity

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

Глобальная чувствительность к пробельным символам для HTML, Vue, Angular и Handlebars.

  • По умолчанию: "css"
overrides[n].options.insertFinalNewline

type: boolean

Вставлять ли финальный перевод строки в конце файла.

  • По умолчанию: true
  • Переопределяет .editorconfig.insert_final_newline
overrides[n].options.jsdoc

type: object | boolean

Включить форматирование комментариев JSDoc.

При включении комментарии JSDoc нормализуются и переформатируются: алиасы тегов приводятся к каноническому виду, описания с заглавной буквы, длинные строки переносятся, короткие комментарии сжимаются в одну строку.

Передайте true или объект для включения с настройками по умолчанию, либо опустите/установите false для отключения.

  • По умолчанию: выключено
overrides[n].options.jsdoc.addDefaultToDescription

type: boolean

Добавлять значения по умолчанию к описаниям @param (напр. «По умолчанию value»).

  • По умолчанию: true
overrides[n].options.jsdoc.bracketSpacing

type: boolean

Добавлять пробелы внутри фигурных скобок типов JSDoc: {string}{ string }.

  • По умолчанию: false
overrides[n].options.jsdoc.capitalizeDescriptions

type: boolean

Делать заглавной первую букву описаний тегов.

  • По умолчанию: true
overrides[n].options.jsdoc.commentLineStrategy

type: string

Как форматировать блоки комментариев.

  • "singleLine" — по возможности преобразовать в однострочный /** content */.

  • "multiline" — всегда многострочный формат.

  • "keep" — сохранить исходное форматирование.

  • По умолчанию: "singleLine"

overrides[n].options.jsdoc.descriptionTag

type: boolean

Выводить тег @description вместо встроенного описания.

  • По умолчанию: false
overrides[n].options.jsdoc.descriptionWithDot

type: boolean

Добавлять точку в конце описаний.

  • По умолчанию: false
overrides[n].options.jsdoc.keepUnparsableExampleIndent

type: boolean

Сохранять отступы в неразбираемом коде @example.

  • По умолчанию: false
overrides[n].options.jsdoc.lineWrappingStyle

type: string

Стратегия переноса строк описания по ширине печати.

  • "greedy" — всегда переносить текст, чтобы уместиться в ширину печати.

  • "balance" — сохранять исходные разрывы строк, если все строки помещаются в ширину печати.

  • По умолчанию: "greedy"

overrides[n].options.jsdoc.preferCodeFences

type: boolean

Использовать ограждённые блоки кода (```) вместо отступа в 4 пробела для кода без указания языка.

  • По умолчанию: false
overrides[n].options.jsdoc.separateReturnsFromParam

type: boolean

Добавлять пустую строку между последним @param и @returns.

  • По умолчанию: false
overrides[n].options.jsdoc.separateTagGroups

type: boolean

Добавлять пустые строки между разными группами тегов (напр. между @param и @returns).

  • По умолчанию: false
overrides[n].options.jsxSingleQuote

type: boolean

Использовать одинарные кавычки в JSX вместо двойных.

  • По умолчанию: false
overrides[n].options.objectWrap

type: "preserve" | "collapse"

Как переносить объектные литералы, когда они могут поместиться в одну строку или занять несколько.

По умолчанию объекты форматируются как многострочные, если перед первым свойством уже есть перевод строки. Эвристика помогает читаемости, но имеет недостатки.

  • По умолчанию: "preserve"
overrides[n].options.printWidth

type: integer

Максимальная длина строки, при которой принтер выполняет перенос.

Чтобы отключить перенос при форматировании Markdown, задайте опцию proseWrap.

  • По умолчанию: 100
  • Переопределяет .editorconfig.max_line_length
overrides[n].options.proseWrap

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

Как переносить обычный текст (прозу).

По умолчанию форматтер не меняет переносы в Markdown: некоторые сервисы чувствительны к переводу строки (комментарии GitHub, Bitbucket и т.д.). Чтобы переносить прозу по ширине печати, установите "always". Чтобы принудительно держать блоки прозы в одну строку и полагаться на мягкий перенос в редакторе/просмотрщике, используйте "never".

  • По умолчанию: "preserve"
overrides[n].options.quoteProps

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

Когда заключать свойства объектов в кавычки.

  • По умолчанию: "as-needed"
overrides[n].options.semi

type: boolean

Печатать точку с запятой в конце операторов.

  • По умолчанию: true
overrides[n].options.singleAttributePerLine

type: boolean

Требовать один атрибут на строку в HTML, Vue и JSX.

  • По умолчанию: false
overrides[n].options.singleQuote

type: boolean

Использовать одинарные кавычки вместо двойных.

Для JSX можно задать опцию jsxSingleQuote.

  • По умолчанию: false
  • Переопределяет .editorconfig.quote_type
overrides[n].options.sortImports

type: object | boolean

Сортировать операторы импорта.

Используется алгоритм, близкий к eslint-plugin-perfectionist/sort-imports. Подробности см. в описании каждого поля.

Передайте true или объект для включения с настройками по умолчанию, либо опустите/установите false для отключения.

  • По умолчанию: выключено
overrides[n].options.sortImports.customGroups

type: array

Задаёт собственные группы для очень специфичных импортов.

Список customGroups упорядочен: используется первое совпадение с элементом. Пользовательские группы имеют приоритет над предопределёнными.

Чтобы предопределённая группа имела приоритет над пользовательской, нужно описать пользовательскую группу с тем же поведением и поставить её первой в списке.

Если указано несколько условий (elementNamePattern, selector, modifiers), все они должны выполняться для попадания импорта в пользовательскую группу (логика И).

  • По умолчанию: []

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

type: object

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

type: string[]

по умолчанию: []

Список glob-шаблонов для сопоставления источников импорта с этой группой.

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

type: string

по умолчанию: ""

Имя пользовательской группы, используется в опции groups.

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

type: string[]

Модификаторы для сопоставления с характеристиками импорта. Должны присутствовать все указанные модификаторы (логика И).

Возможные значения: "side_effect", "type", "value", "default", "wildcard", "named"

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

type: string

Селектор вида импорта.

Возможные значения: "type", "side_effect_style", "side_effect", "style", "index", "sibling", "parent", "subpath", "internal", "builtin", "external", "import"

overrides[n].options.sortImports.groups

type: array

Список предопределённых групп импорта для сортировки.

Каждому импорту назначается одна группа из опции groups (или группа unknown, если совпадений нет). Порядок элементов в groups задаёт порядок групп.

Внутри группы элементы сортируются с учётом опций type, order, ignoreCase и др.

Несколько групп можно объединить, поместив их в массив. Порядок групп в этом массиве не важен. Все элементы объединённых групп сортируются как одна группа.

Предопределённые группы задаются одним селектором и, возможно, несколькими модификаторами. Модификаторы можно перечислять в любом порядке, но селектор всегда должен быть последним.

Список селекторов от более важного к менее важному:

  • type — импорты типов TypeScript.
  • side_effect_style — импорты стилей с побочным эффектом.
  • side_effect — импорты с побочным эффектом.
  • style — импорты стилей.
  • index — главный файл текущего каталога.
  • sibling — модули из того же каталога.
  • parent — модули из родительского каталога.
  • subpath — подпути импорта Node.js.
  • internal — ваши внутренние модули.
  • builtin — встроенные модули Node.js.
  • external — внешние модули, установленные в проекте.
  • import — любой импорт.

Список модификаторов от более важного к менее важному:

  • side_effect — импорты с побочным эффектом.

  • type — импорты типов TypeScript.

  • value — импорты значений.

  • default — импорты с default-спецификатором.

  • wildcard — импорты со спецификатором вида * as.

  • named — импорты с хотя бы одним именованным спецификатором.

  • По умолчанию: см. ниже

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

Также можно переопределить глобальную настройку newlinesBetween для конкретных границ групп, включив в список groups объект-маркер { "newlinesBetween": boolean } в нужной позиции.

####### 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

Учитывать ли регистр при сортировке.

  • По умолчанию: true
overrides[n].options.sortImports.internalPattern

type: string[]

Префиксы для распознавания внутренних импортов.

Полезно отличать ваши модули от внешних зависимостей.

  • По умолчанию: ["~/", "@/"]
overrides[n].options.sortImports.newlinesBetween

type: boolean

Добавлять ли пустые строки между группами.

При false между группами не добавляются переносы.

  • По умолчанию: true
overrides[n].options.sortImports.order

type: "asc" | "desc"

Порядок сортировки: по возрастанию или убыванию.

  • По умолчанию: "asc"
overrides[n].options.sortImports.partitionByComment

type: boolean

Разрешить использовать комментарии для разделения импортов на логические группы.

При true все комментарии считаются разделителями и создают разделы.

js
import { b1, b2 } from "b";
// PARTITION
import { a } from "a";
import { c } from "c";
  • По умолчанию: false
overrides[n].options.sortImports.partitionByNewline

type: boolean

Разрешить использовать пустую строку для разделения импортов на логические группы.

При true форматтер не сортирует импорты, если между ними есть пустая строка. Это помогает сохранять заданный порядок логически разделённых групп.

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

import { a } from "a";
import { c } from "c";
  • По умолчанию: false
overrides[n].options.sortImports.sortSideEffects

type: boolean

Сортировать ли импорты с побочным эффектом.

По умолчанию сортировка таких импортов отключена из соображений безопасности.

  • По умолчанию: false
overrides[n].options.sortPackageJson

type: object | boolean

Сортировать ключи в package.json.

Алгоритм НЕ совместим с prettier-plugin-sort-packagejson. Мы считаем его понятнее и удобнее для навигации. Подробности см. в описании полей.

  • По умолчанию: true
overrides[n].options.sortPackageJson.sortScripts

type: boolean

Сортировать поле scripts по алфавиту.

  • По умолчанию: false
overrides[n].options.sortTailwindcss

type: object | boolean

Сортировать классы Tailwind CSS.

Тот же алгоритм, что у prettier-plugin-tailwindcss. Имена опций без префикса tailwind, как в исходном плагине (например config вместо tailwindConfig). Подробности см. в описании полей.

Передайте true или объект для включения с настройками по умолчанию, либо опустите/установите false для отключения.

  • По умолчанию: выключено
overrides[n].options.sortTailwindcss.attributes

type: string[]

Дополнительные атрибуты для сортировки помимо class и className (точное совпадение).

ПРИМЕЧАНИЕ: шаблоны regex пока не поддерживаются.

  • По умолчанию: []
  • Пример: ["myClassProp", ":class"]
overrides[n].options.sortTailwindcss.config

type: string

Путь к файлу конфигурации Tailwind CSS (v3).

ПРИМЕЧАНИЕ: пути считаются относительно файла конфигурации Oxfmt.

  • По умолчанию: автоматический поиск "tailwind.config.js"
overrides[n].options.sortTailwindcss.functions

type: string[]

Имена пользовательских функций, аргументы которых нужно сортировать (точное совпадение).

ПРИМЕЧАНИЕ: шаблоны regex пока не поддерживаются.

  • По умолчанию: []
  • Пример: ["clsx", "cn", "cva", "tw"]
overrides[n].options.sortTailwindcss.preserveDuplicates

type: boolean

Сохранять дубликаты классов.

  • По умолчанию: false
overrides[n].options.sortTailwindcss.preserveWhitespace

type: boolean

Сохранять пробелы вокруг классов.

  • По умолчанию: false
overrides[n].options.sortTailwindcss.stylesheet

type: string

Путь к таблице стилей Tailwind CSS (v4).

ПРИМЕЧАНИЕ: пути считаются относительно файла конфигурации Oxfmt.

  • По умолчанию: theme.css установленного Tailwind CSS
overrides[n].options.tabWidth

type: integer

Число пробелов на уровень отступа.

  • По умолчанию: 2
  • Переопределяет .editorconfig.indent_size (с запасным .editorconfig.tab_width)
overrides[n].options.trailingComma

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

Печатать висячие запятые там, где это возможно в многострочных конструкциях со списками через запятую.

Однострочный массив, например, никогда не получает висячих запятых.

  • По умолчанию: "all"
overrides[n].options.useTabs

type: boolean

Отступать табами вместо пробелов.

  • По умолчанию: false
  • Переопределяет .editorconfig.indent_style
overrides[n].options.vueIndentScriptAndStyle

type: boolean

Добавлять ли отступ коду внутри тегов <script> и <style> во Vue-файлах.

  • По умолчанию: false

printWidth

type: integer

Максимальная длина строки, при которой принтер выполняет перенос.

Чтобы отключить перенос при форматировании Markdown, задайте опцию proseWrap.

  • По умолчанию: 100
  • Переопределяет .editorconfig.max_line_length

proseWrap

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

Как переносить обычный текст (прозу).

По умолчанию форматтер не меняет переносы в Markdown: некоторые сервисы чувствительны к переводу строки (комментарии GitHub, Bitbucket и т.д.). Чтобы переносить прозу по ширине печати, установите "always". Чтобы принудительно держать блоки прозы в одну строку и полагаться на мягкий перенос в редакторе/просмотрщике, используйте "never".

  • По умолчанию: "preserve"

quoteProps

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

Когда заключать свойства объектов в кавычки.

  • По умолчанию: "as-needed"

semi

type: boolean

Печатать точку с запятой в конце операторов.

  • По умолчанию: true

singleAttributePerLine

type: boolean

Требовать один атрибут на строку в HTML, Vue и JSX.

  • По умолчанию: false

singleQuote

type: boolean

Использовать одинарные кавычки вместо двойных.

Для JSX можно задать опцию jsxSingleQuote.

  • По умолчанию: false
  • Переопределяет .editorconfig.quote_type

sortImports

type: object | boolean

Сортировать операторы импорта.

Используется алгоритм, близкий к eslint-plugin-perfectionist/sort-imports. Подробности см. в описании каждого поля.

Передайте true или объект для включения с настройками по умолчанию, либо опустите/установите false для отключения.

  • По умолчанию: выключено

sortImports.customGroups

type: array

Задаёт собственные группы для очень специфичных импортов.

Список customGroups упорядочен: используется первое совпадение с элементом. Пользовательские группы имеют приоритет над предопределёнными.

Чтобы предопределённая группа имела приоритет над пользовательской, нужно описать пользовательскую группу с тем же поведением и поставить её первой в списке.

Если указано несколько условий (elementNamePattern, selector, modifiers), все они должны выполняться для попадания импорта в пользовательскую группу (логика И).

  • По умолчанию: []

sortImports.customGroups[n]

type: object

sortImports.customGroups[n].elementNamePattern

type: string[]

по умолчанию: []

Список glob-шаблонов для сопоставления источников импорта с этой группой.

sortImports.customGroups[n].groupName

type: string

по умолчанию: ""

Имя пользовательской группы, используется в опции groups.

sortImports.customGroups[n].modifiers

type: string[]

Модификаторы для сопоставления с характеристиками импорта. Должны присутствовать все указанные модификаторы (логика И).

Возможные значения: "side_effect", "type", "value", "default", "wildcard", "named"

sortImports.customGroups[n].selector

type: string

Селектор вида импорта.

Возможные значения: "type", "side_effect_style", "side_effect", "style", "index", "sibling", "parent", "subpath", "internal", "builtin", "external", "import"

sortImports.groups

type: array

Список предопределённых групп импорта для сортировки.

Каждому импорту назначается одна группа из опции groups (или группа unknown, если совпадений нет). Порядок элементов в groups задаёт порядок групп.

Внутри группы элементы сортируются с учётом опций type, order, ignoreCase и др.

Несколько групп можно объединить, поместив их в массив. Порядок групп в этом массиве не важен. Все элементы объединённых групп сортируются как одна группа.

Предопределённые группы задаются одним селектором и, возможно, несколькими модификаторами. Модификаторы можно перечислять в любом порядке, но селектор всегда должен быть последним.

Список селекторов от более важного к менее важному:

  • type — импорты типов TypeScript.
  • side_effect_style — импорты стилей с побочным эффектом.
  • side_effect — импорты с побочным эффектом.
  • style — импорты стилей.
  • index — главный файл текущего каталога.
  • sibling — модули из того же каталога.
  • parent — модули из родительского каталога.
  • subpath — подпути импорта Node.js.
  • internal — ваши внутренние модули.
  • builtin — встроенные модули Node.js.
  • external — внешние модули, установленные в проекте.
  • import — любой импорт.

Список модификаторов от более важного к менее важному:

  • side_effect — импорты с побочным эффектом.

  • type — импорты типов TypeScript.

  • value — импорты значений.

  • default — импорты с default-спецификатором.

  • wildcard — импорты со спецификатором вида * as.

  • named — импорты с хотя бы одним именованным спецификатором.

  • По умолчанию: см. ниже

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

Также можно переопределить глобальную настройку newlinesBetween для конкретных границ групп, включив в список groups объект-маркер { "newlinesBetween": boolean } в нужной позиции.

sortImports.groups[n]

type: object | array | string

sortImports.groups[n].newlinesBetween

type: boolean

sortImports.ignoreCase

type: boolean

Учитывать ли регистр при сортировке.

  • По умолчанию: true

sortImports.internalPattern

type: string[]

Префиксы для распознавания внутренних импортов.

Полезно отличать ваши модули от внешних зависимостей.

  • По умолчанию: ["~/", "@/"]

sortImports.newlinesBetween

type: boolean

Добавлять ли пустые строки между группами.

При false между группами не добавляются переносы.

  • По умолчанию: true

sortImports.order

type: "asc" | "desc"

Порядок сортировки: по возрастанию или убыванию.

  • По умолчанию: "asc"

sortImports.partitionByComment

type: boolean

Разрешить использовать комментарии для разделения импортов на логические группы.

При true все комментарии считаются разделителями и создают разделы.

js
import { b1, b2 } from "b";
// PARTITION
import { a } from "a";
import { c } from "c";
  • По умолчанию: false

sortImports.partitionByNewline

type: boolean

Разрешить использовать пустую строку для разделения импортов на логические группы.

При true форматтер не сортирует импорты, если между ними есть пустая строка. Это помогает сохранять заданный порядок логически разделённых групп.

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

import { a } from "a";
import { c } from "c";
  • По умолчанию: false

sortImports.sortSideEffects

type: boolean

Сортировать ли импорты с побочным эффектом.

По умолчанию сортировка таких импортов отключена из соображений безопасности.

  • По умолчанию: false

sortPackageJson

type: object | boolean

Сортировать ключи в package.json.

Алгоритм НЕ совместим с prettier-plugin-sort-packagejson. Мы считаем его понятнее и удобнее для навигации. Подробности см. в описании полей.

  • По умолчанию: true

sortPackageJson.sortScripts

type: boolean

Сортировать поле scripts по алфавиту.

  • По умолчанию: false

sortTailwindcss

type: object | boolean

Сортировать классы Tailwind CSS.

Тот же алгоритм, что у prettier-plugin-tailwindcss. Имена опций без префикса tailwind, как в исходном плагине (например config вместо tailwindConfig). Подробности см. в описании полей.

Передайте true или объект для включения с настройками по умолчанию, либо опустите/установите false для отключения.

  • По умолчанию: выключено

sortTailwindcss.attributes

type: string[]

Дополнительные атрибуты для сортировки помимо class и className (точное совпадение).

ПРИМЕЧАНИЕ: шаблоны regex пока не поддерживаются.

  • По умолчанию: []
  • Пример: ["myClassProp", ":class"]

sortTailwindcss.config

type: string

Путь к файлу конфигурации Tailwind CSS (v3).

ПРИМЕЧАНИЕ: пути считаются относительно файла конфигурации Oxfmt.

  • По умолчанию: автоматический поиск "tailwind.config.js"

sortTailwindcss.functions

type: string[]

Имена пользовательских функций, аргументы которых нужно сортировать (точное совпадение).

ПРИМЕЧАНИЕ: шаблоны regex пока не поддерживаются.

  • По умолчанию: []
  • Пример: ["clsx", "cn", "cva", "tw"]

sortTailwindcss.preserveDuplicates

type: boolean

Сохранять дубликаты классов.

  • По умолчанию: false

sortTailwindcss.preserveWhitespace

type: boolean

Сохранять пробелы вокруг классов.

  • По умолчанию: false

sortTailwindcss.stylesheet

type: string

Путь к таблице стилей Tailwind CSS (v4).

ПРИМЕЧАНИЕ: пути считаются относительно файла конфигурации Oxfmt.

  • По умолчанию: theme.css установленного Tailwind CSS

tabWidth

type: integer

Число пробелов на уровень отступа.

  • По умолчанию: 2
  • Переопределяет .editorconfig.indent_size (с запасным .editorconfig.tab_width)

trailingComma

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

Печатать висячие запятые там, где это возможно в многострочных конструкциях со списками через запятую.

Однострочный массив, например, никогда не получает висячих запятых.

  • По умолчанию: "all"

useTabs

type: boolean

Отступать табами вместо пробелов.

  • По умолчанию: false
  • Переопределяет .editorconfig.indent_style

vueIndentScriptAndStyle

type: boolean

Добавлять ли отступ коду внутри тегов <script> и <style> во Vue-файлах.

  • По умолчанию: false