Skip to main content

Как граф зависимостей распознаёт зависимости

Граф зависимостей автоматически анализирует файлы манифеста. Вы можете передавать данные зависимостей, которые нельзя обнаружить автоматически.

Кто может использовать эту функцию?

Граф зависимостей доступен для всех репозиториев.

В этой статье

Граф зависимостей может определить зависимости вашего проекта с помощью следующих методов.

МетодПринцип работы
Статический анализПарсирование манифеста и блокировки файлов в вашем репозитории
API отправки зависимостейПринимает данные зависимостей, которые вы предоставляете программно

После того как зависимости появляются в графе, вы можете получить Dependabot alerts и Dependabot security updates для любых известных уязвимостей.

Статический анализ

Когда вы включите граф зависимостей, GitHub сканирует ваш репозиторий на наличие поддерживаемых файлов манифеста и анализирует имя и версию каждого пакета. Граф обновляется, когда вы меняете поддерживаемый манифест или файл блокировки на вашей стандартной ветке .

Статический анализ может выявить:

  • Прямые зависимости , явно определённые в манифесте или файле блокировки
  • Косвенные зависимости — зависимости этих прямых зависимостей, также называемые «транзитивными зависимостями» — но только если они определены в манифесте или файле блокировки, а не если разрешены во время сборки

Для самого надёжного графа стоит использовать файлы блокировки (или их аналоги), потому что они точно определяют, какие версии прямых и косвенных зависимостей вы используете сейчас. Файлы блокировки также гарантируют, что все участники репозитория используют одни и те же версии, что облегчит тестирование и отладку кода.

API отправки зависимостей

Вы можете вызвать API отправки зависимостей в своём скрипте или рабочем процессе. Это полезно, если:

  • Вам нужно указывать транзитивные зависимости, которые нельзя обнаружить из файлов блокировки.
  • Вам нужно создать собственную логику или вы используете внешнюю систему CI/CD.

Зависимости отправляются в API отправки зависимостей в виде моментального снимка. Это список зависимостей, связанных с SHA коммита и другими метаданными, отражающий текущее состояние вашего репозитория.

Если вы вызываете API в рабочем процессе GitHub Actions, вы можете использовать готовое действие для вашей экосистемы, которое автоматически собирает зависимости и отправляет их в API. В противном случае вы можете написать собственное действие или вызвать API из внешней системы.

Отправленные зависимости недоступны в аналитике зависимостей вашей организации.

Дополнительные сведения см. в разделе AUTOTITLE.

Приоритетность