C'est normal si vous aviez laissé des warnings. Votre commit est passé localement car il respectait la limite des 50 mais la CI exige la perfection.
Pour corriger :
pnpm lint:ci
pnpm lint:html:ci
pnpm lint:scss:ciCorrigez les warnings restants, commitez et pushez.
Pas de panique ! Cela arrive aux meilleurs. Si un commit est bloqué en local ou si la CI échoue avec un message de Gitleaks, suivre ces étapes dans l'ordre :
Consulter le log de Gitleaks. Il indiquera le fichier, la ligne et le type de secret détecté (ex: Generic API Key).
Si un secret valide traîne réellement :
git commit --amend ou un git rebase.Si le commit est déjà sur le serveur : il faudra utiliser un outil comme BFG Repo-Cleaner ou git filter-repo.
Si Gitleaks s'est trompé (ex: il a pris un ID de test pour une clé API) :
.gitleaks.toml sous la section [allowlist].Gitleaks ignorera cette valeur précise à l'avenir.
💡 Rappel : La règle d'or
Ne jamais utiliser --no-verify pour forcer un commit bloqué par Gitleaks. Si l'outil aboie, c'est qu'il y a une raison !!!
Prendre 2 minutes pour vérifier, cela peut éviter des heures de gestion de crise plus tard...
Message : "ERR_PNPM_OUTDATED_LOCKFILE"
Le fichier pnpm-lock.yaml n'est pas synchronisé avec le package.json. Cela arrive typiquement quand :
package.json.package.json sans mettre à jour le lockfile.La CI est configurée en mode STRICT (frozen-lockfile) : elle refuse d'installer des dépendances si le "contrat" (lockfile) n'est pas clair, afin d'éviter d'installer des versions non testées en production.
Pour corriger :
Example :pnpm installPush again 😜
Example :Message : "Critical vulnerability found in qs"
Critical vulnerability found in qs
Package: qs
Vulnerability: Uncontrolled Resource Consumption
Severity: critical
Installed version: 6.5.2
Path: your-project > some-dependency > qs
Fixed in: >=6.14.1Ajouter sa version patchée dans package.json =>
"pnpm": {
"overrides": {
"qs": ">=6.14.1"
}
}Supprimer le node_modules, le pnpm-lock.yaml et clean le cache de PNPM =>
pnpm store prunePuis relancer une install :
Example :pnpm install --no-frozen-lockfilePush 🤜🤜🤜

Créer le fichier .gitattributes à la racine du projet...
Puis "renormaliser" la config Git en lançant ces commandes dans le projet :
Example :git add --renormalize .
git commit -m "chore: enforce LF line endings" --no-verifyPublier la branche et écraser le contenu sur Github avec la version locale :
Example :git push --force origin main
L'auteur "Andrew Branch" est membre de l'équipe TypeScript chez Microsoft, ce qui garantit la fiabilité et la pertinence de l'outil.
🔗 andrewbranch/ts5to6 – Outil de migration TypeScript 5 vers 6
Pour le fichier de configuration de base du projet
Example :npx @andrewbranch/ts5to6 --fixBaseUrl ./tsconfig.jsonPour le fichier de configuration de l'application (où se trouvent les paths)
Example :npx @andrewbranch/ts5to6 --fixBaseUrl ./tsconfig.app.jsonPour le fichier de configuration de base du projet
Example :npx @andrewbranch/ts5to6 --fixRootDir ./tsconfig.jsonPour le fichier de configuration de l'application
Example :npx @andrewbranch/ts5to6 --fixRootDir ./tsconfig.app.json
Message : "Review this potentially hard-coded password."
La meilleure pratique DevOps est d'utiliser l'outil pour gérer les exceptions sans modifier un code qui est légitime.
environment.ts.