@bluelibs/runner 4.2.1 → 4.3.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 +17 -0
- package/dist/definers/defineTag.js +1 -0
- package/dist/definers/defineTag.js.map +1 -1
- package/dist/errors.d.ts +15 -0
- package/dist/errors.js +23 -1
- package/dist/errors.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/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/run.js +6 -2
- package/dist/run.js.map +1 -1
- package/dist/types/runner.d.ts +11 -0
- package/package.json +1 -1
package/AI.md
CHANGED
|
@@ -100,6 +100,9 @@ const internal = event({
|
|
|
100
100
|
id: "app.events.internal",
|
|
101
101
|
tags: [globals.tags.excludeFromGlobalHooks],
|
|
102
102
|
});
|
|
103
|
+
|
|
104
|
+
// Performance: runtime event emission cycle detection
|
|
105
|
+
// run(app, { runtimeCycleDetection: true }) // To prevent deadlocks from happening.
|
|
103
106
|
```
|
|
104
107
|
|
|
105
108
|
### Multiple Events per Hook
|
|
@@ -598,6 +601,20 @@ export const cResource = resource({
|
|
|
598
601
|
|
|
599
602
|
## Validation (optional and library‑agnostic)
|
|
600
603
|
|
|
604
|
+
## Event Cycle Safety
|
|
605
|
+
|
|
606
|
+
To prevent event‑driven deadlocks, the runner detects cycles during emission:
|
|
607
|
+
|
|
608
|
+
- A cycle occurs when an event emits another event that eventually re‑emits the original event within the same emission chain (for example: `e1 -> e2 -> e1`).
|
|
609
|
+
- When a cycle is detected, an `EventCycleError` is thrown with a readable chain to help debugging.
|
|
610
|
+
- A hook re‑emitting the same event it currently handles is allowed only when the emission originates from the same hook instance (useful for idempotent/no‑op retries); other cases are blocked.
|
|
611
|
+
|
|
612
|
+
Guidance:
|
|
613
|
+
|
|
614
|
+
- Prefer one‑way flows; avoid mutual cross‑emits between hooks.
|
|
615
|
+
- Use `event.stopPropagation()` to short‑circuit handlers when appropriate.
|
|
616
|
+
- Use tags (for example, `globals.tags.excludeFromGlobalHooks`) to scope listeners and avoid unintended re‑entry via global hooks.
|
|
617
|
+
|
|
601
618
|
Interface any library can implement:
|
|
602
619
|
|
|
603
620
|
```ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defineTag.js","sourceRoot":"","sources":["../../src/definers/defineTag.ts"],"names":[],"mappings":";;AAuBA,
|
|
1
|
+
{"version":3,"file":"defineTag.js","sourceRoot":"","sources":["../../src/definers/defineTag.ts"],"names":[],"mappings":";;AAuBA,8BAuGC;AA9HD,kCASiB;AACjB,sCAA4C;AAC5C,0DAAuD;AAEvD;;;;;;;;;GASG;AACH,SAAgB,SAAS,CAKvB,UAIC;IAED,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;IACzB,MAAM,QAAQ,GAAG,IAAA,6BAAa,GAAE,CAAC;IACjC,MAAM,UAAU,GAAG;QACjB,EAAE;QACF,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,YAAY,EAAE,UAAU,CAAC,YAAY;KAC0B,CAAC;IAElE,OAAO;QACL,GAAG,UAAU;QACb,CAAC,gBAAS,CAAC,EAAE,IAAI;QACjB,CAAC,qBAAc,CAAC,EAAE,QAAQ;QAC1B;;;;WAIG;QACH,IAAI,CAAC,SAAkB;YACrB,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;gBAC5B,IAAI,CAAC;oBACH,SAAS,GAAG,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACvD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,IAAI,wBAAe,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE,KAAc,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;YACD,IAAI,MAAe,CAAC;YACpB,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAClC,IAAI,OAAO,UAAU,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC1C,MAAM,GAAG;wBACP,GAAG,UAAU,CAAC,MAAM;wBACpB,GAAG,SAAS;qBACb,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,SAAS,CAAC;gBACrB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,SAAS,CAAC;YACrB,CAAC;YACD,OAAO;gBACL,GAAG,UAAU;gBACb,CAAC,0BAAmB,CAAC,EAAE,IAAI;gBAC3B,MAAM;aAKP,CAAC;QACJ,CAAC;QACD;;;;WAIG;QACH,MAAM,CAAC,MAA6B;YAClC,IAAI,WAAW,GAAc,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1B,WAAW,GAAG,MAAM,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;YAC5B,CAAC;YAED,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;gBACpC,IAAI,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;oBACxB,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC;QACD;;;;WAIG;QACH,OAAO,CAAC,MAA6B;YACnC,IAAI,WAAW,GAAc,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1B,WAAW,GAAG,MAAM,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,WAAW,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YAClC,CAAC;YAED,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;gBACpC,IAAI,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;oBACxB,OAAO,SAAS,CAAC,MAAiB,CAAC;gBACrC,CAAC;YACH,CAAC;YAED,OAAO;QACT,CAAC;KACqE,CAAC;AAC3E,CAAC"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -73,3 +73,18 @@ export declare class StoreAlreadyInitializedError extends RuntimeError {
|
|
|
73
73
|
export declare class ValidationError extends RuntimeError {
|
|
74
74
|
constructor(type: string, id: string, originalError: Error | string);
|
|
75
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Error thrown when an event emission cycle is detected
|
|
78
|
+
*/
|
|
79
|
+
export declare class EventCycleError extends RuntimeError {
|
|
80
|
+
constructor(path: Array<{
|
|
81
|
+
id: string;
|
|
82
|
+
source: string;
|
|
83
|
+
}>);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Error thrown when a compile-time event emission cycle is detected
|
|
87
|
+
*/
|
|
88
|
+
export declare class EventEmissionCycleError extends RuntimeError {
|
|
89
|
+
constructor(cycles: string[]);
|
|
90
|
+
}
|
package/dist/errors.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ValidationError = exports.StoreAlreadyInitializedError = exports.LockedError = exports.TagNotFoundError = exports.MiddlewareNotRegisteredError = exports.ResourceNotFoundError = exports.EventNotFoundError = exports.CircularDependenciesError = exports.ContextError = exports.UnknownItemTypeError = exports.DependencyNotFoundError = exports.DuplicateRegistrationError = exports.RuntimeError = void 0;
|
|
3
|
+
exports.EventEmissionCycleError = exports.EventCycleError = exports.ValidationError = exports.StoreAlreadyInitializedError = exports.LockedError = exports.TagNotFoundError = exports.MiddlewareNotRegisteredError = exports.ResourceNotFoundError = exports.EventNotFoundError = exports.CircularDependenciesError = exports.ContextError = exports.UnknownItemTypeError = exports.DependencyNotFoundError = exports.DuplicateRegistrationError = exports.RuntimeError = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Base error class for all BlueLibs Runner errors
|
|
6
6
|
*/
|
|
@@ -143,4 +143,26 @@ class ValidationError extends RuntimeError {
|
|
|
143
143
|
}
|
|
144
144
|
}
|
|
145
145
|
exports.ValidationError = ValidationError;
|
|
146
|
+
/**
|
|
147
|
+
* Error thrown when an event emission cycle is detected
|
|
148
|
+
*/
|
|
149
|
+
class EventCycleError extends RuntimeError {
|
|
150
|
+
constructor(path) {
|
|
151
|
+
const chain = path.map((p) => `${p.id}←${p.source}`).join(" -> ");
|
|
152
|
+
super(`Event emission cycle detected:\n ${chain}\n\nBreak the cycle by changing hook logic (avoid mutual emits) or gate with conditions/tags.`);
|
|
153
|
+
this.name = "EventCycleError";
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
exports.EventCycleError = EventCycleError;
|
|
157
|
+
/**
|
|
158
|
+
* Error thrown when a compile-time event emission cycle is detected
|
|
159
|
+
*/
|
|
160
|
+
class EventEmissionCycleError extends RuntimeError {
|
|
161
|
+
constructor(cycles) {
|
|
162
|
+
const list = cycles.map((c) => ` • ${c}`).join("\n");
|
|
163
|
+
super(`Event emission cycles detected between hooks and events:\n${list}\n\nThis was detected at compile time (dry-run). Break the cycle by avoiding mutual emits between hooks or scoping hooks using tags.`);
|
|
164
|
+
this.name = "EventEmissionCycleError";
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
exports.EventEmissionCycleError = EventEmissionCycleError;
|
|
146
168
|
//# sourceMappingURL=errors.js.map
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,12 @@ export declare class EventManager {
|
|
|
32
32
|
private globalListenersCacheValid;
|
|
33
33
|
private emissionInterceptors;
|
|
34
34
|
private hookInterceptors;
|
|
35
|
+
private readonly emissionStack;
|
|
36
|
+
private readonly currentHookIdContext;
|
|
37
|
+
private readonly runtimeCycleDetection;
|
|
38
|
+
constructor(options?: {
|
|
39
|
+
runtimeCycleDetection?: boolean;
|
|
40
|
+
});
|
|
35
41
|
/**
|
|
36
42
|
* Gets the current lock status of the EventManager
|
|
37
43
|
*/
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.EventManager = void 0;
|
|
4
4
|
const errors_1 = require("../errors");
|
|
5
5
|
const globalTags_1 = require("../globals/globalTags");
|
|
6
|
+
const node_async_hooks_1 = require("node:async_hooks");
|
|
6
7
|
/**
|
|
7
8
|
* Default options for event handlers
|
|
8
9
|
*/
|
|
@@ -22,8 +23,17 @@ class EventManager {
|
|
|
22
23
|
// Interceptors storage
|
|
23
24
|
emissionInterceptors = [];
|
|
24
25
|
hookInterceptors = [];
|
|
26
|
+
// Tracks the current emission chain to detect cycles
|
|
27
|
+
emissionStack = new node_async_hooks_1.AsyncLocalStorage();
|
|
28
|
+
// Tracks currently executing hook id (if any)
|
|
29
|
+
currentHookIdContext = new node_async_hooks_1.AsyncLocalStorage();
|
|
25
30
|
// Locking mechanism to prevent modifications after initialization
|
|
26
31
|
#isLocked = false;
|
|
32
|
+
// Feature flags
|
|
33
|
+
runtimeCycleDetection;
|
|
34
|
+
constructor(options) {
|
|
35
|
+
this.runtimeCycleDetection = options?.runtimeCycleDetection ?? true;
|
|
36
|
+
}
|
|
27
37
|
// ==================== PUBLIC API ====================
|
|
28
38
|
/**
|
|
29
39
|
* Gets the current lock status of the EventManager
|
|
@@ -55,51 +65,93 @@ class EventManager {
|
|
|
55
65
|
throw new errors_1.ValidationError("Event payload", eventDefinition.id, error instanceof Error ? error : new Error(String(error)));
|
|
56
66
|
}
|
|
57
67
|
}
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
68
|
+
const frame = { id: eventDefinition.id, source };
|
|
69
|
+
const processEmission = async () => {
|
|
70
|
+
// Determine whether this emission should be excluded from global listeners
|
|
71
|
+
/* istanbul ignore next */
|
|
72
|
+
const pseudoForExclude = {
|
|
73
|
+
id: eventDefinition.id,
|
|
74
|
+
data,
|
|
75
|
+
timestamp: new Date(),
|
|
76
|
+
source,
|
|
77
|
+
meta: eventDefinition.meta || {},
|
|
78
|
+
stopPropagation: () => { },
|
|
79
|
+
isPropagationStopped: () => false,
|
|
80
|
+
tags: eventDefinition.tags,
|
|
81
|
+
};
|
|
82
|
+
const excludeFromGlobal = this.isExcludedFromGlobal(pseudoForExclude);
|
|
83
|
+
// Choose listeners: if globals are excluded, only use event-specific listeners
|
|
84
|
+
const allListeners = excludeFromGlobal
|
|
85
|
+
? this.listeners.get(eventDefinition.id) || []
|
|
86
|
+
: this.getCachedMergedListeners(eventDefinition.id);
|
|
87
|
+
let propagationStopped = false;
|
|
88
|
+
const event = {
|
|
89
|
+
id: eventDefinition.id,
|
|
90
|
+
data,
|
|
91
|
+
timestamp: new Date(),
|
|
92
|
+
source,
|
|
93
|
+
meta: eventDefinition.meta || {},
|
|
94
|
+
stopPropagation: () => {
|
|
95
|
+
propagationStopped = true;
|
|
96
|
+
},
|
|
97
|
+
isPropagationStopped: () => propagationStopped,
|
|
98
|
+
tags: eventDefinition.tags,
|
|
99
|
+
};
|
|
100
|
+
// Create the base emission function
|
|
101
|
+
const baseEmit = async (eventToEmit) => {
|
|
102
|
+
if (allListeners.length === 0) {
|
|
103
|
+
return;
|
|
81
104
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
105
|
+
const excludeFromGlobal = this.isExcludedFromGlobal(eventToEmit);
|
|
106
|
+
for (const listener of allListeners) {
|
|
107
|
+
if (propagationStopped) {
|
|
108
|
+
break;
|
|
109
|
+
}
|
|
110
|
+
// Skip handlers that identify themselves as the source of this event
|
|
111
|
+
// (prevents a listener from re-invoking itself).
|
|
112
|
+
if (listener.id && listener.id === eventToEmit.source) {
|
|
113
|
+
continue;
|
|
114
|
+
}
|
|
115
|
+
if (!listener.filter || listener.filter(eventToEmit)) {
|
|
116
|
+
await listener.handler(eventToEmit);
|
|
117
|
+
}
|
|
90
118
|
}
|
|
119
|
+
};
|
|
120
|
+
// Apply emission interceptors (last added runs first)
|
|
121
|
+
let emitWithInterceptors = baseEmit;
|
|
122
|
+
// Reverse the interceptors so the last added runs first
|
|
123
|
+
const reversedInterceptors = [...this.emissionInterceptors].reverse();
|
|
124
|
+
for (const interceptor of reversedInterceptors) {
|
|
125
|
+
const nextFunction = emitWithInterceptors;
|
|
126
|
+
emitWithInterceptors = async (eventToEmit) => interceptor(nextFunction, eventToEmit);
|
|
91
127
|
}
|
|
128
|
+
// Execute the emission with interceptors
|
|
129
|
+
await emitWithInterceptors(event);
|
|
92
130
|
};
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
131
|
+
if (this.runtimeCycleDetection) {
|
|
132
|
+
// Detect re-entrant event cycles: same event id appearing in the current chain
|
|
133
|
+
const currentStack = this.emissionStack.getStore();
|
|
134
|
+
if (currentStack) {
|
|
135
|
+
const cycleStart = currentStack.findIndex((f) => f.id === frame.id);
|
|
136
|
+
if (cycleStart !== -1) {
|
|
137
|
+
const top = currentStack[currentStack.length - 1];
|
|
138
|
+
const currentHookId = this.currentHookIdContext.getStore();
|
|
139
|
+
const safeReEmitBySameHook = top.id === frame.id && currentHookId && currentHookId === source;
|
|
140
|
+
if (!safeReEmitBySameHook) {
|
|
141
|
+
throw new errors_1.EventCycleError([
|
|
142
|
+
...currentStack.slice(cycleStart),
|
|
143
|
+
frame,
|
|
144
|
+
]);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
const nextStack = currentStack ? [...currentStack, frame] : [frame];
|
|
149
|
+
await this.emissionStack.run(nextStack, processEmission);
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
// Fast path without AsyncLocalStorage context tracking
|
|
153
|
+
await processEmission();
|
|
100
154
|
}
|
|
101
|
-
// Execute the emission with interceptors
|
|
102
|
-
await emitWithInterceptors(event);
|
|
103
155
|
}
|
|
104
156
|
/**
|
|
105
157
|
* Registers an event listener for specific event(s).
|
|
@@ -114,7 +166,8 @@ class EventManager {
|
|
|
114
166
|
const newListener = {
|
|
115
167
|
handler,
|
|
116
168
|
order: options.order || 0,
|
|
117
|
-
|
|
169
|
+
filter: options.filter,
|
|
170
|
+
id: options.id,
|
|
118
171
|
isGlobal: false,
|
|
119
172
|
};
|
|
120
173
|
if (Array.isArray(event)) {
|
|
@@ -145,6 +198,7 @@ class EventManager {
|
|
|
145
198
|
handler,
|
|
146
199
|
order: options.order || 0,
|
|
147
200
|
filter: options.filter,
|
|
201
|
+
id: options.id,
|
|
148
202
|
isGlobal: true,
|
|
149
203
|
};
|
|
150
204
|
this.insertListener(this.globalListeners, newListener);
|
|
@@ -157,11 +211,30 @@ class EventManager {
|
|
|
157
211
|
* @returns true if listeners exist, false otherwise
|
|
158
212
|
*/
|
|
159
213
|
hasListeners(eventDefinition) {
|
|
160
|
-
const eventListeners = this.listeners.get(eventDefinition.id);
|
|
161
|
-
if (
|
|
214
|
+
const eventListeners = this.listeners.get(eventDefinition.id) || [];
|
|
215
|
+
if (eventListeners.length > 0) {
|
|
216
|
+
return true;
|
|
217
|
+
}
|
|
218
|
+
if (this.globalListeners.length === 0) {
|
|
162
219
|
return false;
|
|
163
220
|
}
|
|
164
|
-
|
|
221
|
+
// If the event definition carries the tag that excludes it from global
|
|
222
|
+
// listeners, report no listeners (since globals would be skipped at emit).
|
|
223
|
+
/* istanbul ignore next */
|
|
224
|
+
const pseudoEmission = {
|
|
225
|
+
id: eventDefinition.id,
|
|
226
|
+
data: undefined,
|
|
227
|
+
timestamp: new Date(),
|
|
228
|
+
source: "",
|
|
229
|
+
meta: eventDefinition.meta || {},
|
|
230
|
+
stopPropagation: () => { },
|
|
231
|
+
isPropagationStopped: () => false,
|
|
232
|
+
tags: eventDefinition.tags,
|
|
233
|
+
};
|
|
234
|
+
if (this.isExcludedFromGlobal(pseudoEmission)) {
|
|
235
|
+
return false;
|
|
236
|
+
}
|
|
237
|
+
return true;
|
|
165
238
|
}
|
|
166
239
|
/**
|
|
167
240
|
* Adds an interceptor for all event emissions
|
|
@@ -213,8 +286,13 @@ class EventManager {
|
|
|
213
286
|
const nextFunction = executeWithInterceptors;
|
|
214
287
|
executeWithInterceptors = async (hookToExecute, eventForHook) => interceptor(nextFunction, hookToExecute, eventForHook);
|
|
215
288
|
}
|
|
216
|
-
// Execute the hook with interceptors
|
|
217
|
-
|
|
289
|
+
// Execute the hook with interceptors within current hook context
|
|
290
|
+
if (this.runtimeCycleDetection) {
|
|
291
|
+
return await this.currentHookIdContext.run(hook.id, async () => await executeWithInterceptors(hook, event));
|
|
292
|
+
}
|
|
293
|
+
else {
|
|
294
|
+
return await executeWithInterceptors(hook, event);
|
|
295
|
+
}
|
|
218
296
|
}
|
|
219
297
|
// ==================== PRIVATE METHODS ====================
|
|
220
298
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventManager.js","sourceRoot":"","sources":["../../src/models/EventManager.ts"],"names":[],"mappings":";;;AAOA,
|
|
1
|
+
{"version":3,"file":"EventManager.js","sourceRoot":"","sources":["../../src/models/EventManager.ts"],"names":[],"mappings":"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"}
|
package/dist/models/Store.d.ts
CHANGED
|
@@ -41,6 +41,7 @@ export declare class Store {
|
|
|
41
41
|
setTaskRunner(taskRunner: TaskRunner): void;
|
|
42
42
|
private setupRootResource;
|
|
43
43
|
validateDependencyGraph(): void;
|
|
44
|
+
validateEventEmissionGraph(): void;
|
|
44
45
|
initializeStore(root: IResource<any, any, any, any, any>, config: any): void;
|
|
45
46
|
dispose(): Promise<void>;
|
|
46
47
|
processOverrides(): void;
|
package/dist/models/Store.js
CHANGED
|
@@ -157,6 +157,13 @@ class Store {
|
|
|
157
157
|
throw new errors_1.CircularDependenciesError(circularDependencies.cycles);
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
|
+
validateEventEmissionGraph() {
|
|
161
|
+
const eventNodes = this.registry.buildEventEmissionGraph();
|
|
162
|
+
const circular = (0, findCircularDependencies_1.findCircularDependencies)(eventNodes);
|
|
163
|
+
if (circular.cycles.length > 0) {
|
|
164
|
+
throw new errors_1.EventEmissionCycleError(circular.cycles);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
160
167
|
initializeStore(root, config) {
|
|
161
168
|
if (this.#isInitialized) {
|
|
162
169
|
throw new errors_1.StoreAlreadyInitializedError();
|
package/dist/models/Store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Store.js","sourceRoot":"","sources":["../../src/models/Store.ts"],"names":[],"mappings":";;;AASA,+EAG0C;AAC1C,0DAA4D;AAC5D,
|
|
1
|
+
{"version":3,"file":"Store.js","sourceRoot":"","sources":["../../src/models/Store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { IResource, ITask, IResourceWithConfig, RegisterableItems, ITaskMiddleware, IResourceMiddleware, IEvent, ITag, IHook } from "../defs";
|
|
2
|
-
import { IDependentNode } from "./utils/findCircularDependencies";
|
|
3
2
|
import { TaskStoreElementType, TaskMiddlewareStoreElementType, ResourceMiddlewareStoreElementType, ResourceStoreElementType, EventStoreElementType, HookStoreElementType } from "../defs";
|
|
4
3
|
import { StoreValidator } from "./StoreValidator";
|
|
5
4
|
import { Store } from "./Store";
|
|
5
|
+
import { IDependentNode } from "./utils/findCircularDependencies";
|
|
6
6
|
type StoringMode = "normal" | "override";
|
|
7
7
|
export declare class StoreRegistry {
|
|
8
8
|
protected readonly store: Store;
|
|
@@ -27,6 +27,11 @@ export declare class StoreRegistry {
|
|
|
27
27
|
storeResource<C>(item: IResource<any, any, any>, overrideMode?: StoringMode): IResource<any, any, any, any, any, import("../defs").TagType[], import("../defs").ResourceMiddlewareAttachmentType[]>;
|
|
28
28
|
storeTask<C>(item: ITask<any, any, {}>, storingMode?: StoringMode): void;
|
|
29
29
|
getDependentNodes(): IDependentNode[];
|
|
30
|
+
/**
|
|
31
|
+
* Builds a directed graph of event emissions based on hooks listening to events
|
|
32
|
+
* and their dependencies on events (emission capability). Ignores wildcard hooks by default.
|
|
33
|
+
*/
|
|
34
|
+
buildEventEmissionGraph(): IDependentNode[];
|
|
30
35
|
private setupBlankNodes;
|
|
31
36
|
getTasksWithTag(tag: string | ITag): ITask<any, any, any, any, import("../defs").TagType[], import("../defs").TaskMiddlewareAttachmentType[]>[];
|
|
32
37
|
getResourcesWithTag(tag: string | ITag): IResource<any, any, {}, any, any, import("../defs").TagType[], import("../defs").ResourceMiddlewareAttachmentType[]>[];
|
|
@@ -247,6 +247,54 @@ class StoreRegistry {
|
|
|
247
247
|
}
|
|
248
248
|
return depenedants;
|
|
249
249
|
}
|
|
250
|
+
/**
|
|
251
|
+
* Builds a directed graph of event emissions based on hooks listening to events
|
|
252
|
+
* and their dependencies on events (emission capability). Ignores wildcard hooks by default.
|
|
253
|
+
*/
|
|
254
|
+
buildEventEmissionGraph() {
|
|
255
|
+
const nodes = new Map();
|
|
256
|
+
// Create nodes for all events
|
|
257
|
+
for (const e of this.events.values()) {
|
|
258
|
+
nodes.set(e.event.id, { id: e.event.id, dependencies: {} });
|
|
259
|
+
}
|
|
260
|
+
// For each hook, if it listens to concrete event(s) and depends on events, add edges listenedEvent -> depEvent
|
|
261
|
+
for (const h of this.hooks.values()) {
|
|
262
|
+
const listened = [];
|
|
263
|
+
const on = h.hook.on;
|
|
264
|
+
if (on === "*")
|
|
265
|
+
continue; // avoid over-reporting for global hooks
|
|
266
|
+
if (Array.isArray(on))
|
|
267
|
+
listened.push(...on.map((e) => e.id));
|
|
268
|
+
else
|
|
269
|
+
listened.push(on.id);
|
|
270
|
+
// Collect event dependencies from the hook
|
|
271
|
+
const depEvents = [];
|
|
272
|
+
const deps = h.hook.dependencies;
|
|
273
|
+
if (deps) {
|
|
274
|
+
for (const value of Object.values(deps)) {
|
|
275
|
+
const candidate = utils.isOptional(value) ? value.inner : value;
|
|
276
|
+
if (candidate && utils.isEvent(candidate)) {
|
|
277
|
+
depEvents.push(candidate.id);
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
// Add edges
|
|
282
|
+
for (const srcId of listened) {
|
|
283
|
+
const srcNode = nodes.get(srcId);
|
|
284
|
+
if (!srcNode)
|
|
285
|
+
continue; // skip unknown/unregistered events
|
|
286
|
+
for (const dstId of depEvents) {
|
|
287
|
+
if (srcId === dstId)
|
|
288
|
+
continue; // ignore trivial self edge
|
|
289
|
+
const dstNode = nodes.get(dstId);
|
|
290
|
+
if (dstNode) {
|
|
291
|
+
srcNode.dependencies[dstId] = dstNode;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
return Array.from(nodes.values());
|
|
297
|
+
}
|
|
250
298
|
setupBlankNodes(nodeMap, depenedants) {
|
|
251
299
|
for (const task of this.tasks.values()) {
|
|
252
300
|
const node = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StoreRegistry.js","sourceRoot":"","sources":["../../src/models/StoreRegistry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StoreRegistry.js","sourceRoot":"","sources":["../../src/models/StoreRegistry.ts"],"names":[],"mappings":"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"}
|
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,6 +70,8 @@ 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();
|
|
71
75
|
if (dryRun) {
|
|
72
76
|
await logger.debug("Dry run mode. Skipping initialization...");
|
|
73
77
|
return new RunResult_1.RunResult(store.root.value, logger, store, eventManager, taskRunner, disposeAll);
|
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
|
};
|