Arquivo de configuração ts-config
Definição
É um arquivo de configuração para especificar as opções de compilação e arquivos a serem compilados pelo tsc.
Esse arquivo é similar ao jsconfig.json (arquivo de configuração para projetos JavaScript), porém o TypeScript possui algumas configurações padrão relacionada ao JavaScript.
Configuração
-
Criar o
tsconfig.jsoncom algumas configurações padrão:$ npx tsc --init -
Realizar as alterações com base nas suas necessidades. Veja o exemplo abaixo:
{ "compilerOptions": { "target": "es2016", "lib": ["ESNext", "DOM"], "module": "commonjs", "outDir": "./dist", "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "strict": true, "skipLibCheck": true }, "include": ["./src"] }
Opções do compilador
-
target: versão do JavaScript que será utilizado no bundle, por padrão é utilizado oES5(es2016), pois é a versão que possui maior suporte -
lib: especificar as bibliotecas utilizadas no projeto -
module: definir qual sintaxe de módulo usar quando os arquivos.tssão compilados para.js -
allowJs: utilizar ao migrar uma projeto JavaScript para TypeScript (renomear os aquivos.jspara.ts), pois o compilador/IDE exibe os erros de compatibilidades que devem ser corrigidos -
outDir: definir o diretório de saída dos arquivos compilador pelotsc -
strict: habilitar as validações do TypeScriptOBS:
"strict": trueé recomendado para novos projetos."strict": falseé recomendado em projetos existentes (migração de um projeto.jspara.ts) -
esModuleInterop: habilitar o suporte deimporteexportnos módulos -
sourceMap: gerar um arquivo.mapcom as correspondências de linhas entre o bundle e o código fonte -
rootDir: indicar o diretório do arquivo de entrada do projeto (diretório raiz) -
removeComments: remover os comentários do código fonte ao compilá-lo para o bundle -
noEmit: não emitir os arquivos de saída (arquivos compilados), ou seja, não gerar o bundle -
noEmitOnError: o evento denoEmitsó será disparando quando o código apresentar algum erro de compilação -
strict: realizar as validações no código. Geralmente essa opção é desabilitada em processos de migração de código JavaScript para TypeScript.Alguns exemplos de validações que o TypeScript realiza é não permitir tipos any, null checks, checagem de tipos de função, entre outros
-
experimentalDecoratorseemitDecoratorMetadata: habilitar uma funcionalidade experimental no TypeScript, os decorators (são como as Annotations no Java).
Outras configurações
-
include: especificar os arquivos que devem ser compilados pelotsc -
exclude: especificar os arquivos que devem ser ignoradas pelo compilador