Dependency graph availability
The dependency graph and Dependabotアラート are configured at an enterprise level by the enterprise owner. For more information, see "Enabling the dependency graph for your enterprise" and "Enabling Dependabot for your enterprise."
About the dependency graph
依存関係グラフは、リポジトリに保存されているマニフェストファイルおよびロックファイルのサマリーです。 それぞれのリポジトリにおいて、依存関係グラフは以下を表示します。依存関係、すなわちリポジトリが依存するエコシステ� とパッケージ。 GitHub Enterprise Serverは、リポジトリに依存する対象、リポジトリ、パッケージに関する情� �を計算しません。
When you push a commit to GitHub Enterprise Server that changes or adds a supported manifest or lock file to the default branch, the dependency graph is automatically updated. For information on the supported ecosystems and manifest files, see "Supported package ecosystems" below.
Dependencies included
The dependency graph includes all the dependencies of a repository that are detailed in the manifest and lock files, or their equivalent, for supported ecosystems. This includes:
- Direct dependencies, that are explicitly defined in a manifest or lock file
- Indirect dependencies of these direct dependencies, also known as transitive dependencies or sub-dependencies
The dependency graph identifies indirect dependencies from the lock files.
Using 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."
- View and update vulnerable dependencies for your repository. For more information, see "About alerts for vulnerable dependencies."
Enabling the dependency graph
If the dependency graph is not available in your system, your enterprise owner can enable the dependency graph. For more information, see "Enabling the dependency graph for your enterprise."
When the dependency graph is first enabled, any manifest and lock files for supported ecosystems are parsed immediately. The graph is usually populated within minutes but this may take longer for repositories with many dependencies. Once enabled, the graph is automatically updated with every push to the repository.
Supported package ecosystems
The recommended formats explicitly define which versions are used for all direct and all indirect dependencies. If you use these formats, your dependency graph is more accurate. It also reflects the current build set up and enables the dependency graph to report vulnerabilities in both direct and indirect dependencies.
Package manager | Languages | Recommended formats | All supported formats |
---|---|---|---|
Composer | PHP | composer.lock | composer.json , composer.lock |
dotnet CLI | .NET languages (C#, C++, F#, VB) | .csproj , .vbproj , .nuspec , .vcxproj , .fsproj | .csproj , .vbproj , .nuspec , .vcxproj , .fsproj , packages.config |
Maven | Java, Scala | pom.xml | pom.xml |
npm | JavaScript | package-lock.json | package-lock.json , package.json |
Python PIP | Python | requirements.txt , pipfile.lock | requirements.txt , pipfile , pipfile.lock , setup.py [1] |
RubyGems | Ruby | Gemfile.lock | Gemfile.lock , Gemfile , *.gemspec |
Yarn | JavaScript | yarn.lock | package.json , yarn.lock |
[1] If you list your Python dependencies within a setup.py
file, we may not be able to parse and list every dependency in your project.