Лучший способ проверить зависимости в Yarn 2 (berry)?

Ищу способ аудита зависимостей на предмет уязвимостей в Yarn 2. В Yarn 1.x можно было то же самое, что и в npm, запустив yarn audit вместо npm audit. Но с Yarn 2 такой команды нет. И согласно этой проблеме на berry github, она не будет реализована (мейнтейнеры проекта предпочитаю, чтобы это было сделано через плагин).

Я пытался запустить npm install --package-lock-only && npm audit, но установка блокирует некоторые из моих локальных пакетов (которые я перечисляю в package.json, используя тип URL-адреса link:).

Это не было бы сложным плагином для создания, и я готов немного повеселиться, но это не было бы так весело, как просто установить что-то, а затем заниматься своими делами. Я огляделся, но всегда оказываюсь в одной и той же паре репозиториев vapoourware/brokenware.

Но я все еще предполагаю, что я просто не нахожу их. Или есть недокументированный трюк для упрощения. Отсюда мой вопрос :)

PS, да, я могу временно удалить локальные пакеты, используя link:, пока я запускаю команды npm install и npm audit выше, но это не совсем то, что я хочу попробовать и автоматизировать для CI.


person Julian Suggate    schedule 11.08.2020    source источник


Ответы (2)


Обновление (28 октября 2020 г.):
Пряжа 2 только что объединила долгожданное улучшение yarn npm audit.

PR — https://github.com/yarnpkg/berry/pull/1892< br /> Документы — https://yarnpkg.com/cli/npm/audit


Недавно я экспериментировал с Yarn 2 и увидел, что это можно сделать с помощью @efrem/auditdeps. утилита:

yarn dlx @efrem/auditdeps [--level=(low|moderate|high|critical)] [--production]

Вывод не такой красивый, как из npm audit, но вы получаете больше деталей в формате JSON, и вы можете передать его другим инструментам или любому пользовательскому сценарию переформатирования, чтобы получить именно то, что вы хотите.

person Anton    schedule 26.08.2020
comment
Спасибо, я пытался использовать это, но это один из тех, которые я упомянул как немного пустые :) никаких проблем, одна звезда, один участник. При его использовании я получаю ОШИБКУ: Ожидается @, [^/@] или конец ввода, но / найдено (строка 1, столбец 18). - person Julian Suggate; 01.09.2020
comment
Спасибо за обновление! Жаль, что я не видел этого до сих пор :) - person Julian Suggate; 19.01.2021

Я бы попробовал https://snyk.io/ не бесплатно для коммерческого использования большой командой, но это может помочь вам начал с ежедневных пробежек и т.д.

(Я никак не связан с Snyk.io)

person MTJ    schedule 26.08.2020
comment
Это выглядит красиво, но WOW становится дорогим, когда вы набираете 10 разработчиков. - person Julian Suggate; 01.09.2020