ตรวจสอบและแสดงภาพการพึ่งพา ด้วยกฎของคุณ JavaScript TypeScript 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 สิ่งนี้จะมองไปรอบ ๆ ในสภาพแวดล้อมของคุณสักหน่อยถามคำถามและสร้างไฟล์กำหนดค่า .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 และเก่ากว่า: เพิ่ม-ตัวเลือกการรับรู้
ในขณะที่ไม่จำเป็นจากการพึ่งพาเรือลาดตระเวน V13 และใหม่กว่าใน V12 และเก่ากว่าคุณจะต้องผ่านตัวเลือก-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 ข้างต้นคำสั่งยังเพิ่มกฎบางอย่างลงใน .dependency-cruiser.js ที่สมเหตุสมผลในโครงการส่วนใหญ่เช่นการตรวจจับ การพึ่งพาแบบวงกลม การพึ่งพา ที่ขาดหายไป ใน package.json, เด็กกำพร้า และรหัสการผลิตที่อาศัยอยู่ใน dev- หรือตัวเลือก
เริ่มเพิ่มกฎของคุณเองโดยปรับแต่งไฟล์นั้น
กฎตัวอย่าง:
{
"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 และเก่ากว่า: เพิ่ม-ตัวเลือกการรับรู้
ในขณะที่ไม่จำเป็นจากการพึ่งพาเรือลาดตระเวน V13 ใน V12 และเก่ากว่าคุณจะต้องผ่านตัวเลือก-config เพื่อให้ค้นหาไฟล์กำหนดค่า.
npx depcruise --config .dependency-cruiser.js src
สิ่งนี้จะตรวจสอบกฎของคุณและแสดงการละเมิดใด ๆ ในรูปแบบที่คล้ายอีลินท์:
มีวิธีเพิ่มเติมในการรายงานการตรวจสอบ ในกราฟ (เช่นเดียวกับที่อยู่ด้านบนของ readMe นี้) หรือในไฟล์ html ที่มีตัวเอง
depcruise ใน package.json คุณมาถูกที่แล้ว :-):
มิกซ์

ทำด้วย? ในฮอลแลนด์
เราใช้ npx ในสคริปต์ตัวอย่างเพื่อความสะดวก เมื่อคุณใช้คำสั่งในสคริปต์ใน package.json ไม่จำเป็นต้องนำหน้าด้วย npx
หากคุณไม่ต้องการใช้ npx แต่แทน pnpx (จาก pnpm Package Manager) หรือ yarn - โปรดดูเอกสารของเครื่องมือนั้น โดยเฉพาะอย่างยิ่ง pnpx มีความหมายที่แตกต่างจาก npx ค่อนข้างมีนัยสำคัญและคุณต้องการรับรู้ก่อนใช้งาน ในเวลาเฉลี่ย: npx ควร ทำงานแม้ว่าคุณจะติดตั้งการพึ่งพากับตัวจัดการแพ็คเกจที่แตกต่างจาก npm
นี่ถือว่าคำสั่ง graphviz dot มีอยู่ - ใน Linux และระบบที่เปรียบเทียบได้ส่วนใหญ่จะเป็น ในกรณีที่ไม่ใช่ให้ดูที่หน้าดาวน์โหลดของ GraphViz สำหรับคำแนะนำเกี่ยวกับวิธีการรับบนเครื่องของคุณ