@wpkernel/pipeline 0.12.3-beta.2 → 0.12.5-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,169 @@
1
+ import { createDependencyGraph as b } from "../../dependency-graph.js";
2
+ const H = (e, i) => {
3
+ const c = e.options.createBuildOptions(i), l = e.options.createContext(i);
4
+ e.diagnosticManager.setReporter(l.reporter);
5
+ const p = e.options.createFragmentState({
6
+ options: i,
7
+ context: l,
8
+ buildOptions: c
9
+ }), d = /* @__PURE__ */ new Map();
10
+ for (const [r, o] of e.helperRegistries.entries()) {
11
+ let n;
12
+ r === e.fragmentKind ? n = {
13
+ providedKeys: e.options.fragmentProvidedKeys,
14
+ onMissingDependency: ({ dependant: a, dependencyKey: s }) => {
15
+ const t = a.helper;
16
+ e.diagnosticManager.flagMissingDependency(
17
+ t,
18
+ s,
19
+ r
20
+ ), e.diagnosticManager.flagUnusedHelper(
21
+ t,
22
+ r,
23
+ `could not execute because dependency "${s}" was not found`,
24
+ t.dependsOn
25
+ );
26
+ },
27
+ onUnresolvedHelpers: ({ unresolved: a }) => {
28
+ for (const s of a) {
29
+ const t = s.helper;
30
+ e.diagnosticManager.flagUnusedHelper(
31
+ t,
32
+ r,
33
+ "could not execute because its dependencies never resolved",
34
+ t.dependsOn
35
+ );
36
+ }
37
+ }
38
+ } : r === e.builderKind ? n = {
39
+ providedKeys: e.options.builderProvidedKeys,
40
+ onMissingDependency: ({ dependant: a, dependencyKey: s }) => {
41
+ const t = a.helper;
42
+ e.diagnosticManager.flagMissingDependency(
43
+ t,
44
+ s,
45
+ e.builderKind
46
+ ), e.diagnosticManager.flagUnusedHelper(
47
+ t,
48
+ e.builderKind,
49
+ `could not execute because dependency "${s}" was not found`,
50
+ t.dependsOn
51
+ );
52
+ },
53
+ onUnresolvedHelpers: ({ unresolved: a }) => {
54
+ for (const s of a) {
55
+ const t = s.helper;
56
+ e.diagnosticManager.flagUnusedHelper(
57
+ t,
58
+ e.builderKind,
59
+ "could not execute because its dependencies never resolved",
60
+ t.dependsOn
61
+ );
62
+ }
63
+ }
64
+ } : n = {
65
+ onMissingDependency: ({ dependant: a, dependencyKey: s }) => {
66
+ const t = a.helper;
67
+ e.diagnosticManager.flagMissingDependency(
68
+ t,
69
+ s,
70
+ r
71
+ );
72
+ },
73
+ onUnresolvedHelpers: ({ unresolved: a }) => {
74
+ for (const s of a) {
75
+ const t = s.helper;
76
+ e.diagnosticManager.flagUnusedHelper(
77
+ t,
78
+ r,
79
+ "could not execute because its dependencies never resolved",
80
+ t.dependsOn
81
+ );
82
+ }
83
+ }
84
+ };
85
+ const { order: v } = b(
86
+ o,
87
+ n,
88
+ e.createError
89
+ );
90
+ d.set(r, v);
91
+ }
92
+ const u = d.get(e.fragmentKind) ?? [], g = [], f = (r) => {
93
+ const o = r.helper;
94
+ g.push({
95
+ id: r.id,
96
+ index: g.length,
97
+ key: o.key,
98
+ kind: o.kind,
99
+ mode: o.mode,
100
+ priority: o.priority,
101
+ dependsOn: o.dependsOn,
102
+ origin: o.origin
103
+ });
104
+ }, h = {
105
+ providedKeys: e.options.builderProvidedKeys,
106
+ onMissingDependency: ({ dependant: r, dependencyKey: o }) => {
107
+ const n = r.helper;
108
+ e.diagnosticManager.flagMissingDependency(
109
+ n,
110
+ o,
111
+ e.builderKind
112
+ ), e.diagnosticManager.flagUnusedHelper(
113
+ n,
114
+ e.builderKind,
115
+ `could not execute because dependency "${o}" was not found`,
116
+ n.dependsOn
117
+ );
118
+ },
119
+ onUnresolvedHelpers: ({ unresolved: r }) => {
120
+ for (const o of r) {
121
+ const n = o.helper;
122
+ e.diagnosticManager.flagUnusedHelper(
123
+ n,
124
+ e.builderKind,
125
+ "could not execute because its dependencies never resolved",
126
+ n.dependsOn
127
+ );
128
+ }
129
+ }
130
+ }, M = e.options.createExtensionHookOptions ?? ((r) => ({
131
+ context: r.context,
132
+ options: r.options,
133
+ artifact: r.artifact,
134
+ lifecycle: r.lifecycle
135
+ })), y = (r, o) => M({
136
+ context: l,
137
+ options: i,
138
+ buildOptions: c,
139
+ artifact: r,
140
+ lifecycle: o
141
+ }), x = e.options.onExtensionRollbackError ?? ((r) => {
142
+ const { reporter: o } = r.context, n = o.warn;
143
+ typeof n == "function" && n.call(o, "Pipeline extension rollback failed.", {
144
+ error: r.error,
145
+ errorName: r.errorMetadata.name,
146
+ errorMessage: r.errorMetadata.message,
147
+ errorStack: r.errorMetadata.stack,
148
+ errorCause: r.errorMetadata.cause,
149
+ extensions: r.extensionKeys,
150
+ hookKeys: r.hookSequence
151
+ });
152
+ });
153
+ return {
154
+ runOptions: i,
155
+ buildOptions: c,
156
+ context: l,
157
+ draft: p,
158
+ fragmentOrder: u,
159
+ steps: g,
160
+ pushStep: f,
161
+ helperOrders: d,
162
+ builderGraphOptions: h,
163
+ buildHookOptions: y,
164
+ handleRollbackError: x
165
+ };
166
+ };
167
+ export {
168
+ H as prepareContext
169
+ };
@@ -0,0 +1,6 @@
1
+ import { Helper, HelperKind, PipelineDiagnostic, PipelineReporter, MaybePromise } from '../../types';
2
+ import { PipelineRunContext, PipelineRunnerDependencies } from '../pipeline-runner.types';
3
+ export declare const executeRun: <TRunOptions, TBuildOptions, TContext extends {
4
+ reporter: TReporter;
5
+ }, TReporter extends PipelineReporter, TDraft, TArtifact, TDiagnostic extends PipelineDiagnostic, TRunResult, TFragmentInput, TFragmentOutput, TBuilderInput, TBuilderOutput, TFragmentKind extends HelperKind, TBuilderKind extends HelperKind, TFragmentHelper extends Helper<TContext, TFragmentInput, TFragmentOutput, TReporter, TFragmentKind>, TBuilderHelper extends Helper<TContext, TBuilderInput, TBuilderOutput, TReporter, TBuilderKind>>(dependencies: PipelineRunnerDependencies<TRunOptions, TBuildOptions, TContext, TReporter, TDraft, TArtifact, TDiagnostic, TRunResult, TFragmentInput, TFragmentOutput, TBuilderInput, TBuilderOutput, TFragmentKind, TBuilderKind, TFragmentHelper, TBuilderHelper>, runContext: PipelineRunContext<TRunOptions, TBuildOptions, TContext, TDraft, TArtifact, TFragmentHelper, TBuilderHelper>) => MaybePromise<TRunResult>;
6
+ //# sourceMappingURL=execution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../../src/internal/runner/execution.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACX,MAAM,EACN,UAAU,EACV,kBAAkB,EAElB,gBAAgB,EAChB,YAAY,EACZ,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EACX,kBAAkB,EAClB,0BAA0B,EAG1B,MAAM,0BAA0B,CAAC;AAGlC,eAAO,MAAM,UAAU,GACtB,WAAW,EACX,aAAa,EACb,QAAQ,SAAS;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,EACxC,SAAS,SAAS,gBAAgB,EAClC,MAAM,EACN,SAAS,EACT,WAAW,SAAS,kBAAkB,EACtC,UAAU,EACV,cAAc,EACd,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,SAAS,UAAU,EAChC,YAAY,SAAS,UAAU,EAC/B,eAAe,SAAS,MAAM,CAC7B,QAAQ,EACR,cAAc,EACd,eAAe,EACf,SAAS,EACT,aAAa,CACb,EACD,cAAc,SAAS,MAAM,CAC5B,QAAQ,EACR,aAAa,EACb,cAAc,EACd,SAAS,EACT,YAAY,CACZ,EAED,cAAc,0BAA0B,CACvC,WAAW,EACX,aAAa,EACb,QAAQ,EACR,SAAS,EACT,MAAM,EACN,SAAS,EACT,WAAW,EACX,UAAU,EACV,cAAc,EACd,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,EACZ,eAAe,EACf,cAAc,CACd,EACD,YAAY,kBAAkB,CAC7B,WAAW,EACX,aAAa,EACb,QAAQ,EACR,MAAM,EACN,SAAS,EACT,eAAe,EACf,cAAc,CACd,KACC,YAAY,CAAC,UAAU,CAkEzB,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { maybeThen as n } from "../../async-utils.js";
2
+ import { isHalt as p } from "../pipeline-program-utils.js";
3
+ import { createCoreProgram as a } from "./program.js";
4
+ const m = (e, r) => {
5
+ const t = r.helperOrders.get(e.builderKind) ?? [], o = {
6
+ context: r.context,
7
+ reporter: r.context.reporter,
8
+ runOptions: r.runOptions,
9
+ buildOptions: r.buildOptions,
10
+ fragmentEntries: e.fragmentEntries,
11
+ builderEntries: e.builderEntries,
12
+ fragmentOrder: r.fragmentOrder,
13
+ builderOrder: t,
14
+ fragmentVisited: /* @__PURE__ */ new Set(),
15
+ builderVisited: /* @__PURE__ */ new Set(),
16
+ draft: r.draft,
17
+ artifact: null,
18
+ steps: r.steps,
19
+ diagnostics: [],
20
+ fragmentRollbacks: [],
21
+ builderRollbacks: [],
22
+ helperOrders: r.helperOrders
23
+ }, s = a(e, r), l = (i) => {
24
+ if (p(i))
25
+ throw i.error ?? new Error("Pipeline halted");
26
+ return e.resolveRunResult({
27
+ artifact: i.artifact,
28
+ diagnostics: i.diagnostics,
29
+ steps: i.steps,
30
+ context: i.context,
31
+ buildOptions: i.buildOptions,
32
+ options: i.runOptions,
33
+ helpers: i.helpers
34
+ });
35
+ };
36
+ return n(s(o), l);
37
+ };
38
+ export {
39
+ m as executeRun
40
+ };
@@ -1,18 +1,13 @@
1
- import { Helper, HelperKind, PipelineReporter, PipelineDiagnostic } from '../types';
2
- import { PipelineRunner, PipelineRunnerDependencies } from './pipeline-runner.types';
1
+ import { Helper, HelperKind, PipelineDiagnostic, PipelineReporter } from '../../types';
2
+ import { PipelineRunner, PipelineRunnerDependencies } from '../pipeline-runner.types';
3
3
  /**
4
4
  * Creates the orchestrator responsible for executing pipeline runs.
5
5
  *
6
- * The runner wires together dependency graph resolution, helper execution, and the official
7
- * extension framework via the {@link initExtensionCoordinator}. By extracting this logic, the
8
- * public {@link createPipeline} entry point remains focused on registration while the runner keeps
9
- * lifecycle sequencing isolated and testable.
10
- *
11
- * @param dependencies - Bundled factory methods, diagnostics, and registered helpers
6
+ * @param dependencies
12
7
  * @category Pipeline
13
8
  * @internal
14
9
  */
15
10
  export declare function initPipelineRunner<TRunOptions, TBuildOptions, TContext extends {
16
11
  reporter: TReporter;
17
12
  }, TReporter extends PipelineReporter, TDraft, TArtifact, TDiagnostic extends PipelineDiagnostic, TRunResult, TFragmentInput, TFragmentOutput, TBuilderInput, TBuilderOutput, TFragmentKind extends HelperKind, TBuilderKind extends HelperKind, TFragmentHelper extends Helper<TContext, TFragmentInput, TFragmentOutput, TReporter, TFragmentKind>, TBuilderHelper extends Helper<TContext, TBuilderInput, TBuilderOutput, TReporter, TBuilderKind>>(dependencies: PipelineRunnerDependencies<TRunOptions, TBuildOptions, TContext, TReporter, TDraft, TArtifact, TDiagnostic, TRunResult, TFragmentInput, TFragmentOutput, TBuilderInput, TBuilderOutput, TFragmentKind, TBuilderKind, TFragmentHelper, TBuilderHelper>): PipelineRunner<TRunOptions, TBuildOptions, TContext, TReporter, TDraft, TArtifact, TDiagnostic, TRunResult, TFragmentInput, TFragmentOutput, TBuilderInput, TBuilderOutput, TFragmentKind, TBuilderKind, TFragmentHelper, TBuilderHelper>;
18
- //# sourceMappingURL=pipeline-runner.d.ts.map
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/internal/runner/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,MAAM,EACN,UAAU,EACV,kBAAkB,EAClB,gBAAgB,EAChB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACX,cAAc,EACd,0BAA0B,EAC1B,MAAM,0BAA0B,CAAC;AAIlC;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CACjC,WAAW,EACX,aAAa,EACb,QAAQ,SAAS;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,EACxC,SAAS,SAAS,gBAAgB,EAClC,MAAM,EACN,SAAS,EACT,WAAW,SAAS,kBAAkB,EACtC,UAAU,EACV,cAAc,EACd,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,SAAS,UAAU,EAChC,YAAY,SAAS,UAAU,EAC/B,eAAe,SAAS,MAAM,CAC7B,QAAQ,EACR,cAAc,EACd,eAAe,EACf,SAAS,EACT,aAAa,CACb,EACD,cAAc,SAAS,MAAM,CAC5B,QAAQ,EACR,aAAa,EACb,cAAc,EACd,SAAS,EACT,YAAY,CACZ,EAED,YAAY,EAAE,0BAA0B,CACvC,WAAW,EACX,aAAa,EACb,QAAQ,EACR,SAAS,EACT,MAAM,EACN,SAAS,EACT,WAAW,EACX,UAAU,EACV,cAAc,EACd,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,EACZ,eAAe,EACf,cAAc,CACd,GACC,cAAc,CAChB,WAAW,EACX,aAAa,EACb,QAAQ,EACR,SAAS,EACT,MAAM,EACN,SAAS,EACT,WAAW,EACX,UAAU,EACV,cAAc,EACd,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,EACZ,eAAe,EACf,cAAc,CACd,CAMA"}
@@ -0,0 +1,11 @@
1
+ import { prepareContext as t } from "./context.js";
2
+ import { executeRun as n } from "./execution.js";
3
+ function u(r) {
4
+ return {
5
+ prepareContext: (e) => t(r, e),
6
+ executeRun: (e) => n(r, e)
7
+ };
8
+ }
9
+ export {
10
+ u as initPipelineRunner
11
+ };
@@ -0,0 +1,8 @@
1
+ import { Program } from '../../async-utils';
2
+ import { Helper, HelperKind, PipelineReporter, PipelineDiagnostic } from '../../types';
3
+ import { PipelineRunContext, PipelineRunnerDependencies, PipelineState, Halt, DefaultStageDeps, PipelineStage } from '../pipeline-runner.types';
4
+ export declare function defaultStages<TState, TResult, TContext, TRunOptions, TArtifact, TReporter extends PipelineReporter>(deps: DefaultStageDeps<TState, TResult, TContext, TRunOptions, TArtifact, TReporter>): PipelineStage<TState, Halt<TResult>>[];
5
+ export declare const createCoreProgram: <TRunOptions, TBuildOptions, TContext extends {
6
+ reporter: TReporter;
7
+ }, TReporter extends PipelineReporter, TDraft, TArtifact, TDiagnostic extends PipelineDiagnostic, TRunResult, TFragmentInput, TFragmentOutput, TBuilderInput, TBuilderOutput, TFragmentKind extends HelperKind, TBuilderKind extends HelperKind, TFragmentHelper extends Helper<TContext, TFragmentInput, TFragmentOutput, TReporter, TFragmentKind>, TBuilderHelper extends Helper<TContext, TBuilderInput, TBuilderOutput, TReporter, TBuilderKind>>(dependencies: PipelineRunnerDependencies<TRunOptions, TBuildOptions, TContext, TReporter, TDraft, TArtifact, TDiagnostic, TRunResult, TFragmentInput, TFragmentOutput, TBuilderInput, TBuilderOutput, TFragmentKind, TBuilderKind, TFragmentHelper, TBuilderHelper>, runContext: PipelineRunContext<TRunOptions, TBuildOptions, TContext, TDraft, TArtifact, TFragmentHelper, TBuilderHelper>) => Program<PipelineState<TRunOptions, TBuildOptions, TContext, TReporter, TDraft, TArtifact, TDiagnostic, TFragmentInput, TFragmentOutput, TBuilderInput, TBuilderOutput, TFragmentKind, TBuilderKind, TFragmentHelper, TBuilderHelper> | Halt<TRunResult>>;
8
+ //# sourceMappingURL=program.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../../src/internal/runner/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAkBtE,OAAO,KAAK,EACX,MAAM,EACN,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAOlB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACX,kBAAkB,EAClB,0BAA0B,EAC1B,aAAa,EACb,IAAI,EAIJ,gBAAgB,EAChB,aAAa,EAEb,MAAM,0BAA0B,CAAC;AAIlC,wBAAgB,aAAa,CAC5B,MAAM,EACN,OAAO,EACP,QAAQ,EACR,WAAW,EACX,SAAS,EACT,SAAS,SAAS,gBAAgB,EAElC,IAAI,EAAE,gBAAgB,CACrB,MAAM,EACN,OAAO,EACP,QAAQ,EACR,WAAW,EACX,SAAS,EACT,SAAS,CACT,GACC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAuBxC;AAED,eAAO,MAAM,iBAAiB,GAC7B,WAAW,EACX,aAAa,EACb,QAAQ,SAAS;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,EACxC,SAAS,SAAS,gBAAgB,EAClC,MAAM,EACN,SAAS,EACT,WAAW,SAAS,kBAAkB,EACtC,UAAU,EACV,cAAc,EACd,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,SAAS,UAAU,EAChC,YAAY,SAAS,UAAU,EAC/B,eAAe,SAAS,MAAM,CAC7B,QAAQ,EACR,cAAc,EACd,eAAe,EACf,SAAS,EACT,aAAa,CACb,EACD,cAAc,SAAS,MAAM,CAC5B,QAAQ,EACR,aAAa,EACb,cAAc,EACd,SAAS,EACT,YAAY,CACZ,EAED,cAAc,0BAA0B,CACvC,WAAW,EACX,aAAa,EACb,QAAQ,EACR,SAAS,EACT,MAAM,EACN,SAAS,EACT,WAAW,EACX,UAAU,EACV,cAAc,EACd,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,EACZ,eAAe,EACf,cAAc,CACd,EACD,YAAY,kBAAkB,CAC7B,WAAW,EACX,aAAa,EACb,QAAQ,EACR,MAAM,EACN,SAAS,EACT,eAAe,EACf,cAAc,CACd,KACC,OAAO,CACP,aAAa,CACb,WAAW,EACX,aAAa,EACb,QAAQ,EACR,SAAS,EACT,MAAM,EACN,SAAS,EACT,WAAW,EACX,cAAc,EACd,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,EACZ,eAAe,EACf,cAAc,CACb,GACD,IAAI,CAAC,UAAU,CAAC,CAwkBlB,CAAC"}
@@ -0,0 +1,294 @@
1
+ import { composeK as G, maybeThen as $ } from "../../async-utils.js";
2
+ import { buildExecutionSnapshot as s, assertAllHelpersExecuted as S } from "../helper-execution.js";
3
+ import { initExtensionCoordinator as j } from "../extension-coordinator.js";
4
+ import { makeAfterFragmentsStage as q, makeFinalizeResultStage as I, makeCommitStage as J, makeFinalizeFragmentsStage as Q, makeHelperStageFactory as W, isHalt as c, runRollbackToHalt as X } from "../pipeline-program-utils.js";
5
+ const Y = "after-fragments";
6
+ function Z(o) {
7
+ const {
8
+ fragmentStage: l,
9
+ finalizeFragments: g,
10
+ builderStage: u,
11
+ commitStage: f,
12
+ finalizeResult: h,
13
+ makeLifecycleStage: x,
14
+ extensions: b
15
+ } = o, p = (b?.lifecycles ?? []).map(
16
+ x
17
+ );
18
+ return [
19
+ l,
20
+ g,
21
+ ...p,
22
+ u,
23
+ f,
24
+ h
25
+ ];
26
+ }
27
+ const ar = (o, l) => {
28
+ const g = (r) => ({
29
+ __halt: !0,
30
+ error: r
31
+ }), u = (r, t, n) => {
32
+ o.diagnosticManager.reviewUnusedHelpers(
33
+ r.fragmentEntries,
34
+ t,
35
+ o.fragmentKind
36
+ );
37
+ const e = s(
38
+ r.fragmentEntries,
39
+ t,
40
+ o.fragmentKind
41
+ );
42
+ return S(
43
+ r.fragmentEntries,
44
+ e,
45
+ o.fragmentKind,
46
+ o.diagnosticManager.describeHelper,
47
+ o.createError
48
+ ), {
49
+ ...r,
50
+ fragmentVisited: t,
51
+ fragmentExecution: e,
52
+ fragmentRollbacks: n
53
+ };
54
+ }, f = (r, t, n) => {
55
+ o.diagnosticManager.reviewUnusedHelpers(
56
+ r.builderEntries,
57
+ t,
58
+ o.builderKind
59
+ );
60
+ const e = s(
61
+ r.builderEntries,
62
+ t,
63
+ o.builderKind
64
+ );
65
+ return S(
66
+ r.builderEntries,
67
+ e,
68
+ o.builderKind,
69
+ o.diagnosticManager.describeHelper,
70
+ o.createError
71
+ ), {
72
+ ...r,
73
+ builderVisited: t,
74
+ builderExecution: e,
75
+ builderRollbacks: n
76
+ };
77
+ }, h = (r, t) => o.options.createFragmentArgs({
78
+ helper: t.helper,
79
+ options: r.runOptions,
80
+ context: r.context,
81
+ buildOptions: r.buildOptions,
82
+ draft: r.draft
83
+ }), x = (r, t) => o.options.createBuilderArgs({
84
+ helper: t.helper,
85
+ options: r.runOptions,
86
+ context: r.context,
87
+ buildOptions: r.buildOptions,
88
+ artifact: r.artifact
89
+ }), b = (r) => (t) => h(r, t), p = (r) => (t) => x(r, t), H = (r) => r.fragmentRollbacks, F = (r) => r.builderRollbacks ?? [], k = (r) => ({
90
+ context: r.context,
91
+ extensionCoordinator: r.extensionCoordinator,
92
+ extensionState: r.extensionState
93
+ }), y = (r) => r.fragmentExecution ?? s(
94
+ r.fragmentEntries,
95
+ r.fragmentVisited,
96
+ o.fragmentKind
97
+ ), z = (r) => {
98
+ const { extensionCoordinator: t, extensionState: n } = r;
99
+ if (!(!t || !n))
100
+ return t.commit(n);
101
+ }, M = (r) => ({
102
+ context: r.context,
103
+ rollbackContext: k(r),
104
+ helperRollbacks: r.builderRollbacks ?? [],
105
+ onHelperRollbackError: o.options.onHelperRollbackError
106
+ }), w = (r, t) => X(
107
+ {
108
+ rollbackPlan: M(r),
109
+ halt: g
110
+ },
111
+ t
112
+ ), P = (r) => (t) => {
113
+ const n = j(
114
+ ({ error: a, extensionKeys: i, hookSequence: m, errorMetadata: E }) => l.handleRollbackError({
115
+ error: a,
116
+ extensionKeys: i,
117
+ hookSequence: m,
118
+ errorMetadata: E,
119
+ context: t.context
120
+ })
121
+ ), e = n.runLifecycle(
122
+ r,
123
+ {
124
+ hooks: o.extensionHooks,
125
+ hookOptions: l.buildHookOptions(
126
+ t.artifact,
127
+ r
128
+ )
129
+ }
130
+ );
131
+ return $(
132
+ e,
133
+ (a) => ({
134
+ ...t,
135
+ artifact: a.artifact,
136
+ extensionCoordinator: n,
137
+ extensionState: a
138
+ })
139
+ );
140
+ }, d = (r) => r.helpers ?? {
141
+ fragments: r.fragmentExecution ?? s(
142
+ r.fragmentEntries,
143
+ r.fragmentVisited,
144
+ o.fragmentKind
145
+ ),
146
+ builders: r.builderExecution ?? s(
147
+ r.builderEntries,
148
+ r.builderVisited,
149
+ o.builderKind
150
+ )
151
+ }, B = (r) => ({
152
+ ...r,
153
+ helpers: d(r),
154
+ diagnostics: [
155
+ ...o.diagnosticManager.readDiagnostics()
156
+ ]
157
+ }), C = Q({
158
+ isHalt: c,
159
+ snapshotFragments: y,
160
+ applyArtifact: (r, t) => ({
161
+ ...r,
162
+ artifact: o.options.finalizeFragmentState({
163
+ draft: r.draft,
164
+ options: r.runOptions,
165
+ context: r.context,
166
+ buildOptions: r.buildOptions,
167
+ helpers: {
168
+ fragments: t
169
+ }
170
+ }),
171
+ fragmentExecution: t
172
+ })
173
+ }), L = (r) => q({
174
+ isHalt: c,
175
+ execute: P(r)
176
+ }), T = J({
177
+ isHalt: c,
178
+ commit: z,
179
+ rollbackToHalt: w
180
+ }), V = I({
181
+ isHalt: c,
182
+ finalize: B
183
+ }), v = {
184
+ getOrder: (r) => r.fragmentOrder,
185
+ makeArgs: b,
186
+ onVisited: (r, t, n) => u(r, t, n),
187
+ readRollbacks: H
188
+ }, U = {
189
+ getOrder: (r) => r.builderOrder,
190
+ makeArgs: p,
191
+ onVisited: (r, t, n) => f(r, t, n),
192
+ readRollbacks: F
193
+ }, R = W({
194
+ pushStep: l.pushStep,
195
+ toRollbackContext: k,
196
+ halt: g,
197
+ isHalt: c,
198
+ onHelperRollbackError: o.options.onHelperRollbackError
199
+ }), _ = R(v), N = R(U), O = {
200
+ runnerEnv: {
201
+ pushStep: l.pushStep,
202
+ toRollbackContext: k,
203
+ halt: g,
204
+ isHalt: c,
205
+ onHelperRollbackError: o.options.onHelperRollbackError
206
+ },
207
+ fragmentStage: _,
208
+ builderStage: N,
209
+ finalizeFragments: C,
210
+ commitStage: T,
211
+ finalizeResult: V,
212
+ makeLifecycleStage: L,
213
+ extensions: {
214
+ lifecycles: o.extensionHooks.length > 0 ? o.extensionLifecycles ?? [Y] : []
215
+ },
216
+ makeHelperStage: (r, t) => R(
217
+ {
218
+ getOrder: (e) => e.helperOrders?.get(r) ?? [],
219
+ makeArgs: (e) => {
220
+ if (t?.makeArgs)
221
+ return t.makeArgs(e);
222
+ if (r === o.fragmentKind)
223
+ return b(e);
224
+ if (r === o.builderKind)
225
+ return p(e);
226
+ throw new Error(`No args factory for kind "${r}"`);
227
+ },
228
+ onVisited: (e, a, i) => {
229
+ if (t?.onVisited)
230
+ return t.onVisited(
231
+ e,
232
+ a,
233
+ i
234
+ );
235
+ if (r === o.fragmentKind)
236
+ return u(
237
+ e,
238
+ a,
239
+ i
240
+ );
241
+ if (r === o.builderKind)
242
+ return f(
243
+ e,
244
+ a,
245
+ i
246
+ );
247
+ const m = e.helperOrders?.get(r) ?? [];
248
+ o.diagnosticManager.reviewUnusedHelpers(
249
+ m,
250
+ a,
251
+ r
252
+ );
253
+ const E = s(
254
+ m,
255
+ a,
256
+ r
257
+ );
258
+ S(
259
+ m,
260
+ E,
261
+ r,
262
+ o.diagnosticManager.describeHelper,
263
+ o.createError
264
+ );
265
+ const A = new Map(
266
+ e.helperExecution ?? []
267
+ );
268
+ A.set(r, E);
269
+ const K = new Map(
270
+ e.helperRollbacks ?? []
271
+ );
272
+ return K.set(
273
+ r,
274
+ i
275
+ ), {
276
+ ...e,
277
+ helperExecution: A,
278
+ helperRollbacks: K
279
+ };
280
+ },
281
+ readRollbacks: (e) => r === o.fragmentKind ? H(
282
+ e
283
+ ) : r === o.builderKind ? F(
284
+ e
285
+ ) : e.helperRollbacks?.get(r)
286
+ }
287
+ )
288
+ }, D = o.stages ? o.stages(O) : Z(O);
289
+ return G(...[...D].reverse());
290
+ };
291
+ export {
292
+ ar as createCoreProgram,
293
+ Z as defaultStages
294
+ };
@@ -0,0 +1,20 @@
1
+ import { CreatePipelineOptions, Helper, HelperKind, Pipeline, PipelineDiagnostic, PipelineReporter, PipelineRunState } from './types';
2
+ import { DefaultStageDeps, PipelineStage, PipelineState, Halt } from './internal/pipeline-runner.types';
3
+ export { DefaultStageDeps, PipelineStage, } from "./internal/pipeline-runner.types";
4
+ export { defaultStages } from './internal/runner/program';
5
+ export type MakePipelineArgs<TRunOptions, TReporter extends PipelineReporter = PipelineReporter, TContext extends {
6
+ reporter: TReporter;
7
+ } = {
8
+ reporter: TReporter;
9
+ }, TArtifact = unknown, TDiagnostic extends PipelineDiagnostic = PipelineDiagnostic, TRunResult = PipelineRunState<TArtifact, TDiagnostic>, TBuildOptions = unknown, TDraft = unknown, TFragmentInput = unknown, TFragmentOutput = unknown, TBuilderInput = unknown, TBuilderOutput = unknown, TFragmentKind extends HelperKind = 'fragment', TBuilderKind extends HelperKind = 'builder', TFragmentHelper extends Helper<TContext, TFragmentInput, TFragmentOutput, TReporter, TFragmentKind> = Helper<TContext, TFragmentInput, TFragmentOutput, TReporter, TFragmentKind>, TBuilderHelper extends Helper<TContext, TBuilderInput, TBuilderOutput, TReporter, TBuilderKind> = Helper<TContext, TBuilderInput, TBuilderOutput, TReporter, TBuilderKind>> = CreatePipelineOptions<TRunOptions, TBuildOptions, TContext, TReporter, TDraft, TArtifact, TDiagnostic, TRunResult, TFragmentInput, TFragmentOutput, TBuilderInput, TBuilderOutput, TFragmentKind, TBuilderKind, TFragmentHelper, TBuilderHelper> & {
10
+ extensions?: {
11
+ lifecycles?: string[];
12
+ };
13
+ stages?: (deps: DefaultStageDeps<PipelineState<TRunOptions, TBuildOptions, TContext, TReporter, TDraft, TArtifact, TDiagnostic, TFragmentInput, TFragmentOutput, TBuilderInput, TBuilderOutput, TFragmentKind, TBuilderKind, TFragmentHelper, TBuilderHelper>, TRunResult, TContext, TRunOptions, TArtifact, TReporter>) => PipelineStage<PipelineState<TRunOptions, TBuildOptions, TContext, TReporter, TDraft, TArtifact, TDiagnostic, TFragmentInput, TFragmentOutput, TBuilderInput, TBuilderOutput, TFragmentKind, TBuilderKind, TFragmentHelper, TBuilderHelper>, Halt<TRunResult>>[];
14
+ };
15
+ export declare function makePipeline<TRunOptions, TReporter extends PipelineReporter = PipelineReporter, TContext extends {
16
+ reporter: TReporter;
17
+ } = {
18
+ reporter: TReporter;
19
+ }, TArtifact = unknown, TDiagnostic extends PipelineDiagnostic = PipelineDiagnostic, TRunResult = PipelineRunState<TArtifact, TDiagnostic>, TBuildOptions = unknown, TDraft = unknown, TFragmentInput = unknown, TFragmentOutput = unknown, TBuilderInput = unknown, TBuilderOutput = unknown, TFragmentKind extends HelperKind = 'fragment', TBuilderKind extends HelperKind = 'builder', TFragmentHelper extends Helper<TContext, TFragmentInput, TFragmentOutput, TReporter, TFragmentKind> = Helper<TContext, TFragmentInput, TFragmentOutput, TReporter, TFragmentKind>, TBuilderHelper extends Helper<TContext, TBuilderInput, TBuilderOutput, TReporter, TBuilderKind> = Helper<TContext, TBuilderInput, TBuilderOutput, TReporter, TBuilderKind>>(options: MakePipelineArgs<TRunOptions, TReporter, TContext, TArtifact, TDiagnostic, TRunResult, TBuildOptions, TDraft, TFragmentInput, TFragmentOutput, TBuilderInput, TBuilderOutput, TFragmentKind, TBuilderKind, TFragmentHelper, TBuilderHelper>): Pipeline<TRunOptions, TRunResult, TContext, TReporter, TBuildOptions, TArtifact, TFragmentInput, TFragmentOutput, TBuilderInput, TBuilderOutput, TDiagnostic, TFragmentKind, TBuilderKind, TFragmentHelper, TBuilderHelper>;
20
+ //# sourceMappingURL=makePipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"makePipeline.d.ts","sourceRoot":"","sources":["../src/makePipeline.ts"],"names":[],"mappings":"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"}