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 = { 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], };