Outils de développement

Calculateur SemVerDistinguer précédence et correspondance

Vérifiez une plage de dépendance, comparez deux versions ou calculez le prochain numéro.

Calculateur SemVer

Versions (une par ligne)

Les données sont traitées dans ce navigateur et ne sont pas envoyées à un serveur.

Résultat

Saisissez des données ou chargez un exemple.

Options

Versions SemVer 2.0.0 strictes : sans espaces externes, préfixe v ni éléments manquants. Les nombres principaux et les identifiants de préversion purement numériques ne peuvent avoir de zéros initiaux ; les identifiants de build le peuvent.

Les plages npm acceptent ^, ~, comparateurs, x, intervalles avec tiret et ||. Une plage vide ou une branche OR vide agit comme un joker.

Les préversions sont exclues sauf si un comparateur du même groupe cite une préversion du même major.minor.patch.

Les métadonnées de build ne changent pas la précédence. Les versions de même rang gardent leur ordre initial.

Limites de l’outil : 1000 lignes, 100000 unités UTF-16, 256 caractères par version, 4096 par plage. Les nombres principaux et les identifiants de préversion purement numériques ne dépassent pas 9007199254740991. Cette limite numérique ne s’applique pas aux identifiants de build.

L’entrée ou les options ont changé. Actualisez les résultats avant l’export.

Le Calculateur SemVer aide à comprendre pourquoi une bêta plus récente ne satisfait pas votre plage de dépendance. Examinez séparément la précédence et les conditions avant de modifier une contrainte.

Comparer versions et chaînes de texte donne parfois un ordre différent : 1.10.0 suit 1.9.0. Les versions sémantiques appliquent aussi des règles spécifiques aux identifiants numériques des préversions.

Pourquoi utiliser le Calculateur SemVer ?

Comprendre une bêta exclue

Le Calculateur SemVer affiche les comparateurs npm développés avec chaque résultat. Une version peut respecter les bornes numériques tout en étant exclue par la règle des préversions.

Des versions stables franchissent une plage, une bêta suit un autre chemin.

Conserver les informations de build

1.2.3+build.1 et 1.2.3+build.7 ont la même précédence. Le tri conserve leur ordre initial sans transformer le numéro de build en critère de nouveauté.

Deux étiquettes de build occupent le même échelon d’une liste de versions.

Trois vérifications utiles

01

Séparer version et plage

Une version exige trois nombres. Une plage accepte des raccourcis comme 1.2 et ^0.2.3. Une plage vide ou une branche OR vide agit comme un joker.

02

Vérifier les préversions

L’option est désactivée au départ. L’activer change la correspondance, sans assouplir la syntaxe. Lisez les comparateurs développés, surtout pour les plages 0.x.

03

Examiner chaque remplacement

Exemple et Effacer proposent un aperçu complet de l’entrée et des paramètres avant application. Annuler la modification restaure l’état précédent. Le mode automatique attend 350 ms ; le mode manuel accepte Ctrl/Cmd+Enter.

Quatre vérifications de publication

Tester une plage semver

Évaluez une version par ligne avec les comparateurs npm, ^, ~, jokers, intervalles avec tiret et groupes OR.

Comparer la précédence

Major, minor, patch et préversion déterminent l’ordre. Les métadonnées de build ne décident pas quelle version est plus récente.

Trier sans perdre de lignes

Tri croissant ou décroissant ; les lignes invalides restent à la fin avec leur numéro original et les versions équivalentes gardent leur ordre.

Incrémenter selon sept types

major, minor, patch, premajor, preminor, prepatch et prerelease produisent une nouvelle version sans remplacer automatiquement la source.

Syntaxe et limites de calcul

Versions strictes
Versions SemVer 2.0.0 strictes : sans espaces externes, préfixe v ni éléments manquants. Les nombres principaux et les identifiants de préversion purement numériques ne peuvent avoir de zéros initiaux ; les identifiants de build le peuvent. Les métadonnées de build ne changent pas la précédence. Les versions de même rang gardent leur ordre initial.
Sémantique des plages npm
Les plages npm acceptent ^, ~, comparateurs, x, intervalles avec tiret et ||. Une plage vide ou une branche OR vide agit comme un joker. Les préversions sont exclues sauf si un comparateur du même groupe cite une préversion du même major.minor.patch.
Calcul borné
Limites de l’outil : 1000 lignes, 100000 unités UTF-16, 256 caractères par version, 4096 par plage. Les nombres principaux et les identifiants de préversion purement numériques ne dépassent pas 9007199254740991. Cette limite numérique ne s’applique pas aux identifiants de build.
Comportement des incréments
L’incrément supprime les métadonnées de build. Les nouveaux compteurs commencent à 0. Un identifiant vide conserve l’identifiant de préversion existant et incrémente son numéro.
Aucune installation
Aucune recherche dans un registre, installation de dépendances ou modification de projet. Les lignes vides sont invalides ; un seul saut de ligne final termine le texte. Une correspondance ne prouve pas la compatibilité des API.

Questions sur le Calculateur SemVer

Quelle différence entre ~ et ^ dans package.json ?

~1.2.3 accepte les versions stables depuis 1.2.3 jusqu’à 1.3.0 exclu ; ^1.2.3 va jusqu’à 2.0.0 exclu. ^ conserve le premier élément non nul : ^0.2.3 exclut 0.3.0, et ^0.0.3 exclut 0.0.4.

Le caret accepte-t-il la dernière préversion ?

En général non. Le Calculateur SemVer suit npm : sans l’option, le même groupe doit citer une préversion avec le même major.minor.patch. Le fait qu’elle soit la dernière publication ne change rien ici.

À quoi servent les métadonnées de build ?

Elles peuvent identifier une compilation ou un commit, sans modifier la précédence. Deux versions différentes seulement après + sont de même rang et conservent leur ordre au tri.

Puis-je trier des tags de formats différents ?

Seules les versions SemVer strictes sont triées. v1.2.3 ou 1.10-alpine3 restent à la fin comme lignes invalides ; aucune conversion implicite n’est faite.

Comment ajouter un suffixe alpha ?

Choisissez un incrément de préversion et l’identifiant alpha. premajor transforme 1.2.3 en 2.0.0-alpha.0. Laissez l’identifiant vide pour conserver celui qui existe et poursuivre son compteur.

Un résultat inattendu ?

Essayer le Calculateur SemVer

Utilisez le Calculateur SemVer avec votre liste de publications, vérifiez les conditions puis enregistrez le rapport courant.