Skip to content

build(Deps): 整合升级 vitest 4 / vite 7 / typescript-eslint 8.62.1,解决 #56 #59 锁文件冲突 - #66

Merged
ThreeFish-AI merged 2 commits into
feature/1.x.xfrom
ThreeFish-AI/resolve-pr-56-conflicts
Jul 4, 2026
Merged

build(Deps): 整合升级 vitest 4 / vite 7 / typescript-eslint 8.62.1,解决 #56 #59 锁文件冲突#66
ThreeFish-AI merged 2 commits into
feature/1.x.xfrom
ThreeFish-AI/resolve-pr-56-conflicts

Conversation

@ThreeFish-AI

Copy link
Copy Markdown
Owner

背景

整合并解决以下 Dependabot PR 与 feature/1.x.x 的合并冲突(三者唯一冲突文件均为 pnpm-lock.yaml,属锁文件漂移):

因三个 PR 都改锁文件 → 任一合入另两者会再次漂移冲突,故整合为单 PR 单次合并以从根源规避(方案 B)。

本 PR 纳入(已本地验证全绿)

依赖 变更 说明
vitest ^2.1.8^4.1.9 主版本跨越
vite 新增 ^7.0.0(解析到 7.3.6) vitest 4 必要 companion:vitest 4 要求 vite ≥6,本仓无直接 vite 依赖、旧锁文件停留在 vite 5.4.21,导致 vitest run 启动即崩(vite/module-runner 子路径不存在)。Dependabot 原 #56 锁文件同样停留在 vite 5 —— 即使无冲突,#56 原本也过不了 CI
typescript-eslint ^8.39.0^8.62.1 补丁升级

typescript 暂保 ^5.9.2 —— TS 6 迁移非平凡,由独立 PR 承接(见下)。

验证(CI 同款四闸门,本地实测)

闸门 命令 结果
类型检查 pnpm run check-typestsc --noEmit
Lint pnpm run linteslint
生产构建 pnpm run package(check-types + lint + esbuild --production)
单测 pnpm run test:unitvitest run ✅ 33 文件 / 332 用例全绿

工具链:pnpm 11.9.0(与 packageManager 一致)、lockfileVersion 9.0、Node 22+。改动面:package.json 3 行 + pnpm-lock.yaml 重生(283+/449-),无源码改动。

不纳入本 PR:TypeScript 6(#57

TS 6.0.3 会触发两处真实阻断(已实测):

  1. moduleResolution: "node"(node10)由告警升为硬错 TS5107(将在 TS 7 移除);加 "ignoreDeprecations": "6.0" 逃生舱可绕过此项;
  2. 但绕过后 src/extension.tssetTimeout / clearTimeout 全局解析失败(TS2304: Cannot find name),需 tsconfig 迁移(moduleResolutionnode16/bundler,连带 module 调整)与全局类型修复。

属真正的迁移工作,按用户决策另起独立 PR 承接(Closes #57)。

关联

Closes #56
Closes #59
#57 由 TS6 迁移独立 PR 承接)

- vitest ^2.1.8 → ^4.1.9:vitest 4 要求 vite ≥6,本仓无直接 vite 依赖、旧锁文件停留在 vite 5.4.21,导致 vitest run 启动即崩(vite/module-runner 子路径不存在);故伴随新增 devDependency vite ^7(解析到 7.3.6)作为必要 companion,Dependabot 原 #56 锁文件同样停留在 vite 5、即便无冲突也过不了 CI
- typescript-eslint ^8.39.0 → ^8.62.1:补丁升级
- typescript 暂保 ^5.9.2:TS 6 把 moduleResolution=node10 升为硬错,且 src/extension.ts 的 setTimeout/clearTimeout 全局解析失败,需 tsconfig 迁移 + 全局类型修复,另起单独 PR 处理(Closes #57)
- 重生 pnpm-lock.yaml(pnpm@11.9.0),消除与 feature/1.x.x 的锁文件漂移冲突
- 本地 CI 同款四闸门全绿:check-types / lint / package / test:unit(332/332)

整合 #56 #59#57 由独立迁移 PR 承接。

🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist)
Co-Authored-By: Aurelius Huang<threefish.ai@gmail.com>
冲突消解(package.json 取并集,pnpm-lock.yaml 由 pnpm@11.9.0 重生):
- typescript ^6.0.3(承自 #67)
- typescript-eslint ^8.62.1(承自 #66)
- vite ^7.0.0(承自 #66)
- vitest ^4.1.9(承自 #66)

合并后为首次 vitest4 + TS6 同框组合,已本地复跑 CI 同款四闸门全绿:
check-types / lint / package / test:unit(34 文件 / 349 用例)。

🤖 Generated with [Claude Code](https://github.com/claude), [CodeX](https://openai.com), [Gemini](https://github.com/apps/gemini-code-assist)
Co-Authored-By: Aurelius Huang<threefish.ai@gmail.com>
@ThreeFish-AI
ThreeFish-AI merged commit 11142ad into feature/1.x.x Jul 4, 2026
3 checks passed
ThreeFish-AI added a commit that referenced this pull request Jul 4, 2026
… tsconfig 迁移);

冲突解决(3 处均取 HEAD——hover tooltip 是用户最新决定方向,feature 上 #65 squash 带的是已撤回的 WebviewPanel 版本):
- log-webview.ts:保留 HEAD 光标跟随 hover tooltip + log/commitDetail 回包;丢弃 feature 的 WebviewPanel 方案。
- format-time.ts / log-format-time.test.ts:保留 HEAD 全拼(minutes/hours)+ 去秒;丢弃 feature 的缩写(min/hr)+ 带秒。
- commit-detail-panel.ts:HEAD 已删(撤回 WebviewPanel),feature 重新引入→再次删除。

feature 净并入:package.json/pnpm-lock.yaml(vitest 4 / vite 7 / typescript-eslint 8.62.1 / TS 6.0.3)、
tsconfig.json(#67 模块解析迁移)。

验证:TS 6 / vitest 4 / vite 7 新基线下 check-types/lint/生产打包/349 单测/vsce package 全通过。
@ThreeFish-AI
ThreeFish-AI deleted the ThreeFish-AI/resolve-pr-56-conflicts branch July 4, 2026 10:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant