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.