← 返回列表
D

dsh-license-guard

v0.1.0 · 1 天前发布

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

deepseek-harnessdshdsh-pluginlicensespdxcompliance许可证合规

README

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

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

提供的工具

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

安装

bash
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 字段,识别不到的会标记为「未知」。

  • -

    版本兼容矩阵

    DSH 版本状态说明
    dsh@0.1.0-rc.6 ✅ 兼容 cordis patch ✅
    dsh@0.1.0 ✅ 兼容 标准 patch ✅
    dsh@0.2.0 ⚠️ 待验证 待实测(API 可能在变)
    dsh@0.3.0+ ❓ 未知 尚未发布

    💡 兼容矩阵每周末自动跑实测,欢迎 PR 修正

    元数据

    License
    MIT
    npm
    dsh-license-guard
    Repo
    Engines
    {}
    Weekly DL
    0
    Monthly DL
    0
    dsh.bundle
    {"bundle":{"patch":"./cordis.patch.yml"}}