Skip to main content

Acerca del gráfico de dependencias

Puedes utilizar la gráfica de dependencias para identificar todas las dependencias de tus proyectos. La gráfica de dependencias es compatible con una variedad de ecosistemas de paquetes populares.

El gráfico de dependencias es un resumen de los archivos de manifiesto y de bloqueo almacenados en un repositorio y las dependencias que se envían para el repositorio mediante la API de envío de dependencias (beta). Para cada repositorio, muestra:

  • Las dependencias, ecosistemas y paquetes de los cuales depende
  • Los dependientes, repositorios y paquetes que dependen de ella

Al insertar una confirmación en GitHub que cambie o agregue un archivo de bloqueo o de manifiesto admitido a la rama predeterminada, el gráfico de dependencias se actualizará de forma automática. Además, el gráfico se actualiza cuando alguien inserte un cambio en el repositorio de una de las dependencias. Para más información sobre los ecosistemas y archivos de manifiesto admitidos, vea "Ecosistemas de paquetes admitidos" a continuación.

De manera adicional, puedes usar Dependency submission API (versión beta) para enviar dependencias desde el administrador de paquetes o el ecosistema que prefieras, incluso si el ecosistema no es compatible con el gráfico de dependencias para el análisis del archivo de manifiesto o de bloqueo. El gráfico de dependencias mostrará las dependencias enviadas agrupadas por ecosistema, pero por separado de las dependencias analizadas de los archivos de manifiesto o de bloqueo. Para más información sobre Dependency submission API, consulta"Uso de Dependency submission API".

Cuando creas una solicitud de cambios que contenga los cambios de las dependencias que apuntan a la rama predeterminada, GitHub utiliza la gráfica de dependencias para agregar revisiones de dependencia a la solicitud de cambios.

Estas indican si las dependencias contendrán vulnerabilidades y, si es el caso, la versión de la dependencia en la cual se arregló la vulnerabilidad. Para más información, vea "Acerca de la revisión de dependencias". Disponibilidad de la gráfica de dependencias

El gráfico de dependencias se genera automáticamente para todos los repositorios públicos. Puedes optar por habilitarlo para bifurcaciones y repositorios privados. Para obtener más información, consulta "Administración de la configuración de seguridad y análisis del repositorio".

Los administradores de repositorio también pueden configurar la gráfica de dependencias para los repositorios privados.

Para obtener más información, consulta "Configuración del gráfico de dependencias".

Dependencias que se incluyen

El gráfico de dependencias incluye todas las dependencias de un repositorio que se detallan en los archivos de manifiesto y bloqueo, o su equivalente, para los ecosistemas admitidos, así como las dependencias que se envían mediante la API de envío de dependencias (en beta).

Esto incluye: Las dependencias directas, que se definen explícitamente en un archivo de manifiesto o bloqueo o se han enviado mediante la API de envío de dependencias (en beta)

  • Las dependencias indirectas de estas dependencias directas, también conocidas como dependencias transitorias o sub-dependencias
  • El gráfico de dependencias identifica dependencias indirectas ya sea de forma explícita desde un archivo de bloqueo o mediante la comprobación de las dependencias de las dependencias directas.

Para la gráfica más confiable, debes utilizar archivos de bloqueo (o su equivalente), ya que estos definen exactamente qué versiones de las dependencias directas e indirectas estás utilizando actualmente. Si utilizas archivos de bloqueo, también te aseguras de que todos los contribuyentes del repositorio están utilizando las mismas versiones, lo cual te facilitará el probar y depurar el código. Para obtener más información sobre cómo GitHub te ayuda a comprender las dependencias de tu entorno, consulta "Acerca de la seguridad de la cadena de suministro".

Dependientes incluídos

Para los repositorios públicos, únicamente se reportan los repositorios públicos que dependen de éste o de los paquetes que publicas.

Esta información no se reporta para los repositorios privados. Utiizar la gráfica de dependencias

Puedes utilizar la gráfica de dependencias para:

Explore los repositorios de los que depende el código en y los que dependen de él.

Los formatos recomendados definen explícitamente qué versiones se utilizan para todas las dependencias directas e indirectas.

Si usa estos formatos, el gráfico de dependencias será más preciso. También refleja la configuración de compilación actual y permite que el gráfico de dependencias notifique vulnerabilidades tanto en las dependencias directas como en las indirectas. Las dependencias indirectas que se infieren de un archivo de manifiesto (o equivalente) se excluyen de las comprobaciones de dependencias no seguras. Administrador de paquetes

IdiomasFormatos recomendadosTodos los formatos admitidos

[†] Los flujos de trabajo de GitHub Actions se deben ubicar en el directorio .github/workflows/ de un repositorio para que se reconozcan como manifiestos.

Las acciones o flujos de trabajo a los que se hace referencia mediante la sintaxis jobs[*].steps[*].uses o jobs.<job_id>.uses se analizarán como dependencias. Para más información, vea "Sintaxis de flujo de trabajo para GitHub Actions".

[‡] Si enumeras las dependencias de Python dentro de un archivo setup.py, es posible que no podamos analizar y enumerar cada una de las dependencias del proyecto.

Nota: Las dependencias de flujos de trabajo de GitHub Actions se muestran en el gráfico de dependencias con fines informativos.

Las alertas del dependabot no son compatibles actualmente con los flujos de trabajo de GitHub Actions.

Puedes usar la API de envío de dependencias (en beta) para agregar dependencias desde el administrador de paquetes o el ecosistema de tu elección al gráfico de dependencias, incluso si el ecosistema no está en la lista de ecosistemas compatibles anterior.

El gráfico de dependencias mostrará las dependencias enviadas agrupadas por ecosistema, pero por separado de las dependencias analizadas de los archivos de manifiesto o de bloqueo. Solo obtendrás Dependabot alerts para las dependencias que proceden de uno de los ecosistemas compatibles de GitHub Advisory Database. Para obtener más información sobre la API de envío de dependencias, consulta "Uso de la API de envío de dependencias". Información adicional

"Gráfico de dependencias" en Wikipedia