uckkk
dsh-license-guard
依赖许可证合规:扫描 node_modules 许可证、归一化 SPDX、分类并做发布前合规校验
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 16, 2026
- Updated
- Aug 16, 2026
Introduction
dsh-license-guard · 依赖许可证合规
扫描项目 node_modules 中每个依赖的许可证,归一化为 SPDX 标识,按「宽松 / 弱传染 / 强传染 / 未知 / 未授权」分类,并支持发布前的允许/禁止策略校验。纯 Node 实现,无网络、无外部服务。
提供的工具
| 工具 | 作用 |
|---|---|
license_scan | 扫描全部依赖许可证,分类汇总 |
license_check | 按允许/禁止策略校验,返回违规依赖 |
安装
dsh plugin add dsh-license-guard
安装后在 profile 的 package.json 的 dsh.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.json的license/licenses字段,识别不到的会标记为「未知」。 - 这属于启发式合规筛查,正式商用/发布前请以法律复核为准。