Об этом проекте
commitlint — это инструмент с открытым исходным кодом для проверки сообщений коммитов. Он проверяет, что сообщения соответствуют формату Conventional Commits, обычно записываемому как `type(scope?): subject`, где scope необязателен и поддерживаются несколько scope с разделителями, такими как `/`, `\` и `,`. Распространённые типы включают build, chore, ci, docs, feat, fix, perf, refactor, revert, style и test, и их можно настраивать через конфигурацию.
Проект предоставляет основной CLI, устанавливаемый как `@commitlint/cli`, и программный API. Конфигурация автоматически подхватывается из файлов, таких как `.commitlintrc`, `.commitlintrc.json`, `.commitlintrc.yaml`, `.commitlintrc.yml`, `.commitlintrc.js`, `.commitlintrc.cjs`, `.commitlintrc.mjs`, `.commitlintrc.ts`, `.commitlintrc.cts`, `.commitlintrc.mts`, `commitlint.config.js`, `commitlint.config.cjs`, `commitlint.config.mjs`, `commitlint.config.ts`, `commitlint.config.cts`, `commitlint.config.mts`, или поля `commitlint` в `package.json` или `package.yaml`.
Общие конфигурации можно устанавливать и расширять, включая @commitlint/config-angular, @commitlint/config-conventional, @commitlint/config-lerna-scopes, @commitlint/config-nx-scopes, @commitlint/config-patternplate и @commitlint/config-workspace-scopes. Пользовательские общие конфигурации должны следовать шаблону именования `commitlint-config-*`, чтобы на них можно было ссылаться по короткому имени в поле `extends`.
Пакеты API включают format, lint, load и read, что позволяет проверять сообщения коммитов программно, загружать конфигурацию и читать сообщения из указанного диапазона или последнего изменения. Дополнительные инструменты включают адаптер commitizen и интерактивный CLI.
Руководства по началу работы охватывают локальную настройку, где сообщения проверяются при коммите с помощью husky, и настройку CI, где сообщения проверяются во время сборок CI. Проект разрабатывается как монорепозиторий и требует Node.js LTS >= 22.12.0 и git >= 2.13.2. Он выпущен под лицензией MIT. Связанные проекты включают conventional-changelog, commitizen и create-semantic-module.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.