Como usar um tsconfig.json local para personalizar a checagem do TypeScript sem influenciar seus colegas
Tags: tutorial, typescript, productivity, javascript
Published: 2024-01-18 12:17:29

# Como usar um tsconfig.json local para personalizar a checagem do TypeScript sem influenciar seus colegas

Sabemos que o TypeScript é uma linguagem de programação que adiciona tipos estáticos ao JavaScript, permitindo que os desenvolvedores detectem erros em tempo de compilação e escrevam código mais legível e seguro. No entanto, nem todos os desenvolvedores concordam com as mesmas regras de checagem do TypeScript ou até mesmo se ele deve ou não estar presente no projeto, portanto, pode ser útil ter um conjunto de regras personalizadas para as suas próprias preferências.

Neste post, vou mostrar como você pode usar um arquivo tsconfig.json local para aplicar suas próprias regras à checagem do TypeScript, sem afetar as regras dos seus colegas de trabalho, utilizando um arquivo .gitignore global.

## O que é um tsconfig.json?

Um arquivo tsconfig.json é um arquivo JSON que especifica as opções de compilação do TypeScript para um projeto. Ele permite que você configure aspectos como o nível de rigor da checagem de tipos, os módulos que você quer usar, os caminhos dos arquivos de entrada e saída, e muito mais. Você pode ver a lista completa das opções disponíveis na [documentação oficial do TypeScript](https://www.typescriptlang.org/pt/docs/handbook/tsconfig-json.html#vis%C3%A3o-geral).

Um ou mais arquivos tsconfig.json podem ser colocado na raiz do seu projeto ou em qualquer subdiretório dele. O TypeScript procura um arquivo tsconfig.json mais próximo do arquivo que está sendo compilado, e usa as opções nele definidas. Se nenhum arquivo tsconfig.json for encontrado, o TypeScript vai usar as opções padrão.

## Por que usar um tsconfig.json local?

Às vezes, você pode querer ter um conjunto de opções diferente do arquivo tsconfig.json padrão do seu projeto. Por exemplo, você pode querer habilitar ou desabilitar algumas regras de checagem de tipos, alterar o alvo da compilação, ou experimentar novas funcionalidades do TypeScript.

No entanto, se você simplesmente modificar o arquivo tsconfig.json existente no seu projeto, você pode acabar causando problemas para os seus colegas de trabalho. Eles podem não concordar com as suas mudanças, ou podem ter dificuldades para compilar ou executar o código com as novas opções.

Uma solução para esse problema é usar um arquivo tsconfig.json local, que só afeta a sua própria máquina e não é compartilhado com os outros desenvolvedores. Dessa forma, você pode personalizar a checagem do TypeScript sem interferir no trabalho dos outros.

## Como usar um tsconfig.json local?

Para usar um arquivo tsconfig.json local, você precisa seguir alguns passos simples:

1. Crie um arquivo tsconfig.local.json na raiz do seu projeto. Você pode copiar o conteúdo do arquivo tsconfig.json padrão do seu projeto e modificá-lo conforme a sua preferência, simplesmente [estendê-lo](https://www.typescriptlang.org/tsconfig#extends), ou criar um novo arquivo com as opções que você quer usar.
2. Adicione o nome do seu arquivo tsconfig.json local ao arquivo .gitignore global do seu sistema. Um arquivo .gitignore global é um arquivo que especifica quais arquivos ou diretórios devem ser ignorados pelo Git em todos os seus repositórios locais. Caso você não possua um, basta criar um arquivo chamado .gitignore em qualquer pasta do sistema e rodar o comando `git config --global core.excludesfile <path-do-arquivo-criado>`, por exemplo, caso eu tenha criado o arquivo .gitignore na pasta home do sistema eu poderia rodar `git config --global core.excludesfile ~/.gitignore`. Ao adicionar o nome do seu arquivo tsconfig.json local ao arquivo .gitignore global, você evita que ele seja rastreado ou enviado para o repositório remoto de todos os seus projetos.
3. Use o seu editor de código favorito ou a [linha de comando](https://www.typescriptlang.org/docs/handbook/compiler-options.html#using-the-cli) para checar os seus arquivos TypeScript com o seu arquivo tsconfig.json local. Você pode especificar qual arquivo tsconfig.json você quer usar com a opção `--project` ou `-p` do comando `tsc`. Por exemplo, se o seu arquivo tsconfig.json pessoal se chama tsconfig.local.json, você pode compilar os seus arquivos TypeScript com o comando `tsc -p tsconfig.local.json`

Pronto! Agora você pode usar um arquivo tsconfig.json local para aplicar suas próprias regras à checagem do TypeScript, sem afetar as regras dos seus colegas de trabalho, utilizando um arquivo .gitignore global. Essa mesma lógica pode ser aplicada a situações similares, como regras do [ESLint](https://eslint.org/) ou [Prettier](https://prettier.io/), etc.

Espero que este post tenha sido útil para você. Se você tiver alguma dúvida ou sugestão, deixe um comentário abaixo. 

Obrigado pela leitura e até a próxima! 😊