@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.
Files changed (49) hide show
  1. package/dist/actions/format.action.d.ts +4 -0
  2. package/dist/actions/format.action.d.ts.map +1 -0
  3. package/dist/actions/format.action.js +2 -0
  4. package/dist/actions/format.action.js.map +1 -0
  5. package/dist/actions/index.d.ts +3 -0
  6. package/dist/actions/index.d.ts.map +1 -1
  7. package/dist/actions/index.js +1 -0
  8. package/dist/actions/index.js.map +1 -1
  9. package/dist/actions/load-format.action.d.ts +4 -1
  10. package/dist/actions/load-format.action.d.ts.map +1 -1
  11. package/dist/actions/load-format.action.js.map +1 -1
  12. package/dist/emitter/thymian-emitter.d.ts +9 -2
  13. package/dist/emitter/thymian-emitter.d.ts.map +1 -1
  14. package/dist/emitter/thymian-emitter.js +51 -12
  15. package/dist/emitter/thymian-emitter.js.map +1 -1
  16. package/dist/events/report.event.d.ts +3 -0
  17. package/dist/events/report.event.d.ts.map +1 -1
  18. package/dist/events/report.event.js +10 -0
  19. package/dist/events/report.event.js.map +1 -1
  20. package/dist/format/edges/edge.d.ts +1 -0
  21. package/dist/format/edges/edge.d.ts.map +1 -1
  22. package/dist/format/http-filter-expression-to-transaction-filter.d.ts +5 -0
  23. package/dist/format/http-filter-expression-to-transaction-filter.d.ts.map +1 -0
  24. package/dist/format/http-filter-expression-to-transaction-filter.js +88 -0
  25. package/dist/format/http-filter-expression-to-transaction-filter.js.map +1 -0
  26. package/dist/format/nodes/node.d.ts +1 -0
  27. package/dist/format/nodes/node.d.ts.map +1 -1
  28. package/dist/format/thymian-format.d.ts +36 -12
  29. package/dist/format/thymian-format.d.ts.map +1 -1
  30. package/dist/format/thymian-format.js +170 -33
  31. package/dist/format/thymian-format.js.map +1 -1
  32. package/dist/format/thymian-schema.d.ts +1 -0
  33. package/dist/format/thymian-schema.d.ts.map +1 -1
  34. package/dist/format/utils.d.ts +2 -2
  35. package/dist/format/utils.d.ts.map +1 -1
  36. package/dist/format/utils.js +9 -5
  37. package/dist/format/utils.js.map +1 -1
  38. package/dist/thymian-plugin.d.ts.map +1 -1
  39. package/dist/thymian-plugin.js +4 -2
  40. package/dist/thymian-plugin.js.map +1 -1
  41. package/dist/thymian.d.ts +8 -1
  42. package/dist/thymian.d.ts.map +1 -1
  43. package/dist/thymian.js +40 -27
  44. package/dist/thymian.js.map +1 -1
  45. package/dist/utils.d.ts +3 -1
  46. package/dist/utils.d.ts.map +1 -1
  47. package/dist/utils.js +9 -2
  48. package/dist/utils.js.map +1 -1
  49. 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
- timeout: 5000,
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
- ? logger.child('@thymian/core', true)
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
- if (!semver.satisfies(Thymian.VERSION, plugin.version)) {
45
- throw new PluginRegistrationError(`@thymian/core version ${Thymian.VERSION} does not match plugin version constraints ${plugin.version} from plugin "${plugin.name}".`, {
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 ${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 formats = await this.emitter.emitAction('core.load-format', undefined, {
113
- timeout: 2000,
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
- return format;
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 ?? {},
@@ -1 +1 @@
1
- {"version":3,"file":"thymian.js","sourceRoot":"","sources":["../src/thymian.ts"],"names":[],"mappings":"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"}
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 ? {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
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":"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"}
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.1",
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": {