@bluelibs/runner 4.2.2 → 4.4.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/AI.md +33 -4
- package/LICENSE.md +1 -1
- package/README.md +158 -206
- package/dist/errors.d.ts +15 -0
- package/dist/errors.js +23 -1
- package/dist/errors.js.map +1 -1
- package/dist/globals/resources/debug/executionTracker.middleware.js +18 -29
- package/dist/globals/resources/debug/executionTracker.middleware.js.map +1 -1
- package/dist/globals/resources/debug/globalEvent.hook.js +2 -2
- package/dist/globals/resources/debug/globalEvent.hook.js.map +1 -1
- package/dist/globals/resources/debug/hook.hook.js +3 -3
- package/dist/globals/resources/debug/hook.hook.js.map +1 -1
- package/dist/globals/resources/debug/middleware.hook.js +1 -1
- package/dist/globals/resources/debug/middleware.hook.js.map +1 -1
- package/dist/models/DependencyProcessor.d.ts +1 -1
- package/dist/models/DependencyProcessor.js +9 -6
- package/dist/models/DependencyProcessor.js.map +1 -1
- package/dist/models/EventManager.d.ts +6 -0
- package/dist/models/EventManager.js +124 -46
- package/dist/models/EventManager.js.map +1 -1
- package/dist/models/LogPrinter.js +45 -35
- package/dist/models/LogPrinter.js.map +1 -1
- package/dist/models/Logger.d.ts +1 -1
- package/dist/models/Logger.js +12 -4
- package/dist/models/Logger.js.map +1 -1
- package/dist/models/MiddlewareManager.js +17 -45
- package/dist/models/MiddlewareManager.js.map +1 -1
- package/dist/models/Store.d.ts +1 -0
- package/dist/models/Store.js +7 -0
- package/dist/models/Store.js.map +1 -1
- package/dist/models/StoreRegistry.d.ts +6 -1
- package/dist/models/StoreRegistry.js +48 -0
- package/dist/models/StoreRegistry.js.map +1 -1
- package/dist/models/TaskRunner.js +14 -1
- package/dist/models/TaskRunner.js.map +1 -1
- package/dist/models/UnhandledError.js +3 -1
- package/dist/models/UnhandledError.js.map +1 -1
- package/dist/processHooks.js.map +1 -1
- package/dist/run.js +12 -7
- package/dist/run.js.map +1 -1
- package/dist/types/runner.d.ts +11 -0
- package/package.json +6 -2
|
@@ -27,7 +27,20 @@ class TaskRunner {
|
|
|
27
27
|
runner = this.createRunnerWithMiddleware(task);
|
|
28
28
|
this.runnerStore.set(task.id, runner);
|
|
29
29
|
}
|
|
30
|
-
|
|
30
|
+
try {
|
|
31
|
+
return await runner(input);
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
try {
|
|
35
|
+
await this.store.onUnhandledError({
|
|
36
|
+
error,
|
|
37
|
+
kind: "task",
|
|
38
|
+
source: task.id,
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
catch (_) { }
|
|
42
|
+
throw error;
|
|
43
|
+
}
|
|
31
44
|
}
|
|
32
45
|
/**
|
|
33
46
|
* Creates the function with the chain of middleware.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskRunner.js","sourceRoot":"","sources":["../../src/models/TaskRunner.ts"],"names":[],"mappings":";;;AAQA,MAAa,UAAU;IAOA;IACA;IACA;IARF,WAAW,GAAG,IAAI,GAAG,EAGrC,CAAC;IAEJ,YACqB,KAAY,EACZ,YAA0B,EAC1B,MAAc;QAFd,UAAK,GAAL,KAAK,CAAO;QACZ,iBAAY,GAAZ,YAAY,CAAc;QAC1B,WAAM,GAAN,MAAM,CAAQ;QAEjC,iEAAiE;QACjE,2EAA2E;QAC3E,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;IAC7D,CAAC;IAEgB,iBAAiB,CAAoB;IAEtD;;;;;OAKG;IACI,KAAK,CAAC,GAAG,CAKd,IAAmC,EACnC,KAAc;QAEd,IAAI,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,IAAI,CAAC,0BAA0B,CAAyB,IAAI,CAAC,CAAC;YAEvE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"TaskRunner.js","sourceRoot":"","sources":["../../src/models/TaskRunner.ts"],"names":[],"mappings":";;;AAQA,MAAa,UAAU;IAOA;IACA;IACA;IARF,WAAW,GAAG,IAAI,GAAG,EAGrC,CAAC;IAEJ,YACqB,KAAY,EACZ,YAA0B,EAC1B,MAAc;QAFd,UAAK,GAAL,KAAK,CAAO;QACZ,iBAAY,GAAZ,YAAY,CAAc;QAC1B,WAAM,GAAN,MAAM,CAAQ;QAEjC,iEAAiE;QACjE,2EAA2E;QAC3E,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;IAC7D,CAAC;IAEgB,iBAAiB,CAAoB;IAEtD;;;;;OAKG;IACI,KAAK,CAAC,GAAG,CAKd,IAAmC,EACnC,KAAc;QAEd,IAAI,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,IAAI,CAAC,0BAA0B,CAAyB,IAAI,CAAC,CAAC;YAEvE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,CAAC;YACH,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;oBAChC,KAAK;oBACL,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,IAAI,CAAC,EAAE;iBAChB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;YACd,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACO,0BAA0B,CAIlC,IAAmC;QACnC,OAAO,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;CACF;AAnED,gCAmEC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UnhandledError.js","sourceRoot":"","sources":["../../src/models/UnhandledError.ts"],"names":[],"mappings":";;AAoBA,
|
|
1
|
+
{"version":3,"file":"UnhandledError.js","sourceRoot":"","sources":["../../src/models/UnhandledError.ts"],"names":[],"mappings":";;AAoBA,kEAaC;AAED,0DAWC;AAED,4DAOC;AAnCD,SAAgB,2BAA2B,CAAC,MAAc;IACxD,OAAO,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAwB,EAAE,EAAE;QAC7D,MAAM,eAAe,GACnB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAE5D,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC,QAAQ,EAAE,EAAE,EAAE;YAClD,MAAM;YACN,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE;gBACJ,IAAI;aACL;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,SAAgB,uBAAuB,CACrC,OAAyB;IAKzB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC7B,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,wBAAwB,CAC5C,OAAyB,EACzB,IAA0B;IAE1B,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACZ,CAAC"}
|
package/dist/processHooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processHooks.js","sourceRoot":"","sources":["../src/processHooks.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"processHooks.js","sourceRoot":"","sources":["../src/processHooks.ts"],"names":[],"mappings":";;AA8BA,wEAWC;AA0BD,oDAMC;AAzED,yEAAyE;AACzE,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAKhC,CAAC;AACJ,IAAI,0BAA0B,GAAG,KAAK,CAAC;AAEvC,SAAS,kCAAkC;IACzC,IAAI,0BAA0B;QAAE,OAAO;IACvC,0BAA0B,GAAG,IAAI,CAAC;IAClC,MAAM,mBAAmB,GAAG,KAAK,EAAE,GAAQ,EAAE,EAAE;QAC7C,KAAK,MAAM,OAAO,IAAI,mBAAmB,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;YAC1C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;QAChB,CAAC;IACH,CAAC,CAAC;IACF,MAAM,oBAAoB,GAAG,KAAK,EAAE,MAAW,EAAE,EAAE;QACjD,KAAK,MAAM,OAAO,IAAI,mBAAmB,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;YAC9C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;QAChB,CAAC;IACH,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,mBAA0B,CAAC,CAAC;IAC5D,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,oBAA2B,CAAC,CAAC;AAChE,CAAC;AAED,SAAgB,8BAA8B,CAC5C,OAGyB;IAEzB,kCAAkC,EAAE,CAAC;IACrC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACjC,OAAO,GAAG,EAAE;QACV,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC,CAAC;AACJ,CAAC;AAED,qFAAqF;AACrF,MAAM,eAAe,GAAG,IAAI,GAAG,EAAuB,CAAC;AACvD,IAAI,sBAAsB,GAAG,KAAK,CAAC;AAEnC,SAAS,8BAA8B;IACrC,IAAI,sBAAsB;QAAE,OAAO;IACnC,sBAAsB,GAAG,IAAI,CAAC;IAC9B,MAAM,OAAO,GAAG,KAAK,EAAE,MAAsB,EAAE,EAAE;QAC/C,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC9C,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC;oBACH,MAAM,CAAC,EAAE,CAAC;gBACZ,CAAC;gBAAC,MAAM,CAAC,CAAA,CAAC;gBACV,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACjC,CAAC;AAED,SAAgB,oBAAoB,CAAC,WAAgC;IACnE,8BAA8B,EAAE,CAAC;IACjC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACjC,OAAO,GAAG,EAAE;QACV,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/run.js
CHANGED
|
@@ -21,9 +21,11 @@ const RunResult_1 = require("./models/RunResult");
|
|
|
21
21
|
*/
|
|
22
22
|
async function run(resourceOrResourceWithConfig, // For optional config
|
|
23
23
|
options) {
|
|
24
|
-
const { debug = undefined, logs = {}, errorBoundary = true, shutdownHooks = true, dryRun = false, onUnhandledError: onUnhandledErrorOpt, } = options || {};
|
|
24
|
+
const { debug = undefined, logs = {}, errorBoundary = true, shutdownHooks = true, dryRun = false, onUnhandledError: onUnhandledErrorOpt, runtimeCycleDetection = true, } = options || {};
|
|
25
25
|
const { printThreshold = process.env.NODE_ENV === "test" ? null : "info", printStrategy = "pretty", bufferLogs = false, } = logs;
|
|
26
|
-
const eventManager = new EventManager_1.EventManager(
|
|
26
|
+
const eventManager = new EventManager_1.EventManager({
|
|
27
|
+
runtimeCycleDetection,
|
|
28
|
+
});
|
|
27
29
|
let { resource, config } = extractResourceAndConfig(resourceOrResourceWithConfig);
|
|
28
30
|
// ensure for logger, that it can be used only after: computeAllDependencies() has executed
|
|
29
31
|
const logger = new Logger_1.Logger({
|
|
@@ -68,17 +70,20 @@ options) {
|
|
|
68
70
|
// the overrides that were registered now will override the other registered resources
|
|
69
71
|
await store.processOverrides();
|
|
70
72
|
store.validateDependencyGraph();
|
|
73
|
+
// Compile-time event emission cycle detection (cheap, graph-based)
|
|
74
|
+
store.validateEventEmissionGraph();
|
|
75
|
+
const boundedLogger = logger.with({ source: "run" });
|
|
71
76
|
if (dryRun) {
|
|
72
|
-
await
|
|
77
|
+
await boundedLogger.debug("Dry run mode. Skipping initialization...");
|
|
73
78
|
return new RunResult_1.RunResult(store.root.value, logger, store, eventManager, taskRunner, disposeAll);
|
|
74
79
|
}
|
|
75
80
|
// Beginning initialization
|
|
76
|
-
await
|
|
81
|
+
await boundedLogger.debug("Events stored. Attaching listeners...");
|
|
77
82
|
await processor.attachListeners();
|
|
78
|
-
await
|
|
83
|
+
await boundedLogger.debug("Listeners attached. Computing dependencies...");
|
|
79
84
|
await processor.computeAllDependencies();
|
|
80
85
|
// After this stage, logger print policy could have been set.
|
|
81
|
-
await
|
|
86
|
+
await boundedLogger.debug("Dependencies computed. Proceeding with initialization...");
|
|
82
87
|
// Now we can safely compute dependencies without being afraid of an infinite loop.
|
|
83
88
|
// The hooking part is done here.
|
|
84
89
|
// Now we can initialise the root resource
|
|
@@ -90,7 +95,7 @@ options) {
|
|
|
90
95
|
await eventManager.emit(globalEvents_1.globalEvents.ready, {
|
|
91
96
|
root: store.root.resource,
|
|
92
97
|
}, "system");
|
|
93
|
-
await
|
|
98
|
+
await boundedLogger.info("Runner online. Awaiting tasks and events.");
|
|
94
99
|
if (shutdownHooks) {
|
|
95
100
|
unhookShutdown = (0, processHooks_1.registerShutdownHook)(() => store.dispose());
|
|
96
101
|
}
|
package/dist/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":";;AA8BA,
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
|
package/dist/types/runner.d.ts
CHANGED
|
@@ -6,6 +6,9 @@ export type RunOptions = {
|
|
|
6
6
|
* Defaults to undefined. If true, we introduce logging to the console.
|
|
7
7
|
*/
|
|
8
8
|
debug?: DebugFriendlyConfig;
|
|
9
|
+
/**
|
|
10
|
+
* Configure logging settings.
|
|
11
|
+
*/
|
|
9
12
|
logs?: {
|
|
10
13
|
/**
|
|
11
14
|
* Defaults to info. Use null to disable logging.
|
|
@@ -35,10 +38,18 @@ export type RunOptions = {
|
|
|
35
38
|
*/
|
|
36
39
|
onUnhandledError?: OnUnhandledError;
|
|
37
40
|
/**
|
|
41
|
+
* Defaults to false.
|
|
42
|
+
*
|
|
38
43
|
* Dry run mode. When true, the runner will setup the system, ensure there are no errors, but will not start the system.
|
|
39
44
|
* Your resources will not be initialized, and no events will be emitted. This is useful for testing and debugging.
|
|
40
45
|
*
|
|
41
46
|
* Note: this cannot catch init() errors that happen within resources.
|
|
42
47
|
*/
|
|
43
48
|
dryRun?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Defaults to true.
|
|
51
|
+
* When set, forces runtime cycle detection for event emissions. Disable if you're sure
|
|
52
|
+
* you don't have event deadlocks to improve event emission performance.
|
|
53
|
+
*/
|
|
54
|
+
runtimeCycleDetection?: boolean;
|
|
44
55
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bluelibs/runner",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.4.0",
|
|
4
4
|
"description": "BlueLibs Runner",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"repository": {
|
|
@@ -17,9 +17,12 @@
|
|
|
17
17
|
"test:clean": "jest --clearCache",
|
|
18
18
|
"testonly": "npm test",
|
|
19
19
|
"test:ci": "jest --verbose --coverage --ci --maxWorkers=2 --reporters=default --reporters=jest-junit",
|
|
20
|
+
"test:security": "jest --verbose --runInBand --testPathPattern=src/__tests__/security",
|
|
20
21
|
"prepublishOnly": "npm run clean && npm run build",
|
|
21
22
|
"typedoc": "typedoc --options typedoc.json",
|
|
22
|
-
"benchmark": "jest --config jest.bench.config.js --verbose"
|
|
23
|
+
"benchmark": "jest --config jest.bench.config.js --verbose --runInBand",
|
|
24
|
+
"benchmark:json": "BENCHMARK_OUTPUT=./benchmark-results.json NODE_OPTIONS=--expose-gc npm run benchmark",
|
|
25
|
+
"benchmark:compare": "node ./scripts/compare-benchmarks.mjs ./baseline.json ./benchmark-results.json ./benchmarks.config.json"
|
|
23
26
|
},
|
|
24
27
|
"devDependencies": {
|
|
25
28
|
"@types/benchmark": "^2.1.5",
|
|
@@ -39,6 +42,7 @@
|
|
|
39
42
|
"prettier": "^2.0.5",
|
|
40
43
|
"reflect-metadata": "^0.2.2",
|
|
41
44
|
"source-map-support": "^0.5.13",
|
|
45
|
+
"tailwindcss": "^4.1.12",
|
|
42
46
|
"ts-jest": "^29.0.0",
|
|
43
47
|
"typedoc": "^0.26.7",
|
|
44
48
|
"typedoc-material-theme": "^1.1.0",
|