Definitelytyped: Quelle est la signification des versions dans les packages définitivement typés

Créé le 9 déc. 2016  ·  3Commentaires  ·  Source: DefinitelyTyped/DefinitelyTyped

Je pense que les versions de packages définitivement typés ne doivent pas correspondre à la version du package réel. Par exemple, au moment où j'écris ce numéro, la dernière version de lodash est '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`. Il est donc déroutant de modifier un package de typage car il n'y a pas de bon moyen d'incrémenter le package de typage car il est censé être la version réelle du package. Cela interrompra l'installation des packages npm dans de nombreux projets.

Je suggère aux packages de saisies de ne pas suivre les versions exactes des packages réels. Par example:

version lodash : 4.14.43

@types/version lodash : 4.1.1

Mais dans le fichier .d.ts, nous devons écrire explicitement la version compatible du package lodash.

Nous pouvons également avoir @types/lodash-3 etc pour l'ancienne version de lodash

Commentaire le plus utile

La politique pour les numéros de version est d'essayer de garder les deux premiers numéros en ligne. @types/lodash étant à 4.14.x signifie qu'il devrait fonctionner avec lodash 4.14 et supérieur. Le dernier chiffre reflète les mises à jour de la structure du package (par exemple, quelqu'un a peut-être fait une définition de type plus précise pour les modifications 4.14).

Étant donné que DT est pris en charge par la communauté, il semble que l'un des éléments suivants doit être vrai :

  1. lodash n'a rien introduit qui nécessiterait des modifications liées au type
  2. lodash a introduit des changements mais personne dans la communauté n'avait besoin/voulait de ladite fonctionnalité
  3. lodash a introduit des changements mais il y a un désir de garder les types compatibles avec la version légèrement plus ancienne

Je suppose que c'est le #2.

Quant à @types/lodash-3, la façon dont les modules sont résolus, vous devez effectuer quelque chose comme import * as _ from "lodash-3" pour que ces types soient récupérés.

Tous les 3 commentaires

La politique pour les numéros de version est d'essayer de garder les deux premiers numéros en ligne. @types/lodash étant à 4.14.x signifie qu'il devrait fonctionner avec lodash 4.14 et supérieur. Le dernier chiffre reflète les mises à jour de la structure du package (par exemple, quelqu'un a peut-être fait une définition de type plus précise pour les modifications 4.14).

Étant donné que DT est pris en charge par la communauté, il semble que l'un des éléments suivants doit être vrai :

  1. lodash n'a rien introduit qui nécessiterait des modifications liées au type
  2. lodash a introduit des changements mais personne dans la communauté n'avait besoin/voulait de ladite fonctionnalité
  3. lodash a introduit des changements mais il y a un désir de garder les types compatibles avec la version légèrement plus ancienne

Je suppose que c'est le #2.

Quant à @types/lodash-3, la façon dont les modules sont résolus, vous devez effectuer quelque chose comme import * as _ from "lodash-3" pour que ces types soient récupérés.

Merci pour votre excellente réponse. Cette question me vient à l'esprit car récemment une mise à jour des typages lodash a cassé mon code (https://github.com/DefinitelyTyped/DefinitelyTyped/commit/34124e057f3f2baf4d1b0f17616a00221c04690c). Apparemment, nous devrions écrire plus de tests pour les typages lodash.

Pour le contexte, cet autre fil donne l'impression que la politique consistant à essayer de synchroniser quelque peu les numéros de version n'est suivie que par certains packages.

Cette page vous a été utile?
0 / 5 - 0 notes