Linter et formater automatiquement le code avant les commits

The discourse repository includes configuration for lefthook. This will automatically check any code before it’s committed to git, and alert about any issues. To get set up, simply enter your discourse development directory and run

pnpm install
pnpm run lefthook install

Files will now be automatically checked before committing. If there are any issues, the commit will be cancelled, and you will be shown a list of errors.


This document is version controlled - suggest changes on 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 »