@pubinfo-pr/commitlint
v0.238.1
Published
commitlint config for Pubinfo projects
Readme
@pubinfo/commitlint
Pubinfo 项目的统一 Commit 规范工具。这个包同时提供可执行命令 pubinfo-commit、可复用的 commitlint 配置,以及初始化 cz-git / simple-git-hooks 的辅助函数。
它在做什么
- 提供一套约定式提交类型,默认包含
feat、fix、docs、refactor、release、init等。 - 在主分支(
main、master、dev、test、release)自动禁用wip类型。 - 提供交互式提交流程,底层复用
cz-git。 - 提供
--edit模式,供commit-msghook 读取临时文件并校验提交信息。 - 提供
--init模式,自动生成.gitmessage、.pubinfo/cz.config.cjs,并写入simple-git-hooks配置。 - 会读取业务项目里的
pubinfo.config.*,当commitlint被显式关闭时自动停用相关 hook。
命令行
pnpm exec pubinfo-commit
pnpm exec pubinfo-commit --init
pnpm exec pubinfo-commit --edit .git/COMMIT_EDITMSG--init 会尝试完成这些事情:
- 写入
.gitmessage - 写入
.pubinfo/cz.config.cjs - 更新
package.json中的config.commitizen - 更新
package.json中的simple-git-hooks - 执行
npx simple-git-hooks
代码用法
import { commitPreset, isCommitlintEnabled, lintMessage } from '@pubinfo/commitlint';
await lintMessage('feat(core): add request wrapper');
console.log(commitPreset.rules);
console.log(await isCommitlintEnabled());主要导出
commitPreset/loadCommitConfig: 共享的 commitlint 配置isCommitlintEnabled: 从pubinfo.config.*解析是否启用createCzConfig/runCzConfig: 生成并写入cz-git配置createGitMessage/runGitMessage: 生成并启用 Git commit 模板runSimpleGitHooks/runNpx: 写入并安装 hooksdisableCommitlint/enableCommitlint: 启停 hooksrunPrompt: 交互式生成提交消息lintMessage: 直接校验消息文本
仓库关系
- 被
@pubinfo/cli的pubinfo commit子命令直接复用。 - 根仓库的
prepare、commit-msghook 也依赖这个包。
