Skip to main content

TaskOptionsConfig

Options to control task inheritance and execution.

Index

Properties

affectedFiles

affectedFiles: null | TaskOptionAffectedFiles

The pattern in which affected files will be passed to the task.

affectedPassInputs

affectedPassInputs: null | boolean

When affected and no files are matching, pass the task inputs as arguments to the command, instead of ..

allowFailure

allowFailure: null | boolean

Allows the task to fail without failing the entire pipeline.

cache

cache: null | boolean

Caches the outputs of the task

cacheLifetime

cacheLifetime: null | string

Lifetime to cache the task itself, in the format of "1h", "30m", etc. If not defined, caches live forever, or until inputs change.

envFile

envFile: null | TaskOptionEnvFile

Loads and sets environment variables from the .env file when running the task.

interactive

interactive: null | boolean

Marks the task as interactive, so that it will run in isolation, and have direct access to stdin.

internal

internal: null | boolean

Marks the task as internal, which disables it from begin ran from the command line, but can be depended on.

merge

merge: null | TaskMergeStrategy = null | TaskMergeStrategy

The default strategy to use when merging args, deps, env, inputs, or outputs with an inherited task. Can be overridden with the other field-specific merge options.

mergeArgs

mergeArgs: null | TaskMergeStrategy = null | TaskMergeStrategy

The strategy to use when merging args with an inherited task.

mergeDeps

mergeDeps: null | TaskMergeStrategy = null | TaskMergeStrategy

The strategy to use when merging deps with an inherited task.

mergeEnv

mergeEnv: null | TaskMergeStrategy = null | TaskMergeStrategy

The strategy to use when merging env with an inherited task.

mergeInputs

mergeInputs: null | TaskMergeStrategy = null | TaskMergeStrategy

The strategy to use when merging inputs with an inherited task.

mergeOutputs

mergeOutputs: null | TaskMergeStrategy = null | TaskMergeStrategy

The strategy to use when merging outputs with an inherited task.

mutex

mutex: null | string

Creates an exclusive lock on a virtual resource, preventing other tasks using the same resource from running concurrently.

os

The operating system in which to only run this task on.

outputStyle

outputStyle: null | TaskOutputStyle = null | TaskOutputStyle

The style in which task output will be printed to the console.

@envvar

MOON_OUTPUT_STYLE

persistent

persistent: null | boolean

Marks the task as persistent (continuously running). This is ideal for watchers, servers, or never-ending processes.

retryCount

retryCount: null | number

The number of times a failing task will be retried to succeed.

@envvar

MOON_RETRY_COUNT

runDepsInParallel

runDepsInParallel: null | boolean

Runs direct task dependencies (via deps) in sequential order. This does not apply to indirect or transient dependencies.

runFromWorkspaceRoot

runFromWorkspaceRoot: null | boolean

Runs the task from the workspace root, instead of the project root.

runInCI

runInCI: null | boolean

Whether to run the task in CI or not, when executing moon ci or moon run.

shell

shell: null | boolean

Runs the task within a shell. When not defined, runs the task directly while relying on PATH resolution.

timeout

timeout: null | number

The maximum time in seconds that a task can run before being cancelled.

unixShell

unixShell: null | TaskUnixShell

The shell to run the task in when on a Unix-based machine.

windowsShell

windowsShell: null | TaskWindowsShell

The shell to run the task in when on a Windows machine.