ค้นหาเว็บไซต์

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)

บทความที่เกี่ยวข้อง