Summary
The TypeScript AppHost exposes withPipelineStepFactory on resources, but the builder.pipeline API for adding application-level pipeline steps is not available.
What's available in C# but missing in TypeScript
builder.Pipeline.AddStep (application-level steps)
builder.Pipeline.AddStep("hello-world", async context =>
{
Console.WriteLine("Hello World!");
});
builder.Pipeline.AddStep("custom-deploy-prereq",
async context => { /* ... */ },
requiredBy: [WellKnownPipelineSteps.Deploy]);
WellKnownPipelineSteps constants
WellKnownPipelineSteps.Deploy
WellKnownPipelineSteps.Publish
WellKnownPipelineSteps.Build
WellKnownPipelineSteps.Push
// etc.
builder.Pipeline.Configure (pipeline configuration)
builder.Pipeline.Configure(context =>
{
// Access all steps, reorder, modify dependencies
});
What IS available in TypeScript
Only withPipelineStepFactory on resource builders:
await resource.withPipelineStepFactory(
"stepName",
(context) => { /* ... */ },
dependsOn?,
requiredBy?,
tags?,
description?
);
This covers resource-scoped steps but doesn't allow application-wide pipeline customization like the C# builder.Pipeline API.
Expected TypeScript equivalents
// Application-level pipeline steps
builder.pipeline.addStep("hello-world", async (context) => {
console.log("Hello World!");
});
// Well-known step constants
import { WellKnownPipelineSteps } from './.modules/aspire.js';
builder.pipeline.addStep("custom-deploy-prereq",
async (context) => { /* ... */ },
{ requiredBy: [WellKnownPipelineSteps.Deploy] }
);
// Pipeline configuration
builder.pipeline.configure((context) => {
// Access all steps
});
Context
This was identified while writing deployment docs at https://github.com/microsoft/aspire.dev. The Pipelines page (/deployment/pipelines/) currently only shows C# examples because the builder-level pipeline API is not available in TypeScript.
/cc @sebastienros
Summary
The TypeScript AppHost exposes
withPipelineStepFactoryon resources, but thebuilder.pipelineAPI for adding application-level pipeline steps is not available.What's available in C# but missing in TypeScript
builder.Pipeline.AddStep(application-level steps)WellKnownPipelineStepsconstantsbuilder.Pipeline.Configure(pipeline configuration)What IS available in TypeScript
Only
withPipelineStepFactoryon resource builders:This covers resource-scoped steps but doesn't allow application-wide pipeline customization like the C#
builder.PipelineAPI.Expected TypeScript equivalents
Context
This was identified while writing deployment docs at https://github.com/microsoft/aspire.dev. The Pipelines page (
/deployment/pipelines/) currently only shows C# examples because the builder-level pipeline API is not available in TypeScript./cc @sebastienros