Creo que las versiones de los paquetes escritos definitivamente no deberían coincidir con la versión del paquete real. Por ejemplo, en el momento en que escribo este número, la última versión de lodash
es '4.17.2 and the latest version of
@types/lodash is
4.14.43 . This probably means that the typings are for
lodash -v4.14.43`. Por lo tanto, es confuso cuando queremos cambiar un paquete de tipos porque no hay buenas formas de incrementar el paquete de tipos porque está destinado a ser la versión real del paquete. Esto interrumpirá la instalación de paquetes npm en muchos de los proyectos.
Sugiero que los paquetes de tipeo no sigan las versiones exactas de los paquetes reales. Por ejemplo:
versión lodash: 4.14.43
Versión @types/lodash: 4.1.1
Pero en el archivo .d.ts debemos escribir explícitamente la versión del paquete lodash compatible.
También podemos tener @types/lodash-3
etc. para versiones anteriores de lodash
La política para los números de versión es tratar de mantener los dos primeros números en línea. @types/lodash está en 4.14.x significa que debería funcionar con lodash 4.14 y superior. El último dígito refleja las actualizaciones de la estructura del paquete (IE: tal vez alguien hizo una definición de tipo más precisa para los cambios 4.14).
Dado que DT es compatible con la comunidad, parece que uno de los siguientes debe ser cierto:
Supongo que es el #2.
En cuanto a @types/lodash-3, la forma en que se resuelven los módulos, debería realizar algo como import * as _ from "lodash-3"
para que se recojan dichos tipos.
Gracias por tu gran respuesta. Esta pregunta viene a mi mente porque recientemente una actualización de los tipos de lodash rompió mi código (https://github.com/DefinitelyTyped/DefinitelyTyped/commit/34124e057f3f2baf4d1b0f17616a00221c04690c). Aparentemente, deberíamos escribir más pruebas para las tipificaciones de lodash.
Por contexto, este otro subproceso hace que parezca que la política de tratar de mantener los números de versión sincronizados solo se sigue en algunos paquetes.
Comentario más útil
La política para los números de versión es tratar de mantener los dos primeros números en línea. @types/lodash está en 4.14.x significa que debería funcionar con lodash 4.14 y superior. El último dígito refleja las actualizaciones de la estructura del paquete (IE: tal vez alguien hizo una definición de tipo más precisa para los cambios 4.14).
Dado que DT es compatible con la comunidad, parece que uno de los siguientes debe ser cierto:
Supongo que es el #2.
En cuanto a @types/lodash-3, la forma en que se resuelven los módulos, debería realizar algo como
import * as _ from "lodash-3"
para que se recojan dichos tipos.