@bluelibs/runner 4.4.0 → 4.5.0-alpha
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 +44 -14
- package/README.md +19 -11
- package/dist/context.d.ts +1 -2
- package/dist/context.js +3 -2
- package/dist/context.js.map +1 -1
- package/dist/errors.d.ts +6 -0
- package/dist/errors.js +11 -1
- package/dist/errors.js.map +1 -1
- package/dist/models/DependencyProcessor.js +0 -5
- package/dist/models/DependencyProcessor.js.map +1 -1
- package/dist/models/EventManager.js +32 -21
- package/dist/models/EventManager.js.map +1 -1
- package/dist/models/LogPrinter.js +33 -37
- package/dist/models/LogPrinter.js.map +1 -1
- package/dist/models/Logger.d.ts +4 -4
- package/dist/models/Logger.js +26 -28
- package/dist/models/Logger.js.map +1 -1
- package/dist/models/MiddlewareManager.js +24 -14
- package/dist/models/MiddlewareManager.js.map +1 -1
- package/dist/models/OverrideManager.js +2 -3
- package/dist/models/OverrideManager.js.map +1 -1
- package/dist/models/Queue.js +8 -6
- package/dist/models/Queue.js.map +1 -1
- package/dist/models/ResourceInitializer.js +0 -4
- package/dist/models/ResourceInitializer.js.map +1 -1
- package/dist/models/RunResult.js +45 -51
- package/dist/models/RunResult.js.map +1 -1
- package/dist/models/Semaphore.js +2 -4
- package/dist/models/Semaphore.js.map +1 -1
- package/dist/models/Store.js +20 -16
- package/dist/models/Store.js.map +1 -1
- package/dist/models/StoreRegistry.js +7 -9
- package/dist/models/StoreRegistry.js.map +1 -1
- package/dist/models/StoreValidator.js +0 -1
- package/dist/models/StoreValidator.js.map +1 -1
- package/dist/models/TaskRunner.js +1 -5
- package/dist/models/TaskRunner.js.map +1 -1
- package/dist/platform/browser.d.ts +15 -0
- package/dist/platform/browser.js +98 -0
- package/dist/platform/browser.js.map +1 -0
- package/dist/platform/index.d.ts +8 -0
- package/dist/platform/index.js +47 -0
- package/dist/platform/index.js.map +1 -0
- package/dist/platform/node.d.ts +11 -0
- package/dist/platform/node.js +45 -0
- package/dist/platform/node.js.map +1 -0
- package/dist/platform/types.d.ts +28 -0
- package/dist/platform/types.js +19 -0
- package/dist/platform/types.js.map +1 -0
- package/dist/platform/universal.d.ts +16 -0
- package/dist/platform/universal.js +57 -0
- package/dist/platform/universal.js.map +1 -0
- package/dist/processHooks.js +15 -6
- package/dist/processHooks.js.map +1 -1
- package/dist/run.js +3 -1
- package/dist/run.js.map +1 -1
- package/dist/tools/getCallerFile.js +2 -2
- package/dist/tools/getCallerFile.js.map +1 -1
- package/package.json +17 -1
package/AI.md
CHANGED
|
@@ -6,15 +6,20 @@
|
|
|
6
6
|
npm install @bluelibs/runner
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## Platform & Browser
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
- Auto‑detects platform at runtime. In browsers, `exit()` is unsupported and throws. Env reads use `globalThis.__ENV__`, `process.env`, or `globalThis.env`.
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
import { setPlatform, BrowserPlatformAdapter } from "@bluelibs/runner/platform";
|
|
15
|
+
setPlatform(new BrowserPlatformAdapter());
|
|
16
|
+
//
|
|
17
|
+
globalThis.__ENV__ = { API_URL: "https://example.test" };
|
|
18
|
+
```
|
|
12
19
|
|
|
13
|
-
##
|
|
20
|
+
## Core Philosophy
|
|
14
21
|
|
|
15
|
-
|
|
16
|
-
- Tests: see `src/__tests__/security/*` for security-focused tests that exercise the guarantees above.
|
|
17
|
-
- Policy: see `SECURITY.md` for reporting, supported versions, and CI checks (includes `npm audit` for prod deps).
|
|
22
|
+
BlueLibs Runner is a **powerful and integrated** framework. It provides a comprehensive set of tools for building robust, testable, and maintainable applications by combining a predictable Dependency Injection (DI) container with a dynamic metadata and eventing system.
|
|
18
23
|
|
|
19
24
|
## DI Container Guarantees
|
|
20
25
|
|
|
@@ -388,15 +393,20 @@ const app = resource({
|
|
|
388
393
|
|
|
389
394
|
## Namespacing
|
|
390
395
|
|
|
391
|
-
As your app grows,
|
|
396
|
+
As your app grows, you'll want consistent naming. Here's the convention that won't drive you crazy:
|
|
397
|
+
|
|
398
|
+
| Type | Format |
|
|
399
|
+
| ------------------- | ------------------------------------------------ |
|
|
400
|
+
| Resources | `{domain}.resources.{resource-name}` |
|
|
401
|
+
| Tasks | `{domain}.tasks.{task-name}` |
|
|
402
|
+
| Events | `{domain}.events.{event-name}` |
|
|
403
|
+
| Hooks | `{domain}.hooks.on-{event-name}` |
|
|
404
|
+
| Task Middleware | `{domain}.middleware.task.{middleware-name}` |
|
|
405
|
+
| Resource Middleware | `{domain}.middleware.resource.{middleware-name}` |
|
|
392
406
|
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
| Hooks | `{domain}.hooks.on{EventName}` |
|
|
397
|
-
| Resources | `{domain}.resources.{resourceName}` |
|
|
398
|
-
| Events | `{domain}.events.{eventName}` |
|
|
399
|
-
| Middleware | `{domain}.middleware.{middlewareName}` |
|
|
407
|
+
We recommend kebab-case for file names and ids. Suffix files with their primitive type: `*.task.ts`, `*.task-middleware.ts`, `*.hook.ts`, etc.
|
|
408
|
+
|
|
409
|
+
Folders can look something like this: `src/app/users/tasks/create-user.task.ts`. For domain: `app.users` and a task. Use `middleware/task|resource` for middleware files.
|
|
400
410
|
|
|
401
411
|
## Factory Pattern
|
|
402
412
|
|
|
@@ -450,6 +460,26 @@ await rr.runTask(id | task, { input: 1 });
|
|
|
450
460
|
await rr.dispose();
|
|
451
461
|
```
|
|
452
462
|
|
|
463
|
+
## Pre‑release (alpha)
|
|
464
|
+
|
|
465
|
+
Publish an alpha without affecting latest:
|
|
466
|
+
|
|
467
|
+
```bash
|
|
468
|
+
npm version prerelease --preid=alpha
|
|
469
|
+
npm run clean && npm run build
|
|
470
|
+
npm publish --tag alpha --access public
|
|
471
|
+
# consumers: npm i @bluelibs/runner@alpha
|
|
472
|
+
```
|
|
473
|
+
|
|
474
|
+
Local test without publishing:
|
|
475
|
+
|
|
476
|
+
```bash
|
|
477
|
+
npm pack # then in a demo app: npm i ../@bluelibs-runner-<version>.tgz
|
|
478
|
+
# or: npm link / npm link @bluelibs/runner
|
|
479
|
+
```
|
|
480
|
+
|
|
481
|
+
Coverage tip: the script name is `npm run coverage`.
|
|
482
|
+
|
|
453
483
|
## Metadata & Tags
|
|
454
484
|
|
|
455
485
|
```ts
|
package/README.md
CHANGED
|
@@ -62,7 +62,7 @@ const server = resource({
|
|
|
62
62
|
dispose: async ({ server }) => server.close(),
|
|
63
63
|
});
|
|
64
64
|
|
|
65
|
-
// Tasks are your business logic -
|
|
65
|
+
// Tasks are your business logic - easily testable functions
|
|
66
66
|
const createUser = task({
|
|
67
67
|
id: "app.tasks.createUser",
|
|
68
68
|
// That's how you depend "value": resource as singleton value, task as function, event as emittor
|
|
@@ -96,13 +96,17 @@ const { dispose } = await run(app, { debug: "verbose" });
|
|
|
96
96
|
|
|
97
97
|
> **runtime:** "'Less lines than Hello World.' Incredible. All you had to do was externalize 90% of the work into `express`, Node, and me. But please, bask in the brevity. I’ll be over here negotiating a peace treaty between your dependency tree and reality."
|
|
98
98
|
|
|
99
|
+
### Platform & Async Context
|
|
100
|
+
|
|
101
|
+
Runner auto-detects the platform and adapts behavior at runtime. The only feature present only in Node.js is the use of `AsyncLocalStorage` for managing async context.
|
|
102
|
+
|
|
99
103
|
## The Big Five
|
|
100
104
|
|
|
101
105
|
The framework is built around five core concepts: Tasks, Resources, Events, Middleware, and Tags. Understanding them is key to using the runner effectively.
|
|
102
106
|
|
|
103
107
|
### Tasks
|
|
104
108
|
|
|
105
|
-
Tasks are functions with superpowers. They're
|
|
109
|
+
Tasks are functions with superpowers. They're testable, and composable. Unlike classes that accumulate methods like a hoarder accumulates stuff, tasks do one thing well.
|
|
106
110
|
|
|
107
111
|
```typescript
|
|
108
112
|
const sendEmail = task({
|
|
@@ -2054,14 +2058,18 @@ Overrides are applied after everything is registered. If multiple overrides targ
|
|
|
2054
2058
|
|
|
2055
2059
|
As your app grows, you'll want consistent naming. Here's the convention that won't drive you crazy:
|
|
2056
2060
|
|
|
2057
|
-
| Type | Format
|
|
2058
|
-
| ------------------- |
|
|
2059
|
-
| Resources | `{domain}.resources.{
|
|
2060
|
-
| Tasks | `{domain}.tasks.{
|
|
2061
|
-
| Events | `{domain}.events.{
|
|
2062
|
-
| Hooks | `{domain}.hooks.on{
|
|
2063
|
-
| Task Middleware | `{domain}.middleware.task.{
|
|
2064
|
-
| Resource Middleware | `{domain}.middleware.resource.{
|
|
2061
|
+
| Type | Format |
|
|
2062
|
+
| ------------------- | ------------------------------------------------ |
|
|
2063
|
+
| Resources | `{domain}.resources.{resource-name}` |
|
|
2064
|
+
| Tasks | `{domain}.tasks.{task-name}` |
|
|
2065
|
+
| Events | `{domain}.events.{event-name}` |
|
|
2066
|
+
| Hooks | `{domain}.hooks.on-{event-name}` |
|
|
2067
|
+
| Task Middleware | `{domain}.middleware.task.{middleware-name}` |
|
|
2068
|
+
| Resource Middleware | `{domain}.middleware.resource.{middleware-name}` |
|
|
2069
|
+
|
|
2070
|
+
We recommend kebab-case for file names and ids. Suffix files with their primitive type: `*.task.ts`, `*.task-middleware.ts`, `*.hook.ts`, etc.
|
|
2071
|
+
|
|
2072
|
+
Folders can look something like this: `src/app/users/tasks/create-user.task.ts`. For domain: `app.users` and a task. Use `middleware/task|resource` for middleware files.
|
|
2065
2073
|
|
|
2066
2074
|
```typescript
|
|
2067
2075
|
// Helper function for consistency
|
|
@@ -2070,7 +2078,7 @@ function namespaced(id: string) {
|
|
|
2070
2078
|
}
|
|
2071
2079
|
|
|
2072
2080
|
const userTask = task({
|
|
2073
|
-
id: namespaced("tasks.user.create"),
|
|
2081
|
+
id: namespaced("tasks.user.create-user"),
|
|
2074
2082
|
// ...
|
|
2075
2083
|
});
|
|
2076
2084
|
```
|
package/dist/context.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { AsyncLocalStorage } from "async_hooks";
|
|
2
1
|
import { ITaskMiddlewareConfigured } from "./defs";
|
|
3
2
|
import { ContextError } from "./errors";
|
|
4
3
|
export { ContextError };
|
|
@@ -22,7 +21,7 @@ export interface Context<T> {
|
|
|
22
21
|
context: Context<T>;
|
|
23
22
|
}>;
|
|
24
23
|
}
|
|
25
|
-
export declare const storage:
|
|
24
|
+
export declare const storage: import("./platform").IAsyncLocalStorage<Map<symbol, unknown>>;
|
|
26
25
|
/**
|
|
27
26
|
* Create a new typed Context. The result contains helpers similar to React’s
|
|
28
27
|
* Context API but adapted for async usage in Runner.
|
package/dist/context.js
CHANGED
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.storage = exports.ContextError = void 0;
|
|
4
4
|
exports.createContext = createContext;
|
|
5
|
-
const
|
|
5
|
+
const platform_1 = require("./platform");
|
|
6
6
|
const requireContext_middleware_1 = require("./globals/middleware/requireContext.middleware");
|
|
7
7
|
const errors_1 = require("./errors");
|
|
8
8
|
Object.defineProperty(exports, "ContextError", { enumerable: true, get: function () { return errors_1.ContextError; } });
|
|
9
9
|
// The internal storage maps Context identifiers (symbols) to their values
|
|
10
|
-
|
|
10
|
+
const platform = (0, platform_1.getPlatform)();
|
|
11
|
+
exports.storage = platform.createAsyncLocalStorage();
|
|
11
12
|
/** Returns the currently active store or undefined. */
|
|
12
13
|
function getCurrentStore() {
|
|
13
14
|
return exports.storage.getStore();
|
package/dist/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":";;;AAwCA,sCAsCC;AA9ED,yCAAyC;AAEzC,8FAA8F;AAC9F,qCAAwC;AAE/B,6FAFA,qBAAY,OAEA;AAsBrB,0EAA0E;AAC1E,MAAM,QAAQ,GAAG,IAAA,sBAAW,GAAE,CAAC;AAClB,QAAA,OAAO,GAAG,QAAQ,CAAC,uBAAuB,EAAwB,CAAC;AAEhF,uDAAuD;AACvD,SAAS,eAAe;IACtB,OAAO,eAAO,CAAC,QAAQ,EAAE,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,SAAgB,aAAa,CAAI,OAAe,gBAAgB;IAC9D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAE3B,SAAS,GAAG;QACV,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,qBAAY,CACpB,oCAAoC,KAAK,CAAC,QAAQ,EAAE,EAAE,CACvD,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAM,CAAC;IAC/B,CAAC;IAED,SAAS,OAAO,CAAI,KAAQ,EAAE,EAAwB;QACpD,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,YAAY;YACtB,CAAC,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC;YACvB,CAAC,CAAC,IAAI,GAAG,EAAmB,CAAC;QAC/B,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAEtB,OAAO,eAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAS,CAAC,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,SAAS,OAAO;QACd,OAAO,wDAA4B,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAkB,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO;QACL,EAAE,EAAE,KAAK;QACT,GAAG;QACH,OAAO;QACP,OAAO;KACR,CAAC;AACJ,CAAC"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -88,3 +88,9 @@ export declare class EventCycleError extends RuntimeError {
|
|
|
88
88
|
export declare class EventEmissionCycleError extends RuntimeError {
|
|
89
89
|
constructor(cycles: string[]);
|
|
90
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
* Error thrown when a platform function is not supported in the current environment.
|
|
93
|
+
*/
|
|
94
|
+
export declare class PlatformUnsupportedFunction extends RuntimeError {
|
|
95
|
+
constructor(functionName: string);
|
|
96
|
+
}
|
package/dist/errors.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
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;
|
|
3
|
+
exports.PlatformUnsupportedFunction = 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
|
*/
|
|
@@ -165,4 +165,14 @@ class EventEmissionCycleError extends RuntimeError {
|
|
|
165
165
|
}
|
|
166
166
|
}
|
|
167
167
|
exports.EventEmissionCycleError = EventEmissionCycleError;
|
|
168
|
+
/**
|
|
169
|
+
* Error thrown when a platform function is not supported in the current environment.
|
|
170
|
+
*/
|
|
171
|
+
class PlatformUnsupportedFunction extends RuntimeError {
|
|
172
|
+
constructor(functionName) {
|
|
173
|
+
super(`Platform function not supported in this environment: ${functionName}`);
|
|
174
|
+
this.name = "PlatformUnsupportedFunction";
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
exports.PlatformUnsupportedFunction = PlatformUnsupportedFunction;
|
|
168
178
|
//# 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":";;;AAAA;;GAEG;AACH,MAAa,YAAa,SAAQ,KAAK;IACrC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AALD,oCAKC;AAED;;GAEG;AACH,MAAa,0BAA2B,SAAQ,YAAY;IAC1D,YAAY,IAAY,EAAE,EAAU;QAClC,KAAK,CACH,GAAG,IAAI,KAAK,EAAE,CAAC,QAAQ,EAAE,wIAAwI,CAClK,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AAPD,gEAOC;AAED;;GAEG;AACH,MAAa,uBAAwB,SAAQ,YAAY;IACvD,YAAY,GAAW;QACrB,KAAK,CACH,cAAc,GAAG,CAAC,QAAQ,EAAE,+DAA+D,CAC5F,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAPD,0DAOC;AAED;;GAEG;AACH,MAAa,oBAAqB,SAAQ,YAAY;IACpD,YAAY,IAAS;QACnB,KAAK,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AALD,oDAKC;AAED;;GAEG;AACH,MAAa,YAAa,SAAQ,KAAK;IACrC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AALD,oCAKC;AAED;;GAEG;AACH,MAAa,yBAA0B,SAAQ,YAAY;IACzD,YAAY,MAAgB;QAC1B,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;QAE3E,IAAI,QAAQ,GAAG,uCAAuC,CAAC;QACvD,QAAQ;YACN,kEAAkE,CAAC;QACrE,QAAQ,IAAI,2DAA2D,CAAC;QAExE,IAAI,aAAa,EAAE,CAAC;YAClB,QAAQ;gBACN,+EAA+E,CAAC;YAClF,QAAQ;gBACN,8EAA8E,CAAC;QACnF,CAAC;QAED,KAAK,CAAC,oCAAoC,YAAY,GAAG,QAAQ,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AApBD,8DAoBC;AAED;;GAEG;AACH,MAAa,kBAAmB,SAAQ,YAAY;IAClD,YAAY,EAAU;QACpB,KAAK,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,6CAA6C,CAAC,CAAC;QAC5E,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AALD,gDAKC;AAED;;GAEG;AACH,MAAa,qBAAsB,SAAQ,YAAY;IACrD,YAAY,EAAU;QACpB,KAAK,CACH,aAAa,EAAE,CAAC,QAAQ,EAAE,6EAA6E,CACxG,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAPD,sDAOC;AAED,MAAa,4BAA6B,SAAQ,YAAY;IAC5D,YAAY,IAAyB,EAAE,MAAc,EAAE,YAAoB;QACzE,KAAK,CACH,qBAAqB,IAAI,KAAK,MAAM,iBAAiB,YAAY,2DAA2D,CAC7H,CAAC;QAEF,IAAI,CAAC,IAAI,GAAG,iCAAiC,IAAI,IAAI,MAAM,IAAI,YAAY,EAAE,CAAC;IAChF,CAAC;CACF;AARD,oEAQC;AAED;;GAEG;AACH,MAAa,gBAAiB,SAAQ,YAAY;IAChD,YAAY,EAAU;QACpB,KAAK,CACH,QAAQ,EAAE,oEAAoE,CAC/E,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAPD,4CAOC;AAED;;GAEG;AACH,MAAa,WAAY,SAAQ,YAAY;IAC3C,YAAY,IAAY;QACtB,KAAK,CAAC,qBAAqB,IAAI,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AALD,kCAKC;AAED;;GAEG;AACH,MAAa,4BAA6B,SAAQ,YAAY;IAC5D;QACE,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;CACF;AALD,oEAKC;AAED;;GAEG;AACH,MAAa,eAAgB,SAAQ,YAAY;IAC/C,YAAY,IAAY,EAAE,EAAU,EAAE,aAA6B;QACjE,MAAM,YAAY,GAChB,aAAa,YAAY,KAAK;YAC5B,CAAC,CAAC,aAAa,CAAC,OAAO;YACvB,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC5B,KAAK,CAAC,GAAG,IAAI,0BAA0B,EAAE,CAAC,QAAQ,EAAE,KAAK,YAAY,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AATD,0CASC;AAED;;GAEG;AACH,MAAa,eAAgB,SAAQ,YAAY;IAC/C,YAAY,IAA2C;QACrD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpE,KAAK,CACH,qCAAqC,KAAK,+FAA+F,CAC1I,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AARD,0CAQC;AAED;;GAEG;AACH,MAAa,uBAAwB,SAAQ,YAAY;IACvD,YAAY,MAAgB;QAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,KAAK,CACH,6DAA6D,IAAI,sIAAsI,CACxM,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AARD,0DAQC"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,11 +11,6 @@ const Logger_1 = require("./Logger");
|
|
|
11
11
|
* when trying to depend on something not in the store.
|
|
12
12
|
*/
|
|
13
13
|
class DependencyProcessor {
|
|
14
|
-
store;
|
|
15
|
-
eventManager;
|
|
16
|
-
taskRunner;
|
|
17
|
-
resourceInitializer;
|
|
18
|
-
logger;
|
|
19
14
|
constructor(store, eventManager, taskRunner, logger) {
|
|
20
15
|
this.store = store;
|
|
21
16
|
this.eventManager = eventManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DependencyProcessor.js","sourceRoot":"","sources":["../../src/models/DependencyProcessor.ts"],"names":[],"mappings":";;;AAgBA,mCAAmC;AAEnC,+DAA4D;AAE5D,sCAImB;AACnB,qCAAkC;AAElC;;;;GAIG;AACH,MAAa,mBAAmB;
|
|
1
|
+
{"version":3,"file":"DependencyProcessor.js","sourceRoot":"","sources":["../../src/models/DependencyProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
5
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
6
|
+
};
|
|
7
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
8
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
11
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
12
|
+
};
|
|
13
|
+
var _EventManager_isLocked;
|
|
2
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
15
|
exports.EventManager = void 0;
|
|
4
16
|
const errors_1 = require("../errors");
|
|
5
17
|
const globalTags_1 = require("../globals/globalTags");
|
|
6
|
-
const
|
|
18
|
+
const platform_1 = require("../platform");
|
|
7
19
|
/**
|
|
8
20
|
* Default options for event handlers
|
|
9
21
|
*/
|
|
@@ -14,24 +26,22 @@ const HandlerOptionsDefaults = { order: 0 };
|
|
|
14
26
|
* Listeners are processed in order based on their priority.
|
|
15
27
|
*/
|
|
16
28
|
class EventManager {
|
|
17
|
-
// Core storage for event listeners
|
|
18
|
-
listeners = new Map();
|
|
19
|
-
globalListeners = [];
|
|
20
|
-
// Caching system for merged listeners to improve performance
|
|
21
|
-
cachedMergedListeners = new Map();
|
|
22
|
-
globalListenersCacheValid = true;
|
|
23
|
-
// Interceptors storage
|
|
24
|
-
emissionInterceptors = [];
|
|
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();
|
|
30
|
-
// Locking mechanism to prevent modifications after initialization
|
|
31
|
-
#isLocked = false;
|
|
32
|
-
// Feature flags
|
|
33
|
-
runtimeCycleDetection;
|
|
34
29
|
constructor(options) {
|
|
30
|
+
// Core storage for event listeners
|
|
31
|
+
this.listeners = new Map();
|
|
32
|
+
this.globalListeners = [];
|
|
33
|
+
// Caching system for merged listeners to improve performance
|
|
34
|
+
this.cachedMergedListeners = new Map();
|
|
35
|
+
this.globalListenersCacheValid = true;
|
|
36
|
+
// Interceptors storage
|
|
37
|
+
this.emissionInterceptors = [];
|
|
38
|
+
this.hookInterceptors = [];
|
|
39
|
+
// Tracks the current emission chain to detect cycles
|
|
40
|
+
this.emissionStack = (0, platform_1.getPlatform)().createAsyncLocalStorage();
|
|
41
|
+
// Tracks currently executing hook id (if any)
|
|
42
|
+
this.currentHookIdContext = (0, platform_1.getPlatform)().createAsyncLocalStorage();
|
|
43
|
+
// Locking mechanism to prevent modifications after initialization
|
|
44
|
+
_EventManager_isLocked.set(this, false);
|
|
35
45
|
this.runtimeCycleDetection = options?.runtimeCycleDetection ?? true;
|
|
36
46
|
}
|
|
37
47
|
// ==================== PUBLIC API ====================
|
|
@@ -39,13 +49,13 @@ class EventManager {
|
|
|
39
49
|
* Gets the current lock status of the EventManager
|
|
40
50
|
*/
|
|
41
51
|
get isLocked() {
|
|
42
|
-
return this
|
|
52
|
+
return __classPrivateFieldGet(this, _EventManager_isLocked, "f");
|
|
43
53
|
}
|
|
44
54
|
/**
|
|
45
55
|
* Locks the EventManager, preventing any further modifications to listeners
|
|
46
56
|
*/
|
|
47
57
|
lock() {
|
|
48
|
-
this
|
|
58
|
+
__classPrivateFieldSet(this, _EventManager_isLocked, true, "f");
|
|
49
59
|
}
|
|
50
60
|
/**
|
|
51
61
|
* Emits an event to all registered listeners for that event type.
|
|
@@ -299,7 +309,7 @@ class EventManager {
|
|
|
299
309
|
* Throws an error if the EventManager is locked
|
|
300
310
|
*/
|
|
301
311
|
checkLock() {
|
|
302
|
-
if (this
|
|
312
|
+
if (__classPrivateFieldGet(this, _EventManager_isLocked, "f")) {
|
|
303
313
|
throw new errors_1.LockedError("EventManager");
|
|
304
314
|
}
|
|
305
315
|
}
|
|
@@ -407,4 +417,5 @@ class EventManager {
|
|
|
407
417
|
}
|
|
408
418
|
}
|
|
409
419
|
exports.EventManager = EventManager;
|
|
420
|
+
_EventManager_isLocked = new WeakMap();
|
|
410
421
|
//# sourceMappingURL=EventManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventManager.js","sourceRoot":"","sources":["../../src/models/EventManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EventManager.js","sourceRoot":"","sources":["../../src/models/EventManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ const safeStringify_1 = require("./utils/safeStringify");
|
|
|
5
5
|
// eslint-disable-next-line no-control-regex
|
|
6
6
|
const ansiRegex = /[][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g;
|
|
7
7
|
function stripAnsi(str) {
|
|
8
|
-
return str.replace(ansiRegex,
|
|
8
|
+
return str.replace(ansiRegex, "");
|
|
9
9
|
}
|
|
10
10
|
const COLORS = {
|
|
11
11
|
trace: "\x1b[90m",
|
|
@@ -30,8 +30,6 @@ const ICONS = {
|
|
|
30
30
|
critical: "█",
|
|
31
31
|
};
|
|
32
32
|
class LogPrinter {
|
|
33
|
-
strategy;
|
|
34
|
-
colors;
|
|
35
33
|
constructor(options) {
|
|
36
34
|
this.strategy = options.strategy;
|
|
37
35
|
if (options.strategy === "plain") {
|
|
@@ -56,36 +54,34 @@ class LogPrinter {
|
|
|
56
54
|
const timePart = this.formatTime(timestamp);
|
|
57
55
|
const levelPart = this.formatLevel(level);
|
|
58
56
|
const sourcePart = this.formatSource(source);
|
|
59
|
-
const headerLine = [
|
|
60
|
-
timePart,
|
|
61
|
-
levelPart,
|
|
62
|
-
sourcePart,
|
|
63
|
-
]
|
|
57
|
+
const headerLine = [timePart, levelPart, sourcePart]
|
|
64
58
|
.filter(Boolean)
|
|
65
59
|
.join(" ");
|
|
66
60
|
const messageString = this.formatMessage(message);
|
|
67
|
-
const messageLines = messageString.split(
|
|
61
|
+
const messageLines = messageString.split("\n");
|
|
68
62
|
const output = [headerLine];
|
|
69
63
|
const timePartLength = stripAnsi(timePart).length;
|
|
70
64
|
const levelPartLength = stripAnsi(levelPart).length;
|
|
71
65
|
// Indentation is length of time + space + level + space
|
|
72
|
-
const indentation =
|
|
66
|
+
const indentation = " ".repeat(timePartLength + 1 + levelPartLength + 1);
|
|
73
67
|
if (message) {
|
|
74
|
-
output.push(...messageLines.map(line => `${indentation}${line}`));
|
|
68
|
+
output.push(...messageLines.map((line) => `${indentation}${line}`));
|
|
75
69
|
}
|
|
76
70
|
const errorLines = this.formatError(error);
|
|
77
71
|
const dataLines = this.formatData(data);
|
|
78
72
|
const contextLines = this.formatContext(context);
|
|
79
73
|
const detailsExist = errorLines.length > 0 || dataLines.length > 0 || contextLines.length > 0;
|
|
80
74
|
if (detailsExist) {
|
|
81
|
-
output.push(
|
|
75
|
+
output.push(""); // Add a space before details
|
|
82
76
|
}
|
|
83
77
|
output.push(...errorLines, ...dataLines, ...contextLines);
|
|
84
78
|
if (detailsExist) {
|
|
85
|
-
output.push(
|
|
79
|
+
output.push(""); // Add a space after for readability
|
|
86
80
|
}
|
|
87
81
|
const writer = this.pickWriter(level);
|
|
88
82
|
output.forEach((line) => writer(line));
|
|
83
|
+
// New line for readability especially in console
|
|
84
|
+
writer("");
|
|
89
85
|
}
|
|
90
86
|
pickWriter(level) {
|
|
91
87
|
const toError = level === "warn" || level === "error" || level === "critical";
|
|
@@ -111,12 +107,12 @@ class LogPrinter {
|
|
|
111
107
|
return `${this.colors.cyan}${source}${this.colors.reset}`;
|
|
112
108
|
}
|
|
113
109
|
formatMessage(message) {
|
|
114
|
-
if (typeof message ===
|
|
110
|
+
if (typeof message === "object" && message !== null) {
|
|
115
111
|
return (0, safeStringify_1.safeStringify)(message, 2);
|
|
116
112
|
}
|
|
117
113
|
return String(message);
|
|
118
114
|
}
|
|
119
|
-
formatError(error, indentation =
|
|
115
|
+
formatError(error, indentation = " ") {
|
|
120
116
|
if (!error)
|
|
121
117
|
return [];
|
|
122
118
|
const lines = [];
|
|
@@ -130,7 +126,7 @@ class LogPrinter {
|
|
|
130
126
|
}
|
|
131
127
|
return lines;
|
|
132
128
|
}
|
|
133
|
-
formatData(data, indentation =
|
|
129
|
+
formatData(data, indentation = " ") {
|
|
134
130
|
if (!data || Object.keys(data).length === 0)
|
|
135
131
|
return [];
|
|
136
132
|
const lines = [];
|
|
@@ -142,7 +138,7 @@ class LogPrinter {
|
|
|
142
138
|
});
|
|
143
139
|
return lines;
|
|
144
140
|
}
|
|
145
|
-
formatContext(context, indentation =
|
|
141
|
+
formatContext(context, indentation = " ") {
|
|
146
142
|
if (!context)
|
|
147
143
|
return [];
|
|
148
144
|
const filtered = { ...context };
|
|
@@ -171,26 +167,6 @@ class LogPrinter {
|
|
|
171
167
|
}
|
|
172
168
|
return normalized;
|
|
173
169
|
}
|
|
174
|
-
static NO_COLORS = {
|
|
175
|
-
trace: "",
|
|
176
|
-
debug: "",
|
|
177
|
-
info: "",
|
|
178
|
-
warn: "",
|
|
179
|
-
error: "",
|
|
180
|
-
critical: "",
|
|
181
|
-
reset: "",
|
|
182
|
-
bold: "",
|
|
183
|
-
dim: "",
|
|
184
|
-
blue: "",
|
|
185
|
-
cyan: "",
|
|
186
|
-
gray: "",
|
|
187
|
-
};
|
|
188
|
-
static writers = {
|
|
189
|
-
// eslint-disable-next-line no-console
|
|
190
|
-
log: (msg) => console.log(msg),
|
|
191
|
-
// eslint-disable-next-line no-console
|
|
192
|
-
error: (msg) => console.error?.(msg),
|
|
193
|
-
};
|
|
194
170
|
static setWriters(writers) {
|
|
195
171
|
LogPrinter.writers = { ...LogPrinter.writers, ...writers };
|
|
196
172
|
}
|
|
@@ -203,4 +179,24 @@ class LogPrinter {
|
|
|
203
179
|
}
|
|
204
180
|
}
|
|
205
181
|
exports.LogPrinter = LogPrinter;
|
|
182
|
+
LogPrinter.NO_COLORS = {
|
|
183
|
+
trace: "",
|
|
184
|
+
debug: "",
|
|
185
|
+
info: "",
|
|
186
|
+
warn: "",
|
|
187
|
+
error: "",
|
|
188
|
+
critical: "",
|
|
189
|
+
reset: "",
|
|
190
|
+
bold: "",
|
|
191
|
+
dim: "",
|
|
192
|
+
blue: "",
|
|
193
|
+
cyan: "",
|
|
194
|
+
gray: "",
|
|
195
|
+
};
|
|
196
|
+
LogPrinter.writers = {
|
|
197
|
+
// eslint-disable-next-line no-console
|
|
198
|
+
log: (msg) => console.log(msg),
|
|
199
|
+
// eslint-disable-next-line no-console
|
|
200
|
+
error: (msg) => console.error?.(msg),
|
|
201
|
+
};
|
|
206
202
|
//# sourceMappingURL=LogPrinter.js.map
|