javascript - วิธีที่ดีที่สุดในการตรวจสอบ dependencies ใน Yarn 2 (berry)?
ฉันกำลังมองหาวิธีตรวจสอบความปลอดภัยของ dependencies ใน Yarn 2 ใน Yarn 1.x สามารถทำได้เหมือนกับใน npm โดยการรัน yarn audit แทน npm audit แต่ใน Yarn 2 ไม่มีคำสั่งนั้น และตามปัญหานี้ใน github ของ berry จะไม่ได้มีการนำมาบังคับใช้ (ผู้ดูแลโครงการต้องการให้ทำผ่านปลั๊กอิน)
ฉันได้ลองรัน npm install --package-lock-only && npm audit แต่การติดตั้งเกิดปัญหากับแพ็กเกจในเครื่องของฉันบางตัว (ซึ่งฉันระบุไว้ใน package.json โดยใช้ประเภท url link:)
มันคงไม่ใช่ปลั๊กอินที่ซับซ้อนในการสร้างและฉันก็พร้อมที่จะสนุกกับมัน แต่ก็อาจจะไม่ได้สนุกเท่ากับแค่ติดตั้งบางอย่างแล้วใช้ชีวิตตามปกติ ฉันเคยหาดูแล้วแต่ก็จบลงที่ที่เก็บโค้ดปลอม/ทิ้งร้างไม่กี่แห่งเหมือนเดิม
แต่ฉันก็ยังเดาว่าฉันอาจจะหาไม่เจอ หรืออาจมีเคล็ดลับที่ไม่มีบันทึกในการทำให้มันง่าย ดังนั้นฉันถึงถาม :)
ปล. ใช่ ผมสามารถลบแพ็กเกจท้องถิ่นโดยใช้ link: ชั่วคราวในขณะที่ผมรันคำสั่ง npm install และ npm audit ข้างต้นได้ แต่ก็ไม่ใช่สิ่งที่ผมอยากจะลองทำให้เป็นอัตโนมัติสำหรับ CI
คำตอบ #1
อัปเดต (28-ต.ค.-2020):
Yarn 2 เพิ่งรวมการปรับปรุง yarn npm audit ที่รอคอยกันมานาน.
PR - https://github.com/yarnpkg/berry/pull/1892
เอกสาร - https://yarnpkg.com/cli/npm/audit
ฉันกำลังทดลองใช้งาน Yarn 2 เมื่อเร็ว ๆ นี้ และฉันเห็นว่าคุณสามารถทำสิ่งนี้ได้ด้วยยูทิลิตี้ @efrem/auditdeps:
yarn dlx @efrem/auditdeps [--level=(low|moderate|high|critical)] [--production]
ผลลัพธ์อาจไม่สวยงามเท่ากับจาก npm audit แต่คุณจะได้รับรายละเอียดมากขึ้นในรูปแบบ JSON และคุณสามารถส่งต่อไปยังเครื่องมืออื่นหรือสคริปต์ปรับรูปแบบตามต้องการเพื่อให้ได้สิ่งที่คุณต้องการอย่างแม่นยำ
คำตอบ #2
ฉันจะแนะนำลองใช้ https://snyk.io/ ไม่ฟรีสำหรับการใช้งานเชิงพาณิชย์กับทีมขนาดใหญ่ แต่สามารถช่วยให้คุณเริ่มต้นกับการรันประจำวันได้ เป็นต้น
(ฉันไม่ได้มีความเกี่ยวข้องใด ๆ กับ Snyk.io)
