-
Notifications
You must be signed in to change notification settings - Fork 2
/
git-precommit-checks.config.js
52 lines (52 loc) · 1.94 KB
/
git-precommit-checks.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
module.exports = {
display: {
// Utilise les notifs système pour nous signler qu’un
// problème est détecté.
notifications: true,
// Affiche les chemins des fichiers et numéros de lignes
// ainsi que les contenus défaillants. Pratique pour ouvrir
// via un "Ctrl + clic" le fichier au bon emplacement
// directement dans l'éditeur.
offendingContent: true,
// Si jamais on souhaite obtenir l’affiche dans le
// terminal du détail des règles en place.
rulesSummary: false,
// Si on veut afficher des statistiques simplifiées
// (exemple : "1 error, 1 warning").
shortStats: true,
// Pour afficher le détail de chaque action executée,
// les fichiers analysés, le résumé des opérations.
verbose: false
},
rules: [
// Règles globales, appliquées sur tous les contenus ajoutés
{
// On renseigne le message qui doit nous être affiché en cas de problème.
message: 'Aurais-tu oublié de terminer certaines tâches ?',
// Ici on indique qu’on veut juste une alerte, sans stopper le commit.
// Par défaut c’est renseigné à "false".
nonBlocking: true,
// On passe sous forme de texte ou d’expression rationnelle
// les contenus à rechercher.
regex: /(?:FIXME|TODO)/
},
{
message: 'Tu as des marqueurs de conflits qui traînent',
regex: /^[<>|=]{4,}/m
},
{
message:
'Arrêt du commit : tu as renseigné des choses qui ne doivent pas être commitées !',
regex: /do not commit/i
},
// Ensuite on peut spécifier des fichiers ou motifs particuliers
// pour appliquer nos règles, ça se fait avec la propriété "filter".
{
// Là encore on peut utiliser une expression rationnelle
filter: /\.js$/,
message: '🤔 Hum ! N’as-tu pas oublié de retirer du "console.log(…)" ?',
nonBlocking: true,
regex: /^\s*console\.log/
}
]
}