Pesquisa de site

Exportar um único .d.ts de vários arquivos TypeScript + ponto de entrada


Tenho vários arquivos .ts + 1 ponto de entrada assim:

  • classeA.ts
  • classeB.ts
  • entrypoint.ts

entrypoint.ts contém algo similar a:

export * from './classA';
export * from './classB';

Eu gostaria de ter um único .d.ts descrevendo tudo o que o entrypoint exporta, de forma que tanto os arquivos de definição de ClassA quanto de ClassB sejam incluídos.

Resposta #1

Você não pode gerar automaticamente um único arquivo d.ts. O que funciona bem é o seguinte (assumindo que você está construindo uma biblioteca/módulo reutilizável):

  1. Faça o compilador gerar automaticamente declarações para suas classes especificando "declaration": true em tsconfig.json

  2. o compilador também gerará um arquivo entrypoint.d.ts (que reexporta o d.ts da classA e da classB)

  3. Aponte a entrada typings do seu package.json para entrypoint.d.ts, por exemplo "typings": "./dist/entrypoint.d.ts"

Assumindo que sua biblioteca se chama library, você agora pode instalá-la no node_modules de um projeto e usá-la com uma importação padrão:

import {classA, classB} from 'library'

importará o d.ts. gerado para essas classes.

Resposta #2

Para quem encontrar este post. Você pode tentar a utilidade npm-dts. Isso deve resolver o problema.

Artigos relacionados