驗證和可視化依賴項。有了你的規則。 JavaScript。打字稿。咖啡本。 ES6,commonjs,amd。
這貫穿於任何JavaScript,Typescript,Livestript或Coffeescript項目中的依賴項和...
作為副作用,它可以以各種輸出格式生成依賴圖,包括涼爽的可視化,您可以粘在牆上以打動奶奶。
npm install --save-dev dependency-cruiser
# or
yarn add -D dependency-cruiser
pnpm add -D dependency-cruisernpx depcruise --init這將在您的環境中稍微環顧四周,問您一些問題,並創建一個.dependency-cruiser.js配置文件,該文件適合您的項目1 2 。
要在SRC文件夾中創建依賴項的圖,您將使用輸出類型dot運行依賴巡洋艦,並在結果上運行GraphViz Dot 3 。在一個襯裡:
npx depcruise src --include-only " ^src " --output-type dot | dot -T svg > dependency-graph.svg依賴性 - 捕痕V12及以上:add-Config選項
雖然從依賴項 - cruiser v13及以後不需要必要,但是在V12及以後,您必須通過-Config選項,以使其找到.conipendenty-cruiser.js配置文件:
npx depcruise src --include-only " ^src " --config --output-type dot | dot -T svg > dependency-graph.svg
--include-only命令行選項。mermaid , json , csv , html或純文本等格式,那麼我們也會覆蓋她。當您在上面運行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 " }
}
]
}npx depcruise src依賴性 - 捕痕V12及以上:add-Config選項
雖然從依賴關係 - 捕獲器V13中沒有必要,但是在V12及以上,您必須傳遞 - config選項才能使其找到.epentendency-cruiser.js配置文件:
npx depcruise --config .dependency-cruiser.js src
這將根據您的規則來驗證,並以類似Eslint的格式顯示出任何違規行為:
還有更多報告驗證的方法;在圖中(如此讀數的頂部)或在含有自我的html文件中。
depcruise腳本。 您來對地方:-)::
麻省理工學院

與?在荷蘭。
為了方便起見,我們在示例腳本中使用npx 。當您在package.json中使用腳本中的命令時。 JSON不必以npx前綴。 ↩
如果您不想使用npx ,而是pnpx (來自pnpm軟件包管理器)或yarn - 請參閱該工具的文檔。特別是pnpx語義與npx有很大不同,並且您想在使用之前要注意。同時:即使您使用與npm不同的軟件包管理器安裝了依賴項, npx也應該工作。 ↩
假設可以使用GraphViz dot命令 - 在大多數Linux和可比較的系統上。如果不是,請參見GraphViz的下載頁面,以獲取有關如何在計算機上獲取的說明。 ↩