UNPKG

renovate

Version:

Automated dependency updates. Flexible so you don't need to be.

251 lines (247 loc) • 7.47 kB
import { VersioningName } from "../../versioning-list.generated.js"; import { Options } from "execa"; //#region lib/util/exec/types.d.ts interface ConstraintDefinition { name: string; description?: string; } /** * A `tool` that Containerbase supports. * * TODO #41849 replace with upstream types */ declare const toolDefinitions: [{ readonly name: 'bazelisk'; }, { readonly name: 'bun'; }, { readonly name: 'bundler'; }, { readonly name: 'cocoapods'; }, { readonly name: 'composer'; }, { readonly name: 'conan'; }, { readonly name: 'copier'; }, { readonly name: 'corepack'; }, { readonly name: 'deno'; }, { readonly name: 'devbox'; }, { readonly name: 'dotnet'; }, { readonly name: 'erlang'; }, { readonly name: 'elixir'; }, { readonly name: 'flux'; }, { readonly name: 'gleam'; }, { readonly name: 'golang'; }, { readonly name: 'gradle'; }, { readonly name: 'hashin'; }, { readonly name: 'helm'; }, { readonly name: 'helmfile'; }, { readonly name: 'java'; }, { readonly name: 'java-maven'; }, { readonly name: 'jb'; }, { readonly name: 'kustomize'; }, { readonly name: 'maven'; }, { readonly name: 'mise'; }, { readonly name: 'nix'; }, { readonly name: 'node'; }, { readonly name: 'npm'; }, { readonly name: 'pdm'; }, { readonly name: 'php'; }, { readonly name: 'pip-tools'; }, { readonly name: 'pipenv'; }, { readonly name: 'pnpm'; }, { readonly name: 'pixi'; }, { readonly name: 'poetry'; }, { readonly name: 'python'; }, { readonly name: 'ruby'; readonly description: 'Also used in the `rubygems` Datasource'; }, { readonly name: 'rust'; }, { readonly name: 'uv'; }, { readonly name: 'yarn'; }, { readonly name: 'yarn-slim'; }, { readonly name: 'dart'; }, { readonly name: 'flutter'; }, { readonly name: 'vendir'; }]; /** * A `tool` that Containerbase supports. */ type ToolName = (typeof toolDefinitions)[number]['name']; /** * A `tool` that Containerbase supports. */ declare const toolNames: ToolName[]; declare function isToolName(value: unknown): value is ToolName; /** * Additional constraints that can be specified for some Managers, but are **not** tools that Containerbase supports, with optional description. */ declare const additionalConstraintDefinitions: [{ readonly name: 'go'; readonly description: `Used in the \`gomod\` manager to specify the version of the Go toolchain to use. In precedence order: 1. config: \`constraints.go\` 1. \`go.mod\`: \`toolchain\` directive 1. \`go.mod\`: \`go\` directive NOTE that the \`constraints.golang\` is not used (https://github.com/renovatebot/renovate/issues/42601) `; }, { readonly name: 'gomodMod'; readonly description: `Used in the \`gomod\` manager to specify a tag for [\`github.com/marwan-at-work/mod\`](https://github.com/marwan-at-work/mod). Must be prefixed with \`v\`.`; }, { readonly name: 'jenkins'; readonly description: 'Used in the `jenkins-plugins` datasource to specify a minimum version of Jenkins that a plugin must support.'; }, { readonly name: 'pipTools'; readonly description: 'Used in the `pip-compile` manager to specify a version of `pip-tools` to use. @deprecated TODO remove in #42599'; }, { readonly name: 'platform'; readonly description: 'Used in the `rubygems` datasource to specify the `platform` that the Gem dependency supports.'; }, { readonly name: 'rubygems'; readonly description: 'Used in the `rubygems` datasource to specify the version of the `rubygems` tool that is needed to use this Gem.'; }, { readonly name: 'vscode'; readonly description: 'Used in the `npm` manager to track the version of VSCode that the package is compatible with.'; }, { readonly name: 'dotnet-sdk'; readonly description: 'Used in the `nuget` manager to track .NET SDK version required.'; }, { readonly name: 'perl'; readonly description: 'Used in the `cpanfile` manager to track Perl version required.'; }, { readonly name: '%goMod'; readonly description: 'Used in the `gomod` manager to determine the [minimum version of Go required to use this module](https://go.dev/ref/mod#go-mod-file-go).\n\nNote that this is prefixed with a `%` to explicilty note that this is not a tool that Containerbase knows.'; }]; /** * Additional constraints that can be specified for some Managers, but are **not** tools that Containerbase supports. */ type AdditionalConstraintName = (typeof additionalConstraintDefinitions)[number]['name']; /** * Additional constraints that can be specified for some Managers, but are **not** tools that Containerbase supports. */ declare const additionalConstraintNames: AdditionalConstraintName[]; declare function isAdditionalConstraintName(value: unknown): value is AdditionalConstraintName; /** * A name usable as a key in a `constraints` record, which may be tools that Containerbase supports. */ type ConstraintName = ToolName | AdditionalConstraintName; declare function isConstraintName(value: unknown): value is ConstraintName; interface ToolConstraint { toolName: ToolName; constraint?: string | null; } interface ToolConfig { datasource: string; extractVersion?: string; packageName: string; versioning: VersioningName; } type Opt<T> = T | null | undefined; type VolumesPair = [string, string]; type VolumeOption = Opt<string | VolumesPair>; interface DockerOptions { volumes?: Opt<VolumeOption[]>; envVars?: Opt<Opt<string>[]>; cwd?: Opt<string>; } type DataListener = (chunk: any) => void; interface OutputListeners { stdout?: DataListener[]; stderr?: DataListener[]; } interface OutputWriter { write(chunk: Buffer): void; toString(): string; } interface OutputWriters { stdout?: OutputWriter; stderr?: OutputWriter; } interface RawExecOptions extends Options { maxBuffer?: number | undefined; cwd?: string; outputListeners?: OutputListeners; outputWriters?: OutputWriters; } interface ExecResult { stdout: string; stderr: string; /** * The process' exit code in the case of a failure. * * This is only set if using `ignoreFailure` when executing a command * */ exitCode?: number; } type ExtraEnv<T = unknown> = Record<string, T>; interface ExecOptions { cwd?: string; cwdFile?: string; env?: Opt<ExtraEnv>; extraEnv?: Opt<ExtraEnv>; docker?: Opt<DockerOptions>; toolConstraints?: Opt<ToolConstraint[]>; preCommands?: Opt<string[]>; ignoreStdout?: boolean; maxBuffer?: number | undefined; timeout?: number | undefined; shell?: boolean | string | undefined; } /** * configuration that can be configured on a per-command basis, that doesn't make sense to be on the `RawExecOptions` */ interface CommandWithOptions { command: string[]; /** do not throw errors when a command fails, but do log that an error occurred */ ignoreFailure?: boolean; /** * Execute the `command` within a shell * * WARNING this can result in security issues if this includes user-controlled commands * **/ shell?: boolean | string; } //#endregion export { AdditionalConstraintName, CommandWithOptions, ConstraintDefinition, ConstraintName, DataListener, DockerOptions, ExecOptions, ExecResult, ExtraEnv, Opt, OutputListeners, OutputWriter, OutputWriters, RawExecOptions, ToolConfig, ToolConstraint, ToolName, VolumeOption, VolumesPair, additionalConstraintDefinitions, additionalConstraintNames, isAdditionalConstraintName, isConstraintName, isToolName, toolDefinitions, toolNames }; //# sourceMappingURL=types.d.ts.map