Oxfmt 설정 옵션
대부분의 옵션은 Prettier와 같지만 전부는 아닙니다. 또 일부 옵션은 Oxfmt 고유 확장입니다.
arrowParens
유형: "always" | "avoid"
단일 매개변수 화살표 함수에 괄호를 포함할지 여부입니다.
- 기본값:
"always"
bracketSameLine
유형: boolean
여러 줄 HTML(HTML, JSX, Vue, Angular) 요소에서 >를 다음 줄 단독이 아니라 마지막 줄 끝에 두세요(셀프 클로징 요소에는 적용되지 않음).
- 기본값:
false
bracketSpacing
유형: boolean
객체 리터럴 중괄호 안쪽에 공백을 출력할지 여부입니다.
- 기본값:
true
embeddedLanguageFormatting
유형: "auto" | "off"
파일 속 임베디드 구간(예: CSS-in-JS, Vue 속 JS 등)을 포맷할지 여부를 제어합니다.
참고: XXX-in-JS 지원은 아직 미완성입니다.
- 기본값:
"auto"
endOfLine
유형: "lf" | "crlf" | "cr"
적용할 줄 끝(end of line) 문자입니다.
참고: "auto"는 지원하지 않습니다.
- 기본값:
"lf" .editorconfig.end_of_line보다 우선합니다.
htmlWhitespaceSensitivity
유형: "css" | "strict" | "ignore"
HTML, Vue, Angular, Handlebars에 대한 전역 공백 민감도입니다.
- 기본값:
"css"
ignorePatterns
유형: string[]
이 글로브 패턴에 맞는 파일을 무시합니다. 패턴은 Oxfmt 설정 파일 위치를 기준으로 합니다.
- 기본값:
[]
insertFinalNewline
유형: boolean
파일 끝에 최종 줄바꿈을 넣을지 여부입니다.
- 기본값:
true .editorconfig.insert_final_newline보다 우선합니다.
jsdoc
유형: object | boolean
JSDoc 주석 포맷을 켭니다.
켜면 JSDoc 주석을 정규화·재포맷합니다. 태그 별칭을 표준 형태로 바꾸고, 설명의 첫 글자를 대문자로 만들며, 긴 줄은 줄바꿈하고 짧은 설명은 한 줄로 합칩니다.
true나 객체를 넘기면 기본값으로 켜지고, 생략하거나 false로 두면 끕니다.
- 기본값: 꺼짐
jsdoc.addDefaultToDescription
유형: boolean
@param 설명에 기본값을 덧붙입니다(예: "기본값은 value").
- 기본값:
true
jsdoc.bracketSpacing
유형: boolean
JSDoc 타입 중괄호 안에 공백을 넣습니다: {string} → { string }.
- 기본값:
false
jsdoc.capitalizeDescriptions
유형: boolean
태그 설명의 첫 글자를 대문자로 만듭니다.
- 기본값:
true
jsdoc.commentLineStrategy
유형: string
주석 블록을 어떻게 포맷할지 설정합니다.
"singleLine"— 가능하면 한 줄/** 내용 */로 만듭니다."multiline"— 항상 여러 줄 형식을 씁니다."keep"— 원래 형식을 유지합니다.기본값:
"singleLine"
jsdoc.descriptionTag
유형: boolean
인라인 설명 대신 @description 태그를 씁니다.
- 기본값:
false
jsdoc.descriptionWithDot
유형: boolean
설명 끝에 마침표를 붙입니다.
- 기본값:
false
jsdoc.keepUnparsableExampleIndent
유형: boolean
파싱 불가능한 @example 코드의 들여쓰기를 유지합니다.
- 기본값:
false
jsdoc.lineWrappingStyle
유형: string
printWidth에 맞춰 설명 줄을 줄바꿈할 전략입니다.
"greedy"— 항상printWidth안에 들어오도록 다시 줄을 맞춥니다."balance"— 모든 줄이printWidth안에 들어가면 원래 줄바꿈을 유지합니다.기본값:
"greedy"
jsdoc.preferCodeFences
유형: boolean
언어 태그 없는 코드에 4칸 들여쓰기 대신 코드 펜스(` ``` `)를 씁니다.
- 기본값:
false
jsdoc.separateReturnsFromParam
유형: boolean
마지막 @param과 @returns 사이에 빈 줄을 둡니다.
- 기본값:
false
jsdoc.separateTagGroups
유형: boolean
서로 다른 태그 그룹 사이에 빈 줄을 둡니다(예: @param과 @returns 사이).
- 기본값:
false
jsxSingleQuote
유형: boolean
JSX에서 큰따옴표 대신 작은따옴표를 씁니다.
- 기본값:
false
objectWrap
유형: "preserve" | "collapse"
객체 리터럴을 한 줄에 넣을지 여러 줄로 나눌지에 대한 줄바꿈 방식입니다.
기본값은 첫 속성 직전에 줄바꿈이 있으면 여러 줄로 포맷하는 휴리스틱입니다. 저자가 문맥에 맞게 읽기 좋게 배치할 수 있지만 단점도 있습니다.
- 기본값:
"preserve"
overrides
유형: array
파일별 덮어쓰기입니다. 파일이 여러 override와 일치하면 배열 순서대로 나중 것이 우선합니다.
- 기본값:
[]
overrides[n]
유형: object
overrides[n].excludeFiles
유형: string[]
이 override에서 제외할 글로브 패턴입니다.
overrides[n].files
유형: string[]
이 override에 매칭할 파일의 글로브 패턴입니다. 모든 패턴은 Oxfmt 설정 파일을 기준으로 상대 경로입니다.
overrides[n].options
유형: object
overrides[n].options.arrowParens
유형: "always" | "avoid"
단일 매개변수 화살표 함수에 괄호를 포함할지 여부입니다.
- 기본값:
"always"
overrides[n].options.bracketSameLine
유형: boolean
여러 줄 HTML(HTML, JSX, Vue, Angular) 요소에서 >를 다음 줄 단독이 아니라 마지막 줄 끝에 두세요(셀프 클로징 요소에는 적용되지 않음).
- 기본값:
false
overrides[n].options.bracketSpacing
유형: boolean
객체 리터럴 중괄호 안쪽에 공백을 출력할지 여부입니다.
- 기본값:
true
overrides[n].options.embeddedLanguageFormatting
유형: "auto" | "off"
파일 속 임베디드 구간(예: CSS-in-JS, Vue 속 JS 등)을 포맷할지 여부를 제어합니다.
참고: XXX-in-JS 지원은 아직 미완성입니다.
- 기본값:
"auto"
overrides[n].options.endOfLine
유형: "lf" | "crlf" | "cr"
적용할 줄 끝(end of line) 문자입니다.
참고: "auto"는 지원하지 않습니다.
- 기본값:
"lf" .editorconfig.end_of_line보다 우선합니다.
overrides[n].options.htmlWhitespaceSensitivity
유형: "css" | "strict" | "ignore"
HTML, Vue, Angular, Handlebars에 대한 전역 공백 민감도입니다.
- 기본값:
"css"
overrides[n].options.insertFinalNewline
유형: boolean
파일 끝에 최종 줄바꿈을 넣을지 여부입니다.
- 기본값:
true .editorconfig.insert_final_newline보다 우선합니다.
overrides[n].options.jsdoc
유형: object | boolean
JSDoc 주석 포맷을 켭니다.
켜면 JSDoc 주석을 정규화·재포맷합니다. 태그 별칭을 표준 형태로 바꾸고, 설명의 첫 글자를 대문자로 만들며, 긴 줄은 줄바꿈하고 짧은 설명은 한 줄로 합칩니다.
true나 객체를 넘기면 기본값으로 켜지고, 생략하거나 false로 두면 끕니다.
- 기본값: 꺼짐
overrides[n].options.jsdoc.addDefaultToDescription
유형: boolean
@param 설명에 기본값을 덧붙입니다(예: "기본값은 value").
- 기본값:
true
overrides[n].options.jsdoc.bracketSpacing
유형: boolean
JSDoc 타입 중괄호 안에 공백을 넣습니다: {string} → { string }.
- 기본값:
false
overrides[n].options.jsdoc.capitalizeDescriptions
유형: boolean
태그 설명의 첫 글자를 대문자로 만듭니다.
- 기본값:
true
overrides[n].options.jsdoc.commentLineStrategy
유형: string
주석 블록을 어떻게 포맷할지 설정합니다.
"singleLine"— 가능하면 한 줄/** 내용 */로 만듭니다."multiline"— 항상 여러 줄 형식을 씁니다."keep"— 원래 형식을 유지합니다.기본값:
"singleLine"
overrides[n].options.jsdoc.descriptionTag
유형: boolean
인라인 설명 대신 @description 태그를 씁니다.
- 기본값:
false
overrides[n].options.jsdoc.descriptionWithDot
유형: boolean
설명 끝에 마침표를 붙입니다.
- 기본값:
false
overrides[n].options.jsdoc.keepUnparsableExampleIndent
유형: boolean
파싱 불가능한 @example 코드의 들여쓰기를 유지합니다.
- 기본값:
false
overrides[n].options.jsdoc.lineWrappingStyle
유형: string
printWidth에 맞춰 설명 줄을 줄바꿈할 전략입니다.
"greedy"— 항상printWidth안에 들어오도록 다시 줄을 맞춥니다."balance"— 모든 줄이printWidth안에 들어가면 원래 줄바꿈을 유지합니다.기본값:
"greedy"
overrides[n].options.jsdoc.preferCodeFences
유형: boolean
언어 태그 없는 코드에 4칸 들여쓰기 대신 코드 펜스(` ``` `)를 씁니다.
- 기본값:
false
overrides[n].options.jsdoc.separateReturnsFromParam
유형: boolean
마지막 @param과 @returns 사이에 빈 줄을 둡니다.
- 기본값:
false
overrides[n].options.jsdoc.separateTagGroups
유형: boolean
서로 다른 태그 그룹 사이에 빈 줄을 둡니다(예: @param과 @returns 사이).
- 기본값:
false
overrides[n].options.jsxSingleQuote
유형: boolean
JSX에서 큰따옴표 대신 작은따옴표를 씁니다.
- 기본값:
false
overrides[n].options.objectWrap
유형: "preserve" | "collapse"
객체 리터럴을 한 줄에 넣을지 여러 줄로 나눌지에 대한 줄바꿈 방식입니다.
기본값은 첫 속성 직전에 줄바꿈이 있으면 여러 줄로 포맷하는 휴리스틱입니다. 저자가 문맥에 맞게 읽기 좋게 배치할 수 있지만 단점도 있습니다.
- 기본값:
"preserve"
overrides[n].options.printWidth
유형: integer
포맷터가 줄을 바꿀 줄 길이입니다.
Markdown에서 줄바꿈을 끄려면 proseWrap 옵션을 조정하세요.
- 기본값:
100 .editorconfig.max_line_length보다 우선합니다.
overrides[n].options.proseWrap
유형: "always" | "never" | "preserve"
산문(prose) 줄바꿈 방식입니다.
기본값은 GitHub 댓글·Bitbucket처럼 줄바꿈에 민감한 렌더러를 쓰는 서비스를 고려하여 Markdown 본문 줄바꿈을 바꾸지 않습니다. printWidth에 맞춰 줄바꿈하려면 "always"로 바꾸세요. 모든 산문 블록을 한 줄로 강제하고 에디터·뷰어의 소프트 랩에 맡기려면 "never"를 쓸 수 있습니다.
- 기본값:
"preserve"
overrides[n].options.quoteProps
유형: "as-needed" | "consistent" | "preserve"
객체 속성 이름에 따옴표를 언제 쓸지 바꿉니다.
- 기본값:
"as-needed"
overrides[n].options.semi
유형: boolean
문 끝에 세미콜론을 출력할지 여부입니다.
- 기본값:
true
overrides[n].options.singleAttributePerLine
유형: boolean
HTML, Vue, JSX에서 속성을 한 줄에 하나씩 강제합니다.
- 기본값:
false
overrides[n].options.singleQuote
유형: boolean
큰따옴표 대신 작은따옴표를 씁니다.
JSX에는 jsxSingleQuote 옵션을 쓰면 됩니다.
- 기본값:
false .editorconfig.quote_type보다 우선합니다.
overrides[n].options.sortImports
유형: object | boolean
Import 문을 정렬합니다.
알고리즘은 eslint-plugin-perfectionist/sort-imports와 유사합니다. 세부 내용은 각 필드 설명을 참고하세요.
true나 객체를 넘기면 기본값으로 켜지고, 생략하거나 false로 두면 끕니다.
- 기본값: 꺼짐
overrides[n].options.sortImports.customGroups
유형: array
아주 특정한 import를 매칭할 사용자 정의 그룹을 정의합니다.
customGroups 목록은 순서가 있습니다: 요소와 처음으로 일치하는 정의가 사용됩니다. 미리 정의된 그룹보다 사용자 정의 그룹의 우선순위가 더 높습니다.
미리 정의된 그룹이 사용자 정의 그룹보다 우선해야 한다면, 미리 정의된 그룹과 동일하게 동작하는 사용자 정의 그룹 정의를 작성해 목록 맨 앞에 두어야 합니다.
elementNamePattern, selector, modifiers 등 여러 조건을 지정하면, import가 사용자 정의 그룹에 맞으려면 모든 조건을 만족해야 합니다(AND).
- 기본값:
[]
####### overrides[n].options.sortImports.customGroups[n]
유형: object
######## overrides[n].options.sortImports.customGroups[n].elementNamePattern
유형: string[]
기본값: []
이 그룹에 맞춰 import 출처를 매칭할 글로브 패턴 목록입니다.
######## overrides[n].options.sortImports.customGroups[n].groupName
유형: string
기본값: ""
groups 옵션에서 쓰는 사용자 정의 그룹 이름입니다.
######## overrides[n].options.sortImports.customGroups[n].modifiers
유형: string[]
import 특성에 맞추기 위한 수정자(modifier)입니다. 지정한 수정자는 모두 있어야 합니다(AND).
가능한 값: "side_effect", "type", "value", "default", "wildcard", "named"
######## overrides[n].options.sortImports.customGroups[n].selector
유형: string
import 종류에 맞추는 선택자(selector)입니다.
가능한 값: "type", "side_effect_style", "side_effect", "style", "index", "sibling", "parent", "subpath", "internal", "builtin", "external", "import"
overrides[n].options.sortImports.groups
유형: array
정렬에 쓸 미리 정의된 import 그룹 목록입니다.
각 import에는 groups 옵션에 지정된 단일 그룹이 할당됩니다(없으면 unknown). groups 항목 순서가 그룹 순서를 결정합니다.
한 그룹 안에서는 type, order, ignoreCase 등의 옵션에 따라 멤버가 정렬됩니다.
배열 안에 여러 그룹을 두면 하나로 묶입니다. 그 배열 안의 그룹 순서는 중요하지 않습니다. 묶인 그룹의 모든 멤버는 마치 하나의 그룹인 것처럼 함께 정렬됩니다.
미리 정의된 그룹은 선택자 하나와 0개 이상의 수정자로 표현됩니다. 수정자는 어떤 순서로 적어도 되지만 선택자는 항상 마지막에 둡니다.
선택자 목록은 대략 중요도 순(높은 것→낮은 것)입니다:
type— TypeScript 타입 importside_effect_style— 사이드 이펙트 스타일 importside_effect— 사이드 이펙트 importstyle— 스타일 importindex— 현재 디렉터리의 메인 파일sibling— 같은 디렉터리 모듈parent— 상위 디렉터리 모듈subpath— Node.js 서브패스 importinternal— 내부 모듈builtin— Node.js 빌트인 모듈external— 프로젝트에 설치된 외부 모듈import— 모든 import
수정자 목록은 중요도 순(높은 것→낮은 것)입니다:
side_effect— 사이드 이펙트 importtype— TypeScript 타입 importvalue— 값 importdefault— 기본(default) 지정자를 포함한 importwildcard— 와일드카드(* as) 지정자를 포함한 importnamed— 이름 지정(named) 지정자를 하나 이상 포함한 import기본값: 아래 참고
["builtin", "external", ["internal", "subpath"], ["parent", "sibling", "index"], "style", "unknown"]또 특정 그룹 경계에 대해 전역 newlinesBetween을 덮어쓸 수 있습니다. groups 목록의 원하는 위치에 { "newlinesBetween": boolean } 마커 객체를 넣으면 됩니다.
####### overrides[n].options.sortImports.groups[n]
유형: object | array | string
######## overrides[n].options.sortImports.groups[n].newlinesBetween
유형: boolean
overrides[n].options.sortImports.ignoreCase
유형: boolean
대소문자를 구분해 정렬할지 여부입니다.
- 기본값:
true
overrides[n].options.sortImports.internalPattern
유형: string[]
내부 import를 식별하기 위한 접두사입니다.
자체 모듈과 외부 의존성을 구분할 때 유용합니다.
- 기본값:
["~/", "@/"]
overrides[n].options.sortImports.newlinesBetween
유형: boolean
그룹 사이에 빈 줄을 넣을지 여부입니다.
false면 그룹 사이에 빈 줄을 넣지 않습니다.
- 기본값:
true
overrides[n].options.sortImports.order
유형: "asc" | "desc"
오름차순·내림차순 여부입니다.
- 기본값:
"asc"
overrides[n].options.sortImports.partitionByComment
유형: boolean
주석으로 import를 논리적 그룹으로 나눕니다.
true면 모든 주석을 구분자로 취해 파티션을 만듭니다.
import { b1, b2 } from "b";
// PARTITION
import { a } from "a";
import { c } from "c";- 기본값:
false
overrides[n].options.sortImports.partitionByNewline
유형: boolean
빈 줄로 import 그룹을 나눕니다.
true면 그룹 사이에 빈 줄이 있을 때 formatter는 import를 정렬하지 않습니다. 논리적으로 나뉜 멤버 그룹의 정의 순서를 유지하는 데 도움이 됩니다.
import { b1, b2 } from "b";
import { a } from "a";
import { c } from "c";- 기본값:
false
overrides[n].options.sortImports.sortSideEffects
유형: boolean
사이드 이펙트 import를 정렬할지 여부입니다.
기본적으로 보안상 사이드 이펙트 import 정렬은 꺼져 있습니다.
- 기본값:
false
overrides[n].options.sortPackageJson
유형: object | boolean
package.json 키를 정렬합니다.
이 알고리즘은 prettier-plugin-sort-packagejson과 호환되지 않습니다. 다만 우리는 더 명확하고 탐색하기 쉽다고 봅니다. 세부 내용은 각 필드 설명을 참고하세요.
- 기본값:
true
overrides[n].options.sortPackageJson.sortScripts
유형: boolean
scripts 필드를 알파벳 순으로 정렬합니다.
- 기본값:
false
overrides[n].options.sortTailwindcss
유형: object | boolean
Tailwind CSS 클래스를 정렬합니다.
prettier-plugin-tailwindcss와 동일한 알고리즘을 사용합니다. 원본 플러그인의 tailwind 접두사는 생략했습니다(예: tailwindConfig 대신 config). 세부 내용은 각 필드 설명을 참고하세요.
true나 객체를 넘기면 기본값으로 켜고, 생략하거나 false로 두면 끕니다.
- 기본값: 꺼짐
overrides[n].options.sortTailwindcss.attributes
유형: string[]
class, className 외에 정렬할 속성 이름을 추가로 나열합니다(완전 일치).
참고: 정규식 패턴은 아직 지원하지 않습니다.
- 기본값:
[] - 예:
["myClassProp", ":class"]
overrides[n].options.sortTailwindcss.config
유형: string
Tailwind CSS 설정 파일(v3) 경로입니다.
참고: 경로는 Oxfmt 설정 파일을 기준으로 해석됩니다.
- 기본값:
"tailwind.config.js"자동 검색
overrides[n].options.sortTailwindcss.functions
유형: string[]
인자를 정렬해야 하는 사용자 정의 함수 이름 목록입니다(완전 일치).
참고: 정규식 패턴은 아직 지원하지 않습니다.
- 기본값:
[] - 예:
["clsx", "cn", "cva", "tw"]
overrides[n].options.sortTailwindcss.preserveDuplicates
유형: boolean
중복 클래스를 유지합니다.
- 기본값:
false
overrides[n].options.sortTailwindcss.preserveWhitespace
유형: boolean
클래스 주변 공백을 유지합니다.
- 기본값:
false
overrides[n].options.sortTailwindcss.stylesheet
유형: string
Tailwind CSS 스타일시트(v4) 경로입니다.
참고: 경로는 Oxfmt 설정 파일을 기준으로 해석됩니다.
- 기본값: 설치된 Tailwind CSS의
theme.css
overrides[n].options.tabWidth
유형: integer
들여쓰기 한 단계당 공백 개수입니다.
- 기본값:
2 .editorconfig.indent_size보다 우선합니다(대체로.editorconfig.tab_width).
overrides[n].options.trailingComma
유형: "all" | "es5" | "none"
여러 줄로 나뉜 쉼표로 구분된 구문 구조에서는 가능한 한 끝에 쉼표를 둡니다.
한 줄짜리 배열 등에는 끝 쉼표가 붙지 않습니다.
- 기본값:
"all"
overrides[n].options.useTabs
유형: boolean
스페이스 대신 탭으로 들여씁니다.
- 기본값:
false .editorconfig.indent_style보다 우선합니다.
overrides[n].options.vueIndentScriptAndStyle
유형: boolean
Vue 파일에서 <script>와 <style> 안 코드를 들여쓸지 여부입니다.
- 기본값:
false
printWidth
유형: integer
포맷터가 줄을 바꿀 줄 길이입니다.
Markdown에서 줄바꿈을 끄려면 proseWrap 옵션을 조정하세요.
- 기본값:
100 .editorconfig.max_line_length보다 우선합니다.
proseWrap
유형: "always" | "never" | "preserve"
산문(prose) 줄바꿈 방식입니다.
기본값은 GitHub 댓글·Bitbucket처럼 줄바꿈에 민감한 렌더러를 쓰는 서비스를 고려하여 Markdown 본문 줄바꿈을 바꾸지 않습니다. printWidth에 맞춰 줄바꿈하려면 "always"로 바꾸세요. 모든 산문 블록을 한 줄로 강제하고 에디터·뷰어의 소프트 랩에 맡기려면 "never"를 쓸 수 있습니다.
- 기본값:
"preserve"
quoteProps
유형: "as-needed" | "consistent" | "preserve"
객체 속성 이름에 따옴표를 언제 쓸지 바꿉니다.
- 기본값:
"as-needed"
semi
유형: boolean
문 끝에 세미콜론을 출력할지 여부입니다.
- 기본값:
true
singleAttributePerLine
유형: boolean
HTML, Vue, JSX에서 속성을 한 줄에 하나씩 강제합니다.
- 기본값:
false
singleQuote
유형: boolean
큰따옴표 대신 작은따옴표를 씁니다.
JSX에는 jsxSingleQuote 옵션을 쓰면 됩니다.
- 기본값:
false .editorconfig.quote_type보다 우선합니다.
sortImports
유형: object | boolean
Import 문을 정렬합니다.
알고리즘은 eslint-plugin-perfectionist/sort-imports와 유사합니다. 세부 내용은 각 필드 설명을 참고하세요.
true나 객체를 넘기면 기본값으로 켜지고, 생략하거나 false로 두면 끕니다.
- 기본값: 꺼짐
sortImports.customGroups
유형: array
아주 특정한 import를 매칭할 사용자 정의 그룹을 정의합니다.
customGroups 목록은 순서가 있습니다: 요소와 처음으로 일치하는 정의가 사용됩니다. 미리 정의된 그룹보다 사용자 정의 그룹의 우선순위가 더 높습니다.
미리 정의된 그룹이 사용자 정의 그룹보다 우선해야 한다면, 미리 정의된 그룹과 동일하게 동작하는 사용자 정의 그룹 정의를 작성해 목록 맨 앞에 두어야 합니다.
elementNamePattern, selector, modifiers 등 여러 조건을 지정하면, import가 사용자 정의 그룹에 맞으려면 모든 조건을 만족해야 합니다(AND).
- 기본값:
[]
sortImports.customGroups[n]
유형: object
sortImports.customGroups[n].elementNamePattern
유형: string[]
기본값: []
이 그룹에 맞춰 import 출처를 매칭할 글로브 패턴 목록입니다.
sortImports.customGroups[n].groupName
유형: string
기본값: ""
groups 옵션에서 쓰는 사용자 정의 그룹 이름입니다.
sortImports.customGroups[n].modifiers
유형: string[]
import 특성에 맞추기 위한 수정자(modifier)입니다. 지정한 수정자는 모두 있어야 합니다(AND).
가능한 값: "side_effect", "type", "value", "default", "wildcard", "named"
sortImports.customGroups[n].selector
유형: string
import 종류에 맞추는 선택자(selector)입니다.
가능한 값: "type", "side_effect_style", "side_effect", "style", "index", "sibling", "parent", "subpath", "internal", "builtin", "external", "import"
sortImports.groups
유형: array
정렬에 쓸 미리 정의된 import 그룹 목록입니다.
각 import에는 groups 옵션에 지정된 단일 그룹이 할당됩니다(없으면 unknown). groups 항목 순서가 그룹 순서를 결정합니다.
한 그룹 안에서는 type, order, ignoreCase 등의 옵션에 따라 멤버가 정렬됩니다.
배열 안에 여러 그룹을 두면 하나로 묶입니다. 그 배열 안의 그룹 순서는 중요하지 않습니다. 묶인 그룹의 모든 멤버는 마치 하나의 그룹인 것처럼 함께 정렬됩니다.
미리 정의된 그룹은 선택자 하나와 0개 이상의 수정자로 표현됩니다. 수정자는 어떤 순서로 적어도 되지만 선택자는 항상 마지막에 둡니다.
선택자 목록은 대략 중요도 순(높은 것→낮은 것)입니다:
type— TypeScript 타입 importside_effect_style— 사이드 이펙트 스타일 importside_effect— 사이드 이펙트 importstyle— 스타일 importindex— 현재 디렉터리의 메인 파일sibling— 같은 디렉터리 모듈parent— 상위 디렉터리 모듈subpath— Node.js 서브패스 importinternal— 내부 모듈builtin— Node.js 빌트인 모듈external— 프로젝트에 설치된 외부 모듈import— 모든 import
수정자 목록은 중요도 순(높은 것→낮은 것)입니다:
side_effect— 사이드 이펙트 importtype— TypeScript 타입 importvalue— 값 importdefault— 기본(default) 지정자를 포함한 importwildcard— 와일드카드(* as) 지정자를 포함한 importnamed— 이름 지정(named) 지정자를 하나 이상 포함한 import기본값: 아래 참고
["builtin", "external", ["internal", "subpath"], ["parent", "sibling", "index"], "style", "unknown"]또 특정 그룹 경계에 대해 전역 newlinesBetween을 덮어쓸 수 있습니다. groups 목록의 원하는 위치에 { "newlinesBetween": boolean } 마커 객체를 넣으면 됩니다.
sortImports.groups[n]
유형: object | array | string
sortImports.groups[n].newlinesBetween
유형: boolean
sortImports.ignoreCase
유형: boolean
대소문자를 구분해 정렬할지 여부입니다.
- 기본값:
true
sortImports.internalPattern
유형: string[]
내부 import를 식별하기 위한 접두사입니다.
자체 모듈과 외부 의존성을 구분할 때 유용합니다.
- 기본값:
["~/", "@/"]
sortImports.newlinesBetween
유형: boolean
그룹 사이에 빈 줄을 넣을지 여부입니다.
false면 그룹 사이에 빈 줄을 넣지 않습니다.
- 기본값:
true
sortImports.order
유형: "asc" | "desc"
오름차순·내림차순 여부입니다.
- 기본값:
"asc"
sortImports.partitionByComment
유형: boolean
주석으로 import를 논리적 그룹으로 나눕니다.
true면 모든 주석을 구분자로 취해 파티션을 만듭니다.
import { b1, b2 } from "b";
// PARTITION
import { a } from "a";
import { c } from "c";- 기본값:
false
sortImports.partitionByNewline
유형: boolean
빈 줄로 import 그룹을 나눕니다.
true면 그룹 사이에 빈 줄이 있을 때 formatter는 import를 정렬하지 않습니다. 논리적으로 나뉜 멤버 그룹의 정의 순서를 유지하는 데 도움이 됩니다.
import { b1, b2 } from "b";
import { a } from "a";
import { c } from "c";- 기본값:
false
sortImports.sortSideEffects
유형: boolean
사이드 이펙트 import를 정렬할지 여부입니다.
기본적으로 보안상 사이드 이펙트 import 정렬은 꺼져 있습니다.
- 기본값:
false
sortPackageJson
유형: object | boolean
package.json 키를 정렬합니다.
이 알고리즘은 prettier-plugin-sort-packagejson과 호환되지 않습니다. 다만 우리는 더 명확하고 탐색하기 쉽다고 봅니다. 세부 내용은 각 필드 설명을 참고하세요.
- 기본값:
true
sortPackageJson.sortScripts
유형: boolean
scripts 필드를 알파벳 순으로 정렬합니다.
- 기본값:
false
sortTailwindcss
유형: object | boolean
Tailwind CSS 클래스를 정렬합니다.
prettier-plugin-tailwindcss와 동일한 알고리즘을 사용합니다. 원본 플러그인의 tailwind 접두사는 생략했습니다(예: tailwindConfig 대신 config). 세부 내용은 각 필드 설명을 참고하세요.
true나 객체를 넘기면 기본값으로 켜고, 생략하거나 false로 두면 끕니다.
- 기본값: 꺼짐
sortTailwindcss.attributes
유형: string[]
class, className 외에 정렬할 속성 이름을 추가로 나열합니다(완전 일치).
참고: 정규식 패턴은 아직 지원하지 않습니다.
- 기본값:
[] - 예:
["myClassProp", ":class"]
sortTailwindcss.config
유형: string
Tailwind CSS 설정 파일(v3) 경로입니다.
참고: 경로는 Oxfmt 설정 파일을 기준으로 해석됩니다.
- 기본값:
"tailwind.config.js"자동 검색
sortTailwindcss.functions
유형: string[]
인자를 정렬해야 하는 사용자 정의 함수 이름 목록입니다(완전 일치).
참고: 정규식 패턴은 아직 지원하지 않습니다.
- 기본값:
[] - 예:
["clsx", "cn", "cva", "tw"]
sortTailwindcss.preserveDuplicates
유형: boolean
중복 클래스를 유지합니다.
- 기본값:
false
sortTailwindcss.preserveWhitespace
유형: boolean
클래스 주변 공백을 유지합니다.
- 기본값:
false
sortTailwindcss.stylesheet
유형: string
Tailwind CSS 스타일시트(v4) 경로입니다.
참고: 경로는 Oxfmt 설정 파일을 기준으로 해석됩니다.
- 기본값: 설치된 Tailwind CSS의
theme.css
tabWidth
유형: integer
들여쓰기 한 단계당 공백 개수입니다.
- 기본값:
2 .editorconfig.indent_size보다 우선합니다(대체로.editorconfig.tab_width).
trailingComma
유형: "all" | "es5" | "none"
여러 줄로 나뉜 쉼표로 구분된 구문 구조에서는 가능한 한 끝에 쉼표를 둡니다.
한 줄짜리 배열 등에는 끝 쉼표가 붙지 않습니다.
- 기본값:
"all"
useTabs
유형: boolean
스페이스 대신 탭으로 들여씁니다.
- 기본값:
false .editorconfig.indent_style보다 우선합니다.
vueIndentScriptAndStyle
유형: boolean
Vue 파일에서 <script>와 <style> 안 코드를 들여쓸지 여부입니다.
- 기본값:
false