grid-npm-auto-publish
Version:
112 lines (80 loc) • 2.4 kB
Markdown
# grid-npm-auto-publish
一个自动化的npm包发布工具,支持GitHub Actions自动发布到npm。
## 功能特性
- 🚀 自动版本管理
- 📦 GitHub Actions自动发布
- 🏷️ 自动创建Git标签
- 🔄 支持语义化版本控制
- ✅ 发布前自动测试和构建
## 快速开始
### 1. 安装依赖
```bash
npm install
```
### 2. 配置NPM Token
在GitHub仓库设置中添加NPM_TOKEN密钥:
1. 登录 [npmjs.com](https://www.npmjs.com)
2. 进入个人设置页面
3. 创建新的Access Token
4. 在GitHub仓库的Settings > Secrets中添加NPM_TOKEN
### 3. 发布新版本
使用发布脚本:
```bash
# 补丁版本 (1.0.0 -> 1.0.1)
node scripts/release.js patch
# 次要版本 (1.0.0 -> 1.1.0)
node scripts/release.js minor
# 主要版本 (1.0.0 -> 2.0.0)
node scripts/release.js major
```
## 工作流程
1. **本地发布**:运行发布脚本
2. **版本更新**:自动更新package.json版本号
3. **代码提交**:自动提交版本更改
4. **标签创建**:创建Git标签
5. **远程推送**:推送到GitHub
6. **自动发布**:GitHub Actions自动发布到npm
## 文件结构
```
grid-npm-auto-publish/
├── .github/workflows/publish.yml # GitHub Actions工作流
├── scripts/release.js # 发布脚本
├── package.json # npm包配置
├── .npmignore # npm忽略文件
├── index.js # 主入口文件
└── README.md # 项目说明
```
## 配置说明
### package.json 关键配置
```json
{
"scripts": {
"prepublishOnly": "npm run build",
"version": "echo version updated",
"postversion": "git push && git push --tags"
},
"publishConfig": {
"access": "public"
}
}
```
### GitHub Actions 触发条件
- 当推送以 `v` 开头的标签时触发
- 例如:`v1.0.0`, `v2.1.3`
## 注意事项
1. 确保在 `main` 或 `master` 分支上发布
2. 发布前确保所有更改已提交
3. 确保GitHub仓库已配置NPM_TOKEN密钥
4. 包名需要在npm上唯一
## 故障排除
### 常见问题
1. **NPM_TOKEN未设置**
- 在GitHub仓库设置中添加NPM_TOKEN密钥
2. **版本冲突**
- 确保版本号在npm上唯一
- 检查package.json中的版本号
3. **发布失败**
- 检查GitHub Actions日志
- 确保所有测试通过
## 许可证
MIT License