v1.5.0
Minor Changes
-
b6d0966: Add child pipeline visualization and fluent API support
New Features:
- Added
childPipeline()method to define child pipelines via callback API - Added
writeYamlFiles()method to automatically write parent and all child pipeline YAML files - Child pipelines are now fully visualized in Mermaid diagrams, ASCII trees, and stage tables
- Child pipelines defined via callback are tracked and don't require filesystem access for visualization
API Changes:
- Added
ChildPipelineConfiginterface to track child pipeline configurations - Extended
PipelineStatewithchildPipelinesmap and getter methods - Added public getters to
ConfigBuilder:jobs,templates,stages,jobOptionsMap - Extended
VisualizationParamswithtrackedChildPipelinesparameter - Enhanced
extractChildPipelinesto prioritize tracked configs over file system parsing
Visualization Enhancements:
generateMermaidDiagramshows child pipelines as subgraphs with dotted trigger edgesgenerateAsciiTreedisplays child pipelines with 🔀 indicatorgenerateStageTableincludes child pipeline jobs with separator rows and proper indentation- Added
TriggerInfointerface to track trigger configurations inExtendsGraphNode - Extended
buildExtendsGraphto extract trigger information from job definitions
Example:
config.childPipeline( "trigger:deploy", (child) => { child.stages("deploy") child.job("deploy:prod", { script: ["./deploy.sh"] }) return child }, { strategy: "depend", outputPath: "ci/deploy-pipeline.yml", }, ) await config.writeYamlFiles(".") // Writes: .gitlab-ci.yml + ci/deploy-pipeline.yml
- Added