Tipografías de TypeScript en npm @ types paquetes org


He notado que hay una organización npm @types, que contiene paquetes de escritura, pero no puede encontrar ninguna documentación en ella. ¿Cómo se supone que deben usarse?

¿Está destinado a ser utilizado con la herramienta typings? Si es así, cómo instalarlos? Por ejemplo, hay un @types/openlayers paquete, pero typings search npm:openlayers devuelve nada.

¿Está destinado a ser utilizado por separado de la herramienta typings? Por ejemplo, instalado directamente con npm?

Author: E_net4, 2016-05-31

3 answers

A partir de TypeScript 2.0, los tipos ya no son necesarios. La organización npm es una entidad para configurar un equipo de desarrolladores. Creo que Microsoft configuró la organización @types en npm y agregó el equipo de desarrolladores de TypeScript a la organización. Los paquetes en la organización @types se publican automáticamente desde DefinitelyTyped usando la herramienta types-publisher según docs.

Además, hay otra manera de añadir types a su paquetes:

En tu paquete.json

Si su paquete tiene un archivo principal .js, tendrá que indicar el archivo de declaración principal en su archivo package.json también. Establezca la propiedad types para que apunte a su archivo de declaración incluido. Por ejemplo:

{
    "name": "awesome",
    "author": "Vandelay Industries",
    "version": "1.0.0",
    "main": "./lib/main.js",
    "types": "./lib/main.d.ts"
}

Tenga en cuenta que el campo "typings" es sinónimo de "types", y podría usarse también.

También tenga en cuenta que si su archivo de declaración principal se llama index.d.ts y vive en la raíz del paquete (junto a index.js) no es necesario marcar la propiedad "types", aunque es aconsejable hacerlo.

Respecto a los tipos de búsqueda

En su mayor parte, los paquetes de declaración de tipo siempre deben tener el mismo nombre que el nombre del paquete en npm, pero con el prefijo @types/, pero si lo necesita, puede consultar https://aka.ms/types para encontrar el paquete para su biblioteca favorita.

De - http://www.typescriptlang.org/docs/handbook/declaration-files/consumption.html

Pero cuando lo hice npm search @types/openlayers, no obtuve ningún resultado. Pero hacer la búsqueda desde la interfaz web me devolvió los resultados. Así que supongo que npm search no busca entre organizaciones.

 87
Author: randominstanceOfLivingThing,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-03 21:04:54

El anuncio en el blog de TypeScript responde a esto: El Futuro de los Archivos de Declaración

Resumen:

La organización @types npm es para obtener definiciones de tipos con npm. El uso de estas definiciones de tipo es una característica que viene en TypeScript 2.0.

Esto reemplazará los proyectos/herramientas actuales como typings y tsd, aunque estos seguirán siendo soportados durante algún tiempo.

 40
Author: Ronald Zarīts,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-16 07:41:11

Esta será una característica que se implementará en Typescript 2.0. Esto proporciona soporte de tipo para Módulos/Bibliotecas UMD y sus respectivas definiciones.

Véase https://github.com/Microsoft/TypeScript/issues/7125#issuecomment-210182488 para obtener una mejor comprensión de los problemas actuales con las tipografías ambientales.

 6
Author: Sean Larkin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-07 16:51:14