Files
ArtPlayer/refactor/changes/2026-09-10-ENG-01-reproducible-toolchain.md
T

23 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ENG-01 固定 Node/npm 和依赖
- 日期:2026-09-10;分支:codex/compatible-modernization;起点:3c759f14。
- 提交主题:`build(workspace): [ENG-01] pin reproducible Node and npm toolchain`。
## 改动和原因
根项目先前忽略全部锁文件,CI 使用未固定安装,工具声明允许浮动;最低 Node 20.0 也低于已经使用的 Vite 7 要求。新增 .node-version,指定官方 LTS Node 24.21.0/npm 11.19.0;16 个根工具移到 devDependencies 并按原安装版本精确固定,提交 npm lock v3,发布包依赖和版本不变。
新增 check:toolchain 脚本验证 lock、workspace 与标准运行时,维护说明见 toolchain-setup.md。下载工具到忽略目录后发现 plan.mjs 会扫描第三方 Markdown;改为跳过缓存、依赖和 Git 目录,仍检查全部维护文档。
## 验证
官方 Windows zip 校验 SHA-256 后用于本地隔离测试。全新目录 npm ci 成功(1141 包),锁文件不变,已有解析路径版本差异为零;严格工具检查通过。该环境原 19 项测试、21 库包共 63 产物及 VitePress 构建全部通过。工作区在 Node 24 下原测试加两项基础测试共 21 项通过。
manifest 故意改变的负例被工具检查拒绝,恢复后通过;计划缓存误扫场景修复后校验通过。完整输入及输出摘要见 baselines/toolchain-validation.json。最低 Node 矩阵、生产类型和浏览器测试尚未运行,不能从构建推断通过。
没有生产源/API 或各包版本变更;构建仅写隔离目录,不改 docs/compiled 或包 dist。没有推送或发布。现有 workflow 的 Yarn 安装与只读检查将在下一项 ENG-02 改造。
## 回退与下一步
本提交可恢复原工具声明/锁策略,不涉及用户播放器数据。原本地 node_modules/yarn.lock 留存;缓存目录可按明确路径另行清理。下一项 ENG-02,BASE-02 等待 Chrome 连接恢复。