Búsqueda de sitios web

Generando archivos de declaración de TypeScript desde JavaScript


Diga por ejemplo, tiene una biblioteca npm, en mi caso mongoose, ¿cómo generaría archivos d.ts?

Respuesta #1

JavaScript no siempre contiene suficiente información de tipos para que el compilador de TypeScript infiera las estructuras en tu código, por lo que generar automáticamente una definición basada en JavaScript rara vez es una opción.

Aquí hay instrucciones sobre cómo escribirlos desde cero:

https://www.stevefenton.co.uk/2013/01/complex-typescript-definitions-made-easy/

Pero hay un truco que podría funcionar (solo funciona en un conjunto limitado de casos).

Si pegas el JavaScript en un nuevo archivo TypeScript, corrige cualquier error trivial que puedas obtener y compílalo usando la bandera de definición, podría ser capaz de conseguirte un archivo que al menos sería un punto de partida.

tsc --declaration js.ts

Respuesta #2

La pregunta es un poco antigua, pero por el bien de las personas que vienen de motores de búsqueda como yo, si estás buscando una herramienta automatizada, mira:

  • Microsoft/dts-gen

    El punto de partida oficial que Microsoft usa al crear tipos. Sin embargo, se supone que es solo un punto de partida y no tuve mucha suerte dependiendo únicamente de él

  • dtsmake

    Este parece muy prometedor. Depende de Ternjs, que algunos editores utilizan para proporcionar autocompletado para código JS. También revisa Ternjs para otros nombres de herramientas y comparaciones con ellas.

Actualización (2021): Es una buena idea revisar npmtrends y comparar dts-generator, dts-gen, dtsmake, npm-dts y alternativas.

Respuesta #3

Para otras personas que encuentren esta publicación a través de Google: ahora hay un generador de Microsoft: dts-gen.

Artículos relacionados