bevy_lint icon indicating copy to clipboard operation
bevy_lint copied to clipboard

A Linter for bevy code

Bevy Lint

What is Bevy Lint?

This crates provides Lints for Bevy Code using dylint.

This crate currently only supports the main branch Version of Bevy.

Provided Lints

The provided Lints can be found at https://minersebas.github.io/bevy_lint/bevy_lint/.

How to run Lints

Add this to your Cargo.toml:

[workspace.metadata.dylint]
libraries = [
    { git = "https://github.com/MinerSebas/bevy_lint", branch = "main" },
]

Instead of a branch, you can also provide a tag or a rev (revision)

Afterwards you need to run these commans:

cargo install cargo-dylint dylint-link    # Only neccesary once
cargo dylint bevy_lint

Lint Creation

A Lint is created by implementing the LateLintPass trait and adding to the register_lints function.

When creating a UI Test, add the Test as an Example to the Cargo.toml. Also make sure that your .stderr File uses LF Line-endings and not CRLF, as otherwise the Test will fail without any explanation.

For more Resources you can take a look at the dylint resources.

License

bevy_lint is free and open source! All code in this repository is dual-licensed under either:

at your option. This means you can select the license you prefer! This dual-licensing approach is the de-facto standard in the Rust ecosystem.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.