ForHosting KIT · Outils pour développeurs

Vérifiez une version dans une plage SemVer

Vérifiez en une étape si une version entre dans une plage : 1.5.2 satisfait >=1.0.0 <2.0.0, alors que 1.5.0-beta.1 non, car une plage large ne laisse jamais passer par accident une version instable. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt

Testez une version de paquet par rapport à une plage sémantique sans installer de gestionnaire de paquets ni utiliser une comparaison de chaînes. Cette capacité valide une version Semantic Versioning 2.0.0 stricte, analyse la contrainte fournie et renvoie directement vrai ou faux. Elle prend en charge les versions exactes, les comparateurs d’inégalité, les compatibilités caret et tilde, les intersections séparées par des espaces et les alternatives à double barre verticale. Les versions ou expressions incorrectes produisent une erreur de saisie, ce qui convient aux outils de publication, audits de dépendances, politiques de déploiement et diagnostics interactifs.

Choisissez la forme de plage adaptée à votre politique de compatibilité

Une plage doit décrire les versions réellement acceptées par votre logiciel, et non simplement ressembler à une étiquette de version. Saisissez une version sémantique complète, telle que 1.4.7, puis choisissez une forme de contrainte prise en charge. Une plage exacte comme 1.4.7 n’accepte que la même priorité SemVer.

Les comparateurs >=1.0.0, <2.0.0 et <=3.5.1 définissent des limites explicites. Séparez les comparateurs par des espaces pour les rendre tous obligatoires, comme dans >=1.0.0 <2.0.0. Utilisez une double barre verticale pour autoriser plusieurs possibilités, par exemple ^1.8.0 || ^2.2.0.

Le vérificateur traite les métadonnées de compilation conformément à SemVer : elles sont validées, mais ne modifient pas la priorité. Les entrées doivent comporter les numéros majeur, mineur et correctif ; les versions abrégées ou souples sont donc refusées au lieu d’être interprétées de façon ambiguë. Le champ satisfies renvoyé est un booléen directement exploitable dans une condition.

La réponse répète aussi la version et la plage transmises afin que les journaux et interfaces indiquent précisément la politique évaluée.

Comprenez le comportement de caret, tilde et des préversions

Les plages caret et tilde représentent deux politiques de compatibilité courantes. Une plage caret autorise normalement les changements qui ne modifient pas le premier composant non nul à gauche. Ainsi, ^1.2.3 accepte les versions de 1.2.3 jusqu’à 2.0.0, sans inclure cette dernière.

Les versions dont le numéro majeur vaut zéro sont plus limitées : ^0.2.3 s’arrête avant 0.3.0 et ^0.0.3 avant 0.0.4. Une plage tilde autorise les correctifs dans la branche mineure indiquée : ~1.2.3 commence à 1.2.3 et s’arrête avant 1.3.0. Les préversions demandent une attention particulière, car une plage générale ne doit pas accepter accidentellement des compilations instables.

Une préversion ne peut satisfaire un ensemble de comparateurs que si celui-ci contient un comparateur de préversion ayant le même noyau majeur, mineur et correctif. Par exemple, 2.0.0-beta.2 peut satisfaire >=2.0.0-beta.1 <2.0.0, contrairement à 1.5.0-beta.1 pour >=1.0.0 <2.0.0. Cette règle conserve la sécurité habituelle des gestionnaires de paquets et la priorité SemVer stricte entre identifiants de préversion.

Ces limites rendent explicite la stabilité recherchée.

Intégrez des contrôles déterministes aux publications et dépendances

Ce vérificateur est utile dès qu’une politique de version doit devenir une décision reproductible. Une tâche d’intégration continue peut confirmer que la version d’exécution respecte l’exigence d’un paquet avant de lancer les tests. Un service de déploiement peut refuser un artefact situé hors d’une branche de versions approuvée.

Un inventaire de dépendances peut comparer les versions recensées à un objectif de migration, tandis que le support peut reproduire dans le navigateur un résultat de compatibilité contesté. L’implémentation n’effectue aucune requête réseau, ne consulte aucune horloge et ne produit aucune valeur aléatoire : les mêmes entrées donnent toujours les mêmes sorties. Les composants numériques sont comparés comme des chaînes de chiffres plutôt que comme des nombres JavaScript, ce qui préserve la justesse au-delà de la limite des entiers sûrs.

Cette distinction est importante : faux signifie qu’une politique valide refuse la version, tandis qu’une erreur signale une politique à corriger.

Imposer les exigences d’exécution

Vérifiez la version détectée d’un environnement ou d’un outil par rapport à la plage admise avant de poursuivre une compilation ou un déploiement.

Auditer la compatibilité des paquets

Évaluez les versions de dépendances installées selon les politiques déclarées sans exécuter de gestionnaire de paquets.

Diagnostiquer la sélection des versions

Reproduisez les décisions caret, tilde, comparatives et de préversion avec un résultat booléen clair.

Quels opérateurs de plage sont pris en charge ?

Les versions exactes, <, <=, >, >=, =, caret, tilde, les termes ET séparés par des espaces et les alternatives OU à double barre verticale sont pris en charge.

Les métadonnées de compilation influencent-elles le résultat ?

Non. Elles sont validées, mais SemVer les exclut de la priorité entre versions.

Pourquoi une préversion échoue-t-elle face à une plage large ?

Une préversion n’est admise que si son ensemble de comparateurs comprend une préversion ayant le même noyau majeur, mineur et correctif.

Les versions abrégées et les caractères génériques sont-ils acceptés ?

Non. Les versions doivent contenir les composants majeur, mineur et correctif ; toute syntaxe souple ou générique non prise en charge produit une erreur.

Jusqu’où va une plage avec accent circonflexe comme ^1.2.3 ?

De 1.2.3 jusqu’à 2.0.0 exclue. Avec un numéro majeur à zéro, elle est plus étroite : ^0.2.3 s’arrête avant 0.3.0 et ^0.0.3 avant 0.0.4. Une plage avec tilde comme ~1.2.3 s’arrête avant 1.3.0.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

POSThttps://api.kit.forhosting.com/dev2/package-version-range-check

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

curl -X POST https://api.kit.forhosting.com/dev2/package-version-range-check \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"version":"1.5.2","range":">=1.0.0 <2.0.0"}'
{
  "version": "1.5.2",
  "range": ">=1.0.0 <2.0.0"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev2.package_version_range_check",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

max_chars_per_input2048
HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Intégrez des contrôles déterministes aux publications et dépendances

Une syntaxe de plage incorrecte produit une erreur invalid_input et non un résultat faux. Utilisez l’exécuteur interactif pour un contrôle rapide ou appelez l’API pour $0.002 lorsque la décision appartient à une automatisation.

Que se passe-t-il si la plage est incorrecte ?

La capacité renvoie une erreur invalid_input au lieu de considérer la politique incorrecte comme une plage valide sans correspondance.

Consulter la documentation complète du KIT →