Skip to main content

XpmBuildConfigurations class

A collection of xpm build configurations.

Signature

export declare class XpmBuildConfigurations

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)({ log, engine, substitutionsVariables, jsonBuildConfigurations, })

Constructs a build configurations collection.

Properties

Property

Modifiers

Type

Description

_buildComfigurationsNamesSet

protected

readonly

Set<string>

Set of all build configuration names for duplicate detection.

_buildConfigurationsMap

protected

readonly

Map<string, XpmBuildConfiguration | undefined>

Map of build configuration names to their corresponding instances.

_buildConfigurationsNames

protected

string[]

Cached array of all build configuration names in the collection.

_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.

engine

readonly

XpmLiquidEngine

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

XpmLiquidSubstitutionsVariables

The variables available for substitution in configuration definitions.

Methods

Method

Modifiers

Description

_createSubstitutedBuildConfiguration({ buildConfigurationName, jsonBuildConfiguration, combination, newBuildConfigurationsMap, })

protected

Creates a substituted build configuration from a template combination.

_expandTemplateBuildConfigurations({ buildConfigurationName, jsonBuildConfigurationTemplate, })

protected

Expands a template build configuration into multiple configurations.

_processTemplate({ buildConfigurationName, jsonBuildConfigurationTemplate, })

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.0-pre by API Extractor/Documenter 7.55.2.