Types

Assembly Terrabuild.Extensibility is required to create an extension. This assembly is referenced for any script used within Terrabuild.

ExtensionContext

This record provides information for the __defaults__ stage. Parameter must be named context when used on init function:

type ExtensionContext = {
    // Debug mode enabled (see --debug)
    Debug: bool

    // Directory of invocation
    Directory: string

    // CI mode
    CI: bool
}

ActionContext

This record provides information for any action function. Parameter must be named context when used on action function:

type ActionContext = {
    // Debug mode enabled (see --debug)
    Debug: bool

    // CI mode
    CI: bool

    // Command name
    Command: string

    // Branch or tag in CI mode
    BranchOrTag: string

    // Node hash
    ProjectHash: string
}

ProjectInfo

Record returned by the __defaults__ function.

[<RequireQualifiedAccess>]
type ProjectInfo = {
    // Outputs globbing
    Outputs: Set<string>

    // Ignores globbing
    Ignores: Set<string>

    // Dependencies to other projects
    Dependencies: Set<string>

    // Links to other projects (aka weak dependencies)
    Links: Set<string>

    // Files globbing
    Files: Set<string>
}
Last updated on