跳到主要内容

dsh-license-guard

已验证

dsh-license-guard · v0.1.0 · MIT

依赖许可证合规:扫描 node_modules 许可证、归一化 SPDX 标识、按宽松/弱传染/强传染分类,并做发布前合规校验

安装

dsh plugin add dsh-license-guard

dsh --profile default --dump-config 确认 layer 已生效 —— 参见安装指南

源码

发布到 npm 但没有公开仓库。安装前请检查包内容。

标签

说明文档

dsh-license-guard · 依赖许可证合规

扫描项目 node_modules 中每个依赖的许可证,归一化为 SPDX 标识,按「宽松 / 弱传染 / 强传染 / 未知 / 未授权」分类,并支持发布前的允许/禁止策略校验。纯 Node 实现,无网络、无外部服务。

提供的工具

工具 作用
license_scan 扫描全部依赖许可证,分类汇总
license_check 按允许/禁止策略校验,返回违规依赖

安装

dsh plugin add dsh-license-guard

安装后在 profile 的 package.jsondsh.profile.bundles 中加入 "dsh-license-guard"

用法示例

看看这个项目依赖的许可证构成
→ 调用 license_scan(root="/workspace")

发布前做一次合规门禁
→ 调用 license_check(root="/workspace", deny=["AGPL-3.0"])

默认策略

  • 默认允许:MIT、Apache-2.0、ISC、BSD、0BSD、Zlib、Unlicense、CC0-1.0 等宽松许可证。
  • 默认禁止:GPL-3.0、AGPL-3.0、SSPL-1.0、GPL-2.0 等强传染许可证。
  • 未知 / 未授权许可证默认计入违规(可用 includeUnknown: false 关闭)。

说明

  • 许可证识别基于各依赖 package.jsonlicense / licenses 字段,识别不到的会标记为「未知」。
  • 这属于启发式合规筛查,正式商用/发布前请以法律复核为准。