Arquivo de configuração tsconfig.json no TypeScript
O arquivo tsconfig.json
permite configurar o projeto TypeScript. Especificamente, ele realiza as seguintes tarefas:
- Define o diretório raiz do projeto TypeScript.
- Configura os parâmetros de compilação.
- Define os arquivos do projeto.
Para utilizá-lo, basta adicionar manualmente um novo arquivo com o nome tsconfig.json
na raiz do projeto.
typescript/ |-- tsconfig.json |-- app.ts |-- index.html
Estrutura do Arquivo
O tsconfig.json
é um arquivo padrão no formato JSON que contém várias seções. A seção "compilerOptions"
ajusta os parâmetros de compilação. Aqui, você pode definir as opções necessárias e seus respectivos valores. Os parâmetros são chamados da mesma forma que na linha de comando, e os valores fornecidos são equivalentes aos que seriam passados por linha de comando (ou terminal). Por exemplo:
{
"compilerOptions": {
"target": "es5",
"removeComments": true,
"outDir": "js",
"sourceMap": true,
"outFile": "main.js"
}
}
Neste exemplo, utilizam-se os mesmos parâmetros que seriam aplicados ao compilar via linha de comando.
- O parâmetro
"target"
especifica qual versão do JavaScript será usada durante a compilação - O parâmetro
"removeComments"
remove os comentários. "outDir"
define o diretório onde os arquivos compilados serão armazenados."sourceMap"
indica que deve ser gerado um mapa que associe os arquivos de origem aos arquivos compilados."outFile"
define o nome do arquivo de saída.
Outras opções de compilação podem ser incluídas conforme necessário.
Seção files
A seção files
permite definir quais arquivos serão incluídos no projeto:
{
"compilerOptions": {
"target": "es5",
"removeComments": true,
"outFile": "../../built/local/tsc.js"
},
"files": [
"app.ts",
"interfaces.ts",
"classes.ts"
]
}
Se a seção files
não estiver presente no arquivo tsconfig.json
, o compilador incluirá, por padrão, todos os arquivos TypeScript (com as extensões *.ts
e *.tsx
) encontrados no diretório e subdiretórios do projeto. Caso contrário, somente os arquivos especificados em files
serão usados.
Parâmetro exclude
O parâmetro exclude
, por outro lado, permite excluir determinados arquivos da compilação:
{
"compilerOptions": {
"target": "es5",
"removeComments": true,
"outFile": "../../built/local/tsc.js"
},
"exclude": [
"wwwroot",
"node_modules"
]
}
Neste exemplo, o compilador não considerará os arquivos TypeScript localizados nos diretórios especificados na seção exclude
.
Vale notar que, se as seções files
e exclude
estiverem presentes no arquivo simultaneamente, a seção exclude
será ignorada. Todos os arquivos referenciados pelos arquivos da seção files
também serão compilados.
Parâmetro compileOnSave
O parâmetro compileOnSave
, quando definido como true
, instrui a IDE a gerar todos os arquivos JavaScript sempre que um arquivo TypeScript for salvo:
{
"compileOnSave": true,
"compilerOptions": {
"target": "es5"
}
}
Uso do Arquivo tsconfig.json
O arquivo tsconfig.json
é utilizado durante a compilação quando os nomes dos arquivos a serem compilados não são fornecidos diretamente ao compilador. Nesse caso, o compilador TypeScript examina o diretório atual, busca pelo arquivo tsconfig.json
e, em seguida, usa os parâmetros definidos neste arquivo durante a compilação.
Se os nomes dos arquivos forem fornecidos ao compilador, como por exemplo tsc app.ts
, o arquivo tsconfig.json
será ignorado.
O catálogo completo das opções que podem ser aplicadas no tsconfig.json está disponível na documentação oficial.