checkers ब्लॉक, जो .lagune/configs.json फ़ाइल में होता है, तय करता है कि फ़ाइलें स्कैन करने वाले हुक किन चीज़ों को छोड़ें, सभी हुक के लिए एक साथ या किसी एक के लिए अलग से।
कॉन्फ़िगर करें
कमांड लाइन से पाथ और पैटर्न जोड़ें या हटाएँ। पैटर्न को कोट में रखें, ताकि शेल उसे वैसा ही छोड़ दे जैसा लिखा है:
npx lagune write add --ignore test/fixtures
npx lagune write add --ignore 'packages/*/dist' --checker secrets
npx lagune write remove --ignore test/fixtures
या उन्हें डैशबोर्ड के Settings पेज में चुनें, या सीधे फ़ाइल में सेट करें:
{
"checkers": {
"ignore": ["test/fixtures"],
"secrets": { "gitignore": false, "ignore": ["test/fixtures", "temp"] }
}
}
सेटिंग्स
| कुंजी | वैल्यू | डिफ़ॉल्ट | विवरण |
|---|---|---|---|
gitignore | true या false | true | जिसे Git अनदेखा करता है, उसे छोड़ दें। Git जिस फ़ाइल को ट्रैक करता है, वह हर हाल में स्कैन होती है। |
ignore | प्रोजेक्ट रूट से पाथ या पैटर्न | [] | हर पाथ या पैटर्न जिससे मेल खाता है, उसे और उसके नीचे की हर चीज़ को छोड़ दें, भले ही Git उस फ़ाइल को ट्रैक करता हो। |
checkers के सबसे ऊपरी स्तर पर रखी कुंजी हर चेकर पर लागू होती है। किसी चेकर के नाम के नीचे रखी कुंजी सिर्फ़ उसी चेकर पर लागू होती है और साझा कुंजी की जगह ले लेती है। इसलिए उदाहरण में secrets वह भी स्कैन करता है जिसे Git अनदेखा करता है, और test/fixtures और temp को छोड़ देता है। जब write add --ignore किसी चेकर को पहली बार उसकी अपनी सूची देता है, तो वह सूची साझा सूची की कॉपी से शुरू होती है।
पैटर्न
पैटर्न प्रोजेक्ट रूट से शुरू होता है, इसलिए *.generated.ts सिर्फ़ रूट की फ़ाइलों तक पहुँचता है और **/*.generated.ts किसी भी गहराई पर मौजूद फ़ाइलों तक। नाम हूबहू मेल खाने चाहिए, बड़े और छोटे अक्षरों समेत।
| पैटर्न | क्या छोड़ता है |
|---|---|
dist | प्रोजेक्ट रूट पर मौजूद dist |
packages/*/dist | dist, जो packages के नीचे हर फ़ोल्डर में हो |
**/dist | हर dist, किसी भी गहराई पर |
**/*.generated.ts | हर वह फ़ाइल जिसका नाम .generated.ts पर ख़त्म होता है |
fixture-? | fixture-a, fixture-1 और ऐसे ही दूसरे नाम |
[ab]-cache | a-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 से दिया गया पाथ हर हाल में स्कैन होता है, सेटिंग्स चाहे जो कहें। जिस सेटिंग को इंजन पढ़ नहीं पाता, वह चेकर को एक एरर के साथ रोक देती है जिसमें उस सेटिंग का नाम होता है, जैसे ऐसा पैटर्न जो ! या स्पेस से शुरू होता हो, प्रोजेक्ट से बाहर निकल जाता हो, कोई ब्रैकेट खुला छोड़ देता हो, या मेल खाने में बहुत ज़्यादा समय लेता हो।
अक्सर पूछे जाने वाले सवाल
नहीं। charter चरण उन कमिट किए गए फ़ोल्डरों की सूची बनाता है जिनके बारे में प्रोजेक्ट पढ़कर वह पाता है कि वे बचाने लायक आपका कोड नहीं हैं, जैसे कमज़ोर दिखने के लिए लिखे गए टेस्ट फ़िक्स्चर, और सिर्फ़ वही फ़ोल्डर दर्ज करता है जिन्हें आप नंबर से चुनते हैं।
जब रिपॉज़िटरी ऐसी हो जिस पर आप भरोसा नहीं कर सकते, क्योंकि उसकी अपनी .gitignore फ़ाइलें कोड छिपा सकती हैं, या जब किसी बिल्ड फ़ोल्डर में बिल्ड के समय इनलाइन की गई कोई कुंजी हो सकती है। हर चेकर के लिए या किसी एक के लिए gitignore को false पर सेट करें।
