Skip to main content

BuildConfigurations class

A collection of xpm build configurations.

Signature

export declare class BuildConfigurations

Remarks

This class manages build configurations defined in package metadata, including template expansion with matrix parameters and initialisation of derived configuration instances.

Configuration lifecycle phases:

  1. Construction: Basic setup without processing configurations.
  2. Initialisation: Template name expansion without content evaluation.
  3. Retrieval: On-demand instantiation when accessed via get().
  4. Configuration Initialisation: Full processing including inheritance, property resolution, dependency substitution, and action preparation.

This lazy evaluation strategy ensures that only configurations actually used incur the cost of template evaluation, inheritance resolution, and variable substitution.

Constructors

Constructor

Modifiers

Description

(constructor)({ engine, substitutionsVariables, jsonBuildConfigurations, log, }, input)

Constructs a build configurations collection.

Properties

Property

Modifiers

Type

Description

_buildConfigurationsMap

protected

readonly

Map<string, BuildConfiguration | undefined>

Map of build configuration names to their corresponding instances.

_isInitialised

protected

boolean

Flag indicating whether the collection has been initialised.

_jsonBuildConfigurationsNamesMap

protected

readonly

Map<string, string>

Map of expanded build configuration names to their JSON source names.

_names

protected

string[]

Cached array of all build configuration names in the collection.

_namesSet

protected

readonly

Set<string>

Set of all build configuration names for duplicate detection.

engine

readonly

LiquidEngine

The Liquid templating engine for variable substitution.

isEmpty

readonly

boolean

Indicates whether the collection is empty.

jsonBuildConfigurations

readonly

JsonBuildConfigurations

The JSON object containing build configuration definitions.

log

readonly

Logger

The logger instance for output and diagnostics.

names

readonly

string[]

The names of all build configurations.

size

readonly

number

The number of build configurations in the collection.

substitutionsVariables

readonly

LiquidSubstitutionsVariables

The variables available for substitution in configuration definitions.

Methods

Method

Modifiers

Description

_expandTemplateBuildConfigurations({ buildConfigurationName, jsonBuildConfigurationTemplate, }, input)

protected

Expands a template build configuration into multiple configurations.

_processTemplate({ buildConfigurationName, jsonBuildConfigurationTemplate, }, input)

protected

Processes a template build configuration by expanding it and registering the generated configurations.

get(buildConfigurationName)

Retrieves a build configuration by name, creating it if required.

getJson(buildConfigurationName)

Retrieves the JSON build configuration definition.

getJsonName(buildConfigurationName)

Retrieves the JSON configuration name for a build configuration.

has(buildConfigurationName)

Determines whether a build configuration exists in the collection.

hasJson(buildConfigurationName)

Determines whether a JSON definition exists for a build configuration.

initialise()

Completes the async initialisation of the build configurations collection.

isHidden(buildConfigurationName)

Determines whether a build configuration is hidden.


Generated via tsdoc2docusaurus 1.3.2 by API Extractor/Documenter 7.57.2.