Хуки

Налаштування хуків: виберіть, що вони перевіряють

Виберіть, що пропускають хуки, які перевіряють файли, для всіх одразу чи для одного з них.

Блок 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"] }
}
}

Параметри​

КлючЗначенняЗа замовчуваннямОпис
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, перевіряється незалежно від налаштувань. Налаштування, яке рушій не може прочитати, зупиняє перевіряльник з помилкою, що його називає, як-от шаблон, який починається з ! або пробілу, виходить за межі проєкту, залишає дужку незакритою або надто довго зіставляється.

Часті запитання

Ні. Charter перелічує папки в репозиторії, які, згідно з її аналізом, не є кодом, що ви маєте захищати, як-от тестові фікстури, написані так, щоб виглядати вразливими, і записує лише ті, які ви виберете за номером.

Коли репозиторію не можна довіряти, адже його власні файли .gitignore можуть приховувати код, або коли в папці збірки може опинитися ключ, вбудований під час збірки. Встановіть gitignore у false для всіх перевіряльників або для одного.