Aller au contenu
Accueil moxon

Versions sémantiques

L'endpoint /semver analyse, incrémente et compare des versions sémantiques selon la spécification semver.org.

gethttps://api.moxon.dev/v6/semver

Comment ça marche ?

Une version doit respecter la grammaire officielle MAJOR.MINOR.PATCH, suivie éventuellement de -prerelease et +build. Les zéros initiaux sont refusés, donc 01.2.3 est invalide.

La comparaison suit la précédence semver : les parties numériques d'abord, puis la prerelease. Une version portant une prerelease est classée sous la même version sans prerelease, les identifiants numériques de prerelease sont comparés comme des nombres (alpha.2 est inférieur à alpha.10), et les métadonnées de build sont entièrement ignorées.

Une incrémentation remet les parties inférieures à zéro et supprime la prerelease ainsi que les métadonnées de build : 1.0.0-alpha+build.1 incrémenté sur patch donne 1.0.1.

Le signe + est décodé comme une espace dans une chaîne de requête, l'API le restaure donc avant l'analyse — les métadonnées de build peuvent être envoyées telles quelles ou encodées en pourcentage.

Essayerget/v6/semver

Paramètres

  • versionstringrequis

    Version à traiter (ex. 1.2.3-beta.1+build.42)

  • action"parse" | "bump" | "compare"optionnel

    Action à effectuer : parse, bump ou compare. Par défaut : parse

  • part"major" | "minor" | "patch"optionnel

    bump uniquement : partie à incrémenter, major, minor ou patch. Par défaut : patch

  • otherstringconditionnel

    Seconde version à comparer (requis pour compare)

Actions disponibles

ActionDescription
parseDécompose la version en ses composants
bumpIncrémente part et remet les parties inférieures à zéro
compareCompare version à other selon la précédence semver

Champs de réponse

Action parse :

  • versionstring

    La version d'entrée originale

  • majornumber

    Numéro majeur

  • minornumber

    Numéro mineur

  • patchnumber

    Numéro de correctif

  • prereleasestring|null

    Identifiants de prerelease sans le - initial, null si absents

  • buildstring|null

    Métadonnées de build sans le + initial, null si absentes

Action bump :

  • versionstring

    La version d'entrée originale

  • actionstring

    bump

  • partstring

    Partie qui a été incrémentée

  • resultstring

    La version incrémentée

Action compare :

  • versionstring

    La version d'entrée originale

  • actionstring

    compare

  • otherstring

    La version à laquelle la comparaison est faite

  • resultnumber

    -1 si version est inférieure, 0 si égale, 1 si supérieure

  • descriptionstring

    Comparaison lisible (ex. 1.2.3 < 1.3.0)

Exemples de code

Gestion des erreurs

Si les paramètres sont manquants ou invalides, l'API retournera une erreur :

  • 400Please provide a version (?version={version})Le paramètre version est manquant
  • 400Action must be one of: parse, bump, compareLa valeur de action n'est pas valide
  • 400Version must be 256 characters or fewerLa valeur version ou other dépasse la longueur maximale
  • 400Invalid semver versionLa valeur version ou other ne respecte pas la grammaire semver
  • 400Part must be one of: major, minor, patchLa valeur de part n'est pas valide pour bump
  • 400Please provide a second version (&other={version})Le paramètre other est manquant pour compare