Usando o Biome em projetos grandes
O Biome disponibiliza algumas ferramentas que podem ajudar você a utilizá-lo em projetos grandes, como ambientes de trabalho com múltiplos projetos ou em projetos monorepos.
Usando múltiplos arquivos de configuração
Section titled Usando múltiplos arquivos de configuraçãoQuando você utiliza o Biome - seja com a CLI ou com o LSP - ele busca o arquivo de configuração mais próximo usando o diretório de trabalho atual.
Se o Biome não encontrar o arquivo de configuração no diretório, ele começa a procurar nos diretórios pai até encontrar um arquivo de configuração.
Você pode aproveitar essa funcionalidade para aplicar diferentes configuração baseado no projeto/pasta.
Vamos supor que nós temos um projeto que contém um aplicativo backend e um novo aplicativo frontend.
Isso signifca que quando você executa um script do arquivo app/backend/package.json
, o Biome vai usar o arquivo de configuração app/backend/biome.json
.
Quando você executa um script do arquivo app/frontend/legacy-app/package.json
ou app/frontend/new-app/package.json
, o Biome vai usar o arquivo de configuração app/frontend/biome.json
.
Compartilhando o arquivo de configuração
Section titled Compartilhando o arquivo de configuraçãoÉ possível usar a opção de configuração extends
para dividir opções entre vários arquivos.
Vamos supor que temos esses requisitos:
- O projeto
legacy-app
deve ser formatado usando espaços; - Os projetos
backend
enew-app
devem ser formatados usando tabulações; - Todos os projetos devem ser formatados com uma largura de linha de 120 caracteres;
- O projeto
backend
precisa de algumas verficações adicionais;
Começamos criando um novo arquivo de configuração em app/biome.json
, e colocamos nele as opções compartilhadas:
Agora, vamos mover app/frontend/biome.json
para app/frontend/legacy-app/
, pois é lá que precisamos usar uma formatação diferente.
Em seguida, falamos para o Biome herdar todas as opções do arquivo principal app/biome.json
, utilizando a propriedade extends
:
Vamos para o arquivo app/backend/biome.json
, onde precisamos habilitar o linting: