18 个版本
0.22.0 | 2024 年 5 月 31 日 |
---|---|
0.0.21 | 2023 年 5 月 23 日 |
0.0.20 | 2023 年 3 月 30 日 |
0.0.16 | 2022 年 12 月 29 日 |
0.0.2 | 2021 年 12 月 29 日 |
#2305 在 开发工具
在 4 个包中 使用
24KB
317 行
Licensebat Core
为 licensebat-cli 提供核心类型和特性。有关更多信息,请参阅 文档。
lib.rs
:
为 licensebat-cli 提供核心类型和特性。
希望提供 Collector
实现的库作者应使用此包。
Collector
是此包的核心特性,其实现将负责以 `RetrievedDependency 的形式检索依赖项信息。
请注意,Collector
特性非常简单,这主要是因为此特性旨在作为更复杂特性的基础。
在我们的情况下,此包公开了 FileCollector
特性,它将使用依赖项清单文件(如 package-lock.json
、yarn.lock
、Cargo.lock
或 pubspec.yaml
)提取有关不同依赖项(见 Dependency
)的信息,并返回 RetrievedDependency
或 RetrievedDependencyStreamResult
流。
目前,FileCollector
是所有语言实现中使用的唯一特性行为,但这很容易改变。例如,对于 Rust 语言,使用 cargo-metadata
而不是解析 Cargo.lock
文件会更方便。这将使得获取某些依赖信息更加便宜,因为我们不需要使用任何 API 来获取许可证信息。
无论如何,拥有这两种不同的方法仍然很有价值,因为在某些情况下,我们没有访问整个代码库。当使用 CLI 时,通过 licensebat-cli,我们应尽可能避免发出 HTTP 请求,但在 Licensebat 的 GitHub 服务 中则不可能,因为我们只能访问几个文件,而无法访问整个代码库。
功能
- licrc-from-file:通过启用一个
LicRc::from_relative_path
关联函数,允许从文件中检索许可证信息。
依赖
~5–7MB
~160K SLoC