dependency-cruiser 概要
dependency-cruiserは、依存関係の可視化を行うツールである。npx depcruise --init
を実行することで、.dependency-cruiser.js
が生成される。このファイルには、依存関係の可視化に関する設定が記述されている。npx depcruise
を実行することで、依存関係の可視化を行うことができる。
dependency-cruiserは、依存関係の可視化を行うツールである。npx depcruise --init
を実行することで、.dependency-cruiser.js
が生成される。このファイルには、依存関係の可視化に関する設定が記述されている。npx depcruise
を実行することで、依存関係の可視化を行うことができる。
npx depcruise --init
を実行すると、.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" }
}
]
}
コメント部分が英語になっているので、これを日本語に翻訳しておきたい。
package.json
に記載されていないnpmパッケージに依存しています。package.json
のdependencies
にパッケージを追加して問題を解決してください。package.json
に追加してください。package.json
に複数回記載されている外部のnpmパッケージに依存しています。これは後でメンテナンスの問題を引き起こします。package.json
のdevDependencies
セクションにあるnpmパッケージに依存しています。これは本番環境にデプロイされる可能性があります。package.json
でオプションとして指定されているnpmパッケージに依存しています。これは限られた状況でのみ意味をなすため、注意が必要です。package.json
でピア依存関係として指定されているnpmパッケージに依存しています。このモジュールがプラグインのようなものであれば問題ありませんが、それ以外の場合は注意が必要です。no-circular
no-orphans
.eslintrc.js
やtsconfig.json
)には適用されません。no-deprecated-core
not-to-deprecated
no-non-package-json
package.json
のdependencies
セクションに記載されていないnpmパッケージに依存しています。この状態は問題であり、(1)本番環境で利用できないか、(2)本番環境で保証されていないバージョンで利用される可能性があります。package.json
のdependencies
にこのパッケージを追加してください。not-to-unresolvable
package.json
に追加する必要があります。no-duplicate-dep-types
package.json
内で複数回(例えば、devDependencies
とdependencies
の両方で)記載されているnpmパッケージに依存しています。これは後にメンテナンスの問題を引き起こす可能性があります。not-to-spec
not-to-dev-dep
package.json
のdevDependencies
セクションにリストされているnpmパッケージに依存していますが、本番環境にデプロイされる可能性があります。package.json
のdependencies
セクションにのみ記載するようにしてください。optional-deps-used
package.json
でオプションとして指定されているnpmパッケージに依存しています。これは限られた状況でしか意味をなさないため、注意が必要です。peer-deps-used
package.json
でピア依存として指定されているnpmパッケージに依存しています。このモジュールがプラグイン等であれば問題ないですが、それ以外の場合は注意が必要です。