npm-feishu-notifier
v1.0.4
Published
A CLI tool to send npm publish notifications to Feishu.
Maintainers
Readme
npm-feishu-notifier
一个轻量级、零配置的 CLI 工具,旨在连接您的 npm publish 工作流与飞书,通过自动化校验和通知,提升发布质量和团队同步效率。
核心愿景
本工具旨在成为您 npm 发布流程的“守门员”。在发布前,它会执行一系列校验,确保您的软件包处于良好状态。成功发布后,它会自动向指定的飞书群组发送一条格式精美的消息卡片。
功能特性
- 自动化发布通知: 在
npm publish成功后,自动发送飞书消息卡片,包含包名、版本、发布者和更新日志等信息。 - 发布前校验: 在不满足预设条件时阻止发布:
- Git 状态: 确保工作区是干净的,并且您位于主干分支上。
- 更新日志: 检查
CHANGELOG.md是否存在,并且包含了新版本的条目。 - 版本: 验证当前版本尚未发布到 npm registry。
- 配置: 检查飞书机器人的 URL是否已配置。
- 灵活配置: 可通过
package.json中的feishuNotifier字段或独立的.notifierrc.json文件进行配置。 - 简单易用:
- 提供
init命令,可快速设置您的项目。 - 提供
--dry-run模式,用于测试通知功能,而无需实际发送。
- 提供
安装
npm install npm-feishu-notifier --save-dev使用方法
1. 初始化
运行 init 命令,它将自动配置您的 package.json:
npx npm-feishu-notifier init该命令会向您的 package.json 添加以下内容:
{
"scripts": {
"prepublishOnly": "npm-feishu-notifier validate",
"postpublish": "npm-feishu-notifier notify"
},
"feishuNotifier": {
"feishuBotUrl": "https://open.feishu.cn/open-apis/bot/v2/hook/YOUR_WEBHOOK_ID",
"changelogPath": "CHANGELOG.md",
"check": {
"version": true,
"changelog": true,
"git": true
},
"mainBranch": "main"
}
}重要提示: 您必须将 YOUR_WEBHOOK_ID 替换为您真实的飞书机器人 Webhook 地址。
2. 发布流程
配置完成后,您的工作流程将非常简单:
- 更新
package.json中的version字段。 - 在
CHANGELOG.md中为新版本添加对应的条目 (例如,## [1.2.3])。 - 提交您的代码变更。
- 运行
npm publish。
prepublishOnly 和 postpublish 脚本会自动触发校验和通知步骤。
命令列表
npm-feishu-notifier init: 初始化配置。npm-feishu-notifier validate: 执行发布前校验。npm-feishu-notifier notify: 发送飞书通知。--dry-run: 在控制台打印通知内容,而不实际发送。
