| Crates.io | workspacer-linting |
| lib.rs | workspacer-linting |
| version | 0.1.2 |
| created_at | 2025-04-01 14:12:47.050617+00 |
| updated_at | 2025-07-13 01:17:44.914506+00 |
| description | Async Rust crate for linting workspaces using cargo clippy, capturing detailed reports and converting them to structured errors. |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1614918 |
| size | 157,527 |
workspacer-linting is a Rust crate designed to seamlessly execute linting tasks within a Rust workspace using cargo clippy. It leverages asynchronous operations to provide efficient and effective linting capabilities, ensuring that code adheres to predefined quality standards by treating compiler warnings as errors.
LintReport objects, enabling easy examination of linting results.cargo process outputs into rich, domain-specific errors encapsulated in a LintingError type.This crate is intended for integration into existing Rust workspaces. Implement the RunLinting trait in your workspace type to use its functionalities. Ensure that tokio is correctly setup for asynchronous command execution.
Example:
#[async_trait]
impl RunLinting for YourWorkspaceType {
type Report = LintReport;
type Error = LintingError;
async fn run_linting(&self) -> Result<Self::Report, Self::Error> {
// Implementation goes here
}
}
The crate defines a generalized RunLinting trait, providing flexibility in implementation. It's centered around executing cargo clippy commands in a non-blocking, resource-efficient manner, thereby facilitating the maintenance of high code quality.
This project is licensed under the MIT License. See the LICENSE file for details.