依存関係を検証および視覚化します。あなたのルールで。 JavaScript。タイプスクリプト。 coffeescript。 Es6、commonjs、amd。
これは、JavaScript、TypeScript、Livescript、またはCoffeescriptプロジェクトの依存関係を介して実行されます。
副作用として、おばあちゃんを感動させるために壁に固執することができるクールな視覚化など、さまざまな出力形式で依存関係グラフを生成できます。
npm install --save-dev dependency-cruiser
# or
yarn add -D dependency-cruiser
pnpm add -D dependency-cruisernpx depcruise --initこれにより、環境を少し見回し、いくつかの質問をして、プロジェクト1 2に調整された.dependency-cruiser.js構成ファイルを作成します。
SRCフォルダーに依存関係のグラフを作成するには、出力タイプのdotで依存関係クルーザーを実行し、結果にgraphvizドット3を実行します。 1つのライナーで:
npx depcruise src --include-only " ^src " --output-type dot | dot -T svg > dependency-graph.svgDependency-Cruiser V12以上:add -configオプション
依存関係 - クルーザーV13以降からは必要ありませんが、V12以降では、.dependency-cruiser.js構成ファイルを見つけるには、-configオプションを渡す必要があります。
npx depcruise src --include-only " ^src " --config --output-type dot | dot -T svg > dependency-graph.svg
--include-onlyおよびその他のコマンドラインオプションを使用することができることの詳細については、詳細をお読みください。mermaid 、 json 、 csv 、 htmlまたはプレーンテキストなどのフォーマットを取り入れている場合、私たちも彼女をカバーしています。depcruise --init実行したとき、コマンドは、循環依存関係の検出、JSON、孤児、および開発またはオプションの依存に依存する生産コードの検出など、ほとんどのプロジェクトで意味のある.dependency-cruiser.jsにいくつかのルールを追加しました。
そのファイルを調整して、独自のルールの追加を開始します。
サンプルルール:
{
"forbidden" : [
{
"name" : " not-to-test " ,
"comment" : " don't allow dependencies from outside the test folder to test " ,
"severity" : " error " ,
"from" : { "pathNot" : " ^test " },
"to" : { "path" : " ^test " }
}
]
}npx depcruise srcDependency-Cruiser V12以上:add -configオプション
依存関係 - クルーザーv13からは必要ありませんが、V12以降では、.dependency-cruiser.js構成ファイルを見つけるために、-configオプションを渡す必要があります。
npx depcruise --config .dependency-cruiser.js src
これはあなたのルールに対して検証され、ESLINTのような形式で違反を示します。
検証を報告する方法は他にもあります。グラフ(このREADMEの上にあるものなど)または自己含有htmlファイル。
depcruiseスクリプトを参照してくださいあなたは正しい場所に来ました:-):
mit

で作られていますか?オランダで。
便利なために、サンプルスクリプトでnpxを使用しています。 package.jsonのスクリプトでコマンドを使用する場合、 npxでプレフィキをかける必要はありません。 ↩
npxを使用したくない場合は、代わりにpnpx ( pnpmパッケージマネージャーから)またはyarnそのツールのドキュメントを参照してください。特に、 pnpxは、 npxとは大きく異なるセマンティクスがあり、使用する前に注意したいというセマンティクスがあります。その間、 npmとは異なるパッケージマネージャーと依存関係をインストールした場合でも、 npx機能するはずです。 ↩
これは、GraphViz dotコマンドが利用可能であることを前提としています - ほとんどのLinuxと同等のシステムでこれがそうなるでしょう。そうでない場合は、マシンで入手する方法についての手順については、GraphVizのダウンロードページを参照してください。 ↩