bumpgen:升级TypeScript/TSX依赖的利器

解决依赖升级带来的代码改动问题

直达下载
返回上一页
描述
bumpgen是一款专注于升级TypeScript/TSX依赖的工具,当你升级依赖后发现代码出现问题时,bumpgen可以帮助你定位问题并进行相应的修复,让你的项目顺利升级依赖版本。
介绍

bumpgen 是一个强大的工具,专注于帮助你升级 TypeScript / TSX 依赖,并在出现问题时进行代码更改。当你升级到最新版本的依赖,发现代码出现问题时,bumpgen 可以派上用场。

🚀 开始使用

要开始使用,你需要一个 OpenAI API 密钥。目前唯一支持的模型是来自 OpenAI 的 gpt-4-turbo-preview,但我们计划很快支持更多模型。

然后,运行以下命令:

    
> export LLM_API_KEY="<openai-api-key>"
> cd ~/my-repository
> npm install -g bumpgen
> bumpgen @tanstack/react-query 5.28.14

其中 @tanstack/react-query 是你想要升级的包,5.28.14 是你想要升级到的版本。

你也可以在不带参数的情况下运行 bumpgen,然后从菜单中选择要升级的包。使用 bumpgen --help 查看所有选项。

GitHub Action

我们创建了一个 GitHub action,用于运行 bumpgen。预期用法是在 dependabot 或 renovatebot PR 触发时运行 - 如果检测到有破坏性变更,bumpgen 将提交到 PR 分支。

示例工作流程

    
name: "Bumpgen"

on:
  pull_request:
    types:
      - opened

permissions:
  pull-requests: read
  contents: write

jobs:
  main:
    name: Run Bumpgen
    runs-on: ubuntu-latest
    if: ${{ github.event.pull_request.user.login == 'dependabot[bot]'}} # Use renovate[bot] for renovate PRs
    steps:
      - uses: actions/checkout@v4
      - name: Setup # Checkout and setup your project before running the bumpgen action
        uses: ./tooling/github/setup
      - name: Bumpgen
        uses: xeol-io/bumpgen@v0.0.1
        with:
          path: "./packages/bumpgen-core/" # The location of your project's package.json file
          llm_key: ${{ secrets.LLM_API_KEY }}
          github_token: ${{ secrets.GITHUB_TOKEN }}

限制

有一些限制需要注意:

  • bumpgen 依赖于构建错误来确定需要修复的问题。如果问题是由行为变更引起的,则 bumpgen 将无法检测到。
  • bumpgen 无法同时处理多个包。它无法升级需要同时更新对等依赖项才能正常工作的包,例如 @octokit/core@octokit/plugin-retry
  • bumpgen 不适用于非常大的框架,如 vue。这些类型的升级(特别是从 vue 2 到 vue 3)甚至对人类来说都可能很困难。
AI工具教程
免费领取AI学习资料 进AI副业交流群
礼物
AI工具教程
免费领取AI学习资料 进AI副业交流群