@wpkernel/pipeline 0.12.5-beta.0 → 0.12.6-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.
- package/README.md +69 -8
- package/dist/{async-utils.d.ts → core/async-utils.d.ts} +9 -0
- package/dist/core/async-utils.d.ts.map +1 -0
- package/dist/core/async-utils.js +46 -0
- package/dist/core/createExtension.d.ts.map +1 -0
- package/dist/core/dependency-graph.d.ts.map +1 -0
- package/dist/core/error-factory.d.ts.map +1 -0
- package/dist/{executor.d.ts → core/execution-utils.d.ts} +1 -1
- package/dist/core/execution-utils.d.ts.map +1 -0
- package/dist/core/executor.d.ts +2 -0
- package/dist/core/executor.d.ts.map +1 -0
- package/dist/core/extensions/index.d.ts +4 -0
- package/dist/core/extensions/index.d.ts.map +1 -0
- package/dist/core/extensions/official.d.ts.map +1 -0
- package/dist/{extensions.d.ts → core/extensions/runner.d.ts} +2 -5
- package/dist/core/extensions/runner.d.ts.map +1 -0
- package/dist/core/extensions/runner.js +73 -0
- package/dist/core/helper.d.ts.map +1 -0
- package/dist/core/index.d.ts +11 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +36 -0
- package/dist/{internal → core/internal}/extension-coordinator.d.ts +3 -3
- package/dist/core/internal/extension-coordinator.d.ts.map +1 -0
- package/dist/{internal → core/internal}/extension-coordinator.js +7 -6
- package/dist/{internal → core/internal}/extension-coordinator.types.d.ts +14 -14
- package/dist/core/internal/extension-coordinator.types.d.ts.map +1 -0
- package/dist/core/makePipeline.d.ts +5 -0
- package/dist/core/makePipeline.d.ts.map +1 -0
- package/dist/core/makePipeline.js +147 -0
- package/dist/core/registration.d.ts.map +1 -0
- package/dist/core/registration.js +59 -0
- package/dist/core/rollback.d.ts.map +1 -0
- package/dist/core/runner/context.d.ts +13 -0
- package/dist/core/runner/context.d.ts.map +1 -0
- package/dist/core/runner/context.js +86 -0
- package/dist/core/runner/diagnostics.d.ts +48 -0
- package/dist/core/runner/diagnostics.d.ts.map +1 -0
- package/dist/core/runner/diagnostics.js +82 -0
- package/dist/core/runner/execution.d.ts +6 -0
- package/dist/core/runner/execution.d.ts.map +1 -0
- package/dist/core/runner/execution.js +66 -0
- package/dist/core/runner/index.d.ts +14 -0
- package/dist/core/runner/index.d.ts.map +1 -0
- package/dist/core/runner/index.js +9 -0
- package/dist/core/runner/program.d.ts +7 -0
- package/dist/core/runner/program.d.ts.map +1 -0
- package/dist/core/runner/program.js +146 -0
- package/dist/core/runner/rollback.d.ts +48 -0
- package/dist/core/runner/rollback.d.ts.map +1 -0
- package/dist/core/runner/rollback.js +75 -0
- package/dist/core/runner/stage-factories.d.ts +69 -0
- package/dist/core/runner/stage-factories.d.ts.map +1 -0
- package/dist/core/runner/stage-factories.js +121 -0
- package/dist/core/runner/types.d.ts +202 -0
- package/dist/core/runner/types.d.ts.map +1 -0
- package/dist/{types.d.ts → core/types.d.ts} +62 -97
- package/dist/core/types.d.ts.map +1 -0
- package/dist/extensions/index.js +6 -2
- package/dist/index.d.ts +21 -18
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -17
- package/dist/standard-pipeline/createPipeline.d.ts +6 -0
- package/dist/standard-pipeline/createPipeline.d.ts.map +1 -0
- package/dist/standard-pipeline/createPipeline.js +7 -0
- package/dist/standard-pipeline/runner/index.d.ts +21 -0
- package/dist/standard-pipeline/runner/index.d.ts.map +1 -0
- package/dist/standard-pipeline/runner/index.js +244 -0
- package/dist/standard-pipeline/types.d.ts +150 -0
- package/dist/standard-pipeline/types.d.ts.map +1 -0
- package/package.json +16 -1
- package/dist/async-utils.d.ts.map +0 -1
- package/dist/async-utils.js +0 -40
- package/dist/createExtension.d.ts.map +0 -1
- package/dist/createPipeline.d.ts +0 -45
- package/dist/createPipeline.d.ts.map +0 -1
- package/dist/createPipeline.js +0 -9
- package/dist/dependency-graph.d.ts.map +0 -1
- package/dist/error-factory.d.ts.map +0 -1
- package/dist/executor.d.ts.map +0 -1
- package/dist/extensions/index.d.ts +0 -3
- package/dist/extensions/index.d.ts.map +0 -1
- package/dist/extensions/official.d.ts.map +0 -1
- package/dist/extensions.d.ts.map +0 -1
- package/dist/extensions.js +0 -88
- package/dist/helper.d.ts.map +0 -1
- package/dist/internal/diagnostic-manager.d.ts +0 -29
- package/dist/internal/diagnostic-manager.d.ts.map +0 -1
- package/dist/internal/diagnostic-manager.js +0 -90
- package/dist/internal/diagnostic-manager.types.d.ts +0 -70
- package/dist/internal/diagnostic-manager.types.d.ts.map +0 -1
- package/dist/internal/extension-coordinator.d.ts.map +0 -1
- package/dist/internal/extension-coordinator.types.d.ts.map +0 -1
- package/dist/internal/helper-execution.d.ts +0 -32
- package/dist/internal/helper-execution.d.ts.map +0 -1
- package/dist/internal/helper-execution.js +0 -33
- package/dist/internal/pipeline-program-utils.d.ts +0 -127
- package/dist/internal/pipeline-program-utils.d.ts.map +0 -1
- package/dist/internal/pipeline-program-utils.js +0 -161
- package/dist/internal/pipeline-runner.types.d.ts +0 -195
- package/dist/internal/pipeline-runner.types.d.ts.map +0 -1
- package/dist/internal/runner/context.d.ts +0 -6
- package/dist/internal/runner/context.d.ts.map +0 -1
- package/dist/internal/runner/context.js +0 -169
- package/dist/internal/runner/execution.d.ts +0 -6
- package/dist/internal/runner/execution.d.ts.map +0 -1
- package/dist/internal/runner/execution.js +0 -40
- package/dist/internal/runner/index.d.ts +0 -13
- package/dist/internal/runner/index.d.ts.map +0 -1
- package/dist/internal/runner/index.js +0 -11
- package/dist/internal/runner/program.d.ts +0 -8
- package/dist/internal/runner/program.d.ts.map +0 -1
- package/dist/internal/runner/program.js +0 -294
- package/dist/makePipeline.d.ts +0 -20
- package/dist/makePipeline.d.ts.map +0 -1
- package/dist/makePipeline.js +0 -139
- package/dist/registration.d.ts.map +0 -1
- package/dist/registration.js +0 -59
- package/dist/rollback.d.ts.map +0 -1
- package/dist/types.d.ts.map +0 -1
- /package/dist/{createExtension.d.ts → core/createExtension.d.ts} +0 -0
- /package/dist/{createExtension.js → core/createExtension.js} +0 -0
- /package/dist/{dependency-graph.d.ts → core/dependency-graph.d.ts} +0 -0
- /package/dist/{dependency-graph.js → core/dependency-graph.js} +0 -0
- /package/dist/{error-factory.d.ts → core/error-factory.d.ts} +0 -0
- /package/dist/{error-factory.js → core/error-factory.js} +0 -0
- /package/dist/{executor.js → core/execution-utils.js} +0 -0
- /package/dist/{extensions → core/extensions}/official.d.ts +0 -0
- /package/dist/{extensions → core/extensions}/official.js +0 -0
- /package/dist/{helper.d.ts → core/helper.d.ts} +0 -0
- /package/dist/{helper.js → core/helper.js} +0 -0
- /package/dist/{registration.d.ts → core/registration.d.ts} +0 -0
- /package/dist/{rollback.d.ts → core/rollback.d.ts} +0 -0
- /package/dist/{rollback.js → core/rollback.js} +0 -0
package/README.md
CHANGED
|
@@ -15,10 +15,21 @@ While it powers WPKernel's code generation (assembling fragments into artifacts)
|
|
|
15
15
|
It guarantees:
|
|
16
16
|
|
|
17
17
|
- **Deterministic Ordering**: Topologically sorts helpers based on `dependsOn`.
|
|
18
|
-
- **Cycle Detection**: Fails fast if dependencies form a loop.
|
|
19
|
-
- **
|
|
18
|
+
- **Cycle Detection**: Fails fast (halts execution) if dependencies form a loop.
|
|
19
|
+
- **Robust Rollbacks**: Extensions and helpers provide best-effort rollback hooks run LIFO, attempting all cleanup steps and reporting any rollback failures.
|
|
20
20
|
- **Type Safety**: Full TypeScript support for custom contexts, options, and artifacts.
|
|
21
21
|
|
|
22
|
+
### Architecture Note
|
|
23
|
+
|
|
24
|
+
The package exports a single entry point `@wpkernel/pipeline` which provides the "Standard Pipeline" (Fragments & Builders). This is the recommended API for most consumers.
|
|
25
|
+
|
|
26
|
+
Under the hood, the package is split into:
|
|
27
|
+
|
|
28
|
+
1. **Standard Pipeline (`src/standard-pipeline`)**: The opinionated implementation used by WPKernel.
|
|
29
|
+
2. **Core Runner (`src/core/runner`)**: A purely agnostic DAG execution engine.
|
|
30
|
+
|
|
31
|
+
Subpath imports (e.g., `@wpkernel/pipeline/core`) are available if you need to build a completely custom pipeline architecture using the runner primitives directly.
|
|
32
|
+
|
|
22
33
|
## Installation
|
|
23
34
|
|
|
24
35
|
```bash
|
|
@@ -27,25 +38,44 @@ pnpm add @wpkernel/pipeline
|
|
|
27
38
|
|
|
28
39
|
The package ships pure TypeScript and has no runtime dependencies.
|
|
29
40
|
|
|
30
|
-
|
|
41
|
+
### Usage
|
|
42
|
+
|
|
43
|
+
#### Standard Pipeline (Recommended)
|
|
44
|
+
|
|
45
|
+
Use `createPipeline` for the standard Fragment → Builder workflow used by WPKernel.
|
|
46
|
+
|
|
47
|
+
```ts
|
|
48
|
+
import { createPipeline } from '@wpkernel/pipeline';
|
|
49
|
+
|
|
50
|
+
const pipeline = createPipeline({
|
|
51
|
+
// Configuration
|
|
52
|
+
createContext: (ops) => ({ db: ops.db }),
|
|
53
|
+
createBuildOptions: () => ({}),
|
|
54
|
+
createFragmentState: () => ({}),
|
|
55
|
+
|
|
56
|
+
// Argument resolvers
|
|
57
|
+
createFragmentArgs: ({ context }) => ({ db: context.db }),
|
|
58
|
+
createBuilderArgs: ({ artifact }) => ({ artifact }),
|
|
59
|
+
});
|
|
60
|
+
```
|
|
31
61
|
|
|
32
|
-
|
|
62
|
+
#### Custom Pipeline (Advanced)
|
|
33
63
|
|
|
34
|
-
|
|
64
|
+
For completely custom architectures (ETL, migrations, etc.), use `makePipeline` to define your own stages.
|
|
35
65
|
|
|
36
66
|
```ts
|
|
37
67
|
import { makePipeline } from '@wpkernel/pipeline';
|
|
38
68
|
|
|
39
69
|
const pipeline = makePipeline({
|
|
40
70
|
// Define the "Stages" of your pipeline
|
|
41
|
-
|
|
71
|
+
helperKinds: ['extract', 'transform', 'load'] as const,
|
|
72
|
+
createStages: (deps) => [
|
|
42
73
|
deps.makeLifecycleStage('extract'),
|
|
43
74
|
deps.makeLifecycleStage('transform'),
|
|
44
75
|
deps.makeLifecycleStage('load'),
|
|
45
76
|
deps.commitStage,
|
|
46
77
|
deps.finalizeResult,
|
|
47
78
|
],
|
|
48
|
-
// Define how to create your context and state
|
|
49
79
|
createContext: (ops) => ({ db: ops.db }),
|
|
50
80
|
// ... logic for resolving args for your helpers ...
|
|
51
81
|
});
|
|
@@ -96,7 +126,38 @@ Pipeline creates a dependency graph for _each_ kind of helper. If `Helper B` dep
|
|
|
96
126
|
|
|
97
127
|
### Extensions & Lifecycles
|
|
98
128
|
|
|
99
|
-
Extensions wrap
|
|
129
|
+
Extensions wrap execution with hooks at specific lifecycle stages.
|
|
130
|
+
|
|
131
|
+
**Standard Pipeline Lifecycles**:
|
|
132
|
+
`prepare` → `before-fragments` → `after-fragments` → `before-builders` → `after-builders` → `finalize`
|
|
133
|
+
|
|
134
|
+
> **Note**: Custom pipelines (using `makePipeline`) can define arbitrary lifecycle stages. Extensions can hook into any stage, standard or custom, as long as it exists in the pipeline's execution plan.
|
|
135
|
+
|
|
136
|
+
**Validation**: The pipeline validates extension registrations. If an extension attempts to hook into an unscheduled lifecycle, the pipeline will log a warning instead of silently ignoring it.
|
|
137
|
+
|
|
138
|
+
**Extension Registration (Sync & Async)**: `extensions.use()` returns `MaybePromise<unknown>`. It returns a Promise only if the extension's `register` method is asynchronous.
|
|
139
|
+
|
|
140
|
+
```ts
|
|
141
|
+
// Sync registration (e.g. simple helper bundles)
|
|
142
|
+
extensions.use(mySyncExtension);
|
|
143
|
+
|
|
144
|
+
// Async registration (e.g. database connections)
|
|
145
|
+
await extensions.use(myAsyncExtension);
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
> **Recommendation**: We recommend `await`ing registration when possible for consistency, but you may omit it if you are certain the extension initializes synchronously. `pipeline.run()` will automatically wait for any pending async registrations.
|
|
149
|
+
|
|
150
|
+
### Rollbacks
|
|
151
|
+
|
|
152
|
+
The pipeline supports robust rollback for both helper application and extension lifecycle commit phases:
|
|
153
|
+
|
|
154
|
+
- **Extensions**: Can provide transactional overhead via the `commit` phase. If extensive failure occurs, `rollback` hooks are triggered.
|
|
155
|
+
- **Helpers**: Can return a `rollback` function in their result. These are executed LIFO if a later failure occurs.
|
|
156
|
+
- **Robustness**: The rollback stack continues execution even if individual rollback actions fail (errors are collected and reported).
|
|
157
|
+
|
|
158
|
+
### Re-run Semantics
|
|
159
|
+
|
|
160
|
+
Diagnostics are per-run. Calling `pipeline.run()` automatically clears any previous runtime diagnostics to ensure a fresh state. Static diagnostics (e.g., registration conflicts) are preserved and re-emitted for each run.
|
|
100
161
|
|
|
101
162
|
## Documentation
|
|
102
163
|
|
|
@@ -62,4 +62,13 @@ export type Program<S> = (state: S) => MaybePromise<S>;
|
|
|
62
62
|
* @internal
|
|
63
63
|
*/
|
|
64
64
|
export declare const composeK: <S>(...fns: Program<S>[]) => Program<S>;
|
|
65
|
+
/**
|
|
66
|
+
* Sync-friendly Probise.all equivalent.
|
|
67
|
+
*
|
|
68
|
+
* @param values
|
|
69
|
+
* @returns
|
|
70
|
+
*
|
|
71
|
+
* @internal
|
|
72
|
+
*/
|
|
73
|
+
export declare function maybeAll<T>(values: readonly MaybePromise<T>[]): MaybePromise<T[]>;
|
|
65
74
|
//# sourceMappingURL=async-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-utils.d.ts","sourceRoot":"","sources":["../../src/core/async-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAAC,OAAO,CAAC,CAS3E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,EACnC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACtB,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,YAAY,CAAC,OAAO,CAAC,GAC9C,YAAY,CAAC,OAAO,CAAC,CAUvB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EACzB,GAAG,EAAE,MAAM,YAAY,CAAC,CAAC,CAAC,EAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,GAC1C,YAAY,CAAC,CAAC,CAAC,CAYjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EACpC,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,EACvD,SAAS,GAAE,SAAS,GAAG,SAAqB,GAC1C,YAAY,CAAC,IAAI,CAAC,CAgCpB;AAED;;;;GAIG;AAEH,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC;AACvD;;;;;;GAMG;AAEH,eAAO,MAAM,QAAQ,GACnB,CAAC,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,KAAG,OAAO,CAAC,CAAC,CAKjC,CAAC;AAEL;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,CAKjF"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
function f(t) {
|
|
2
|
+
return (typeof t != "object" || t === null) && typeof t != "function" ? !1 : typeof t.then == "function";
|
|
3
|
+
}
|
|
4
|
+
function m(t, e) {
|
|
5
|
+
if (typeof e != "function")
|
|
6
|
+
throw new TypeError("maybeThen: onFulfilled is not a function");
|
|
7
|
+
return f(t) ? Promise.resolve(t).then(e) : e(t);
|
|
8
|
+
}
|
|
9
|
+
function l(t, e) {
|
|
10
|
+
try {
|
|
11
|
+
const r = t();
|
|
12
|
+
return f(r) ? Promise.resolve(r).catch((n) => e(n)) : r;
|
|
13
|
+
} catch (r) {
|
|
14
|
+
return e(r);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function p(t, e, r = "forward") {
|
|
18
|
+
const n = t.length;
|
|
19
|
+
if (n === 0)
|
|
20
|
+
return;
|
|
21
|
+
const h = (o) => r === "forward" ? o < n : o >= 0, s = (o) => r === "forward" ? o + 1 : o - 1, i = (o) => {
|
|
22
|
+
for (let c = o; h(c); c = s(c)) {
|
|
23
|
+
const a = t[c], u = e(a, c);
|
|
24
|
+
if (f(u))
|
|
25
|
+
return Promise.resolve(u).then(
|
|
26
|
+
() => i(s(c))
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
}, y = r === "forward" ? 0 : n - 1;
|
|
30
|
+
return i(y);
|
|
31
|
+
}
|
|
32
|
+
const w = (...t) => (e) => t.reduceRight(
|
|
33
|
+
(r, n) => m(r, n),
|
|
34
|
+
e
|
|
35
|
+
);
|
|
36
|
+
function b(t) {
|
|
37
|
+
return t.some(f) ? Promise.all(t) : t;
|
|
38
|
+
}
|
|
39
|
+
export {
|
|
40
|
+
w as composeK,
|
|
41
|
+
f as isPromiseLike,
|
|
42
|
+
b as maybeAll,
|
|
43
|
+
m as maybeThen,
|
|
44
|
+
l as maybeTry,
|
|
45
|
+
p as processSequentially
|
|
46
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createExtension.d.ts","sourceRoot":"","sources":["../../src/core/createExtension.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,EACrB,iCAAiC,EACjC,0BAA0B,EAC1B,MAAM,YAAY,CAAC;AAEpB,UAAU,kCAAkC;IAC3C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,mCAAmC,CACnD,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,CACR,SAAQ,kCAAkC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,CAClB,QAAQ,EAAE,SAAS,KACf,YAAY,CACd,IAAI,GACJ,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,GACpD,iCAAiC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAClE,CAAC;CACF;AAED,UAAU,gCAAgC,CACzC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,CACR,SAAQ,kCAAkC;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7D,QAAQ,CAAC,IAAI,CAAC,EACX,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,GACpD,iCAAiC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACpE,QAAQ,CAAC,SAAS,CAAC,EAAE,0BAA0B,CAAC;CAChD;AAED,MAAM,MAAM,8BAA8B,CACzC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,IAEP,mCAAmC,CACnC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,CACR,GACD,gCAAgC,CAChC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,CACR,CAAC;AAEL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoJG;AACH,wBAAgB,uBAAuB,CACtC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,EAET,OAAO,EAAE,8BAA8B,CACtC,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,CACT,GACC,iBAAiB,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAoD7D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependency-graph.d.ts","sourceRoot":"","sources":["../../src/core/dependency-graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE5D;;;;GAIG;AACH,MAAM,WAAW,gBAAgB,CAAC,OAAO;IACxC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACvB;AAaD;;;;GAIG;AACH,MAAM,WAAW,sBAAsB,CAAC,OAAO;IAC9C,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC9C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,4BAA4B,CAAC,OAAO;IACpD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAC9B,KAAK,EAAE,sBAAsB,CAAC,OAAO,CAAC,KAClC,IAAI,CAAC;IACV,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE;QACxC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;KACjD,KAAK,IAAI,CAAC;IACX;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAC7B,MAAM,EAAE;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EACzC,KAAK,EAAE,MAAM,GACX,MAAM,CAER;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,OAAO,SAAS,gBAAgB,EAC9D,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAC5B,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAC1B,MAAM,CAUR;AAoPD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,SAAS,gBAAgB,EACrE,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,EACpC,OAAO,EAAE,4BAA4B,CAAC,OAAO,CAAC,GAAG,SAAS,EAC1D,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,KAAK,GACnD;IACF,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;IACnC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;CACpC,CAgBA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-factory.d.ts","sourceRoot":"","sources":["../../src/core/error-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,KAAK,CAAC;AAEpE;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,KAAK,CAIvE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,KAAK,GAC9C,YAAY,CAEd"}
|
|
@@ -21,4 +21,4 @@ import { RegisteredHelper } from './dependency-graph';
|
|
|
21
21
|
* @internal
|
|
22
22
|
*/
|
|
23
23
|
export declare function executeHelpers<TContext, TInput, TOutput, TReporter extends PipelineReporter, TKind extends HelperKind, THelper extends Helper<TContext, TInput, TOutput, TReporter, TKind>, TArgs extends HelperApplyOptions<TContext, TInput, TOutput, TReporter>>(ordered: RegisteredHelper<THelper>[], makeArgs: (entry: RegisteredHelper<THelper>) => TArgs, invoke: (helper: THelper, args: TArgs, next: () => MaybePromise<void>) => MaybePromise<void>, recordStep: (entry: RegisteredHelper<THelper>) => void): MaybePromise<Set<string>>;
|
|
24
|
-
//# sourceMappingURL=
|
|
24
|
+
//# sourceMappingURL=execution-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-utils.d.ts","sourceRoot":"","sources":["../../src/core/execution-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,MAAM,EACN,kBAAkB,EAClB,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG3D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc,CAC7B,QAAQ,EACR,MAAM,EACN,OAAO,EACP,SAAS,SAAS,gBAAgB,EAClC,KAAK,SAAS,UAAU,EACxB,OAAO,SAAS,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,EACnE,KAAK,SAAS,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,EAEtE,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,EACpC,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,KAAK,KAAK,EACrD,MAAM,EAAE,CACP,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC,KAC1B,YAAY,CAAC,IAAI,CAAC,EACvB,UAAU,EAAE,CAAC,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,KAAK,IAAI,GACpD,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CA0E3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/core/executor.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAC3D,YAAY,EACX,0BAA0B,EAC1B,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,GACzB,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"official.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/official.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD;;;;GAIG;AACH,MAAM,WAAW,yBAAyB,CAAC,QAAQ,GAAG,OAAO;IAC5D;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,gBAAgB,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,yBAAyB,CAAC;IAC7C,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACnD,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IAChD,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED;;;;GAIG;AACH,MAAM,MAAM,2BAA2B,GAAG,CACzC,OAAO,CAAC,EAAE,OAAO,KACb,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAE3D;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,6BAA6B,EAAE,SAAS,kBAAkB,EA+GtE,CAAC;AAEF,YAAY,EAAE,kBAAkB,IAAI,0BAA0B,EAAE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MaybePromise, PipelineExtensionHook, PipelineExtensionHookOptions, PipelineExtensionHookResult,
|
|
1
|
+
import { MaybePromise, PipelineExtensionHook, PipelineExtensionHookOptions, PipelineExtensionHookResult, PipelineExtensionLifecycle } from '../types';
|
|
2
2
|
/**
|
|
3
3
|
* An extension hook entry with its unique key.
|
|
4
4
|
*
|
|
@@ -39,7 +39,6 @@ export interface RollbackErrorArgs {
|
|
|
39
39
|
*
|
|
40
40
|
* @internal
|
|
41
41
|
*/
|
|
42
|
-
export declare function createRollbackErrorMetadata(error: unknown): PipelineExtensionRollbackErrorMetadata;
|
|
43
42
|
/**
|
|
44
43
|
* Runs extension hooks sequentially and accumulates their results.
|
|
45
44
|
*
|
|
@@ -82,6 +81,4 @@ export declare function commitExtensionResults<TContext, TOptions, TArtifact>(re
|
|
|
82
81
|
* @internal
|
|
83
82
|
*/
|
|
84
83
|
export declare function rollbackExtensionResults<TContext, TOptions, TArtifact>(results: readonly ExtensionHookExecution<TContext, TOptions, TArtifact>[], hooks: readonly ExtensionHookEntry<TContext, TOptions, TArtifact>[], onRollbackError: (args: RollbackErrorArgs) => void): MaybePromise<void>;
|
|
85
|
-
|
|
86
|
-
export { OfficialExtensionBlueprint, ExtensionBlueprint, ExtensionBehaviour, ExtensionFactorySignature, } from "./extensions/official.js";
|
|
87
|
-
//# sourceMappingURL=extensions.d.ts.map
|
|
84
|
+
//# sourceMappingURL=runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/core/extensions/runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,YAAY,EACZ,qBAAqB,EACrB,4BAA4B,EAC5B,2BAA2B,EAC3B,0BAA0B,EAC1B,MAAM,UAAU,CAAC;AASlB;;;;GAIG;AACH,MAAM,WAAW,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS;IAChE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,0BAA0B,CAAC;IAC/C,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;CACpE;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS;IACpE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACjE,QAAQ,CAAC,MAAM,EAAE,2BAA2B,CAAC,SAAS,CAAC,CAAC;CACxD;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED;;;;;;;;;;GAUG;AAGH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAC9D,KAAK,EAAE,SAAS,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,EACnE,SAAS,EAAE,0BAA0B,EACrC,OAAO,EAAE,4BAA4B,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EACpE,eAAe,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,GAChD,YAAY,CAAC;IACf,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,CAAC;CACjE,CAAC,CA8DD;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EACnE,OAAO,EAAE,SAAS,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,GACvE,YAAY,CAAC,IAAI,CAAC,CAcpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EACrE,OAAO,EAAE,SAAS,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,EACzE,KAAK,EAAE,SAAS,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,EACnE,eAAe,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,GAChD,YAAY,CAAC,IAAI,CAAC,CA0BpB"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { maybeTry as p, maybeThen as a, processSequentially as f, isPromiseLike as k } from "../async-utils.js";
|
|
2
|
+
import { runRollbackStack as b } from "../rollback.js";
|
|
3
|
+
function E(u, s, t, r) {
|
|
4
|
+
let n = t.artifact;
|
|
5
|
+
const i = [], o = u.filter(
|
|
6
|
+
(e) => e.lifecycle === s
|
|
7
|
+
), m = {
|
|
8
|
+
context: t.context,
|
|
9
|
+
options: t.options,
|
|
10
|
+
lifecycle: s
|
|
11
|
+
}, h = p(
|
|
12
|
+
() => f(o, (e) => {
|
|
13
|
+
const c = e.hook({
|
|
14
|
+
...m,
|
|
15
|
+
artifact: n
|
|
16
|
+
});
|
|
17
|
+
if (k(c))
|
|
18
|
+
return Promise.resolve(c).then((l) => {
|
|
19
|
+
l && (l.artifact !== void 0 && (n = l.artifact), i.push({
|
|
20
|
+
hook: e,
|
|
21
|
+
result: l
|
|
22
|
+
}));
|
|
23
|
+
});
|
|
24
|
+
if (c)
|
|
25
|
+
return c.artifact !== void 0 && (n = c.artifact), void i.push({
|
|
26
|
+
hook: e,
|
|
27
|
+
result: c
|
|
28
|
+
});
|
|
29
|
+
}),
|
|
30
|
+
(e) => a(
|
|
31
|
+
d(i, o, r),
|
|
32
|
+
() => {
|
|
33
|
+
throw e;
|
|
34
|
+
}
|
|
35
|
+
)
|
|
36
|
+
);
|
|
37
|
+
return a(h, () => ({ artifact: n, results: i }));
|
|
38
|
+
}
|
|
39
|
+
function R(u) {
|
|
40
|
+
return f(u, (s) => {
|
|
41
|
+
const t = s.result.commit;
|
|
42
|
+
if (!t)
|
|
43
|
+
return;
|
|
44
|
+
const r = t();
|
|
45
|
+
if (k(r))
|
|
46
|
+
return r.then(() => {
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
function d(u, s, t) {
|
|
51
|
+
const r = s.map((o) => o.key), n = r, i = u.map((o) => ({
|
|
52
|
+
result: o.result,
|
|
53
|
+
hook: o.hook
|
|
54
|
+
})).filter((o) => o.result.rollback).map((o) => ({
|
|
55
|
+
key: o.hook.key,
|
|
56
|
+
run: o.result.rollback
|
|
57
|
+
}));
|
|
58
|
+
return b(i, {
|
|
59
|
+
source: "extension",
|
|
60
|
+
onError: ({ error: o }) => {
|
|
61
|
+
t({
|
|
62
|
+
error: o,
|
|
63
|
+
extensionKeys: r,
|
|
64
|
+
hookSequence: n
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
export {
|
|
70
|
+
R as commitExtensionResults,
|
|
71
|
+
d as rollbackExtensionResults,
|
|
72
|
+
E as runExtensionHooks
|
|
73
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../../src/core/helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,mBAAmB,EACnB,MAAM,EACN,UAAU,EAEV,gBAAgB,EAChB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6IG;AACH,wBAAgB,YAAY,CAC3B,QAAQ,EACR,MAAM,EACN,OAAO,EACP,SAAS,SAAS,gBAAgB,GAAG,gBAAgB,EACrD,KAAK,SAAS,UAAU,GAAG,UAAU,EAErC,OAAO,EAAE,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,GACvE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CA8BrD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from './async-utils.js';
|
|
2
|
+
export * from './createExtension.js';
|
|
3
|
+
export * from './dependency-graph.js';
|
|
4
|
+
export * from './error-factory.js';
|
|
5
|
+
export * from './executor.js';
|
|
6
|
+
export * from './extensions/index.js';
|
|
7
|
+
export * from './helper.js';
|
|
8
|
+
export * from './registration.js';
|
|
9
|
+
export * from './rollback.js';
|
|
10
|
+
export * from './types.js';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { composeK as o, isPromiseLike as t, maybeAll as a, maybeThen as l, maybeTry as p, processSequentially as s } from "./async-utils.js";
|
|
2
|
+
import { createPipelineExtension as c } from "./createExtension.js";
|
|
3
|
+
import { compareHelpers as m, createDependencyGraph as x, createHelperId as E } from "./dependency-graph.js";
|
|
4
|
+
import { createDefaultError as k, createErrorFactory as u } from "./error-factory.js";
|
|
5
|
+
import { createHelper as b } from "./helper.js";
|
|
6
|
+
import { handleExtensionRegisterResult as H, registerExtensionHook as I, registerHelper as d } from "./registration.js";
|
|
7
|
+
import { createPipelineRollback as S, createRollbackErrorMetadata as T, runRollbackStack as g } from "./rollback.js";
|
|
8
|
+
import { executeHelpers as F } from "./execution-utils.js";
|
|
9
|
+
import { OFFICIAL_EXTENSION_BLUEPRINTS as N } from "./extensions/official.js";
|
|
10
|
+
import { commitExtensionResults as D, rollbackExtensionResults as O, runExtensionHooks as _ } from "./extensions/runner.js";
|
|
11
|
+
export {
|
|
12
|
+
N as OFFICIAL_EXTENSION_BLUEPRINTS,
|
|
13
|
+
D as commitExtensionResults,
|
|
14
|
+
m as compareHelpers,
|
|
15
|
+
o as composeK,
|
|
16
|
+
k as createDefaultError,
|
|
17
|
+
x as createDependencyGraph,
|
|
18
|
+
u as createErrorFactory,
|
|
19
|
+
b as createHelper,
|
|
20
|
+
E as createHelperId,
|
|
21
|
+
c as createPipelineExtension,
|
|
22
|
+
S as createPipelineRollback,
|
|
23
|
+
T as createRollbackErrorMetadata,
|
|
24
|
+
F as executeHelpers,
|
|
25
|
+
H as handleExtensionRegisterResult,
|
|
26
|
+
t as isPromiseLike,
|
|
27
|
+
a as maybeAll,
|
|
28
|
+
l as maybeThen,
|
|
29
|
+
p as maybeTry,
|
|
30
|
+
s as processSequentially,
|
|
31
|
+
I as registerExtensionHook,
|
|
32
|
+
d as registerHelper,
|
|
33
|
+
O as rollbackExtensionResults,
|
|
34
|
+
_ as runExtensionHooks,
|
|
35
|
+
g as runRollbackStack
|
|
36
|
+
};
|
|
@@ -16,6 +16,6 @@ import { ExtensionCoordinator, ExtensionRollbackEvent } from './extension-coordi
|
|
|
16
16
|
* @category Pipeline
|
|
17
17
|
* @internal
|
|
18
18
|
*/
|
|
19
|
-
export declare function initExtensionCoordinator<TContext, TOptions,
|
|
20
|
-
export { ExtensionLifecycleState, ExtensionHookEntry, } from
|
|
21
|
-
//# sourceMappingURL=extension-coordinator.d.ts.map
|
|
19
|
+
export declare function initExtensionCoordinator<TContext, TOptions, TUserState>(onRollbackError: (event: ExtensionRollbackEvent<TContext, TOptions, TUserState>) => void): ExtensionCoordinator<TContext, TOptions, TUserState>;
|
|
20
|
+
export type { ExtensionLifecycleState, ExtensionHookEntry, } from './extension-coordinator.types';
|
|
21
|
+
//# sourceMappingURL=extension-coordinator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extension-coordinator.d.ts","sourceRoot":"","sources":["../../../src/core/internal/extension-coordinator.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACX,oBAAoB,EAEpB,sBAAsB,EACtB,MAAM,+BAA+B,CAAC;AAGvC;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EACtE,eAAe,EAAE,CAChB,KAAK,EAAE,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,KACzD,IAAI,GACP,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CA+EtD;AAED,YAAY,EACX,uBAAuB,EACvB,kBAAkB,GAClB,MAAM,+BAA+B,CAAC"}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createRollbackErrorMetadata as s } from "../rollback.js";
|
|
2
2
|
import { maybeThen as i } from "../async-utils.js";
|
|
3
|
+
import { commitExtensionResults as u, rollbackExtensionResults as f, runExtensionHooks as d } from "../extensions/runner.js";
|
|
3
4
|
function R(n) {
|
|
4
5
|
return {
|
|
5
6
|
runLifecycle: (t, { hooks: o, hookOptions: r }) => {
|
|
6
7
|
const c = o.filter(
|
|
7
8
|
(e) => e.lifecycle === t
|
|
8
|
-
), a =
|
|
9
|
+
), a = d(
|
|
9
10
|
o,
|
|
10
11
|
t,
|
|
11
12
|
r,
|
|
12
|
-
({ error: e, extensionKeys: l, hookSequence:
|
|
13
|
+
({ error: e, extensionKeys: l, hookSequence: m }) => n({
|
|
13
14
|
error: e,
|
|
14
15
|
extensionKeys: l,
|
|
15
|
-
hookSequence:
|
|
16
|
+
hookSequence: m,
|
|
16
17
|
errorMetadata: s(e),
|
|
17
18
|
hookOptions: r
|
|
18
19
|
})
|
|
@@ -27,7 +28,7 @@ function R(n) {
|
|
|
27
28
|
);
|
|
28
29
|
},
|
|
29
30
|
createRollbackHandler: (t) => (o) => i(
|
|
30
|
-
|
|
31
|
+
f(
|
|
31
32
|
t.results,
|
|
32
33
|
t.hooks,
|
|
33
34
|
({ error: r, extensionKeys: c, hookSequence: a }) => n({
|
|
@@ -42,7 +43,7 @@ function R(n) {
|
|
|
42
43
|
throw o;
|
|
43
44
|
}
|
|
44
45
|
),
|
|
45
|
-
commit: (t) =>
|
|
46
|
+
commit: (t) => u(t.results),
|
|
46
47
|
handleRollbackError: n
|
|
47
48
|
};
|
|
48
49
|
}
|
|
@@ -6,10 +6,10 @@ import { ExtensionHookEntry, ExtensionHookExecution, RollbackErrorArgs } from '.
|
|
|
6
6
|
* @category Pipeline
|
|
7
7
|
* @internal
|
|
8
8
|
*/
|
|
9
|
-
export interface ExtensionLifecycleState<TContext, TOptions,
|
|
10
|
-
readonly artifact:
|
|
11
|
-
readonly results: ExtensionHookExecution<TContext, TOptions,
|
|
12
|
-
readonly hooks: readonly ExtensionHookEntry<TContext, TOptions,
|
|
9
|
+
export interface ExtensionLifecycleState<TContext, TOptions, TUserState> {
|
|
10
|
+
readonly artifact: TUserState;
|
|
11
|
+
readonly results: ExtensionHookExecution<TContext, TOptions, TUserState>[];
|
|
12
|
+
readonly hooks: readonly ExtensionHookEntry<TContext, TOptions, TUserState>[];
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
15
|
* Handles extension execution, rollback, and commit using the primitives exposed by the
|
|
@@ -25,18 +25,18 @@ export interface ExtensionLifecycleState<TContext, TOptions, TArtifact> {
|
|
|
25
25
|
* @category Pipeline
|
|
26
26
|
* @internal
|
|
27
27
|
*/
|
|
28
|
-
export interface ExtensionRollbackEvent<TContext, TOptions,
|
|
28
|
+
export interface ExtensionRollbackEvent<TContext, TOptions, TUserState> extends RollbackErrorArgs {
|
|
29
29
|
readonly errorMetadata: PipelineExtensionRollbackErrorMetadata;
|
|
30
|
-
readonly hookOptions?: PipelineExtensionHookOptions<TContext, TOptions,
|
|
30
|
+
readonly hookOptions?: PipelineExtensionHookOptions<TContext, TOptions, TUserState>;
|
|
31
31
|
}
|
|
32
|
-
export interface ExtensionCoordinator<TContext, TOptions,
|
|
33
|
-
readonly runLifecycle: (lifecycle: ExtensionHookEntry<TContext, TOptions,
|
|
34
|
-
readonly hooks: readonly ExtensionHookEntry<TContext, TOptions,
|
|
35
|
-
readonly hookOptions: PipelineExtensionHookOptions<TContext, TOptions,
|
|
36
|
-
}) => MaybePromise<ExtensionLifecycleState<TContext, TOptions,
|
|
37
|
-
readonly createRollbackHandler: <TResult>(state: ExtensionLifecycleState<TContext, TOptions,
|
|
38
|
-
readonly commit: (state: ExtensionLifecycleState<TContext, TOptions,
|
|
39
|
-
readonly handleRollbackError: (args: ExtensionRollbackEvent<TContext, TOptions,
|
|
32
|
+
export interface ExtensionCoordinator<TContext, TOptions, TUserState> {
|
|
33
|
+
readonly runLifecycle: (lifecycle: ExtensionHookEntry<TContext, TOptions, TUserState>['lifecycle'], options: {
|
|
34
|
+
readonly hooks: readonly ExtensionHookEntry<TContext, TOptions, TUserState>[];
|
|
35
|
+
readonly hookOptions: PipelineExtensionHookOptions<TContext, TOptions, TUserState>;
|
|
36
|
+
}) => MaybePromise<ExtensionLifecycleState<TContext, TOptions, TUserState>>;
|
|
37
|
+
readonly createRollbackHandler: <TResult>(state: ExtensionLifecycleState<TContext, TOptions, TUserState>) => (error: unknown) => MaybePromise<TResult>;
|
|
38
|
+
readonly commit: (state: ExtensionLifecycleState<TContext, TOptions, TUserState>) => MaybePromise<void>;
|
|
39
|
+
readonly handleRollbackError: (args: ExtensionRollbackEvent<TContext, TOptions, TUserState>) => void;
|
|
40
40
|
}
|
|
41
41
|
export type { ExtensionHookEntry, ExtensionHookExecution, RollbackErrorArgs };
|
|
42
42
|
//# sourceMappingURL=extension-coordinator.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extension-coordinator.types.d.ts","sourceRoot":"","sources":["../../../src/core/internal/extension-coordinator.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,YAAY,EACZ,4BAA4B,EAC5B,sCAAsC,EACtC,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EACX,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,MAAM,eAAe,CAAC;AAEvB;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU;IACtE,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC;IAC3E,QAAQ,CAAC,KAAK,EAAE,SAAS,kBAAkB,CAC1C,QAAQ,EACR,QAAQ,EACR,UAAU,CACV,EAAE,CAAC;CACJ;AAED;;;;;;;GAOG;AACH;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CACrE,SAAQ,iBAAiB;IACzB,QAAQ,CAAC,aAAa,EAAE,sCAAsC,CAAC;IAC/D,QAAQ,CAAC,WAAW,CAAC,EAAE,4BAA4B,CAClD,QAAQ,EACR,QAAQ,EACR,UAAU,CACV,CAAC;CACF;AAED,MAAM,WAAW,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU;IACnE,QAAQ,CAAC,YAAY,EAAE,CACtB,SAAS,EAAE,kBAAkB,CAC5B,QAAQ,EACR,QAAQ,EACR,UAAU,CACV,CAAC,WAAW,CAAC,EACd,OAAO,EAAE;QACR,QAAQ,CAAC,KAAK,EAAE,SAAS,kBAAkB,CAC1C,QAAQ,EACR,QAAQ,EACR,UAAU,CACV,EAAE,CAAC;QACJ,QAAQ,CAAC,WAAW,EAAE,4BAA4B,CACjD,QAAQ,EACR,QAAQ,EACR,UAAU,CACV,CAAC;KACF,KACG,YAAY,CAAC,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAC3E,QAAQ,CAAC,qBAAqB,EAAE,CAAC,OAAO,EACvC,KAAK,EAAE,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,KAC1D,CAAC,KAAK,EAAE,OAAO,KAAK,YAAY,CAAC,OAAO,CAAC,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,CAChB,KAAK,EAAE,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,KAC1D,YAAY,CAAC,IAAI,CAAC,CAAC;IACxB,QAAQ,CAAC,mBAAmB,EAAE,CAC7B,IAAI,EAAE,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,KACxD,IAAI,CAAC;CACV;AAED,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { PipelineDiagnostic, PipelineReporter, PipelineRunState, AgnosticPipeline, AgnosticPipelineOptions } from './types';
|
|
2
|
+
export declare function makePipeline<TRunOptions, TContext extends {
|
|
3
|
+
reporter: TReporter;
|
|
4
|
+
}, TReporter extends PipelineReporter = PipelineReporter, TUserState = unknown, TDiagnostic extends PipelineDiagnostic = PipelineDiagnostic, TRunResult = PipelineRunState<TUserState, TDiagnostic>>(options: AgnosticPipelineOptions<TRunOptions, TContext, TReporter, TUserState, TDiagnostic, TRunResult>): AgnosticPipeline<TRunOptions, TRunResult, TContext, TReporter>;
|
|
5
|
+
//# sourceMappingURL=makePipeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"makePipeline.d.ts","sourceRoot":"","sources":["../../src/core/makePipeline.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAKX,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAEhB,gBAAgB,EAChB,uBAAuB,EACvB,MAAM,SAAS,CAAC;AAWjB,wBAAgB,YAAY,CAC3B,WAAW,EACX,QAAQ,SAAS;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,EACxC,SAAS,SAAS,gBAAgB,GAAG,gBAAgB,EACrD,UAAU,GAAG,OAAO,EACpB,WAAW,SAAS,kBAAkB,GAAG,kBAAkB,EAC3D,UAAU,GAAG,gBAAgB,CAAC,UAAU,EAAE,WAAW,CAAC,EAEtD,OAAO,EAAE,uBAAuB,CAC/B,WAAW,EACX,QAAQ,EACR,SAAS,EACT,UAAU,EACV,WAAW,EACX,UAAU,CACV,GACC,gBAAgB,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,CA4VhE"}
|