renovate
Version:
Automated dependency updates. Flexible so you don't need to be.
232 lines (231 loc) • 7.24 kB
TypeScript
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.\n\nIn precedence order:\n\n1. config: `constraints.go`\n1. `go.mod`: `toolchain` directive\n1. `go.mod`: `go` directive\n\nNOTE that the `constraints.golang` is not used (https://github.com/renovatebot/renovate/issues/42601)\n ";
}, {
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).\n\nMust 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 RawExecOptions extends Options {
maxBuffer?: number | undefined;
cwd?: string;
outputListeners?: OutputListeners;
}
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, RawExecOptions, ToolConfig, ToolConstraint, ToolName, VolumeOption, VolumesPair, additionalConstraintDefinitions, additionalConstraintNames, isAdditionalConstraintName, isConstraintName, isToolName, toolDefinitions, toolNames };
//# sourceMappingURL=types.d.ts.map