La librairie compose-go parse les fichiers compose.yaml pour Docker Compose et d'autres outils tiers. La v2 présente un défaut conceptuel : chaque fichier est désérialisé en map[string]any immédiatement après parsing, puis interpolé avant la fusion multi-fichiers. Le contexte de chargement (variables d'environnement, répertoire de travail, fichier d'origine, position ligne/colonne) est perdu dès la conversion. Conséquence :
include:permet de redéfinirproject_directoryetenv_filepour le fichier inclus, mais comme l'interpolation est eager et par-fichier, elle ne peut pas être différée. Toute reconsidération ultérieure du contexte est impossible.extendssouffre d'un problème analogue (un service étendu depuis un fichier B devrait être interpolé dans le contexte de B, ce qui marche partiellement aujourd'hui mais via du code spécifique).- La résolution des chemins relatifs utilise toujours le
WorkingDirracine, même pour de