Lintar e formatar automaticamente o código antes dos 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 curtidas

Isso foi muito legal quando estava funcionando.

Atualmente estou recebendo uma versão deste erro com o main atual no WSL2

Isso quebrou minha capacidade de fazer commit:

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)

Alguma ideia?

Parece que houve uma atualização do dependabot para o lefthook há apenas 8 horas.

Talvez eu tenha que voltar um pouco no meu package.json?

OK, consegui fazer funcionar novamente movendo o lefthook de volta para 1.6.9 (!) e usando o yarn
Qualquer sugestão sobre uma abordagem melhor será muito apreciada, porque agora estou fora de sincronia com o core!

Parece com Version 1.7.6 fails installation on CI · Issue #783 · evilmartians/lefthook · GitHub

Vamos reverter a atualização enquanto eles resolvem as coisas

1 curtida

David, estou fazendo um upgrade local para o Jammy (Dodger)… Vou ver se isso ajuda.

1 curtida

Esta é a chave… a versão mais recente no Ubuntu anterior que eu tinha era GLIBC_2.31, acredito.

Atualizar o pacote libc6 levou a versão a este ponto, então parece que uma atualização de versão principal é necessária.

Voltarei em breve quando meus 16 núcleos processarem isso.

1 curtida

De acordo com o problema do github deles, a dependência de bibliotecas compartilhadas não é intencional. Mesmo que você consiga fazê-lo funcionar, outras pessoas provavelmente terão problemas. Então, aqui vamos nós:

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

1 curtida

ok isso corrige (com 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 curtidas