instalar example devdependencies typescript npm typescript-typings package.json

typescript - example - ¿Cómo decido si @ types/* entra en `dependencias` o` devDependencies`?



typescript npm (2)

Yo uso TypeScript 2 en mi proyecto. Me gustaría usar algunas bibliotecas js, pero también tipificaciones para esa biblioteca. Puedo instalar tipos con npm install @types/some-library simple npm install @types/some-library . No estoy seguro de si debería - --save o - --save-dev . Me parece que incluso el archivo Léame de GitHub DefinetelyTyped menciona ambas versiones, pero nunca las explica. Creo que @types debería estar en devDependencies , ya que los tipos son necesarios para el desarrollo y no se usan en tiempo de ejecución, pero vi muchas veces @types solo en dependencies . Estoy confundido.

¿Cómo debo decidir si @ types / * entra en dependencies o devDependencies ? ¿Hay realmente algunas instrucciones más o menos oficiales?


¿Estás generando un paquete? Si es así, sugiero no pasar demasiado tiempo debatiendo qué va a dónde. devDependencies dependencies y dependencies devDependencies solo tienen sentido si está publicando un paquete que puede ser utilizado por otros y no desea enviarles correo no deseado con dependencias inútiles.

Colóquelo en devDependencies . Como dijiste, "los tipos son necesarios para el desarrollo y no se usan en tiempo de ejecución" .


Supongamos que está desarrollando un paquete "A" que tiene un paquete @ types / some-module en devDependencies. Por alguna razón, está exportando el tipo desde @ types / some-module

import {SomeType} from ''some-module''; export default class APackageClass { constructor(private config: SomeType) { } }

En este momento, los consumidores de TypeScript del paquete "A" no pueden adivinar qué es SomeType, ya que las dependencias dev del paquete "A" NO están instaladas.

En ese caso particular, NECESITA colocar el paquete @ types / * con "dependencias" regulares. Para otros casos, "devDependencies" son lo suficientemente buenas.