@scatool/analyzer-plugin-rust
v0.1.0-alpha.0
Published
**Note**: This plugin is experimental.
Readme
@scatool/analyzer-plugin-rust
Note: This plugin is experimental.
Rust (Cargo) dependency analyzer plugin for Exscalibur.
Requirements
Cargo.lockfile must be present in the projectCargo.tomlfile is used to identify workspace members and subprojects
No external tools (Cargo, Rust) are required - the plugin parses lockfiles directly.
Usage
import { cargoLockExtractor } from "@scatool/analyzer-plugin-rust";
const result = await cargoLockExtractor.extract("/path/to/codebase");Limitations
Dependency types: Cargo.lock does not distinguish between dependency types (dependencies, dev-dependencies, build-dependencies). All dependencies are reported in a single "dependencies" scope for each subproject.
Features: Cargo feature flags are not tracked. The extractor reports all packages in the lockfile regardless of which features are enabled.
Target-specific dependencies: Platform-specific dependencies (e.g.,
[target.'cfg(windows)'.dependencies]) are included without conditional information. The extractor reports all packages that appear in the lockfile.Git and path dependencies:
- Git dependencies are resolved by version if available in the lockfile
- Path dependencies (workspace members) are included with their versions
- The source URL or path is not preserved in the PURL
Patch and replace directives: Cargo's
[patch]and[replace]sections are not explicitly tracked. The extractor uses the resolved versions from the lockfile.
