Back to home

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.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 字段,识别不到的会标记为「未知」。
  • 这属于启发式合规筛查,正式商用/发布前请以法律复核为准。