#dependencies #linter #cargo #cli

bin+lib check-deprule

linter for dependency constraints in Cargo.toml

4 releases

Uses new Rust 2024

new 0.0.3 Mar 21, 2025
0.0.2-alpha.1 Mar 21, 2025
0.0.1 Mar 10, 2025

#232 in Cargo plugins

Download history 110/week @ 2025-03-10 282/week @ 2025-03-17

392 downloads per month

MIT/Apache

39KB
1K SLoC

check-dependency-rule

English version is here.

使い方

dependency_rules.toml

下記のようなcrate間の依存ルールを記載したファイルを作成する。

[[rules.rule]]
package = "core"
forbidden_dependencies = ["handler"]

[[rules.rule]]
package = "interactor"
forbidden_dependencies = [
    "database",
    "handler",
]

この時corepackageはhandlerをdenpendenciesに もってはいけないというルールを定義している。

command

CLIアプリケーションのインストール

cargo install check-deprule

ルールを満たさないパッケージが赤字で示されます。

check-deprule

remaining tasks

  • ルール定義ファイルの指定
  • ルールをパッケージ名だけではなく、柔軟に記載できるようにする
  • clapを使ったCLIアプリケーション化
  • 違反パッケージの特定とdepenndency treeの出力を分ける

Special Thanks

Dependencies

~98MB
~2M SLoC