Quand FerrFlow rencontre une erreur, il affiche un code comme error[E2001] avec un lien vers cette page. Utilisez le code pour trouver la cause et la solution.
Erreurs de configuration
E1001 : Fichier de config introuvable
Le fichier de config indiqué via --config n'existe pas.
E1002 : Échec du parsing ferrflow.json
Le fichier ferrflow.json contient du JSON invalide.
E1003 : Échec du parsing ferrflow.json5
Le fichier ferrflow.json5 contient du JSON5 invalide.
E1004 : Échec du parsing ferrflow.toml
Le fichier ferrflow.toml contient du TOML invalide.
E1005 : Erreur de sérialisation TOML
Erreur interne lors de l'écriture TOML.
E1006 : Échec du parsing .ferrflow
Le fichier .ferrflow contient du JSON invalide.
E1007 : Erreur de sérialisation .ferrflow
Erreur interne lors de l'écriture du dotfile.
E1008 : Résolution de chemin impossible
Un chemin dans la config n'a pas pu être résolu en chemin absolu.
E1009 : Écriture du loader temporaire impossible
Impossible d'écrire le loader JS/TS temporaire.
E1010 : Impossible d'exécuter tsx
Le runtime tsx est introuvable pour les configs .ts.
E1011 : Impossible d'exécuter node
Le runtime node est introuvable pour les configs .js.
E1012 : Évaluation de la config échouée
Le fichier JS/TS a levé une erreur lors de l'évaluation.
E1013 : Sortie de config invalide
Le fichier JS/TS a produit une sortie non UTF-8.
E1014 : JSON invalide depuis la config
Le fichier JS/TS n'a pas produit de JSON valide.
E1015 : Lecture du fichier impossible
Le fichier de config existe mais ne peut pas être lu.
E1016 : Plusieurs fichiers de config
Plusieurs fichiers de config trouvés dans le répertoire.
E1017 : Fichier déjà existant
ferrflow init lancé alors qu'un fichier de config existe déjà.
Erreurs de validation
E1100 : Spec de repo invalide
L'argument --repo ne correspond pas au format attendu owner/repo.
E1101 : Erreur API GitHub
L'API GitHub a retourné une erreur lors de la validation distante.
E1102 : Erreur API GitLab
L'API GitLab a retourné une erreur lors de la validation distante.
E1103 : UTF-8 invalide
Le fichier de config distant contient un encodage UTF-8 invalide.
E1104 : Parsing de la config distante échoué
Le fichier de config distant n'a pas pu être parsé.
E1105 : Fichier de config distant introuvable
Le chemin spécifié n'existe pas dans le dépôt distant.
E1106 : Aucun fichier de config trouvé
Aucun fichier de config FerrFlow dans le dépôt distant.
E1107 : --ref nécessite --repo
Le flag --ref a été utilisé sans --repo.
Opérations Git
E2001 : Pas un dépôt git
Le répertoire courant n'est pas dans un dépôt git.
E2002 : Dépôt bare non supporté
FerrFlow ne supporte pas les dépôts git bare.
E2003 : Tag existant
Le tag que FerrFlow veut créer existe déjà.
E2004 : Push de branche échoué
Impossible de push la branche de release.
E2005 : Push rejeté
Le remote a rejeté le push.
E2006 : Push des tags échoué
Impossible de push les tags vers le remote.
E2007 : Push des tags flottants échoué
Impossible de force-push les tags flottants.
E2008 : Remote introuvable
Le remote git configuré n'existe pas.
E2009 : Vérification post-push échouée
Le commit de release n'a pas pu être vérifié sur la branche distante.
E2010 : Branche distante introuvable
La branche distante n'a pas été trouvée après le push.
API GitHub
E3001 : Création de release échouée
L'API GitHub Releases a retourné une erreur.
E3002 to E3010 : Erreurs API GitHub
Erreurs lors d'opérations sur l'API GitHub (releases, PR, auto-merge, GraphQL).
API GitLab
E3101 : Création de release échouée
L'API GitLab Releases a retourné une erreur.
E3102 to E3105 : Erreurs API GitLab
Erreurs lors d'opérations sur l'API GitLab (releases, MR, merge).
Fichiers de version
Les erreurs E4xxx concernent la lecture, l'écriture et le parsing des fichiers de version :
| Plage | Format |
|---|---|
| E4101 to E4105 | TOML (Cargo.toml, pyproject.toml) |
| E4201 to E4205 | JSON (package.json) |
| E4301 to E4304 | Helm / YAML (Chart.yaml) |
| E4401 to E4413 | XML / CSProj |
| E4501 to E4504 | Gradle |
| E4601 to E4603 | Go mod |
| E4701 to E4704 | Texte (VERSION, VERSION.txt) |
Erreurs courantes : lecture impossible, syntaxe invalide, champ version manquant, écriture impossible, UTF-8 invalide.
Pré-release
E5001 : Nom de channel vide
Le nom du channel de pré-release est vide.
E5002 : Nom de channel invalide
Seuls les alphanumériques et tirets sont acceptés.
Versioning
E5010 : Semver invalide
La version actuelle n'est pas un semver valide.
Hooks
E6001 : Hook échoué
Un hook a échoué avec on_failure: "abort".
Query
E7001 : Aucun package configuré
Aucun package dans le fichier de config.
E7002 : Package introuvable
Le nom de package spécifié n'existe pas dans la config.
Monorepo
E8001 : Package introuvable dans la config
Un package référencé pendant la release n'a pas été trouvé.
E8002 : Tag flottant régressif
Un tag flottant serait déplacé vers une version plus ancienne.
E8003 : Cycle de dépendances
Deux packages ou plus dépendent l'un de l'autre via dependsOn, directement ou transitivement : il n'existe aucun ordre de release possible. Le message nomme la boucle, par exemple cycle detected: api → web → api. Supprimez l'une des arêtes dependsOn pour la casser. La vérification s'exécute avant toute écriture de version, donc une configuration cyclique ne laisse jamais de release partielle.