Overview

edit

The built-in scanners recognize the files from their name, extension or folder. This table lists the dependency types, and the pages of this group give the details of each file format.

DependencyTypeReported fromPage
NuGetMSBuild projects, packages.config, .nuspec, global.json MSBuild SDKs, dotnet-tools.json, project.json, file-based apps, NuGet lock files, project.assets.json, Azure Pipelines package resources.NET
DotNetSdkglobal.json.NET
DotNetTargetFrameworkMSBuild projects, file-based apps.NET
MSBuildProjectReferenceMSBuild projects, file-based apps.NET
DotNetAssemblyReferenceFile-based apps.NET
Npmpackage.json, npm lock files, Azure Pipelines package resources, agent plugin marketplacesJavaScript
DockerImageDockerfiles, Docker Compose files, Kubernetes manifests, GitHub Actions, Azure PipelinesContainers
HelmChartChart.yaml, requirements.yaml and their lock filesContainers
GitHubActionsWorkflows, action metadata files, actions.lockCI pipelines
AzureDevOpsTask, AzureDevOpsTemplate, AzureDevOpsVMPoolAzure Pipelines YAML filesCI pipelines
GitReference.gitmodules, Azure Pipelines repository resourcesCI pipelines, Repository files
PyPiRequirements files, pyproject.toml, Pipfile and their lock filesOther ecosystems
RubyGemGemfile, .gemspec, Gemfile.lockOther ecosystems
RustCrateCargo.toml, Cargo.lockOther ecosystems
GoModulego.mod, go.sumOther ecosystems
JavaPackagepom.xml, Gradle build files, version catalogsOther ecosystems
PhpPackagecomposer.json, composer.lockOther ecosystems
SwiftPackagePackage.swift, Package.resolvedOther ecosystems
RenovateConfigurationRenovate configuration filesRepository files
AgentPlugin, AgentPluginMarketplacePlugin marketplaces and settings filesRepository files

Rules shared by the scanners

  • Updatable or not. A value is updatable when the scanner can rewrite exactly its text. A value is reported with a location that is not updatable when rewriting it would be wrong or unsafe: an entry of a lock file, whose hash or integrity data would no longer match; a value built from a variable, such as image: node:${NODE_VERSION}; or a value whose text differs from its value, such as an escaped string. Check Location.IsUpdatable before an update.
  • YAML files. A value is updatable only when its text in the file is exactly its value: a plain scalar, or a single-line quoted scalar without escape sequences. Block scalars (|, >), escaped and multi-line values are not updatable. A value referenced through an alias (*name) is reported once.
  • Metadata. Some scanners add values to Dependency.Metadata, such as the digest of an image or the alias of a package. The pages of this group list their keys.

Lock files

Each lock file format has its own scanner, separate from the scanner of the manifest it is generated from, so you can leave them out of ScannerOptions.Scanners. See Choose the scanners. The versions found in lock files are not updatable.