pre-commit
Предполагается, что удобно работает с хуками git-репозиториев. Понемногу осваиваю для постоянных автоматических проверок. Уже завела на рабочем репозитории, думаю, надо как-то и к садику прикручивать.
.pre-commit-config.yaml
- конфиг, который нужно завести прямо в корне репозитория. Для vale, вроде, прокатывает такой (в смысле, уже начала использовать, смотрю, что пойдёт не так):default_stages: [commit, push] repos: - repo: local hooks: - id: vale-md name: vale-md entry: vale language: system types: ["file", "text", "markdown"] verbose: true - id: vale-dita name: vale-dita entry: vale --ignore-syntax language: system types: ["file", "non-executable", "text"] files: \.(dita|ditamap)$ verbose: true - id: vale-all name: vale entry: vale language: system types: ["text"] exclude: \.(dita|ditamap|md)$ verbose: true
Cмыслы тут:
verbose: true
— потому что иначе всё, что неerror
, фиг увидишь, а чтоerror
— фиг закоммитишь, пока не исправишь. А мне чаще нужныwarning
илиsuggestion
— в смысле, убедись, что тут не косяк, или глянь, не лучше ли иначе. Но если глянула и это ок — коммитить можно.- маркдаун можно и нужно проверять с учётом того, что это маркдаун, и говорить мне об этом (но пока что «говорить» тут единственная польза, потом намерена настраивать дополнительно).
- dita — у меня в системе не живёт понятного для vale способа работать с dita «как надо», поэтому игнор синтаксиса нужен, чтоб не жаловалось.
- Остальные похожие на текстовые — как vale захочет, пусть жалуется, есличо, там разберёмся.
- Для нетекстового у меня проверок нет. Других проверок тож пока нет.
Есть полезность
identify-cli <file>
— способ понять, что писать вtypes
для таких файлов.pre-commit install
– выполнить в репозитории, чтоб хук завёлся. После этого при желании можно:pre-commit run –-all-files
– выполнить хук на всех существующих файлах. В принципе, при добавлении в небольшой репозиторий резонно.pre-commit run
— выполнить только на измененных и застейдженных файлах и посмотреть, работает ли. Это должно срабатывать так же, как «само» по событиюcommit
.
- https://pre-commit.com/hooks.html - мега-список уже готовых хуков.
- https://verdantfox.com/blog/view/how-to-use-git-pre-commit-hooks-the-hard-way-and-the-easy-way - сильно помогло въехать.