انتخاب وابستگی ها با استفاده از deps.dev – انجمن DEV

انتخاب وابستگی های یک پروژه چیزی است که گاهی اوقات از آن غافل می شویم، اما می تواند تاثیر بسیار مرتبطی داشته باشد. تصویر زیر این ایده را نشان می دهد:
برای تسهیل این فرآیند، گوگل اخیرا پروژه جدیدی به نام deps.dev را راه اندازی کرده است. شعار آن به طور خلاصه هدف خود را نشان می دهد: وابستگی های خود را درک کنید. این ابزار از زبان های برنامه نویسی مانند JavaScript، Rust، Go، Python و Java پشتیبانی می کند.
برای نشان دادن مزایا، سناریویی را تصور کنید: یک تیم در حال توسعه یک API در Go است و باید کتابخانه ای را برای پیاده سازی الگوی Circuit Breaker انتخاب کند. پس از کمی تحقیق در اینترنت و وب سایت عالی Awesome Go، آنها لیست را به گزینه های زیر کاهش دادند:
بیایید هر کدام را در deps.dev جستجو کنیم تا مقایسه را شروع کنیم. اینها پیوندهای تجزیه و تحلیل libs هستند:
برخی از اطلاعات ارائه شده برای من قابل توجه بود. به عنوان مثال، در تجزیه و تحلیل از gobreaker
:
- این ابزار با استفاده از معیارهایی مانند امنیت، مجوز، و اینکه آیا به طور فعال نگهداری می شود یا خیر، امتیازی برای lib ایجاد می کند:
- ما میتوانیم ببینیم که lib چند وابستگی دارد و چه تعداد پروژه از آن استفاده میکنند، که میتواند نشانه خوبی از کیفیت و اعتماد جامعه باشد:
همچنین می توان مشاهده کرد که آیا lib دارای هر گونه هشدار امنیتی است یا خیر. را mercari/go-circuitbreaker
lib در این زمینه خطری را ارائه می دهد:
با این اطلاعات، تیم می تواند تصمیم ایمن تری در مورد اینکه از کدام لیب ها می توانند در پروژه خود استفاده کنند، بگیرند.
یکی دیگر از ویژگی های مفید این است که deps.dev یک API دارد. با این API امکان ایجاد چک در پروژه وجود دارد Continuous Integration
سرویسی برای بررسی وجود هرگونه هشدار امنیتی مربوط به وابستگی ها یا وجود نسخه جدیدی از یک کتابخانه ضروری.
deps.dev یک پروژه ارزشمند است که می تواند به تیم ها در انتخاب و مدیریت وابستگی های پروژه خود کمک کند.
در ابتدا در https://eltonminetto.dev در 19 آوریل 2023 منتشر شد