Блок 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
Або задайте їх у файлі:
{
"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 для всіх перевіряльників або для одного.
