Linter y formatea automáticamente el código antes de los commits

El repositorio de Discourse incluye configuración para lefthook. Esto verificará automáticamente cualquier código antes de que se confirme en git y alertará sobre cualquier problema. Para configurarlo, simplemente ingrese a su directorio de desarrollo de Discourse y ejecute

pnpm install
pnpm run lefthook install

Los archivos se verificarán automáticamente antes de confirmar. Si hay algún problema, la confirmación se cancelará y se le mostrará una lista de errores.


Este documento está controlado por versiones: sugiera cambios en github.

11 Me gusta

Esto funcionó muy bien cuando estaba operativo.

Actualmente estoy recibiendo una versión de este error con la rama principal actual en WSL2.

Ha roto mi capacidad de hacer commits:

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)

¿Alguna idea?

Parece que hubo una actualización de dependabot a lefthook hace solo 8 horas.

¿Tendré que rebajar mi package.json un poco?

OK, lo volví a hacer funcionar moviendo lefthook de nuevo a 1.6.9 (!) y haciendo yarn.

Agradecería cualquier sugerencia sobre un mejor enfoque, ¡porque ahora estoy fuera de sincronización con el núcleo!

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

Revertamos la actualización mientras ellos lo resuelven.

1 me gusta

David, estoy haciendo una actualización local a Jammy (Dodger)… Veré si eso ayuda.

1 me gusta

Esto es clave… la última versión en el Ubuntu anterior que tenía era GLIBC_2.31, creo.

Actualizar el paquete libc6 llevó la versión a esta, por lo que parece necesario una actualización de versión importante.

Revertiré en breve cuando mis 16 núcleos hayan procesado eso.

1 me gusta

Según su problema de GitHub, la dependencia de bibliotecas compartidas no es intencional. Incluso si puedes hacerlo funcionar, es probable que otras personas tengan problemas. Así que aquí vamos:

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

1 me gusta

ok esto lo soluciona (¡con 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 Me gusta