Écosystèmes de packages pris en charge

L’analyse des dépendances prend en charge les dépendances directes et les dépendances transitives pour tous les écosystèmes de packages pris en charge. L’analyse des dépendances ne peut pas détecter les dépendances fournisseur dans votre référentiel.

En raison de la façon dont la détection est exécutée pour l’analyse des dépendances, vérifiez que vous disposez d’une étape de restauration de package dans votre pipeline de build afin que la version correcte du package soit déterminée, sinon les résultats peuvent être manquants ou incomplets.

Écosystèmes et versions

Gestionnaire de package Langages Formats pris en charge Étiquetage des dépendances de développement Versions prises en charge
Cargo Rust Cargo.toml, Cargo.lock Non pris en charge v1
CocoaPods Swift Podfile.lock Non pris en charge n/a
Modules Go Go go.mod, go.sum Non pris en charge n/a
Gradle Java *.lockfile Supported n/a
Maven Java pom.xml Supported n/a
npm JavaScript package-lock.json, , package.jsonnpm-shrinkwrap.json, ,lerna.json Supported v6, v7 &lockfile <= v3
NuGet C# *.packages.config, , *.project.assets*.csproj Non pris en charge n/a
pip Python setup.py, requirements.txt Non pris en charge n/a
pnpm JavaScript package.json Supported v7, v8
RubyGems Ruby Gemfile.lock Non pris en charge n/a
Yarn JavaScript package.json Supported v1, v2

Cargo

Si Cargo l’interface cli est installée avec la version 1.77 ou ultérieure, cargo metadata elle est utilisée, ce qui est plus précis.

Modules Go

Si vous utilisez Go v1.17 ou version ultérieure, go.mod est utilisé directement, ainsi que le go cli cas échéant sur l’agent. Sinon, le go.sum fichier est analysé.

Maven

La détection nécessite l’installation de l’interface maven CLI sur l’agent.

Les dépendances de développement sont identifiées lorsqu’elles utilisent l’étendue test des dépendances.

npm

L’analyse des dépendances détecte les fichiers racines package.json , mais ne résout pas les versions de package spécifiques sans restauration de package au moment de la génération, même si les dépendances dans le package.json fichier ne sont pas de version sémantique.

Les dépendances de développement sont identifiées par la devDependencies propriété dans package.json et l’indicateur dev dans package-lock.json.

NuGet

Sans restauration de package, l’analyse des dépendances ne résout aucune version spécifique du package, même si les dépendances dans le *.csproj fichier ne sont pas de version sémantique.

pip

Utilisez pip v22.2.0 ou une version ultérieure pour activer l’utilisation de l’analyse pip report , ce qui fournit une détection plus précise.

La variable PIP_INDEX_URL d’environnement est utilisée pour déterminer le flux de package à utiliser pour pip install --report detection. La valeur par défaut utilise l’index PyPi, sauf si les valeurs par défaut pip sont configurées globalement.

pnpm

Les dépendances de développement sont identifiées par l’indicateur packages/{package}/dev dans le fichier de verrouillage pnpm.

Yarn

Les dépendances de développement sont identifiées par la devDependencies propriété dans package.json.