콘텐츠로 이동

언어 지원

설명:

  • ✅: 사용 가능
  • 🚫: 진행 중 아님
  • ⌛️: 진행 중
  • ⚠️: 부분적으로 사용 가능 (일부 제한 사항 있음)
언어구문 분석형식 지정린팅
JavaScript
TypeScript
JSX
TSX
JSON
JSONC
HTML
Vue⚠️⚠️⚠️
Svelte⚠️⚠️⚠️
Astro⚠️⚠️⚠️
CSS✅️✅️✅️
YAML⌛️🚫🚫
GraphQL✅️✅️✅️
Markdown⌛️🚫🚫

Biome는 언어의 ES2024 버전을 지원합니다.

Biome는 공식적인 문법만을 지원합니다. 팀은 새로운 문법 개발을 시작할 때, 해당 제안이 단계 3에 도달했을 때부터 시작합니다.

Biome는 TypeScript 5.6 버전을 지원합니다.

JSONC는 “주석이 포함된 JSON”의 약자입니다. 이 형식은 VS Code, TypeScript, Babel 등 다양한 도구에서 널리 사용됩니다. 이를 통해 사용자는 구성 파일에 주석을 추가할 수 있기 때문입니다. 그러나 JSONC는 엄격한 표준으로 정의되지 않았기 때문에, 서로 다른 도구들이 파일 내 마지막 쉼표를 처리하는 방식에 일부 차이가 있습니다. 따라서 Biome는 특정한 JSONC 언어 설정을 제공하지 않습니다. 대신, json.parser.allowComments, json.parser.allowTrailingCommas, json.formatter.trailingCommas와 같은 옵션을 통해 기존의 JSON 분석 및 형식 지정 기능을 강화했습니다. 이러한 접근 방식을 통해 Biome는 다양한 형태의 JSON 파일을 효과적으로 지원할 수 있습니다.

.jsonc 확장자 또는 언어 식별자에 따라 jsonc로 식별되는 파일에 대해, Biome는 다음 기본 설정을 자동으로 적용하여 파싱 및 형식 지정합니다:

  • json.parser.allowComments: true
  • json.parser.allowTrailingCommas: true
  • json.formatter.trailingCommas: none

다른 일부 알려진 파일들인 tsconfig.json.babelrc.jsonc 확장자를 사용하지 않지만, 주석과 마지막 쉼표를 허용합니다. 반면, .eslintrc.json과 같은 파일은 주석만 허용합니다. Biome는 이러한 파일들을 인식하고, 적절하게 json.parser.allowTrailingCommas 옵션을 조정하여 올바르게 분석되도록 합니다.

이 섹션에서는 Biome가 인식할 수 있는 전체 파일 목록을 확인할 수 있습니다.

버전 1.6.0부터, 이 언어들은 부분적으로 지원됩니다. 시간이 지남에 따라 기능이 향상될 것이며, 프로젝트에 맞춰 더 많은 설정 옵션을 제공할 예정입니다. 현재는 몇 가지 기대사항과 제한 사항을 고려해야 합니다:

  • .astro 파일의 경우, 본문 부분(main content)만 지원됩니다.

  • .vue.svelte 파일의 경우, <script> 태그에 해당하는 부분만 지원됩니다.

  • 진단 결과는 위에서 언급한 부분에 속하는 코드 블록만 표시됩니다.

  • .vue.svelte 파일을 형식 지정할 때, 자바스크립트/타입스크립트 코드의 들여쓰기는 시작 위치에서 시작됩니다.

    file.vue
    <script>
    import Component from "./Component.vue";
    import Component from "./Component.vue";
    </script>
  • .svelte, .astro, .vue 파일을 린팅할 때, 컴파일 오류를 방지하기 위해 일부 규칙을 비활성화하는 것이 권장됩니다. 이를 위해 overrides 옵션을 사용하세요:

    {
    "overrides": [
    {
    "includes": ["**/*.svelte", "**/*.astro", "**/*.vue"],
    "linter": {
    "rules": {
    "style": {
    "useConst": "off",
    "useImportType": "off"
    },
    "correctness": {
    "noUnusedVariables": "off",
    "noUnusedImports": "off"
    }
    }
    }
    }
    ]
    }