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.