Visão geral
A presença de um arquivo tsconfig.json em um diretório, indica que esse diretório é a raiz do projeto Typescript.
O arquivo tsconfig.json especifica os arquivos raiz e as configurações de compilação necessárias para o projeto.
Projetos JavaScript podem ter um arquivo jsconfig.json, que tem quase o mesmo propósito, mas possui algumas flags do compilador relacionadas ao JavaScript que já estão habilitadas por padrão.
Um projeto pode ser compilado seguindo uma das seguintes maneiras:
Usando tsconfig.json ou jsconfig.json
- Invocando o
tscsem os arquivos de entrada, nesse caso o compilador procura o arquivotsconfig.jsoncomeçando no diretório atual e continua em suas sub pastas. - Invocando o
tscsem os arquivos de entrada e a opção de linha de comando--project(ou apenas-p) que especifica o caminho para o diretório que contém o arquivotsconfig.json, ou o caminho para um arquivo.jsonválido contendo as configurações.
Quando os arquivos de entrada são especificados por linha de comando, os arquivos tsconfig.json são ignorados.
Exemplo
Exemplo de arquivos tsconfig.json:
- Usando a propriedade
"files"
{"": {"": "commonjs","": true,"": true,"": true,"": true},"": ["core.ts","sys.ts","types.ts","scanner.ts","parser.ts","utilities.ts","binder.ts","checker.ts","emitter.ts","program.ts","commandLineParser.ts","tsc.ts","diagnosticInformationMap.generated.ts"]}
- Usando as propriedades
"include"e"exclude"
{"": {"": "system","": true,"": true,"": true,"": "../../built/local/tsc.js","": true},"": ["src/**/*"],"": ["node_modules", "**/*.spec.ts"]}
Configurações Básicas
Dependendo do ambiente de execução JavaScript, no qual você deseja executar seu código, pode haver uma configuração básica que pode ser usada em github.com/tsconfig/bases.
Esses são arquivos tsconfig.json que seu projeto pode estender, o que simplifica o seu tsconfig.json ao já lidarem com o suporte de tempo de execução.
Por exemplo, se você está desenvolvendo um projeto que usa Node.js na versão 12 ou mais recente, então você pode usar o módulo npm @tsconfig/node12
{"": "@tsconfig/node12/tsconfig.json","": {"": true},"": ["src/**/*"],"": ["node_modules", "**/*.spec.ts"]}
Isso permite que seu tsconfig.json se concentre nas escolhas únicas para o seu projeto, e não em todas as mecânicas de tempo de execução. Já existem algumas tsconfig básicas e esperamos que a comunidade possa adicionar mais para diferentes ambientes.
Detalhes
A propriedade "compilerOptions" pode ser omitida, casos em que os padrões do compilador são usados. Veja nossa lista completa das Opções que o compilador suporta.
Referências TSConfig
Você pode saber mais sobre as centenas de opções de configurações em Referências TSConfig.
Esquema
O esquema tsconfig.json pode ser encontrado no Armazenamento de Esquema JSON.