import { GithubReleasesDatasource } from '../../datasource/github-releases/index.ts'; import { GithubTagsDatasource } from '../../datasource/github-tags/index.ts'; import { NodeVersionDatasource } from '../../datasource/node-version/index.ts'; import { NpmDatasource } from '../../datasource/npm/index.ts'; import { RubyVersionDatasource } from '../../datasource/ruby-version/index.ts'; import { RustVersionDatasource } from '../../datasource/rust-version/index.ts'; import * as semverVersioning from '../../versioning/semver/index.ts'; import type { ToolingDefinition } from './types.ts'; /** * Maps proto built-in tool names to Renovate datasource configurations. * @see https://moonrepo.dev/docs/proto/config */ export const protoTooling: Record = { bun: { config: { packageName: 'oven-sh/bun', datasource: GithubReleasesDatasource.id, extractVersion: '^bun-v(?\\S+)', }, }, deno: { config: { packageName: 'denoland/deno', datasource: GithubReleasesDatasource.id, extractVersion: '^v(?\\S+)', }, }, gh: { config: { packageName: 'cli/cli', datasource: GithubReleasesDatasource.id, extractVersion: '^v(?\\S+)', }, }, go: { config: { packageName: 'golang/go', datasource: GithubTagsDatasource.id, extractVersion: '^go(?\\S+)', }, }, moon: { config: { packageName: 'moonrepo/moon', datasource: GithubReleasesDatasource.id, extractVersion: '^v(?\\S+)', }, }, node: { config: { packageName: 'node', datasource: NodeVersionDatasource.id, }, }, npm: { config: { packageName: 'npm', datasource: NpmDatasource.id, }, }, pnpm: { config: { packageName: 'pnpm', datasource: NpmDatasource.id, }, }, poetry: { config: { packageName: 'python-poetry/poetry', datasource: GithubReleasesDatasource.id, }, }, proto: { config: { packageName: 'moonrepo/proto', datasource: GithubReleasesDatasource.id, extractVersion: '^v(?\\S+)', }, }, python: { config: { packageName: 'python/cpython', datasource: GithubTagsDatasource.id, extractVersion: '^v(?\\S+)', }, }, ruby: { config: { packageName: 'ruby-version', datasource: RubyVersionDatasource.id, versioning: semverVersioning.id, }, }, rust: { config: { packageName: 'rust', datasource: RustVersionDatasource.id, }, }, uv: { config: { packageName: 'astral-sh/uv', datasource: GithubReleasesDatasource.id, }, }, yarn: { config: { packageName: '@yarnpkg/cli', datasource: NpmDatasource.id, }, }, };