SuperAPI AI 工具集

update-deps

编程与开发

查看项目

更新于 10-16 05:00

技能介绍

用途:在 assistant-ui monorepo 内统一更新各包依赖(packages、apps、examples、templates、python/、.github/workflows/),重生成锁文件,并生成 chore: update dependencies 变更集。

JS/TS(pnpm workspaces):预览用 pnpm deps:check,完整更新用 pnpm deps:update。后者依次执行:npx taze major -f -w -r 递归升级含主版本;cd examples/with-expo && npx expo install --fix 将 expo-、react-native-、react、react-dom 重新锁定到当前 Expo SDK 兼容版本(不可跳过,否则运行时崩溃);清空所有 node_modules 与 pnpm-lock.yaml 后 pnpm install + pnpm dedupe;bash scripts/generate-deps-changeset.sh 为每个变更的已发布包写 patch changeset。若想保留 Expo 版本,运行后 git checkout examples/with-expo/package.json 再手动 pnpm install 并重跑脚本。提交前运行 pnpm build、pnpm lint、pnpm test;单个包在重大升级后损坏可单独 pin 回该依赖并重跑 pnpm install。要求 Node >=24 与 pnpm@11.3.0。

Python(uv):各包位于 python/ 下(assistant-stream、assistant-ui-sync-server-api、assistant-transport-backend、assistant-transport-backend-langgraph、state-test,另有示例 assistant-stream-hello-world 无锁文件),不受 pnpm deps:update 影响。逐个执行 uv lock --upgrade、uv sync、uv run pytest。Python 升级无需 changeset,版本在 pyproject.toml 手动管理,经 .github/workflows/pypi-publish.yaml 发布。

GitHub Actions:无 Dependabot 配置。可用 ratchet 或 pinact 将标签引用固定为 SHA 并更新到最新 SHA:ratchet pin 与 ratchet update。更新后在分支上推送并观察实际运行的 PR 触发工作流;发布类工作流需发布标签才能验证。

限制:不手工编辑 changeset 的 bump 级别,依赖更新始终为 patch;脚本通过 git diff HEAD 检测变更,运行前不要提交;锁文件 diff 会很大属正常。