Konfiguracja Biome
Ten przewodnik pomoże Ci zrozumieć, jak skonfigurować Biome. Wyjaśnia strukturę pliku konfiguracyjnego Biome i jak Biome rozwiązuje swoją konfigurację. Jeśli już znasz konfigurację, możesz zajrzeć do odniesienia do konfiguracji, które szczegółowo opisuje wszystkie dostępne opcje.
Biome pozwala dostosować swoje zachowanie za pomocą opcji CLI lub pliku konfiguracyjnego o nazwie biome.json lub biome.jsonc.
Zalecamy utworzenie pliku konfiguracyjnego dla każdego projektu.
Zapewnia to, że każdy członek zespołu ma tę samą konfigurację w CLI i w każdym edytorze, który umożliwia integrację Biome.
Wiele opcji dostępnych w pliku konfiguracyjnym jest również dostępnych w CLI.
Struktura pliku konfiguracyjnego
Dział zatytułowany „Struktura pliku konfiguracyjnego”Plik konfiguracyjny Biome nazywa się biome.json lub biome.jsonc. Zazwyczaj jest
umieszczany w katalogu głównym projektu, obok pliku package.json projektu.
Ponieważ Biome jest zestawem narzędzi, jego konfiguracja jest zorganizowana wokół narzędzi, które
dostarcza. W tej chwili Biome dostarcza trzy narzędzia: formater, linter
i assist. Wszystkie te narzędzia są domyślnie włączone. Możesz wyłączyć jedno
lub kilka z nich używając pola <tool>.enabled:
{ "$schema": "https://biomejs.dev/schemas/2.0.5/schema.json", "formatter": { "enabled": false }, "linter": { "enabled": false }, "assist": { "enabled": false }}Opcje, które dotyczą więcej niż jednego języka, są umieszczane w odpowiednim polu narzędzia.
Opcje specyficzne dla języka narzędzia są umieszczane pod polem <language>.<tool>.
Pozwala to również na nadpisywanie ogólnych opcji dla danego języka.
Możesz również włączać lub wyłączać narzędzie w zależności od języka.
W poniższym przykładzie konfigurujemy ogólne opcje formatter.indentStyle i formatter.lineWidth dla wszystkich języków.
Ponadto ustawiamy opcję specyficzną dla JavaScript quoteStyle w javascript.formatter i nadpisujemy formatter.lineWidth.
Wyłączyliśmy formater dla plików JSON.
{ "formatter": { "indentStyle": "space", // default is `tab` "lineWidth": 100 // default is `80` }, "javascript": { "formatter": { "quoteStyle": "single", // default is `double` "lineWidth": 120 // override `formatter.lineWidth` } }, "json": { "formatter": { "enabled": false } }}Rozwiązywanie pliku konfiguracyjnego
Dział zatytułowany „Rozwiązywanie pliku konfiguracyjnego”Biome używa automatycznego wykrywania, aby znaleźć najbliższy plik konfiguracyjny. Szuka w
katalogu roboczym i jego folderach nadrzędnych, aż znajdzie plik biome.json lub
biome.jsonc. Jeśli nie znajdzie konfiguracji, używana jest domyślna konfiguracja
Biome. Jeśli zarówno biome.json, jak i biome.jsonc są obecne w tym samym folderze,
używany jest biome.json.
Oto przykład:
Folderapp/
Folderbackend/
- biome.json
- package.json
Folderfrontend/
Folderlegacy/
- package.json
Foldernew/
- package.json
- biome.json
- Polecenia Biome uruchamiane w
app/backend/package.jsonbędą używać pliku konfiguracyjnegoapp/backend/biome.json; - Polecenia Biome uruchamiane w
app/frontend/legacy/package.jsoniapp/frontend/new/package.jsonbędą używać pliku konfiguracyjnegoapp/frontend/biome.json;
Określanie plików do przetworzenia
Dział zatytułowany „Określanie plików do przetworzenia”Możesz kontrolować pliki/foldery do przetworzenia przy użyciu różnych strategii, czy to CLI, konfiguracji czy VCS.
Dołącz pliki przez CLI
Dział zatytułowany „Dołącz pliki przez CLI”Pierwszym sposobem kontrolowania, które pliki i foldery są przetwarzane przez Biome, jest
wymienienie ich w CLI. W poniższym poleceniu formatujemy tylko file1.js i
wszystkie pliki w folderze src, ponieważ foldery są przeszukiwane rekurencyjnie.
biome format file1.js src/Kontroluj pliki przez konfigurację
Dział zatytułowany „Kontroluj pliki przez konfigurację”Plik konfiguracyjny Biome może być używany do doprecyzowania, które pliki są przetwarzane.
Możesz jawnie wymienić pliki do przetworzenia używając
pola files.includes.
files.includes akceptuje
wzorce glob takie jak
src/**/*.js. Negowane wzorce zaczynające się od ! mogą być używane do wykluczenia plików.
Ścieżki i globs wewnątrz pliku konfiguracyjnego Biome są rozwiązywane względem folderu, w którym znajduje się plik konfiguracyjny. Wyjątkiem jest sytuacja, gdy plik konfiguracyjny jest rozszerzany przez inny.
files.includes dotyczy wszystkich narzędzi Biome, co oznacza, że pliki określone
tutaj są przetwarzane przez linter, formater i assist, chyba że określono
inaczej. Dla poszczególnych narzędzi możesz dalej precyzować pasujące pliki
używając <tool>.includes.
Dołącz pliki przez konfigurację
Dział zatytułowany „Dołącz pliki przez konfigurację”Weźmy następującą konfigurację, w której chcemy dołączyć tylko pliki JavaScript (.js), które są w
folderze src/, folderze test/ i ignorować pliki, które mają .min.js w swojej nazwie:
{ "files": { "includes": ["src/**/*.js", "test/**/*.js", "!**/*.min.js"] }, "linter": { "includes": ["**", "!test/**"] }}I uruchom następujące polecenie:
biome format test/Polecenie sformatuje pliki, które kończą się rozszerzeniem .js i nie
kończą się rozszerzeniem .min.js z folderu test/.
Pliki w src/ nie są formatowane, ponieważ folder nie jest wymieniony w
CLI.
Jeśli uruchomimy następujące polecenie, żadne pliki nie są lintowane, ponieważ pliki w
folderze test/ są jawnie ignorowane dla lintera.
biome lint test/Wyklucz pliki przez konfigurację
Dział zatytułowany „Wyklucz pliki przez konfigurację”Jeśli chcesz wykluczyć pliki i foldery z przetwarzania przez Biome, możesz użyć konfiguracji files.includes
i użyć negowanych wzorców, używając wiodącego !.
Przed wymienieniem negowanych globów, muszą być poprzedzone wzorcem **.
W poniższym przykładzie mówimy Biome, aby dołączyć wszystkie pliki, z wyjątkiem tych w
dowolnym folderze dist/, a także tych, które kończą się na .generated.js:
{ "files": { "includes": [ "**", "!**/dist", "!**/*.generated.js" ] }}Kontroluj pliki przez VCS
Dział zatytułowany „Kontroluj pliki przez VCS”Możesz ignorować pliki ignorowane przez Twój VCS.
Dobrze znane pliki
Dział zatytułowany „Dobrze znane pliki”Oto niektóre dobrze znane pliki, które specjalnie traktujemy na podstawie ich nazw plików, a nie ich rozszerzeń. Obecnie dobrze znane pliki to tylko pliki podobne do JSON, ale możemy poszerzyć listę o inne typy, gdy będziemy wspierać nowe parsery.
Następujące pliki są parsowane jako pliki JSON z obiema opcjami json.parser.allowComments i json.parser.allowTrailingCommas ustawionymi na false.
.all-contributorsrc.arcconfig.auto-changelog.bowerrc.c8rc.htmlhintrc.imgbotconfig.jslintrc.nycrc.tern-config.tern-project.vuerc.watchmanconfigmcmod.info
Następujące pliki są parsowane jako pliki JSON z opcją json.parser.allowComments ustawioną na true, ale json.parser.allowTrailingCommas ustawioną na false. Dzieje się tak, ponieważ narzędzia konsumujące te pliki mogą tylko usuwać komentarze.
.ember-cli.eslintrc.json.jscsrc.jshintrctslint.jsonturbo.json
Następujące pliki są parsowane jako pliki JSON z opcjami json.parser.allowComments i json.parser.allowTrailingCommas ustawionymi na true. Dzieje się tak, ponieważ narzędzia konsumujące te pliki są zaprojektowane tak, aby uwzględniać takie ustawienia.
.babelrc.babelrc.json.devcontainer.json.hintrc.hintrc.json.swcrcapi-documenter.jsonapi-extractor.jsonbabel.config.jsondeno.jsondevcontainer.jsondprint.jsonjsconfig.jsonjsr.jsonlanguage-configuration.jsonnx.jsonproject.jsontsconfig.jsontypedoc.jsontypescript.json
Copyright (c) 2023-present Biome Developers and Contributors.