npm 包健康检查(精简版)
网络访问(已声明)
一次 GET 请求到 registry.npmjs.org/<package> — 公共注册表元数据。不访问其他主机,不发送任何数据,不安装软件包,不执行任何代码。
边界
- “过时”是基于发布时效的启发判断 — 不活跃的包不一定被放弃。
- 此精简版不包含每周下载统计(完整版有第二个 API 调用)。
1. 运行
需要 Node 18+,零依赖。
node <skill-dir>/scripts/health.mjs <package-name>
输出 JSON 到标准输出;如果获取失败则 exit 1,缺少参数则 exit 2。
2. 读取报告
latest、lastPublish、ageDays、deprecated、license、health。- 标志:存在
deprecated字符串、ageDays > 730、license: null。
3. 报告
<package>@<latest>: <health>
last publish Y days ago · license <spdx|none> · deprecated <yes/no>
<单行建议:安全添加/固定版本/考虑替代>
精简版 vs 完整版
完整的 npm-package-health 还报告每周下载量(api.npmjs.org)、维护者数量和依赖项数量。