Hooks

إعداد hooks: اختر ما تفحصه

اختر ما تستثنيه hooks التي تفحص الملفات، لها جميعًا أو لواحد منها.

تحدد الكتلة checkers في .lagune/configs.json ما تستثنيه hooks التي تفحص الملفات، لها جميعًا أو لواحد منها.

طريقة الإعداد​

أضف المسارات والأنماط أو أزلها من سطر الأوامر، مع وضع النمط بين علامتي اقتباس لتتركه الصدفة كما كُتب:

npx lagune write add --ignore test/fixtures
npx lagune write add --ignore 'packages/*/dist' --checker secrets
npx lagune write remove --ignore test/fixtures

أو اخترها من إعدادات لوحة التحكم، أو حددها في الملف:

{
"checkers": {
"ignore": ["test/fixtures"],
"secrets": { "gitignore": false, "ignore": ["test/fixtures", "temp"] }
}
}

الإعدادات​

المفتاحالقيمةالافتراضيالوصف
gitignoretrue أو falsetrueيستثني ما يتجاهله Git. أما الملف الذي يتتبعه Git فيُفحص في كل الأحوال.
ignoreمسارات أو أنماط من جذر المشروع[]يستثني ما يطابقه كل منها وكل ما تحته، حتى الملف الذي يتتبعه Git.

في المستوى الأعلى من checkers، ينطبق المفتاح على كل الفاحصات. وتحت اسم فاحص، ينطبق على ذلك الفاحص وحده ويحل محل المفتاح المشترك، ففي المثال يفحص secrets ما يتجاهله Git ويستثني test/fixtures و temp. وحين يمنح write add --ignore فاحصًا أول قائمة خاصة به، تبدأ تلك القائمة نسخةً من القائمة المشتركة.

الأنماط​

يبدأ النمط من جذر المشروع، لذلك يصل *.generated.ts إلى الملفات الموجودة هناك فقط، ويصل **/*.generated.ts إليها على أي عمق. وتُطابق الأسماء تمامًا، بما في ذلك حالة الأحرف.

النمطما يستثنيه
distdist في جذر المشروع
packages/*/distdist في كل مجلد تحت packages
**/distكل dist، على أي عمق
**/*.generated.tsكل ملف ينتهي اسمه بـ .generated.ts
fixture-?fixture-a و fixture-1 وما شابههما
[ab]-cachea-cache و b-cache
[*]x*x، مع * حرفية

كيف تقرأ النتيجة​

ينتهي التقرير بعدد المسارات التي استثناها الفحص، حسب ما يتجاهلها:

Skipped 25 paths that Git ignores and 3 paths that .lagune/configs.json ignores. Name one with --dir or --file to scan it.

المسار المحدد عبر --dir أو --file يُفحص أيًا كانت الإعدادات. والإعداد الذي لا يستطيع المحرك قراءته يوقف الفاحص بخطأ يذكره، مثل نمط يبدأ بـ ! أو بمسافة، أو يخرج من المشروع، أو يترك قوسًا مفتوحًا، أو تستغرق مطابقته وقتًا طويلًا.

الأسئلة الشائعة

لا. يسرد ميثاق الأمان المجلدات المُضافة إلى المستودع التي تُظهر قراءته أنها ليست من الكود الذي يجب الدفاع عنه، مثل بيانات الاختبار المكتوبة لتبدو ضعيفة، ولا يسجّل إلا ما تختاره منها بالرقم.

حين لا يكون المستودع موثوقًا لديك، لأن ملفات ‎.gitignore الخاصة به قد تخفي كودًا، أو حين قد يحمل مجلد build مفتاحًا مُدرجًا وقت البناء. اضبط gitignore على false لكل الفاحصات أو لواحد منها.