ضبط وتنسيق الكود تلقائيًا قبل التزامات الكود

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 إعجابًا

كان هذا رائعًا جدًا عندما كان يعمل.

حاليًا أحصل على نسخة من هذا الخطأ مع النسخة الرئيسية الحالية في WSL2

لقد أفسد قدرتي على الالتزام:

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)

أي أفكار؟

يبدو أنه كان هناك تحديث من dependabot لـ lefthook قبل 8 ساعات فقط.

قد أضطر إلى تعديل package.json الخاص بي إلى الوراء قليلاً؟

حسنًا، لقد تمكنت من إعادة تشغيله عن طريق إعادة lefthook إلى 1.6.9 (!) وتشغيل yarn
أقدر أي اقتراحات حول نهج أفضل، لأنني الآن خارج المزامنة مع core!

يبدو أن Version 1.7.6 fails installation on CI · Issue #783 · evilmartians/lefthook · GitHub
دعنا نتراجع عن التحديث بينما يكتشفون الأمور

إعجاب واحد (1)

ديفيد، أنا أقوم بترقية محلية إلى Jammy (Dodger)… سأرى ما إذا كان ذلك سيساعد.

إعجاب واحد (1)

هذا هو المفتاح … أحدث إصدار على إصدار Ubuntu الأقدم الذي كان لدي كان GLIBC_2.31 على ما أعتقد.

تحديث الحزمة libc6 رفع الإصدار إلى هذا الحد الأقصى، لذلك يبدو أن ترقية إصدار رئيسية ضرورية.

سأعود قريبًا عندما تنتهي أنويتي الـ 16 من معالجة ذلك.

إعجاب واحد (1)

وفقًا لمشكلة GitHub الخاصة بهم، فإن الاعتماد على المكتبات المشتركة ليس مقصودًا. حتى لو تمكنت من جعله يعمل، فمن المحتمل أن يواجه الآخرون مشاكل. لذا ها نحن ذا:

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

إعجاب واحد (1)

حسناً، هذا يحل المشكلة (مع الإصدار 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)