Automatisch Code linten und formatieren vor 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 „Gefällt mir“

Das war sehr cool, als es noch funktionierte.

Derzeit erhalte ich eine Version dieses Fehlers mit dem aktuellen Main in WSL2.

Es hat meine Fähigkeit zu committen beeinträchtigt:

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)

Irgendwelche Ideen?

Es sieht so aus, als hätte es vor 8 Stunden ein Dependabot-Update für lefthook gegeben.

Muss ich mein package.json vielleicht ein Stück zurücksetzen?

OK, ich habe es wieder zum Laufen gebracht, indem ich lefthook auf 1.6.9 (!) zurückgesetzt und yarn-ing habe.

Jeder Vorschlag für einen besseren Ansatz wird sehr geschätzt, da ich jetzt nicht mehr mit dem Kern synchron bin!

Sieht aus wie Version 1.7.6 fails installation on CI · Issue #783 · evilmartians/lefthook · GitHub

Lass uns das Update rückgängig machen, während sie die Dinge klären.

1 „Gefällt mir“

David, ich führe ein lokales Upgrade auf Jammy (Dodger) durch … Ich werde sehen, ob das hilft.

1 „Gefällt mir“

Das ist entscheidend … die neueste Version auf dem früheren Ubuntu, das ich hatte, war meiner Meinung nach GLIBC_2.31.

Das Aktualisieren des Pakets libc6 hat die Version auf diese maximiert, daher scheint ein Major-Release-Upgrade notwendig zu sein.

Ich werde mich kurz darauf zurückmelden, wenn meine 16 Kerne das durchgearbeitet haben.

1 „Gefällt mir“

Laut ihrem GitHub-Issue ist die Abhängigkeit von Shared Libs nicht beabsichtigt. Selbst wenn Sie es zum Laufen bringen können, werden andere Leute wahrscheinlich Probleme haben. Also los geht’s:

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

1 „Gefällt mir“

ok das behebt es (mit 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 „Gefällt mir“