@bluelibs/runner 4.4.0 → 4.4.1
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 +13 -14
- package/README.md +13 -9
- package/dist/models/LogPrinter.js +13 -15
- package/dist/models/LogPrinter.js.map +1 -1
- package/dist/models/Logger.d.ts +4 -4
- package/dist/models/Logger.js +9 -7
- package/dist/models/Logger.js.map +1 -1
- package/package.json +1 -1
package/AI.md
CHANGED
|
@@ -10,12 +10,6 @@ npm install @bluelibs/runner
|
|
|
10
10
|
|
|
11
11
|
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.
|
|
12
12
|
|
|
13
|
-
## Security & Compliance
|
|
14
|
-
|
|
15
|
-
- Guarantees: runtime circular-dependency failure, override precedence safety, event cycle detection, validation gates for inputs/outputs/config, error boundary + graceful shutdown, timeout/retry middleware, global-hook scoping via `excludeFromGlobalHooks`.
|
|
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).
|
|
18
|
-
|
|
19
13
|
## DI Container Guarantees
|
|
20
14
|
|
|
21
15
|
This is the foundation of trust for any DI framework.
|
|
@@ -388,15 +382,20 @@ const app = resource({
|
|
|
388
382
|
|
|
389
383
|
## Namespacing
|
|
390
384
|
|
|
391
|
-
As your app grows,
|
|
385
|
+
As your app grows, you'll want consistent naming. Here's the convention that won't drive you crazy:
|
|
386
|
+
|
|
387
|
+
| Type | Format |
|
|
388
|
+
| ------------------- | ------------------------------------------------ |
|
|
389
|
+
| Resources | `{domain}.resources.{resource-name}` |
|
|
390
|
+
| Tasks | `{domain}.tasks.{task-name}` |
|
|
391
|
+
| Events | `{domain}.events.{event-name}` |
|
|
392
|
+
| Hooks | `{domain}.hooks.on-{event-name}` |
|
|
393
|
+
| Task Middleware | `{domain}.middleware.task.{middleware-name}` |
|
|
394
|
+
| Resource Middleware | `{domain}.middleware.resource.{middleware-name}` |
|
|
395
|
+
|
|
396
|
+
We recommend kebab-case for file names and ids. Suffix files with their primitive type: `*.task.ts`, `*.task-middleware.ts`, `*.hook.ts`, etc.
|
|
392
397
|
|
|
393
|
-
|
|
394
|
-
| ---------- | -------------------------------------- |
|
|
395
|
-
| Tasks | `{domain}.tasks.{taskName}` |
|
|
396
|
-
| Hooks | `{domain}.hooks.on{EventName}` |
|
|
397
|
-
| Resources | `{domain}.resources.{resourceName}` |
|
|
398
|
-
| Events | `{domain}.events.{eventName}` |
|
|
399
|
-
| Middleware | `{domain}.middleware.{middlewareName}` |
|
|
398
|
+
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
399
|
|
|
401
400
|
## Factory Pattern
|
|
402
401
|
|
package/README.md
CHANGED
|
@@ -2054,14 +2054,18 @@ Overrides are applied after everything is registered. If multiple overrides targ
|
|
|
2054
2054
|
|
|
2055
2055
|
As your app grows, you'll want consistent naming. Here's the convention that won't drive you crazy:
|
|
2056
2056
|
|
|
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.{
|
|
2057
|
+
| Type | Format |
|
|
2058
|
+
| ------------------- | ------------------------------------------------ |
|
|
2059
|
+
| Resources | `{domain}.resources.{resource-name}` |
|
|
2060
|
+
| Tasks | `{domain}.tasks.{task-name}` |
|
|
2061
|
+
| Events | `{domain}.events.{event-name}` |
|
|
2062
|
+
| Hooks | `{domain}.hooks.on-{event-name}` |
|
|
2063
|
+
| Task Middleware | `{domain}.middleware.task.{middleware-name}` |
|
|
2064
|
+
| Resource Middleware | `{domain}.middleware.resource.{middleware-name}` |
|
|
2065
|
+
|
|
2066
|
+
We recommend kebab-case for file names and ids. Suffix files with their primitive type: `*.task.ts`, `*.task-middleware.ts`, `*.hook.ts`, etc.
|
|
2067
|
+
|
|
2068
|
+
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
2069
|
|
|
2066
2070
|
```typescript
|
|
2067
2071
|
// Helper function for consistency
|
|
@@ -2070,7 +2074,7 @@ function namespaced(id: string) {
|
|
|
2070
2074
|
}
|
|
2071
2075
|
|
|
2072
2076
|
const userTask = task({
|
|
2073
|
-
id: namespaced("tasks.user.create"),
|
|
2077
|
+
id: namespaced("tasks.user.create-user"),
|
|
2074
2078
|
// ...
|
|
2075
2079
|
});
|
|
2076
2080
|
```
|
|
@@ -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",
|
|
@@ -56,36 +56,34 @@ class LogPrinter {
|
|
|
56
56
|
const timePart = this.formatTime(timestamp);
|
|
57
57
|
const levelPart = this.formatLevel(level);
|
|
58
58
|
const sourcePart = this.formatSource(source);
|
|
59
|
-
const headerLine = [
|
|
60
|
-
timePart,
|
|
61
|
-
levelPart,
|
|
62
|
-
sourcePart,
|
|
63
|
-
]
|
|
59
|
+
const headerLine = [timePart, levelPart, sourcePart]
|
|
64
60
|
.filter(Boolean)
|
|
65
61
|
.join(" ");
|
|
66
62
|
const messageString = this.formatMessage(message);
|
|
67
|
-
const messageLines = messageString.split(
|
|
63
|
+
const messageLines = messageString.split("\n");
|
|
68
64
|
const output = [headerLine];
|
|
69
65
|
const timePartLength = stripAnsi(timePart).length;
|
|
70
66
|
const levelPartLength = stripAnsi(levelPart).length;
|
|
71
67
|
// Indentation is length of time + space + level + space
|
|
72
|
-
const indentation =
|
|
68
|
+
const indentation = " ".repeat(timePartLength + 1 + levelPartLength + 1);
|
|
73
69
|
if (message) {
|
|
74
|
-
output.push(...messageLines.map(line => `${indentation}${line}`));
|
|
70
|
+
output.push(...messageLines.map((line) => `${indentation}${line}`));
|
|
75
71
|
}
|
|
76
72
|
const errorLines = this.formatError(error);
|
|
77
73
|
const dataLines = this.formatData(data);
|
|
78
74
|
const contextLines = this.formatContext(context);
|
|
79
75
|
const detailsExist = errorLines.length > 0 || dataLines.length > 0 || contextLines.length > 0;
|
|
80
76
|
if (detailsExist) {
|
|
81
|
-
output.push(
|
|
77
|
+
output.push(""); // Add a space before details
|
|
82
78
|
}
|
|
83
79
|
output.push(...errorLines, ...dataLines, ...contextLines);
|
|
84
80
|
if (detailsExist) {
|
|
85
|
-
output.push(
|
|
81
|
+
output.push(""); // Add a space after for readability
|
|
86
82
|
}
|
|
87
83
|
const writer = this.pickWriter(level);
|
|
88
84
|
output.forEach((line) => writer(line));
|
|
85
|
+
// New line for readability especially in console
|
|
86
|
+
writer("");
|
|
89
87
|
}
|
|
90
88
|
pickWriter(level) {
|
|
91
89
|
const toError = level === "warn" || level === "error" || level === "critical";
|
|
@@ -111,12 +109,12 @@ class LogPrinter {
|
|
|
111
109
|
return `${this.colors.cyan}${source}${this.colors.reset}`;
|
|
112
110
|
}
|
|
113
111
|
formatMessage(message) {
|
|
114
|
-
if (typeof message ===
|
|
112
|
+
if (typeof message === "object" && message !== null) {
|
|
115
113
|
return (0, safeStringify_1.safeStringify)(message, 2);
|
|
116
114
|
}
|
|
117
115
|
return String(message);
|
|
118
116
|
}
|
|
119
|
-
formatError(error, indentation =
|
|
117
|
+
formatError(error, indentation = " ") {
|
|
120
118
|
if (!error)
|
|
121
119
|
return [];
|
|
122
120
|
const lines = [];
|
|
@@ -130,7 +128,7 @@ class LogPrinter {
|
|
|
130
128
|
}
|
|
131
129
|
return lines;
|
|
132
130
|
}
|
|
133
|
-
formatData(data, indentation =
|
|
131
|
+
formatData(data, indentation = " ") {
|
|
134
132
|
if (!data || Object.keys(data).length === 0)
|
|
135
133
|
return [];
|
|
136
134
|
const lines = [];
|
|
@@ -142,7 +140,7 @@ class LogPrinter {
|
|
|
142
140
|
});
|
|
143
141
|
return lines;
|
|
144
142
|
}
|
|
145
|
-
formatContext(context, indentation =
|
|
143
|
+
formatContext(context, indentation = " ") {
|
|
146
144
|
if (!context)
|
|
147
145
|
return [];
|
|
148
146
|
const filtered = { ...context };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogPrinter.js","sourceRoot":"","sources":["../../src/models/LogPrinter.ts"],"names":[],"mappings":";;;AAAA,yDAAsD;AAEtD,4CAA4C;AAC5C,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"LogPrinter.js","sourceRoot":"","sources":["../../src/models/LogPrinter.ts"],"names":[],"mappings":"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"}
|
package/dist/models/Logger.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PrintStrategy as PrinterStrategy } from "./LogPrinter";
|
|
1
|
+
import { LogPrinter, PrintStrategy as PrinterStrategy } from "./LogPrinter";
|
|
2
2
|
export type LogLevels = "trace" | "debug" | "info" | "warn" | "error" | "critical";
|
|
3
3
|
export interface ILogInfo {
|
|
4
4
|
source?: string;
|
|
@@ -46,14 +46,14 @@ export declare class Logger {
|
|
|
46
46
|
printStrategy: PrintStrategy;
|
|
47
47
|
bufferLogs: boolean;
|
|
48
48
|
useColors?: boolean;
|
|
49
|
-
}, boundContext?: Record<string, any>, source?: string);
|
|
49
|
+
}, boundContext?: Record<string, any>, source?: string, printer?: LogPrinter);
|
|
50
50
|
private detectColorSupport;
|
|
51
51
|
/**
|
|
52
52
|
* Creates a new logger instance with additional bound context
|
|
53
53
|
*/
|
|
54
|
-
with({ source, context, }: {
|
|
54
|
+
with({ source, additionalContext: context, }: {
|
|
55
55
|
source?: string;
|
|
56
|
-
|
|
56
|
+
additionalContext?: Record<string, any>;
|
|
57
57
|
}): Logger;
|
|
58
58
|
/**
|
|
59
59
|
* Core logging method with structured LogInfo
|
package/dist/models/Logger.js
CHANGED
|
@@ -24,7 +24,7 @@ class Logger {
|
|
|
24
24
|
error: 4,
|
|
25
25
|
critical: 5,
|
|
26
26
|
};
|
|
27
|
-
constructor(options, boundContext = {}, source) {
|
|
27
|
+
constructor(options, boundContext = {}, source, printer) {
|
|
28
28
|
this.boundContext = { ...boundContext };
|
|
29
29
|
this.printThreshold = options.printThreshold;
|
|
30
30
|
this.printStrategy = options.printStrategy;
|
|
@@ -33,11 +33,13 @@ class Logger {
|
|
|
33
33
|
typeof options.useColors === "boolean"
|
|
34
34
|
? options.useColors
|
|
35
35
|
: this.detectColorSupport();
|
|
36
|
-
this.printer = new LogPrinter_1.LogPrinter({
|
|
37
|
-
strategy: this.printStrategy,
|
|
38
|
-
useColors: this.useColors,
|
|
39
|
-
});
|
|
40
36
|
this.source = source;
|
|
37
|
+
this.printer = printer
|
|
38
|
+
? printer
|
|
39
|
+
: new LogPrinter_1.LogPrinter({
|
|
40
|
+
strategy: this.printStrategy,
|
|
41
|
+
useColors: this.useColors,
|
|
42
|
+
});
|
|
41
43
|
}
|
|
42
44
|
detectColorSupport() {
|
|
43
45
|
// Respect NO_COLOR convention
|
|
@@ -54,13 +56,13 @@ class Logger {
|
|
|
54
56
|
/**
|
|
55
57
|
* Creates a new logger instance with additional bound context
|
|
56
58
|
*/
|
|
57
|
-
with({ source, context, }) {
|
|
59
|
+
with({ source, additionalContext: context, }) {
|
|
58
60
|
const child = new Logger({
|
|
59
61
|
printThreshold: this.printThreshold,
|
|
60
62
|
printStrategy: this.printStrategy,
|
|
61
63
|
bufferLogs: this.bufferLogs,
|
|
62
64
|
useColors: this.useColors,
|
|
63
|
-
}, { ...this.boundContext, ...context }, source);
|
|
65
|
+
}, { ...this.boundContext, ...context }, source, this.printer);
|
|
64
66
|
// Ensure child logger delegates buffering, listeners and printing to root
|
|
65
67
|
child.rootLogger = this.rootLogger ?? this;
|
|
66
68
|
return child;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/models/Logger.ts"],"names":[],"mappings":";;;AAEA,6CAA4E;AAkC5E,MAAa,MAAM;IACT,cAAc,GAAqB,MAAM,CAAC;IAC1C,aAAa,GAAkB,QAAQ,CAAC;IACxC,UAAU,GAAY,KAAK,CAAC;IAC5B,MAAM,GAAW,EAAE,CAAC;IACpB,YAAY,GAAwB,EAAE,CAAC;IACvC,QAAQ,GAAY,KAAK,CAAC;IAC1B,SAAS,GAAY,IAAI,CAAC;IAC1B,OAAO,CAAa;IACpB,MAAM,CAAU;IACxB,qFAAqF;IAC7E,UAAU,CAAU;IAC5B,sBAAsB;IACf,cAAc,GAA+C,EAAE,CAAC;IAEhE,MAAM,CAAC,QAAQ,GAAG;QACvB,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;QACR,QAAQ,EAAE,CAAC;KACZ,CAAC;IAEF,YACE,OAKC,EACD,eAAoC,EAAE,EACtC,MAAe;
|
|
1
|
+
{"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/models/Logger.ts"],"names":[],"mappings":"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"}
|