返回顶部
d

dependency-autopsy依赖诊断

>

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
276
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

dependency-autopsy

依赖关系尸检

每一个依赖都是一场赌注:你赌一个素未谋面的人会维护你从未读过的代码,并且在你需要的时候一直维护下去。你对这些赌注真正了解多少?

功能说明

npm audit 告诉你已知的漏洞。npm outdated 告诉你版本滞后。但这两者都没有告诉你真正重要的事情:

  • - 维护者是否仍在积极维护这个项目?
  • 最后一次有意义的提交是什么时候(不仅仅是CI配置调整)?
  • 这个包14,000行代码中你实际使用了多少?
  • 如果这个包明天消失了,替换难度有多大?
  • 这个包是否为了一个工具函数引入了47个传递依赖?
  • 这个包的巴士因子是否真的只有1?

依赖关系尸检对你的依赖树中的每一个依赖进行全面的健康检查,并生成一份风险调整报告。

尸检报告卡

每个依赖在七个关键指标上获得健康评分:

指标1:脉搏(活跃度)

这个项目还活着吗?

信号健康警告危急
最后一次有意义的提交< 3个月3-12个月> 12个月
开放问题响应时间
< 1周 | 1-4周 | > 4周或从不响应 |
| 发布频率 | 定期 | 放缓 | 已停止 |
| CI状态 | 通过 | 不稳定 | 失败或缺失 |
| 未审查的开放PR | < 5 | 5-20 | > 20 |

最后一次有意义的提交指修改源代码的提交。
依赖版本更新、CI调整和README更新不计入。
一个项目可能看起来活跃,但实际上已被有效废弃。

指标2:巴士因子(维护者健康度)

需要多少人消失这个项目才会死亡?

信号健康警告危急
唯一提交者(去年)> 52-51
有组织所有权(非个人)
是 | - | 否(个人仓库) |
| 有多个npm/PyPI发布者 | 是 | - | 否(单一发布者) |
| 企业支持 | 是 | 非正式 | 无 |
| 可见的继任计划 | 有 | 不明确 | 无 |

指标3:臃肿因子(体积)

你实际使用了这个包的多少内容?

分析:
├── 包总大小:2.4 MB
├── 你的代码使用的导出:147个中的3个(2%)
├── 可摇树优化:否
├── 传递依赖:23个
├── 你也直接使用的传递依赖:2个
│ └── (另外21个完全因为这个包而存在)
├── 预估打包影响:+340 KB
└── 可替代方案:约30行代码

结论:你为了过一条小溪,进口了一艘航空母舰。

指标4:替换难度

如果这个依赖今天消失了,替换有多难?

难度描述示例
微不足道存在即插即用的替代品,或者你可以内联代码left-pad → 1行代码
简单
存在替代品,API略有不同 | moment → date-fns(文档完善的迁移) |
| 中等 | 存在替代品,但需要有意义的重构 | Express → Fastify(不同的中间件模型) |
| 困难 | 替代品很少,深度集成 | React → Vue(重写) |
| 危急 | 无替代品,深度嵌入,你被锁定了 | Terraform → ?(供应商锁定) |

指标5:版本健康度

你的版本是最新的吗?升级安全吗?

分析:
├── 你的版本:3.2.1
├── 最新稳定版:5.1.0
├── 落后版本数:2个主版本,0个次版本
├── 你的版本与最新版之间的破坏性变更:14个
├── 你使用的已弃用API:3个(v4+中已移除)
├── 你缺失的安全补丁:1个(中等严重性)
├── 预估升级工作量:8小时
└── 保持现状的风险:中等(已弃用API可能在Node升级时出问题)

指标6:许可证健康度

你在法律上安全吗?

分析:
├── 直接依赖许可证:MIT ✓
├── 传递依赖许可证:
│ ├── MIT:19个包 ✓
│ ├── Apache-2.0:3个包 ✓
│ ├── ISC:1个包 ✓
│ └── GPL-3.0:1个包 ⚠(copyleft — 可能要求你的代码也是GPL)
└── 与你的项目的许可证兼容性:警告 — GPL传递依赖

指标7:依赖深度

这个兔子洞有多深?

你的包
└── dependency-a(你选择的)
├── dep-a-1(不是你选择的)
│ ├── dep-a-1-1(绝对不是你的选择)
│ │ └── dep-a-1-1-1(没人选择这个)
│ └── dep-a-1-2
├── dep-a-2
└── dep-a-3
└── dep-a-3-1
└── dep-a-3-1-1
└── dep-a-3-1-1-1(8层深。欢迎来到JavaScript。)

统计:
├── 你选择的直接依赖:24个
├── 总依赖树:847个包
├── 最大深度:11层
├── 每周下载量为0的包:3个(这些为什么存在?)
├── 最后发布时间超过3年的包:12个
└── 有安装脚本的包(潜在风险):2个

完整尸检报告

╔══════════════════════════════════════════════════════════════╗
║ 依赖关系尸检 ║
║ 24个直接 / 847个总依赖 ║
║ 总体健康度:B+(良好,但有关注点) ║
╠══════════════════════════════════════════════════════════════╣
║ ║
║ 危急发现(2项): ║
║ ├── 🔴 image-tools@1.3.0 ║
║ │ ├── 脉搏:已死亡(最后提交在26个月前) ║
║ │ ├── 巴士因子:1(个人GitHub仓库) ║
║ │ ├── 你使用:23个函数中的1个(4%) ║
║ │ ├── 已知漏洞:1个(高 — 原型污染) ║
║ │ └── 建议:替换为sharp(积极维护,覆盖你的使用场景)。 ║
║ │ 约2小时工作量。 ║
║ │ ║
║ │── 🔴 在传递依赖中发现GPL-3.0许可证 ║
║ │ ├── 包:obscure-xml-parser@0.1.2 ║
║ │ ├── 依赖链:dep-a → dep-a-1 → obscure-xml-parser ║
║ │ └── 建议:确认GPL兼容性或寻找dep-a-1中的替代XML解析器。 ║
║ ║
║ 警告(4项): ║
║ ├── 🟡 lodash@4.17.21 — 你使用3个函数。考虑单独导入或 ║
║ │ 使用原生替代方案(-340KB)。 ║
║ ├── 🟡 auth-lib@2.1.0 — 落后2个主版本。 ║
║ │ 你的代码中有3个已弃用API。升级:约8小时。 ║
║ ├── 🟡 date-formatter@3.0.0 — 巴士因子1,脉搏放缓。 ║
║ │ 考虑将date-fns作为备选方案。 ║
║ └── 🟡 config-parser@1.0.0 — 为一个40行的工具函数引入了 ║
║ 21个传递依赖。考虑内联。 ║
║ ║
║ 健康(18项): ║
║ 所有指标均为绿色。积极维护,

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 dependency-autopsy-1776271221 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 dependency-autopsy-1776271221 技能

通过命令行安装

skillhub install dependency-autopsy-1776271221

下载

⬇ 下载 dependency-autopsy v1.0.0(免费)

文件大小: 4.46 KB | 发布时间: 2026-4-16 15:53

v1.0.0 最新 2026-4-16 15:53
Initial release

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部