fix(ci): 修复npm registry配置 + package-lock.json同步 + pro套餐测试 #1264
Reference in New Issue
Block a user
Delete Branch "fix/npm-registry-and-lockfile-sync"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
修复内容
1. npm registry 配置优化
npm config set registry,改用npm ci --registry=https://registry.npmmirror.com内联参数npx tsc/vite build改为./node_modules/.bin/tsc/vite build直接调用,避免 npx 额外解析2. package-lock.json 同步
@testing-library/dom等 16 个缺失包npm ci报 package.json/lock file 不同步的错误3. pro 套餐测试修复
test_all_tiers_exist更新预期集合,添加 pro 套餐(PR #1262 新增)影响的 CI 失败
🚀 预览环境已部署
b8bef76bf2to9f0524c714CI全绿,自动审批通过。
CI全绿,自动审批通过。
【阻塞级判定】
📊 审查概览
🔴 阻塞级问题(必须修复)
无
💡 改进建议(不阻塞合并)
[apps/web/package-lock.json] 核心类型依赖标记为 devOptional 的风险
@types/react和@types/prop-types被标记为"devOptional": true。这通常意味着如果安装失败(例如环境不兼容),npm 会忽略错误而不中断安装。作为核心类型定义库,如果它们缺失会导致 TypeScript 类型检查失效或产生大量any类型,掩盖潜在错误。建议确认这是否为npm自动生成的行为,如果是手动修改,建议改回"dev": true以确保类型安全。[.gitea/workflows/ci-pipeline.yml, scripts/ci/step_frontend_install.sh, infra/docker/web.Dockerfile] 镜像源地址硬编码
https://registry.npmmirror.com在多个文件中被硬编码。虽然本次修改统一了行为,但为了便于维护和应对镜像源变更,建议将镜像源地址提取为 CI/CD 的环境变量(如NPM_REGISTRY_URL)或 Workflow 的顶层变量,实现一处修改全局生效。✅ 良好实践
npm config set registry改为npm ci --registry=...,避免了修改全局 npm 配置文件,更加安全且符合幂等性原则。preview-deploy.yml和web.Dockerfile中,将npx命令替换为直接调用./node_modules/.bin/下的二进制文件。在已确保node_modules存在的前提下,这能显著减少npx的包解析开销,提升构建速度。test_wave78_duplication_domain.py中的断言,确保测试覆盖了新增的"pro"层级,保证了测试的有效性。🤖 由 AI 代码审查机器人自动生成 | 2026-08-07 09:59:51 | 模型:
🗑️ 预览环境已清理
PR #1264 已关闭或合并,对应的预览环境已被清理。