/** * GitWand — Résolveur sémantique pour yarn.lock * * Format yarn.lock (v1) : blocs indépendants de la forme : * * "package@^version": * version "1.2.3" * resolved "https://registry..." * integrity sha512-... * dependencies: * dep-a "^1.0" * * Chaque bloc est identifié par son header (la/les ligne(s) de clé). * Le merge se fait par bloc. * * Stratégie : * 1. Parser en blocs (header → body) * 2. Merge 3-way par header : * - Ajouté d'un seul côté → prendre * - Supprimé d'un seul côté (pas modifié de l'autre) → supprimer * - Modifié d'un seul côté → prendre la modification * - Modifié des deux côtés, même résultat → ok * - Conflit → prefer theirs * 3. Reconstruire le fichier trié */ export interface YarnLockMergeResult { /** Contenu fusionné ou null si échec */ merged: string | null; /** Raison de la résolution */ reason: string; /** Nombre de blocs fusionnés */ resolvedBlocks: number; /** Nombre de conflits de version */ versionConflicts: number; } /** * Fusionne trois versions d'un yarn.lock par bloc de paquet. */ export declare function tryResolveYarnLockConflict(baseLines: string[], oursLines: string[], theirsLines: string[]): YarnLockMergeResult; //# sourceMappingURL=lockfile-yarn.d.ts.map