Wsparcie języków
Legenda:
- ✅: Obsługiwane
- 🚫: Nie w trakcie realizacji
- ⌛️: W trakcie realizacji
- 🟡: Eksperymentalne
| Język | Parsowanie | Formatowanie | Lintowanie | Wsparcie wtyczek |
|---|---|---|---|---|
| JavaScript | ✅ | ✅ | ✅ | ✅ |
| TypeScript | ✅ | ✅ | ✅ | ✅ |
| JSX | ✅ | ✅ | ✅ | ✅ |
| TSX | ✅ | ✅ | ✅ | ✅ |
| JSON | ✅ | ✅ | ✅ | 🚫 |
| JSONC | ✅ | ✅ | ✅ | 🚫 |
| HTML | ✅ | ✅ | ✅ | ✅ |
| Vue | 🟡 | 🟡 | 🟡 | 🟡 |
| Svelte | 🟡 | 🟡 | 🟡 | 🟡 |
| Astro | 🟡 | 🟡 | 🟡 | 🟡 |
| CSS | ✅️ | ✅️ | ✅️ | ✅ |
| YAML | ⌛️ | 🚫 | 🚫 | 🚫 |
| GraphQL | ✅️ | ✅️ | ✅️ | 🚫 |
| Markdown | ⌛️ | 🚫 | 🚫 | 🚫 |
| GritQL | ✅️ | ✅️ | 🚫 | 🚫 |
Wsparcie JavaScript
Dział zatytułowany „Wsparcie JavaScript”Biome obsługuje wersję ES2024 języka.
Biome obsługuje tylko oficjalną składnię. Zespół rozpoczyna rozwój nowej składni, gdy propozycja osiągnie Stage 3.
Wsparcie TypeScript
Dział zatytułowany „Wsparcie TypeScript”Biome obsługuje TypeScript w wersji 5.6.
Wsparcie JSONC
Dział zatytułowany „Wsparcie JSONC”JSONC oznacza “JSON z komentarzami” (JSON with Comments). Ten format jest szeroko używany przez różne narzędzia, takie jak VS Code, TypeScript, Babel itp., ponieważ pozwala użytkownikom dodawać komentarze do plików konfiguracyjnych. Jednakże, ponieważ JSONC nie jest ściśle zdefiniowanym standardem, istnieją pewne różnice w sposobie, w jaki różne narzędzia obsługują końcowe przecinki w plikach JSONC. Aby to uwzględnić, Biome nie udostępnia dedykowanej konfiguracji języka dla JSONC. Zamiast tego rozszerzyliśmy nasze możliwości parsowania i formatowania JSON o opcje takie jak json.parser.allowComments, json.parser.allowTrailingCommas i json.formatter.trailingCommas. To podejście pozwala Biome skutecznie obsługiwać różne warianty plików JSON.
Dla plików z rozszerzeniem .jsonc lub tych zidentyfikowanych jako jsonc zgodnie z identyfikatorem języka, Biome automatycznie stosuje następujące domyślne ustawienia do parsowania i formatowania:
json.parser.allowComments:truejson.parser.allowTrailingCommas:truejson.formatter.trailingCommas:none
Należy pamiętać, że niektóre znane pliki, takie jak tsconfig.json i .babelrc, nie używają rozszerzenia .jsonc, ale nadal zezwalają na komentarze i końcowe przecinki. Podczas gdy inne, takie jak .eslintrc.json, zezwalają tylko na komentarze. Biome jest w stanie zidentyfikować te pliki i odpowiednio dostosować opcję json.parser.allowTrailingCommas, aby zapewnić ich prawidłowe parsowanie.
Ta sekcja zawiera pełną listę znanych plików, które Biome może rozpoznać.
Wsparcie super języków HTML
Dział zatytułowany „Wsparcie super języków HTML”Od wersji v2.3.0 Biome obsługuje pliki Vue, Svelte i Astro od razu po instalacji. Oznacza to, że Biome jest w stanie formatować i lintować części HTML, CSS i JavaScript plików.
Jednakże, to wsparcie należy uznać za eksperymentalne i podlega zmianom i ulepszeniom. W wersji v2.3.0 wprowadziliśmy architekturę umożliwiającą tę funkcję, jednak niektóre reguły formatowania i lintowania muszą zostać dostosowane.
W szczególności, na dzień v2.3.0, Biome nie wykonuje żadnego specjalnego parsowania dla składni specyficznej dla języka, na przykład składni sterowania przepływem Svelte np. {#if } {/if}. Oznacza to, że formatowanie może nie spełniać oczekiwań, a reguły lintowania mogą nie wykrywać niektórych przypadków.
Reguły lintowania działające w ramach języków osadzonych nie są jeszcze obsługiwane.
Lintowanie języków podobnych do HTML
Dział zatytułowany „Lintowanie języków podobnych do HTML”Niektóre reguły lintowania nie działają jeszcze poza granicami języków. Na przykład w następującym pliku .vue reguła noUnusedVariables oznaczy fałszywie pozytywnie greeting:
<script setup lang="ts"> const greeting = "hello world"</script>
<template> <h1>{{ greeting }}</h1></template>Podczas lintowania plików .svelte, .astro lub .vue zaleca się wyłączenie kilku dodatkowych reguł, aby zapobiec fałszywie pozytywnym błędom lintowania spowodowanym naszym częściowym wsparciem. Użyj do tego opcji overrides:
{ "overrides": [ { "includes": ["**/*.svelte", "**/*.astro", "**/*.vue"], "linter": { "rules": { "style": { "useConst": "off", "useImportType": "off" }, "correctness": { "noUnusedVariables": "off", "noUnusedImports": "off" } } } } ]}Formatowanie z różnymi ustawieniami
Dział zatytułowany „Formatowanie z różnymi ustawieniami”W Biome możesz kontrolować formatowanie różnych języków. Teraz, gdy Biome może przetwarzać wiele języków w tym samym pliku, szanse na niespójności mogą wzrosnąć w zależności od konfiguracji.
Na przykład możesz zaryzykować, że plik będzie zawierał mieszankę tabulatorów i spacji podczas formatowania pliku podobnego do HTML, który zawiera kod JavaScript i CSS, jak w poniższym przykładzie (zakładamy, że pełne wsparcie jest włączone):
{ "javascript": { "format": { "indentStyle": "tab" } }, "css": { "format": { "indentStyle": "space", "indentWidth": 4 } }}Utworzyliśmy dyskusję na GitHubie, aby rozwiązać ten problem, dołącz do dyskusji i daj nam znać, co o tym myślisz.
Copyright (c) 2023-present Biome Developers and Contributors.