Tu n’es pas obligé d’imposer pour autant une version précise.
J’ai longtemps été partisan des versions ranges pour les dépendances. « Les fournisseurs n’ont qu’à faire du semver et ne pas peter leur libraire! ». J’en suis revenu, maintenant je pin tout.
C’est bien joli le semver, mais d’une part tout le monde n’est pas forcément d’accord sur la définition de breaking api change. Yen a qui comprennent pas le concept, ou s’en foutent. T’as des mecs (comme PR en dessous) qui dit "si on change un truc et ça pete chez toi c’est ta faute, fallait lire la doc". C’est son droit, mais perso ça me fait une belle jambe, et j’ai autre chose à faire que de chasser une régression juste parce que quelqu’un a publié une nouvelle version.
Aussi, avoir un build reproductible, c’est bien. Très bien. Et pour finir, ça permet de documenter quelle version est sortie avec quelle version de dépendance directement dans le repo. Et ça, c’est très bien aussi.
Bref, les version ranges, ca a l’air cool en théorie, mais en pratique, la prudence l’emporte. Ton kilométrage ne sera pas forcément le même, rien n’est jamais absolu, tout ça, mais pinner par défaut, et faire une exception si besoin est, me parait être le meilleur compromis.
[^] # Re: Maintenance
Posté par groumly . En réponse au journal La cochonnerie en boite que sont les systèmes de dépendances. Évalué à 8.
J’ai longtemps été partisan des versions ranges pour les dépendances. « Les fournisseurs n’ont qu’à faire du semver et ne pas peter leur libraire! ». J’en suis revenu, maintenant je pin tout.
C’est bien joli le semver, mais d’une part tout le monde n’est pas forcément d’accord sur la définition de breaking api change. Yen a qui comprennent pas le concept, ou s’en foutent. T’as des mecs (comme PR en dessous) qui dit "si on change un truc et ça pete chez toi c’est ta faute, fallait lire la doc". C’est son droit, mais perso ça me fait une belle jambe, et j’ai autre chose à faire que de chasser une régression juste parce que quelqu’un a publié une nouvelle version.
Aussi, avoir un build reproductible, c’est bien. Très bien. Et pour finir, ça permet de documenter quelle version est sortie avec quelle version de dépendance directement dans le repo. Et ça, c’est très bien aussi.
Bref, les version ranges, ca a l’air cool en théorie, mais en pratique, la prudence l’emporte. Ton kilométrage ne sera pas forcément le même, rien n’est jamais absolu, tout ça, mais pinner par défaut, et faire une exception si besoin est, me parait être le meilleur compromis.