콘텐츠로 이동

구성

JSON 스키마 파일 경로를 지정할 수 있습니다.

biome.json에 대한 공식 JSON 스키마 파일을 제공했습니다.

@biomejs/biomenode_modules 폴더에 설치되어 있다면, 패키지의 @biomejs/biome 내에서 상대 경로를 스키마로 지정할 수 있습니다:

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

물리적 파일을 해결하는 데 문제가 있다면, 이 사이트에 게시된 버전을 사용할 수 있습니다:

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

다른 JSON 파일 경로 목록입니다. Biome은 extends 목록에 포함된 파일의 옵션을 해결하고 적용한 후, biome.json에 포함된 옵션을 적용합니다.

소스 파일에 허용되는 최대 크기(바이트 단위). 이 크기를 초과하는 파일은 성능상 이유로 무시됩니다.

기본값: 1048576 (1024*1024, 1MB)

Unix 스타일 쉘 패턴 목록입니다. 해당 패턴과 일치하는 파일과 폴더는 무시됩니다.

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

Unix 스타일 쉘 패턴 목록입니다. 해당 패턴과 일치하는 파일과 폴더만 관리됩니다.

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

예시:

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

src/**/*.js 패턴과 일치하는 파일만 처리되며, scripts/**/*.js 패턴과 일치하는 파일은 무시됩니다.

Biome은 관리할 수 없는 파일을 발견해도 진단을 출력하지 않습니다.

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

기본값: false

Biome을 버전 관리 소프트웨어(VCS)와 통합하기 위한 속성 모음입니다.

Biome이 VCS 클라이언트와 통합될 필요가 있는지 여부

기본값: false

클라이언트 유형입니다.

값:

  • "git"

Biome이 VCS 무시 파일을 사용해야 하는지 여부. true인 경우, 무시 파일에 지정된 파일은 무시됩니다.

Biome이 VCS 파일을 검색해야 하는 폴더입니다. 기본적으로, Biome는 biome.json이 발견된 폴더를 사용합니다.

Biome이 구성 정보를 찾지 못하면 현재 작업 디렉터리를 사용하려고 시도합니다. 현재 작업 디렉터리도 찾지 못하면, Biome는 VCS 통합을 사용하지 않으며 진단 메시지를 출력합니다.

프로젝트의 기본 브랜치입니다. 수정된 파일을 평가할 때 Biome은 이 브랜치를 사용합니다.

Biome의 린터 기능을 활성화합니다.

기본값: true

Unix 스타일 쉘 패턴 목록입니다.

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

Unix 스타일 쉘 패턴 목록입니다. 해당 패턴과 일치하는 파일과 폴더만 관리됩니다.

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

예시:

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

src/**/*.js 패턴과 일치하는 파일만 린팅되고, scripts/**/*.js 패턴과 일치하는 파일은 무시됩니다.

모든 그룹에 대해 추천 규칙을 활성화합니다.

기본값: true

모든 그룹의 모든 규칙을 활성화하거나 비활성화합니다.

recommendedall이 모두 true인 경우, Biome는 진단을 출력하고 기본값으로 되돌립니다.

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

또한 이 플래그를 조합하여 특정 그룹의 규칙을 활성화/비활성화할 수도 있습니다:

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

이 예시에서는 stylecomplexity 그룹을 제외한 모든 규칙이 활성화됩니다.

특정 그룹의 규칙에 영향을 주는 옵션입니다. Biome는 다음 그룹을 지원합니다:

  • 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.
  • 특정 그룹의 추천 규칙을 활성화합니다.

    예시:

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

    특정 그룹의 모든 규칙을 활성화합니다.

    예시:

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

    이 옵션들은 모든 언어에 적용됩니다. 각 언어별 형식 지정 옵션은 아래에서 확인할 수 있습니다.

    Biome의 포메터 기능을 활성화합니다.

    기본값: true

    Unix 스타일 쉘 패턴 목록입니다.

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

    Unix 스타일 쉘 패턴 목록입니다. 해당 패턴과 일치하는 파일과 폴더만 관리됩니다.

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

    예시:

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

    src/**/*.js 패턴과 일치하는 파일만 형식 지정되고, scripts/**/*.js 패턴과 일치하는 파일은 무시됩니다.

    구문 오류가 있는 문서에도 형식을 적용합니다.

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

    기본값: false

    들여쓰기 스타일입니다. "tab" 또는 "space" 중 하나입니다.

    기본값: "tab"

    이 옵션은 사용되지 않습니다. 대신 formatter.indentWidth를 사용하세요.

    사용되지 않음

    들여쓰기 크기입니다.

    기본값: 2

    들여쓰기 크기입니다.

    기본값: 2

    행 종료 방식입니다.

    • "lf", 줄 바꿈 문자만 (\n), Linux 및 macOS, 그리고 git 저장소에서 일반적;
    • "crlf", 캐리지 리턴 + 줄 바꿈 (\r\n), Windows에서 일반적;
    • "cr", 캐리지 리턴만 (\r), 거의 사용되지 않음.

    기본값: "lf"

    한 줄에 작성할 수 있는 문자 수입니다.

    기본값: 80

    HTML 유사 언어에서 속성의 위치 스타일입니다.

    • "auto", 속성이 자동으로 형식 지정되며, 특정 조건을 충족할 때만 여러 줄로 압축됩니다;
    • "multiline", 1개 이상의 속성이 사용될 경우 속성을 여러 줄로 압축합니다.

    기본값: "auto"

    Biome이 .editorconfig 파일을 사용하여 형식 지정 옵션을 결정할지 여부. true인 경우 .editorconfig 파일의 적용 가능한 옵션이 사용되지만, biome.json 파일의 설정이 우선순위를 가집니다.

    Prettier에서 마이그레이션할 때 biome migrate를 사용하면 이 옵션이 true로 설정되어, Prettier의 동작과 일치하도록 합니다.

    기본값: false

    Biome의 임포트 정렬 기능을 활성화합니다.

    기본값: true

    Unix 스타일 쉘 패턴 목록입니다. 해당 패턴과 일치하는 파일과 폴더는 무시됩니다.

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

    Unix 스타일 쉘 패턴 목록입니다. 해당 패턴과 일치하는 파일과 폴더만 관리됩니다.

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

    예시:

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

    src/**/*.js 패턴과 일치하는 파일만 임포트가 정렬되고, scripts/**/*.js 패턴과 일치하는 파일은 무시됩니다.

    이 옵션들은 단지 자바스크립트(및 타입스크립트) 파일에 적용됩니다.

    javascript.parser.unsafeParameterDecoratorsEnabled

    섹션 제목: “javascript.parser.unsafeParameterDecoratorsEnabled”

    안전하지 않은/실험적인 파라미터 데코레이터를 지원합니다.

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

    기본값: false

    문자 리터럴 표현 시 사용하는 따옴표 유형입니다. "single" 또는 "double" 중 하나입니다.

    기본값: "double"

    JSX 문자 리터럴 표현 시 사용하는 따옴표 유형입니다. "single" 또는 "double" 중 하나입니다.

    기본값: "double"

    객체 내 속성이 따옴표로 감싸질 필요가 있는지 여부입니다. "asNeeded" 또는 "preserve" 중 하나입니다.

    기본값: "asNeeded"

    이 옵션은 사용되지 않습니다. 대신 javascript.formatter.trailingCommas를 사용하세요.

    사용되지 않음

    여러 줄로 분리된 구조에서 가능한 한 항상 마지막 쉼표를 출력합니다. 가능한 값:

    • "all", 항상 마지막 쉼표를 추가합니다;
    • "es5", 이전 자바스크립트 버전과 호환되는 곳에만 마지막 쉼표를 추가합니다;
    • "none", 항상 마지막 쉼표를 추가하지 않습니다.

    기본값: "all"

    여러 줄로 분리된 구조에서 가능한 한 항상 마지막 쉼표를 출력합니다. 가능한 값:

    • "all", 항상 마지막 쉼표를 추가합니다;
    • "es5", 이전 자바스크립트 버전과 호환되는 곳에만 마지막 쉼표를 추가합니다;
    • "none", 항상 마지막 쉼표를 추가하지 않습니다.

    기본값: "all"

    포메터가 세미콜론을 어디에 삽입할지 설정합니다:

    • "always", 각 선언의 끝에 항상 세미콜론을 추가합니다;
    • "asNeeded", ASI 보호를 위해 필요한 경우에만 세미콜론을 추가합니다.

    기본값: "always"

    예시:

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

    화살표 함수에 불필요한 괄호를 추가할지 여부:

    • "always", 항상 괄호를 추가합니다;
    • "asNeeded", 필요한 경우에만 괄호를 추가합니다.

    기본값: "always"

    Biome의 포메터를 자바스크립트 파일(및 그 상위 언어)에 활성화합니다.

    기본값: true

    자바스크립트 파일(및 그 상위 언어)에 대한 들여쓰기 스타일입니다. "tab" 또는 "space" 중 하나입니다.

    기본값: "tab"

    이 옵션은 사용되지 않습니다. 대신 javascript.formatter.indentWidth를 사용하세요.

    사용되지 않음

    자바스크립트 파일(및 그 상위 언어)에 대한 들여쓰기 크기입니다.

    기본값: 2

    자바스크립트 파일(및 그 상위 언어)에 대한 들여쓰기 크기입니다.

    기본값: 2

    자바스크립트 파일(및 그 상위 언어)에 대한 행 종료 방식입니다.

    • "lf", 줄 바꿈 문자만 (\n), Linux 및 macOS, 그리고 git 저장소에서 일반적;
    • "crlf", 캐리지 리턴 + 줄 바꿈 (\r\n), Windows에서 일반적;
    • "cr", 캐리지 리턴만 (\r), 거의 사용되지 않음.

    기본값: "lf"

    자바스크립트 파일(및 그 상위 언어)에서 한 줄에 작성할 수 있는 문자 수입니다.

    기본값: 80

    다중 줄 JSX 요소의 끝 >가 속성의 마지막 줄에 배치되는지 여부를 선택합니다.

    기본값: false

    괄호와 내부 값 사이에 공백을 추가할지 여부를 선택합니다.

    기본값: true

    JSX 요소의 속성 위치 스타일입니다.

    • "auto", 한 줄에 하나의 속성만 강제하지 않습니다.
    • "multiline", 한 줄에 하나의 속성을 적용합니다.

    기본값: "auto"

    Biome이 무시해야 하는 전역 이름 목록입니다 (분석기, 린터 등).

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

    JSX를 해석하기 위해 사용되는 실행 시간 또는 변환 유형을 나타냅니다.

    • "transparent" — 현대적 또는 네이티브인 JSX 환경을 나타내며, Biome이 특별한 처리가 필요하지 않습니다.
    • "reactClassic"React의 수입이 필요한 고전적인 리액트 환경을 나타냅니다. 타입스크립트의 [tsconfig.json] 옵션 jsx의 값 react와 동일합니다. (https://www.typescriptlang.org/tsconfig#jsx)
    biome.json
    {
    "javascript": {
    "jsxRuntime": "reactClassic"
    }
    }

    옛날과 새로운 JSX 실행 시간에 대한 자세한 내용은 다음을 참조하세요: https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html

    기본값: "transparent"

    Biome의 린터를 자바스크립트 파일(및 그 상위 언어)에 활성화합니다.

    기본값: true

    JSON 파일에 적용되는 옵션입니다.

    JSON 파일에서 주석 분석을 활성화합니다.

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

    JSON 파일에서 마지막 쉼표 분석을 활성화합니다.

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

    Biome의 포메터를 JSON 파일(및 그 상위 언어)에 활성화합니다.

    기본값: true

    JSON 파일(및 그 상위 언어)에 대한 들여쓰기 스타일입니다. "tab" 또는 "space" 중 하나입니다.

    기본값: "tab"

    이 옵션은 사용되지 않습니다. 대신 json.formatter.indentWidth를 사용하세요.

    사용되지 않음

    JSON 파일(및 그 상위 언어)에 대한 들여쓰기 크기입니다.

    기본값: 2

    JSON 파일(및 그 상위 언어)에 대한 들여쓰기 크기입니다.

    기본값: 2

    JSON 파일(및 그 상위 언어)에 대한 행 종료 방식입니다.

    • "lf", 줄 바꿈 문자만 (\n), Linux 및 macOS, 그리고 git 저장소에서 일반적;
    • "crlf", 캐리지 리턴 + 줄 바꿈 (\r\n), Windows에서 일반적;
    • "cr", 캐리지 리턴만 (\r), 거의 사용되지 않음.

    기본값: "lf"

    JSON 파일(및 그 상위 언어)에서 한 줄에 작성할 수 있는 문자 수입니다.

    기본값: 80

    여러 줄로 분리된 구조에서 가능한 한 항상 마지막 쉼표를 출력합니다.

    허용되는 값:

    • "none": 마지막 쉼표를 제거합니다;
    • "all": 마지막 쉼표를 유지하고 선호합니다.

    기본값: "none"

    Biome의 린터를 JSON 파일(및 그 상위 언어)에 활성화합니다.

    기본값: true

    CSS 파일에 적용되는 옵션입니다.

    CSS 모듈 분석을 활성화합니다.

    기본값: false

    Biome의 포메터를 CSS 파일(및 그 상위 언어)에 활성화합니다.

    기본값: false

    CSS 파일(및 그 상위 언어)에 대한 들여쓰기 스타일입니다. "tab" 또는 "space" 중 하나입니다.

    기본값: "tab"

    CSS 파일(및 그 상위 언어)에 대한 들여쓰기 크기입니다.

    기본값: 2

    CSS 파일(및 그 상위 언어)에 대한 행 종료 방식입니다.

    • "lf", 줄 바꿈 문자만 (\n), Linux 및 macOS, 그리고 git 저장소에서 일반적;
    • "crlf", 캐리지 리턴 + 줄 바꿈 (\r\n), Windows에서 일반적;
    • "cr", 캐리지 리턴만 (\r), 거의 사용되지 않음.

    기본값: "lf"

    CSS 파일(및 그 상위 언어)에서 한 줄에 작성할 수 있는 문자 수입니다.

    기본값: 80

    문자 리터럴 표현 시 사용하는 따옴표 유형입니다. "single" 또는 "double" 중 하나입니다.

    기본값: "double"

    Biome의 린터를 CSS 파일(및 그 상위 언어)에 활성화합니다.

    기본값: false

    패턴 목록입니다.

    이 설정을 사용하여 특정 파일에 대한 도구 행동을 변경합니다.

    파일이 오버라이드 패턴과 비교될 때, 해당 패턴에 지정된 구성은 상위 구성에 의해 덮어씌워집니다.

    패턴 순서는 중요합니다. 파일이 _세 개_의 패턴과 일치할 수 있다면, 가장 먼저 일치하는 것만 사용됩니다.

    Unix 스타일 쉘 패턴 목록입니다. 해당 패턴과 일치하는 파일은 오버라이드가 적용되지 않습니다.

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

    Unix 스타일 쉘 패턴 목록입니다. 해당 패턴과 일치하는 파일에만 오버라이드가 적용됩니다.

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

    상위 레벨 포메터의 설정 옵션을 포함하며, ignoreinclude는 제외합니다.

    예를 들어, generated/** 경로 글로브에 포함된 일부 파일에 대해 lineWidth, indentStyle 포메터를 수정할 수 있습니다:

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

    상위 레벨 린터의 설정 옵션을 포함하며, ignoreinclude는 제외합니다.

    특정 글로브 경로에 대해 일부 규칙을 비활성화하고, 다른 글로브 경로에 대해 린터를 비활성화할 수 있습니다:

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

    상위 레벨 임포트 정렬의 옵션을 포함하며, ignoreinclude는 제외합니다.

    상위 레벨 자바스크립트의 설정 옵션을 포함합니다.

    특정 폴더에서 자바스크립트 파일의 형식 지정 동작을 변경할 수 있습니다:

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

    상위 레벨 JSON의 설정 옵션을 포함합니다.

    특정 JSON 파일에 대해 구문 분석 기능을 활성화할 수 있습니다:

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