Skip to content

build(Deps): 5 项开发依赖收编合入——mocha 12 / vite 8.3 / eslint 10.10 / prettier 3.9.8 / @types/node 26.6.1; - #136

Merged
ThreeFish-AI merged 4 commits into
feature/1.x.xfrom
ThreeFish-AI/rebase-prs-to-1-x-x
Sep 21, 2026
Merged

ThreeFish-AI merged 4 commits into
feature/1.x.xfrom
ThreeFish-AI/rebase-prs-to-1-x-x

Conversation

@ThreeFish-AI

Copy link
Copy Markdown
Owner

背景

本轮 dependabot 开出 2 个 PR,二者共改 pnpm-lock.yaml 且互相冲突git merge-tree 实测 package.jsonpnpm-lock.yamlchanged in both):先合任一个,另一个立刻退化为 CONFLICTING,须 @dependabot rebase 并重跑整轮 CI。

故沿用 #132 的做法收编为单个 PR:一次性落地、lockfile 只重生一次、组合兼容性由同一轮 CI 一次验证

两个 PR 的 base 本就已是 feature/1.x.x(上一轮已在 .github/dependabot.ymltarget-branch),本次无需任何 base 改写。

收编范围

依赖 变更 来源
@types/node 26.4.0 → 26.6.1 #134
eslint 10.9.1 → 10.10.0 #134
prettier 3.9.6 → 3.9.8 #134
vite 8.2.2 → 8.3.0 #134
mocha 11.7.6 → 12.0.2 #135(major)

lockfile 构造方式:忠实并集,零范围外漂移

未采用「全量 pnpm install 重解析」——那会把 caret 范围内的其他依赖一并推高(实测会漂到 @types/node 26.6.2、eslint 10.11.0),属范围外变更。

实际做法:#134 的锁定结果为基线,仅叠加 mocha 重解析。因此

mocha 12 的 major 风险评估(本轮最大爆炸半径)

mocha 12 已切为 ESM-only"type": "module"engines: ^20.19.0 || >=22.12.0),而本项目在 tests/suite/index.jstests/suite/multi-root-index.js 中以 CommonJS require('mocha') + new Mocha() 加载。

实测结论:VS Code 1.138 的 Electron Node 经 require(esm) 互操作可正常构造 Mocha,测试 harness 无需任何改造;CI 的 Node 22 亦满足新版 >=22.12.0 下限。#135 自身的 CI 与本地组合态验证均已复现该结论。

组合态验证(本地复刻 CI 闸门顺序)

结果
pnpm run check-types ✅ 退出码 0
pnpm run lint ✅ 退出码 0
pnpm run package(esbuild --production) ✅ 退出码 0
pnpm run test:unit 429 passed(46 files,vitest 5)
pnpm run test:integration 8 passing + 4 passing(mocha 12.0.2 实跑,退出码 0)

⚠️ 合并方式约束

本 PR 必须以 merge commit 落地(gh pr merge --merge),严禁 squash / rebase。

fddf9ca-s ours#134a204e9e)与 #135c3fd07c)的 head commit 记入祖先(工作树零变化),使二者合并后在 GitHub 上落为 Merged 而非 Closed。squash / rebase 会重写 SHA 切断血缘,原 PR 将退化为 Closed(#75 的教训)。

Closes #134
Closes #135

🤖 Generated with Claude Code

dependabot Bot and others added 4 commits September 21, 2026 03:19
Bumps the dev-minor-patch group with 4 updates: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node), [eslint](https://github.com/eslint/eslint), [prettier](https://github.com/prettier/prettier) and [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `@types/node` from 26.4.0 to 26.6.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `eslint` from 10.9.1 to 10.10.0
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](eslint/eslint@v10.9.1...v10.10.0)

Updates `prettier` from 3.9.6 to 3.9.8
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](prettier/prettier@3.9.6...3.9.8)

Updates `vite` from 8.2.2 to 8.3.0
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/create-vite@8.3.0/packages/vite)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 26.6.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-patch
- dependency-name: eslint
  dependency-version: 10.10.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-patch
- dependency-name: prettier
  dependency-version: 3.9.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-minor-patch
- dependency-name: vite
  dependency-version: 8.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-minor-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [mocha](https://github.com/mochajs/mocha) from 11.7.6 to 12.0.2.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/main/CHANGELOG.md)
- [Commits](mochajs/mocha@v11.7.6...v12.0.2)

---
updated-dependencies:
- dependency-name: mocha
  dependency-version: 12.0.2
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
…ier 3.9.8 / @types/node 26.6.1;

收编 dependabot #134(dev-minor-patch 组 4 项)与 #135(mocha major)。两者共改
pnpm-lock.yaml 且互相冲突,顺序合并必然连环冲突,故在同一分支上一次性落地、
lockfile 只重生一次,组合兼容性由同一轮 CI 一次验证。

lockfile 以 #134 的锁定结果为基线、仅叠加 mocha 11.7.6 → 12.0.2 重解析,
确保产物是两个 PR 的忠实并集(mocha@12.0.2 integrity 与 #135 逐字一致),
不夹带任何范围外的依赖漂移。

mocha 12 为 major 且已切 ESM-only(type: module、engines: ^20.19.0 || >=22.12.0),
而 tests/suite/*.js 以 CommonJS require('mocha') + new Mocha() 加载——这是本轮
最大爆炸半径。实测 VS Code 1.138 的 Electron Node 经 require(esm) 互操作可正常
构造 Mocha,测试 harness 无需改造;CI 的 Node 22 亦满足新下限。

本地组合态验证(复刻 CI 闸门顺序):
- check-types / lint / package(esbuild --production)均退出码 0
- test:unit  429 passed(46 files, vitest 5)
- test:integration  8 passing + 4 passing(mocha 12.0.2 实跑)

🤖 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>
以 -s ours 记入两个原 PR 的 head commit 为祖先,使其在 GitHub 上落为 Merged
而非 Closed(GitHub 仅在 head SHA 可从 base 分支到达时标记 Merged)。
本提交工作树零变化,仅记录父子关系。

- #134 dev-minor-patch 组 4 项  a204e9e
- #135 mocha 12.0.2            c3fd07c

⚠️ 本 PR 必须以 merge commit 落地,严禁 squash / rebase——重写 SHA 会切断血缘,
原 PR 将退化为 Closed。

🤖 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 37a691c into feature/1.x.x Sep 21, 2026
5 checks passed
@ThreeFish-AI
ThreeFish-AI deleted the ThreeFish-AI/rebase-prs-to-1-x-x branch September 21, 2026 03:58
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