Files
renovate/lib/util/vulnerability/ecosystem.ts

58 lines
2.5 KiB
TypeScript

import type { Ecosystem as OsvEcosystem } from '@renovatebot/osv-offline';
import { ClojureDatasource } from '../../modules/datasource/clojure/index.ts';
import { CrateDatasource } from '../../modules/datasource/crate/index.ts';
import { GithubTagsDatasource } from '../../modules/datasource/github-tags/index.ts';
import { GoDatasource } from '../../modules/datasource/go/index.ts';
import { GolangVersionDatasource } from '../../modules/datasource/golang-version/index.ts';
import { HackageDatasource } from '../../modules/datasource/hackage/index.ts';
import { HexDatasource } from '../../modules/datasource/hex/index.ts';
import { MavenDatasource } from '../../modules/datasource/maven/index.ts';
import { NpmDatasource } from '../../modules/datasource/npm/index.ts';
import { NugetDatasource } from '../../modules/datasource/nuget/index.ts';
import { PackagistDatasource } from '../../modules/datasource/packagist/index.ts';
import { PypiDatasource } from '../../modules/datasource/pypi/index.ts';
import { RubygemsDatasource } from '../../modules/datasource/rubygems/index.ts';
import type { Ecosystem as GithubEcosystem } from '../../modules/platform/github/schema.ts';
/**
* Maps Renovate datasource IDs to OSV ecosystem names.
*
* @see https://ossf.github.io/osv-schema/#affectedpackage-field
*/
export const datasourceToOsvEcosystem: Record<
string,
OsvEcosystem | undefined
> = {
// ClojureDatasource extends MavenDatasource and OSV indexes Clojars and Maven Central artifacts under the same Maven
// ecosystem, so deps.edn and Leiningen packages share the maven entry below.
[ClojureDatasource.id]: 'Maven',
[CrateDatasource.id]: 'crates.io',
[GoDatasource.id]: 'Go',
[GolangVersionDatasource.id]: 'Go',
[HackageDatasource.id]: 'Hackage',
[HexDatasource.id]: 'Hex',
[MavenDatasource.id]: 'Maven',
[NpmDatasource.id]: 'npm',
[NugetDatasource.id]: 'NuGet',
[PackagistDatasource.id]: 'Packagist',
[PypiDatasource.id]: 'PyPI',
[RubygemsDatasource.id]: 'RubyGems',
};
/**
* Maps GitHub Dependabot ecosystem names to Renovate datasource IDs.
*
* @see https://docs.github.com/en/rest/dependabot/alerts
*/
export const githubEcosystemToDatasource: Record<GithubEcosystem, string[]> = {
actions: [GithubTagsDatasource.id],
composer: [PackagistDatasource.id],
go: [GoDatasource.id],
maven: [MavenDatasource.id, ClojureDatasource.id],
npm: [NpmDatasource.id],
nuget: [NugetDatasource.id],
pip: [PypiDatasource.id],
rubygems: [RubygemsDatasource.id],
rust: [CrateDatasource.id],
};