# Dependency graph

You can use the dependency graph to identify all your project's dependencies. The dependency graph supports a range of popular package ecosystems.

<!--Marketing-LINK: From /features/security and /features/security/software-supply-chain pages "How GitHub's dependency graph is generated".-->

## About the dependency graph

The dependency graph is a summary of the manifest and lock files stored in a repository and any dependencies that are submitted for the repository using the dependency submission API. For each repository, it shows dependencies, the ecosystems and packages it depends on.

For each dependency, you can see the version,  the manifest file which included it, and whether it has known vulnerabilities. For package ecosystems supporting transitive dependencies, the relationship status will be displayed and you can click "<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-kebab-horizontal" aria-label="Show dependency options" role="img"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg>", then "Show paths", to see the transitive path which brought in the dependency.

You can also search for a specific dependency using the search bar. Dependencies are sorted automatically with vulnerable packages at the top.

GitHub does not retrieve license information for dependencies, and does not calculate information about dependents, the repositories and packages that depend on a repository.

For information on the supported ecosystems and manifest files, see [Dependency graph supported package ecosystems](/en/enterprise-server@3.22/code-security/reference/supply-chain-security/dependency-graph-supported-package-ecosystems#supported-package-ecosystems).

When you create a pull request containing changes to dependencies that targets the default branch, GitHub uses the dependency graph to add dependency reviews to the pull request. These indicate whether the dependencies contain vulnerabilities and, if so, the version of the dependency in which the vulnerability was fixed. For more information, see [Dependency review](/en/enterprise-server@3.22/code-security/concepts/supply-chain-security/dependency-review).

## How the dependency graph is built

The dependency graph automatically parses dependencies by analyzing manifests and lock files in your repository. You can also submit data yourself. For more information, see [How the dependency graph recognizes dependencies](/en/enterprise-server@3.22/code-security/concepts/supply-chain-security/dependency-graph-data).

## Dependency graph availability

Enterprise owners can configure the dependency graph and Dependabot alerts for an enterprise. For more information, see [Enabling the dependency graph for your enterprise](/en/enterprise-server@3.22/code-security/how-tos/secure-at-scale/configure-enterprise-security/configure-specific-tools/enable-dependency-graph) and [Enabling Dependabot for your enterprise](/en/enterprise-server@3.22/admin/configuring-settings/configuring-github-connect/enabling-dependabot-for-your-enterprise).

For more information about configuration of the dependency graph, see [Enabling the dependency graph](/en/enterprise-server@3.22/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/enable-dependency-graph).

## What you can do with the dependency graph

You can use the dependency graph to:

* Explore the repositories your code depends on. For more information, see [Exploring the dependencies of a repository](/en/enterprise-server@3.22/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/explore-dependencies).
* View and update vulnerable dependencies for your repository. For more information, see [Dependabot alerts](/en/enterprise-server@3.22/code-security/concepts/supply-chain-security/dependabot-alerts).
* See information about vulnerable dependencies in pull requests. For more information, see [Reviewing dependency changes in a pull request](/en/enterprise-server@3.22/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-dependency-changes-in-a-pull-request).
* Export a software bill of materials (SBOM) for audit or compliance purposes. This is a formal, machine-readable inventory of a project's dependencies. See [Exporting a software bill of materials for your repository](/en/enterprise-server@3.22/code-security/how-tos/secure-your-supply-chain/establish-provenance-and-integrity/export-dependencies-as-sbom).

## Further reading

* [Dependency graph](https://en.wikipedia.org/wiki/Dependency_graph) on Wikipedia
* [Exploring the dependencies of a repository](/en/enterprise-server@3.22/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/explore-dependencies)
* [Viewing and updating Dependabot alerts](/en/enterprise-server@3.22/code-security/how-tos/manage-security-alerts/manage-dependabot-alerts/view-dependabot-alerts)
* [Vulnerable dependency detection](/en/enterprise-server@3.22/code-security/reference/supply-chain-security/troubleshoot-dependabot/vulnerability-detection)