@wpkernel/pipeline v0.12.1-beta.3
@wpkernel/pipeline / createPipeline
Function: createPipeline()
function createPipeline<TRunOptions, TBuildOptions, TContext, TReporter, TDraft, TArtifact, TDiagnostic, TRunResult, TFragmentInput, TFragmentOutput, TBuilderInput, TBuilderOutput, TFragmentKind, TBuilderKind, TFragmentHelper, TBuilderHelper>(options): Pipeline<TRunOptions, TRunResult, TContext, TReporter, TBuildOptions, TArtifact, TFragmentInput, TFragmentOutput, TBuilderInput, TBuilderOutput, TDiagnostic, TFragmentKind, TBuilderKind, TFragmentHelper, TBuilderHelper>;Creates a pipeline orchestrator-the execution engine that powers WPKernel's code generation stack.
The pipeline coordinates helper registration, dependency resolution, execution, diagnostics, and extension hooks. Refer to the package README for a full walkthrough and advanced usage examples.
Type Parameters
TRunOptions
TRunOptions
TBuildOptions
TBuildOptions
TContext
TContext extends object
TReporter
TReporter extends PipelineReporter = PipelineReporter
TDraft
TDraft = unknown
TArtifact
TArtifact = unknown
TDiagnostic
TDiagnostic extends PipelineDiagnostic = PipelineDiagnostic
TRunResult
TRunResult = PipelineRunState<TArtifact, TDiagnostic>
TFragmentInput
TFragmentInput = unknown
TFragmentOutput
TFragmentOutput = unknown
TBuilderInput
TBuilderInput = unknown
TBuilderOutput
TBuilderOutput = unknown
TFragmentKind
TFragmentKind extends HelperKind = "fragment"
TBuilderKind
TBuilderKind extends HelperKind = "builder"
TFragmentHelper
TFragmentHelper extends Helper<TContext, TFragmentInput, TFragmentOutput, TReporter, TFragmentKind> = Helper<TContext, TFragmentInput, TFragmentOutput, TReporter, TFragmentKind>
TBuilderHelper
TBuilderHelper extends Helper<TContext, TBuilderInput, TBuilderOutput, TReporter, TBuilderKind> = Helper<TContext, TBuilderInput, TBuilderOutput, TReporter, TBuilderKind>
Parameters
options
CreatePipelineOptions<TRunOptions, TBuildOptions, TContext, TReporter, TDraft, TArtifact, TDiagnostic, TRunResult, TFragmentInput, TFragmentOutput, TBuilderInput, TBuilderOutput, TFragmentKind, TBuilderKind, TFragmentHelper, TBuilderHelper>
Returns
Pipeline<TRunOptions, TRunResult, TContext, TReporter, TBuildOptions, TArtifact, TFragmentInput, TFragmentOutput, TBuilderInput, TBuilderOutput, TDiagnostic, TFragmentKind, TBuilderKind, TFragmentHelper, TBuilderHelper>
Example
const pipeline = createPipeline({
fragmentKind: 'fragment',
builderKind: 'builder',
createContext: () => ({ reporter }),
createFragmentState: () => ({}),
finalizeFragmentState: ({ draft }) => draft,
createRunResult: ({ artifact, diagnostics }) => ({ artifact, diagnostics }),
createBuildOptions: () => ({}),
createFragmentArgs: ({ helper, draft, context }) => ({
helper,
context,
options: {},
buildOptions: {},
draft,
}),
createBuilderArgs: ({ helper, artifact, context }) => ({
helper,
context,
options: {},
buildOptions: {},
artifact,
}),
});
pipeline.ir.use(createHelper({...}));
pipeline.extensions.use(createPipelineExtension({ key: 'acme.audit' }));
const result = await pipeline.run({});
console.log(result.diagnostics.length);