157 lines
3.2 KiB
Markdown
157 lines
3.2 KiB
Markdown
|
|
# TypeDialog Dependencies
|
||
|
|
|
||
|
|
## Direct Dependencies (by crate)
|
||
|
|
|
||
|
|
### typedialog-core
|
||
|
|
|
||
|
|
Core library dependencies:
|
||
|
|
|
||
|
|
**Serialization & Data**
|
||
|
|
- serde 1.0 (Apache-2.0 OR MIT)
|
||
|
|
- serde_json 1.0 (Apache-2.0 OR MIT)
|
||
|
|
- serde_yaml 0.9 (Apache-2.0 OR MIT)
|
||
|
|
- toml 0.9 (Apache-2.0 OR MIT)
|
||
|
|
|
||
|
|
**Error Handling**
|
||
|
|
- anyhow 1.0 (Apache-2.0 OR MIT)
|
||
|
|
- thiserror 2.0 (Apache-2.0 OR MIT)
|
||
|
|
|
||
|
|
**Date/Time**
|
||
|
|
- chrono 0.4 (Apache-2.0 OR MIT)
|
||
|
|
|
||
|
|
**Async**
|
||
|
|
- tokio 1 (MIT)
|
||
|
|
- async-trait 0.1 (Apache-2.0 OR MIT)
|
||
|
|
- futures 0.3 (Apache-2.0 OR MIT)
|
||
|
|
|
||
|
|
**Templating (optional)**
|
||
|
|
- tera 1.20 (MIT)
|
||
|
|
|
||
|
|
**i18n (optional)**
|
||
|
|
- fluent 0.17 (Apache-2.0)
|
||
|
|
- fluent-bundle 0.16 (Apache-2.0)
|
||
|
|
- unic-langid 0.9 (Apache-2.0 OR MIT)
|
||
|
|
- sys-locale 0.3 (Apache-2.0 OR MIT)
|
||
|
|
- dirs 6.0 (Apache-2.0 OR MIT)
|
||
|
|
|
||
|
|
**CLI Backend (optional)**
|
||
|
|
- inquire 0.9 (MIT)
|
||
|
|
- dialoguer 0.12 (MIT)
|
||
|
|
- rpassword 7.4 (Apache-2.0)
|
||
|
|
|
||
|
|
**TUI Backend (optional)**
|
||
|
|
- ratatui 0.29 (MIT)
|
||
|
|
- crossterm 0.29 (MIT)
|
||
|
|
- atty 0.2 (MIT)
|
||
|
|
|
||
|
|
**Web Backend (optional)**
|
||
|
|
- axum 0.8.7 (MIT)
|
||
|
|
- tower 0.5.2 (MIT)
|
||
|
|
- tower-http 0.6.8 (MIT)
|
||
|
|
- tracing 0.1 (MIT)
|
||
|
|
- tracing-subscriber 0.3 (MIT)
|
||
|
|
|
||
|
|
**Utilities**
|
||
|
|
- tempfile 3.23 (Apache-2.0 OR MIT)
|
||
|
|
|
||
|
|
### typedialog (CLI)
|
||
|
|
|
||
|
|
Direct dependencies:
|
||
|
|
- typedialog-core 0.1.0 (MIT)
|
||
|
|
- clap 4.5 (Apache-2.0 OR MIT) - CLI argument parsing
|
||
|
|
- anyhow 1.0 (Apache-2.0 OR MIT)
|
||
|
|
- serde_json 1.0 (Apache-2.0 OR MIT)
|
||
|
|
- tokio 1.0 (MIT)
|
||
|
|
- toml 0.9 (Apache-2.0 OR MIT)
|
||
|
|
- unic-langid 0.9 (Apache-2.0 OR MIT)
|
||
|
|
|
||
|
|
### typedialog-tui (TUI)
|
||
|
|
|
||
|
|
Direct dependencies:
|
||
|
|
- typedialog-core 0.1.0 (MIT)
|
||
|
|
- clap 4.5 (Apache-2.0 OR MIT)
|
||
|
|
- anyhow 1.0 (Apache-2.0 OR MIT)
|
||
|
|
- serde_json 1.0 (Apache-2.0 OR MIT)
|
||
|
|
- tokio 1.0 (MIT)
|
||
|
|
- unic-langid 0.9 (Apache-2.0 OR MIT)
|
||
|
|
|
||
|
|
### typedialog-web (Web)
|
||
|
|
|
||
|
|
Direct dependencies:
|
||
|
|
- typedialog-core 0.1.0 (MIT)
|
||
|
|
- clap 4.5 (Apache-2.0 OR MIT)
|
||
|
|
- anyhow 1.0 (Apache-2.0 OR MIT)
|
||
|
|
- serde_json 1.0 (Apache-2.0 OR MIT)
|
||
|
|
- tokio 1.0 (MIT)
|
||
|
|
- unic-langid 0.9 (Apache-2.0 OR MIT)
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Transitive Dependencies
|
||
|
|
|
||
|
|
Total: **286 dependencies** across all features.
|
||
|
|
|
||
|
|
### License Distribution
|
||
|
|
|
||
|
|
| License | Count |
|
||
|
|
|---------|-------|
|
||
|
|
| Apache-2.0 OR MIT | 190 |
|
||
|
|
| MIT | 66 |
|
||
|
|
| Apache-2.0 | 3 |
|
||
|
|
| MIT OR Unlicense | 7 |
|
||
|
|
| Apache-2.0 OR Apache-2.0 WITH LLVM-exception OR MIT | 7 |
|
||
|
|
| Other | 13 |
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## License Compatibility
|
||
|
|
|
||
|
|
All dependencies are compatible with the **MIT License**:
|
||
|
|
|
||
|
|
- ✓ **Permissive licenses** (MIT, Apache-2.0, BSD-3-Clause, Zlib, MPL-2.0)
|
||
|
|
- ✓ **Weak copyleft** (LGPL-2.1-or-later, MPL-2.0)
|
||
|
|
- ✓ **Public domain** (Unlicense, Unicode-3.0)
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Files
|
||
|
|
|
||
|
|
- `LICENSE.md` - Full dependency license attribution
|
||
|
|
- `SBOM.spdx.json` - Software Bill of Materials (SPDX 2.3 format)
|
||
|
|
- `SBOM.cyclonedx.json` - Software Bill of Materials (CycloneDX 1.4 format)
|
||
|
|
- `Cargo.lock` - Locked dependency versions for reproducibility
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Security Considerations
|
||
|
|
|
||
|
|
### No Unsafe Code
|
||
|
|
|
||
|
|
The workspace forbids `unsafe` code:
|
||
|
|
```toml
|
||
|
|
[workspace.lints.rust]
|
||
|
|
unsafe_code = "forbid"
|
||
|
|
```
|
||
|
|
|
||
|
|
### Dependency Auditing
|
||
|
|
|
||
|
|
Run security audit:
|
||
|
|
```bash
|
||
|
|
cargo audit
|
||
|
|
```
|
||
|
|
|
||
|
|
Review dependency tree:
|
||
|
|
```bash
|
||
|
|
cargo tree --depth=2
|
||
|
|
```
|
||
|
|
|
||
|
|
### SBOM Usage
|
||
|
|
|
||
|
|
SBOMs can be used with:
|
||
|
|
- **SPDX format** - CycloneDX tools, GitHub Dependabot, SPDX validators
|
||
|
|
- **CycloneDX format** - Software composition analysis tools, vulnerability scanners
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
Generated: 2024-12-17
|