SuperAPI AI 工具集

npm-upgrade

安全与审计

查看项目

更新于 10-16 03:41

技能介绍

用途:帮助用户升级 Node.js 项目依赖,并检查安全漏洞。核心是运行正确的诊断命令、解读输出、给出明确的升级顺序,不讲解具体包的 API 变更、新语法或迁移步骤,这些应查阅包自身的迁移指南。

主要能力与工作流:先检测包管理器(package-lock.json 对应 npm,yarn.lock 对应 yarn,pnpm-lock.yaml 对应 pnpm)。升级顺序为:npm audit 检查安全问题(最高优先级)→ npm audit fix 自动修复兼容漏洞 → npm outdated 找出过时包 → 优先处理既有 CVE 又过时的包 → npm explain <package> 追踪依赖来源 → npm update <package> 或 npm install <package>@latest 更新 → 测试 → 收紧 package.json 版本范围(仅应用)→ 再次 npm audit 确认。

常用命令:npm outdated(--json 便于解析,含 Current、Wanted、Latest 三列);npm explain <package> 与 npm ls <package> 查看依赖树;npm update <package> 在现有范围内更新,npm install <package>@latest 安装最新并改写 package.json,--save-exact 固定精确版本;npm audit、npm audit fix、npm audit fix --force(含破坏性升级,需谨慎测试)、npm audit --json。

解决 package-lock.json 合并冲突:不要手工编辑冲突标记,也不要直接删除锁文件重装。推荐用 scripts/diff_lock.py --conflict 从 git 读取两侧变更,生成精确的 npm install/uninstall 命令来应用对方分支的改动,再提交。

适用场景:升级 npm 包、排查无法更新的原因、安全审计、处理锁文件冲突。限制:不提供具体包的迁移指导;--force 可能引入破坏性变更;精确固定版本仅适用于应用,库应使用范围。yarn 与 pnpm 的等价命令见 references/commands.md。