name: 发布到 npmjs

on:
  push:
    branches:
      - main # 可根据需要修改为其他分支，例如 master

jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - name: 设置 Node.js 环境
      uses: actions/setup-node@v4
      with:
        node-version: latest
        registry-url: https://registry.npmjs.org
    - name: 清理 npm 缓存
      run: npm cache clean --force
    - name: 安装依赖
      run: npm install --loglevel verbose # 添加详细的日志级别
    - name: 修改 package.json 中的版本号
      run: |
        node -e "const fs = require('fs'); let pkg = JSON.parse(fs.readFileSync('./package.json')); pkg.version = '2.1.4'; fs.writeFileSync('./package.json', JSON.stringify(pkg, null, 2));"
    - name: 发布到 npm
      run: npm publish --access public # 明确发布访问权限
      env:
        NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} # 从 GitHub Secrets 中获取 npm 认证令牌
    - name: 检查发布结果
      run: |
        if [ $? -eq 0 ]; then
          echo "包发布成功。"
        else
          echo "包发布失败。请查看日志了解详细信息。"
          exit 1
        fi
    - name: 查看 npm 日志
      run: cat /home/runner/.npm/_logs/*-debug-*.log # 查看 npm 日志文件
