Definitelytyped: ¿Cuál es el significado de las versiones en paquetes definitivamente tipados?

Creado en 9 dic. 2016  ·  3Comentarios  ·  Fuente: DefinitelyTyped/DefinitelyTyped

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

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:

  1. lodash no introdujo nada que requiriera cambios relacionados con el tipo
  2. lodash introdujo cambios pero nadie en la comunidad necesitaba/quería dicha funcionalidad
  3. lodash introdujo cambios, pero existe el deseo de mantener los tipos compatibles con la versión un poco más antigua

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.

Todos 3 comentarios

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:

  1. lodash no introdujo nada que requiriera cambios relacionados con el tipo
  2. lodash introdujo cambios pero nadie en la comunidad necesitaba/quería dicha funcionalidad
  3. lodash introdujo cambios, pero existe el deseo de mantener los tipos compatibles con la versión un poco más antigua

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.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

JWT
svipas picture svipas  ·  3Comentarios

fasatrix picture fasatrix  ·  3Comentarios

victor-guoyu picture victor-guoyu  ·  3Comentarios

jbreckmckye picture jbreckmckye  ·  3Comentarios

csharpner picture csharpner  ·  3Comentarios