Linter et formater automatiquement le code avant les commits

Le dépôt discourse inclut la configuration pour lefthook. Cela vérifiera automatiquement tout code avant qu’il ne soit validé dans git, et alertera sur tout problème. Pour vous configurer, entrez simplement dans votre répertoire de développement discourse et exécutez

pnpm install
pnpm run lefthook install

Les fichiers seront désormais automatiquement vérifiés avant la validation. S’il y a des problèmes, la validation sera annulée et une liste d’erreurs vous sera affichée.


Ce document est contrôlé par version - suggérez des modifications sur github.

11 « J'aime »

C’était très cool quand ça fonctionnait.

J’obtiens actuellement une version de cette erreur avec la branche principale actuelle dans WSL2.

Cela a cassé ma capacité à commiter :

robert@blah:~/discourse$ git commit -m "fix test setup"
/home/robert/discourse/node_modules/lefthook-linux-x64/bin/lefthook: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /home/robert/discourse/node_modules/lefthook-linux-x64/bin/lefthook)
/home/robert/discourse/node_modules/lefthook-linux-x64/bin/lefthook: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /home/robert/discourse/node_modules/lefthook-linux-x64/bin/lefthook)

Des idées ?

Il semble qu’il y ait eu une mise à jour de dependabot pour lefthook il y a seulement 8 heures.

Je vais peut-être devoir rétrograder mon package.json ?

OK, j’ai réussi à le faire fonctionner à nouveau en ramenant lefthook à 1.6.9 (!) et en faisant un yarn-ing

Toute suggestion sur une meilleure approche serait très appréciée, car je suis maintenant désynchronisé avec le cœur !

On dirait Version 1.7.6 fails installation on CI · Issue #783 · evilmartians/lefthook · GitHub

Revenons à la version précédente pendant qu’ils règlent le problème

1 « J'aime »

David, je fais une mise à niveau locale vers Jammy (Dodger)… Je vais voir si cela aide.

1 « J'aime »

C’est la clé… la dernière version sur l’Ubuntu précédente que j’avais était GLIBC_2.31 je crois.

La mise à jour du paquet libc6 a maximisé la version à celle-ci, donc il semble qu’une mise à niveau majeure de la version soit nécessaire.

Je reviendrai bientôt lorsque mes 16 cœurs auront traité cela.

1 « J'aime »

Selon leur problème GitHub, la dépendance aux bibliothèques partagées n’est pas intentionnelle. Même si vous parvenez à le faire fonctionner, d’autres personnes auront probablement des problèmes. Alors, c’est parti :

Revert "Build(deps-dev): Bump lefthook from 1.7.5 to 1.7.7 (#28068)" … · discourse/discourse@1b7a583 · GitHub :fire:

1 « J'aime »

ok ça corrige (avec 1.7.7 !) :

robert@blah:~/discourse$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.4 LTS
Release:        22.04
Codename:       jammy

(@JammyDodger )

:rocket:

robert@blah:~/discourse$ yarn list --pattern lefthook
yarn list v1.22.19
warning Resolution field "unset-value@2.0.1" is incompatible with requested version "unset-value@^1.0.0"
├─ lefthook-darwin-arm64@1.7.7
├─ lefthook-darwin-x64@1.7.7
├─ lefthook-freebsd-arm64@1.7.7
├─ lefthook-freebsd-x64@1.7.7
├─ lefthook-linux-arm64@1.7.7
├─ lefthook-linux-x64@1.7.7
├─ lefthook-windows-arm64@1.7.7
├─ lefthook-windows-x64@1.7.7
└─ lefthook@1.7.7
Done in 0.53s
robert@blah:~/discourse$ git status
On branch test_branch
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   mytestfile

robert@blah:~/discourse$ git commit -m "test file addition"
│  ember-template-lint (skip) no files for inspection
│  yaml-syntax (skip) no files for inspection
│  i18n-lint (skip) no files for inspection
│  rubocop (skip) no files for inspection
│  eslint (skip) no files for inspection
│  prettier (skip) no files for inspection
│  prettier-scss (skip) no files for inspection
│  syntax_tree (skip) no files for inspection

  ────────────────────────────────────
summary: (done in 0.06 seconds)
[test_branch 1cd0bb3839] test file addition
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 mytestfile
2 « J'aime »