0Pricing
TypeScript Academy · Aula

Criando um programa TypeScript com a API

Inicialize um programa do compilador e acesse o verificador de tipos

Criando um programa TypeScript com a API é uma aula grátis de TypeScript Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de TypeScript Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de TypeScript Academy inclui 4 aulas no total.

O que é a API do compilador?

O TypeScript expõe seus componentes internos do compilador por meio do pacote npm typescript. Você pode criar programas, inspecionar o verificador de tipos e analisar arquivos de origem programaticamente.

import ts from "typescript";
// Use ts.createProgram to start

Instalando o pacote typescript

Instale o TypeScript como uma dependência regular, não apenas como devDependency, ao usar a API do compilador em suas ferramentas.

npm install typescript
# Also install types if needed
npm install --save-dev @types/node

Criando um programa

ts.createProgram recebe uma matriz de caminhos de arquivos de entrada e opções do compilador, e retorna um objeto Program.

import ts from "typescript";
const program = ts.createProgram(["src/index.ts"], {
  target: ts.ScriptTarget.ES2020,
  module: ts.ModuleKind.CommonJS,
  strict: true,
});

Acessando arquivos de origem

Use program.getSourceFiles() para obter todos os arquivos da compilação ou getSourceFile para obter um caminho específico.

const sourceFiles = program.getSourceFiles();
sourceFiles.forEach(sf => {
  if (!sf.isDeclarationFile) {
    console.log(sf.fileName);
  }
});

Obtendo o verificador de tipos

O verificador de tipos é o núcleo da análise do TypeScript. Obtenha-o com program.getTypeChecker().

const checker = program.getTypeChecker();
// Now use checker to resolve types, symbols, etc.

Lendo diagnósticos

Recupere os diagnósticos do compilador, como erros e avisos, para implementar ferramentas personalizadas de validação.

const diagnostics = ts.getPreEmitDiagnostics(program);
diagnostics.forEach(d => {
  const msg = ts.flattenDiagnosticMessageText(d.messageText, "
");
  console.log(msg);
});

Lendo tsconfig.json

Use ts.readConfigFile e ts.parseJsonConfigFileContent para carregar as opções do compilador de um arquivo tsconfig.

const cfgFile = ts.readConfigFile("tsconfig.json", ts.sys.readFile);
const parsed = ts.parseJsonConfigFileContent(
  cfgFile.config,
  ts.sys,
  process.cwd()
);
const program2 = ts.createProgram(parsed.fileNames, parsed.options);

Resolução de símbolos

O verificador de tipos pode resolver símbolos — nomes que fazem referência a declarações — para inspecionar a que um determinado identificador se refere.

const sf = program.getSourceFile("src/index.ts")!;
ts.forEachChild(sf, node => {
  if (ts.isVariableStatement(node)) {
    const symbol = checker.getSymbolAtLocation(
      node.declarationList.declarations[0].name
    );
    console.log(symbol?.getName());
  }
});

Emitindo a saída

Chame program.emit() para produzir JavaScript e arquivos de declaração, assim como ao executar tsc.

const emitResult = program.emit();
const exitCode = emitResult.emitSkipped ? 1 : 0;
process.exit(exitCode);

Programas incrementais

Use ts.createIncrementalProgram para realizar análises repetidas mais rapidamente, reutilizando o estado de compilação anterior.

// Incremental compilation tracks which files changed
// to avoid reprocessing unchanged files

Recapitulação: fundamentos da API do compilador

A API do compilador do TypeScript permite criar programas, inspecionar arquivos de origem, consultar tipos por meio do verificador e emitir JavaScript — tudo a partir de código Node.js.

Verificação rápida

Qual método retorna o verificador de tipos do TypeScript a partir de um programa?

O que você aprendeu

A API do compilador do TypeScript começa com ts.createProgram. A partir do programa, você pode acessar arquivos de origem, o verificador de tipos, diagnósticos e emitir saída — a base para criar ferramentas de análise, geradores de código e verificadores de estilo.

Perguntas Frequentes

A aula “Criando um programa TypeScript com a API” é grátis?

Sim — o texto completo de “Criando um programa TypeScript com a API” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de TypeScript Academy, atualize para CoddyKit PRO. O curso de TypeScript Academy inclui 4 aulas no total.

O que vou aprender em “Criando um programa TypeScript com a API”?

Inicialize um programa do compilador e acesse o verificador de tipos Você pratica TypeScript Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar TypeScript Academy?

Nenhuma experiência prévia é necessária. TypeScript Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Criando um programa TypeScript com a API”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de TypeScript Academy?

Sim. Cada aula de TypeScript Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Criando um programa TypeScript com a API
  2. Percorrendo o AST com visitantes
  3. Transformadores personalizados e geração de código
  4. Construindo uma ferramenta simples de análise de código
← Voltar para TypeScript Academy