@thymian/core 0.0.1 → 0.0.2
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/dist/actions/format.action.d.ts +4 -0
- package/dist/actions/format.action.d.ts.map +1 -0
- package/dist/actions/format.action.js +2 -0
- package/dist/actions/format.action.js.map +1 -0
- package/dist/actions/index.d.ts +3 -0
- package/dist/actions/index.d.ts.map +1 -1
- package/dist/actions/index.js +1 -0
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/load-format.action.d.ts +4 -1
- package/dist/actions/load-format.action.d.ts.map +1 -1
- package/dist/actions/load-format.action.js.map +1 -1
- package/dist/emitter/thymian-emitter.d.ts +9 -2
- package/dist/emitter/thymian-emitter.d.ts.map +1 -1
- package/dist/emitter/thymian-emitter.js +51 -12
- package/dist/emitter/thymian-emitter.js.map +1 -1
- package/dist/events/report.event.d.ts +3 -0
- package/dist/events/report.event.d.ts.map +1 -1
- package/dist/events/report.event.js +10 -0
- package/dist/events/report.event.js.map +1 -1
- package/dist/format/edges/edge.d.ts +1 -0
- package/dist/format/edges/edge.d.ts.map +1 -1
- package/dist/format/http-filter-expression-to-transaction-filter.d.ts +5 -0
- package/dist/format/http-filter-expression-to-transaction-filter.d.ts.map +1 -0
- package/dist/format/http-filter-expression-to-transaction-filter.js +88 -0
- package/dist/format/http-filter-expression-to-transaction-filter.js.map +1 -0
- package/dist/format/nodes/node.d.ts +1 -0
- package/dist/format/nodes/node.d.ts.map +1 -1
- package/dist/format/thymian-format.d.ts +36 -12
- package/dist/format/thymian-format.d.ts.map +1 -1
- package/dist/format/thymian-format.js +170 -33
- package/dist/format/thymian-format.js.map +1 -1
- package/dist/format/thymian-schema.d.ts +1 -0
- package/dist/format/thymian-schema.d.ts.map +1 -1
- package/dist/format/utils.d.ts +2 -2
- package/dist/format/utils.d.ts.map +1 -1
- package/dist/format/utils.js +9 -5
- package/dist/format/utils.js.map +1 -1
- package/dist/thymian-plugin.d.ts.map +1 -1
- package/dist/thymian-plugin.js +4 -2
- package/dist/thymian-plugin.js.map +1 -1
- package/dist/thymian.d.ts +8 -1
- package/dist/thymian.d.ts.map +1 -1
- package/dist/thymian.js +40 -27
- package/dist/thymian.js.map +1 -1
- package/dist/utils.d.ts +3 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +9 -2
- package/dist/utils.js.map +1 -1
- package/package.json +2 -1
package/dist/thymian.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Subject } from 'rxjs';
|
|
2
1
|
import semver from 'semver';
|
|
3
2
|
import packageJson from '../package.json' with { type: 'json' };
|
|
4
3
|
import { validate } from './ajv.js';
|
|
5
4
|
import { corePlugin } from './core-plugin.js';
|
|
6
5
|
import { ThymianEmitter } from './emitter/index.js';
|
|
7
6
|
import { ThymianFormat } from './format/index.js';
|
|
7
|
+
import { constant } from './http-filter.js';
|
|
8
8
|
import { NoopLogger } from './logger/noop.logger.js';
|
|
9
9
|
import { ThymianBaseError } from './thymian.error.js';
|
|
10
10
|
import { timeoutPromise } from './utils.js';
|
|
@@ -17,34 +17,34 @@ export class Thymian {
|
|
|
17
17
|
options;
|
|
18
18
|
#ready = false;
|
|
19
19
|
static VERSION = packageJson.version;
|
|
20
|
+
// Number of milliseconds that is waited for new events and actions to be emitted before shutting down the emitter.
|
|
21
|
+
static DEFAULT_IDLE_TIMEOUT = 500;
|
|
22
|
+
// number of milliseconds that is waited for actions response and plugin registration
|
|
23
|
+
static DEFAULT_TIMEOUT = 10000;
|
|
20
24
|
constructor(logger = new NoopLogger(), options = {}) {
|
|
21
25
|
this.logger = logger;
|
|
22
26
|
this.options = {
|
|
23
|
-
|
|
27
|
+
idleTimeout: Thymian.DEFAULT_IDLE_TIMEOUT,
|
|
28
|
+
timeout: Thymian.DEFAULT_TIMEOUT,
|
|
24
29
|
traceEvents: false,
|
|
25
30
|
cwd: process.cwd(),
|
|
31
|
+
logAllErrors: false,
|
|
26
32
|
...options,
|
|
27
33
|
};
|
|
28
|
-
const emitterLogger = this.options.traceEvents
|
|
29
|
-
|
|
30
|
-
: new NoopLogger();
|
|
31
|
-
this.emitter = new ThymianEmitter(emitterLogger, {
|
|
32
|
-
completed: new Set(),
|
|
33
|
-
errors: new Subject(),
|
|
34
|
-
events: new Subject(),
|
|
35
|
-
listeners: new Map(),
|
|
36
|
-
responses: new Subject(),
|
|
37
|
-
source: '@thymian/core',
|
|
38
|
-
}, {
|
|
34
|
+
const emitterLogger = logger.child('@thymian/core', this.options.traceEvents);
|
|
35
|
+
this.emitter = new ThymianEmitter(emitterLogger, ThymianEmitter.emptyEmitterState('@thymian/core'), {
|
|
39
36
|
traceEvents: this.options.traceEvents,
|
|
40
37
|
timeout: this.options.timeout,
|
|
41
38
|
});
|
|
42
39
|
}
|
|
43
40
|
register(plugin, options) {
|
|
44
|
-
|
|
45
|
-
|
|
41
|
+
// we only consider stable versions for compatibility checks, so that pre-releases
|
|
42
|
+
// like 1.0.0-beta.1 are also compatible with 1.0.0
|
|
43
|
+
const thymianStableVersion = Thymian.VERSION.replace(/-.*$/, '');
|
|
44
|
+
if (!semver.satisfies(thymianStableVersion, plugin.version)) {
|
|
45
|
+
throw new PluginRegistrationError(`@thymian/core version ${thymianStableVersion} does not match plugin version constraints ${plugin.version} from plugin "${plugin.name}".`, {
|
|
46
46
|
suggestions: [
|
|
47
|
-
`Install the matching plugin version for thymian version ${
|
|
47
|
+
`Install the matching plugin version for thymian version ${thymianStableVersion}.`,
|
|
48
48
|
],
|
|
49
49
|
});
|
|
50
50
|
}
|
|
@@ -54,7 +54,6 @@ export class Thymian {
|
|
|
54
54
|
throw new PluginRegistrationError(`Invalid options for plugin "${plugin.name}".`);
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
this.logger.debug(`Register plugin ${plugin.name}.`);
|
|
58
57
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
59
58
|
// @ts-expect-error
|
|
60
59
|
this.plugins.push({ plugin: plugin, options: options ?? {} });
|
|
@@ -70,7 +69,12 @@ export class Thymian {
|
|
|
70
69
|
}
|
|
71
70
|
run(fn) {
|
|
72
71
|
return new Promise((resolve, reject) => {
|
|
72
|
+
let closed = false;
|
|
73
73
|
const tryCloseThymian = (err) => {
|
|
74
|
+
if (closed) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
closed = true;
|
|
74
78
|
this.logger.debug('Try closing Thymian...');
|
|
75
79
|
this.close()
|
|
76
80
|
.then(() => {
|
|
@@ -83,15 +87,13 @@ export class Thymian {
|
|
|
83
87
|
});
|
|
84
88
|
};
|
|
85
89
|
this.emitter.onError((event) => {
|
|
90
|
+
if (closed && this.options.logAllErrors) {
|
|
91
|
+
this.logger
|
|
92
|
+
.child(event.source)[event.error.options.severity](event.error.message);
|
|
93
|
+
}
|
|
86
94
|
if (event.error.options.severity === 'error') {
|
|
87
95
|
tryCloseThymian(event.error);
|
|
88
96
|
}
|
|
89
|
-
else if (event.error.options.severity === 'warn') {
|
|
90
|
-
this.logger.warn(event.error.message);
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
this.logger.info(event.error.message);
|
|
94
|
-
}
|
|
95
97
|
});
|
|
96
98
|
(async () => {
|
|
97
99
|
await this.ready();
|
|
@@ -107,10 +109,13 @@ export class Thymian {
|
|
|
107
109
|
}
|
|
108
110
|
async close() {
|
|
109
111
|
await this.emitter.emitAction('core.close');
|
|
112
|
+
// This let the ThymianEmitter wait 500 ms for the last events to be emitted before shutting down.
|
|
113
|
+
await this.emitter.shutdown(this.options.idleTimeout);
|
|
114
|
+
this.emitter.completeSubjects();
|
|
110
115
|
}
|
|
111
|
-
async loadFormat() {
|
|
112
|
-
const
|
|
113
|
-
|
|
116
|
+
async loadFormat(filter = constant(true), _options = {}) {
|
|
117
|
+
const options = { emitFormat: true, ..._options };
|
|
118
|
+
const formats = await this.emitter.emitAction('core.load-format', { filter }, {
|
|
114
119
|
strategy: 'collect',
|
|
115
120
|
});
|
|
116
121
|
const format = formats.length === 0
|
|
@@ -120,7 +125,14 @@ export class Thymian {
|
|
|
120
125
|
.slice(1)
|
|
121
126
|
.reduce((acc, curr) => acc.merge(ThymianFormat.import(curr)), ThymianFormat.import(formats[0]));
|
|
122
127
|
this.logger.debug(`Merged Thymian format includes ${format.graph.order} nodes and ${format.graph.size} edges.`);
|
|
123
|
-
|
|
128
|
+
if (options.emitFormat) {
|
|
129
|
+
await this.emitter.emitAction('core.format', format.export());
|
|
130
|
+
}
|
|
131
|
+
const filteredFormat = format.filter(filter);
|
|
132
|
+
if (filteredFormat.graph.size === 0) {
|
|
133
|
+
this.logger.warn('No nodes found in Thymian format after filtering. Is this intended?');
|
|
134
|
+
}
|
|
135
|
+
return filteredFormat;
|
|
124
136
|
}
|
|
125
137
|
async loadRegisteredPlugins() {
|
|
126
138
|
await this.registerPlugin({
|
|
@@ -132,6 +144,7 @@ export class Thymian {
|
|
|
132
144
|
}
|
|
133
145
|
}
|
|
134
146
|
async registerPlugin(registeredPlugin) {
|
|
147
|
+
this.logger.debug(`Register plugin ${registeredPlugin.plugin.name} with options ${JSON.stringify(registeredPlugin.options)}`);
|
|
135
148
|
this.emitter.emit('core.register', {
|
|
136
149
|
name: registeredPlugin.plugin.name,
|
|
137
150
|
events: registeredPlugin.plugin.events ?? {},
|
package/dist/thymian.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thymian.js","sourceRoot":"","sources":["../src/thymian.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"thymian.js","sourceRoot":"","sources":["../src/thymian.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -10,14 +10,16 @@ export type KeysWithStringOrNumberValue<T> = keyof {
|
|
|
10
10
|
export type StringAndNumberProperties<T> = Partial<{
|
|
11
11
|
[key in KeysWithStringOrNumberValue<T>]: T[key];
|
|
12
12
|
}>;
|
|
13
|
-
export type PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K
|
|
13
|
+
export type PartialBy<T, K extends keyof T> = T extends any ? Omit<T, K> & Partial<Pick<T, K>> : never;
|
|
14
14
|
export declare function zipArrays<A, B>(as: A[], bs: B[]): [A, B][];
|
|
15
15
|
export declare function getHeader(headers: Record<string, string | string[] | undefined> | undefined, headerName: string): string | string[] | undefined;
|
|
16
|
+
export declare function objHasKeyIgnoreCase(obj: Record<PropertyKey, unknown>, key: PropertyKey): boolean;
|
|
16
17
|
export declare function setHeader(headers: Record<string, unknown>, headerName: string, value: unknown): Record<string, unknown>;
|
|
17
18
|
export type PartialExceptFor<T, K extends keyof T> = Partial<Omit<T, K>> & Pick<T, K>;
|
|
18
19
|
export declare function thymianRequestToString(req: ThymianHttpRequest): string;
|
|
19
20
|
export declare function thymianResponseToString(res: ThymianHttpResponse): string;
|
|
20
21
|
export declare function thymianHttpTransactionToString(req: ThymianHttpRequest, res: ThymianHttpResponse): string;
|
|
22
|
+
export declare function thymianHttpRequestToUrl(req: ThymianHttpRequest): string;
|
|
21
23
|
export declare function equalsIgnoreCase(a: string, ...b: string[]): boolean;
|
|
22
24
|
export declare function capitalizeFirstChar(str: string): string;
|
|
23
25
|
export type DeepPartial<T> = T extends object ? {
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAE3C,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAM3D,wBAAgB,cAAc,CAAC,CAAC,EAC9B,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,MAAM,SAAO,EACb,GAAG,CAAC,EAAE,KAAK,GACV,OAAO,CAAC,CAAC,CAAC,CAYZ;AAED,wBAAgB,QAAQ,CACtB,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAEvC;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.js
CHANGED
|
@@ -13,8 +13,9 @@ export function isRecord(value) {
|
|
|
13
13
|
return typeof value === 'object' && !Array.isArray(value) && value !== null;
|
|
14
14
|
}
|
|
15
15
|
export function matchObjects(source, target) {
|
|
16
|
-
if (!isRecord(source) || !isRecord(target))
|
|
16
|
+
if (!isRecord(source) || !isRecord(target)) {
|
|
17
17
|
return false;
|
|
18
|
+
}
|
|
18
19
|
return Object.entries(target)
|
|
19
20
|
.filter(([, value]) => Boolean(value))
|
|
20
21
|
.every(([key, value]) => {
|
|
@@ -40,6 +41,9 @@ export function getHeader(headers = {}, headerName) {
|
|
|
40
41
|
}
|
|
41
42
|
return undefined;
|
|
42
43
|
}
|
|
44
|
+
export function objHasKeyIgnoreCase(obj, key) {
|
|
45
|
+
return !!Object.keys(obj).find((k) => k.toLowerCase() === key.toString().toLowerCase());
|
|
46
|
+
}
|
|
43
47
|
export function setHeader(headers, headerName, value) {
|
|
44
48
|
const headerNames = Object.keys(headers);
|
|
45
49
|
const found = headerNames.find((name) => name.toLowerCase() === headerName.toLowerCase());
|
|
@@ -66,6 +70,9 @@ export function thymianResponseToString(res) {
|
|
|
66
70
|
export function thymianHttpTransactionToString(req, res) {
|
|
67
71
|
return `${thymianRequestToString(req)} \u2192 ${thymianResponseToString(res)}`;
|
|
68
72
|
}
|
|
73
|
+
export function thymianHttpRequestToUrl(req) {
|
|
74
|
+
return normalizeUrl(`${req.protocol}://${req.host}:${req.port}${req.path.startsWith('/') ? req.path : '/' + req.path}`);
|
|
75
|
+
}
|
|
69
76
|
export function equalsIgnoreCase(a, ...b) {
|
|
70
77
|
return b.some((str) => a.localeCompare(str, undefined, { sensitivity: 'accent' }) === 0);
|
|
71
78
|
}
|
|
@@ -94,7 +101,7 @@ export function normalizeUrl(urlString) {
|
|
|
94
101
|
if (url.pathname !== '/' && url.pathname.endsWith('/')) {
|
|
95
102
|
url.pathname = url.pathname.slice(0, -1);
|
|
96
103
|
}
|
|
97
|
-
return url.toString();
|
|
104
|
+
return decodeURI(url.toString());
|
|
98
105
|
}
|
|
99
106
|
export function httpRequestToLabel(request) {
|
|
100
107
|
return `${request.method.toUpperCase()} ${new URL(request.path, request.origin).toString()}`;
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAO3C,OAAO,EACL,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,8BAA8B,CAAC;AAEtC,MAAM,UAAU,cAAc,CAC5B,OAAmB,EACnB,MAAM,GAAG,IAAI,EACb,GAAW;IAEX,IAAI,QAAwB,CAAC;IAE7B,OAAO,OAAO,CAAC,IAAI,CAAI;QACrB,OAAO;QACP,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YACxB,QAAQ,GAAG,UAAU,CACnB,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,2BAA2B,MAAM,MAAM,CAAC,CAAC,EACvE,MAAM,CACP,CAAC;QACJ,CAAC,CAAC;KACH,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,KAAc;IAEd,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAe,EAAE,MAAe;IAC3D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thymian/core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.2",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "restricted"
|
|
6
6
|
},
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
"graphology": "^0.26.0",
|
|
31
31
|
"path-to-regexp": "^8.2.0",
|
|
32
32
|
"rxjs": "^7.8.2",
|
|
33
|
+
"safe-stable-stringify": "^2.5.0",
|
|
33
34
|
"semver": "^7.7.1"
|
|
34
35
|
},
|
|
35
36
|
"devDependencies": {
|