@bluelibs/runner 3.2.0 → 3.3.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.
Files changed (95) hide show
  1. package/README.md +482 -34
  2. package/dist/cli/extract-docs.d.ts +2 -0
  3. package/dist/cli/extract-docs.js +88 -0
  4. package/dist/cli/extract-docs.js.map +1 -0
  5. package/dist/define.d.ts +21 -1
  6. package/dist/define.js +95 -23
  7. package/dist/define.js.map +1 -1
  8. package/dist/defs/core.d.ts +144 -0
  9. package/dist/defs/core.js +6 -0
  10. package/dist/defs/core.js.map +1 -0
  11. package/dist/defs/symbols.d.ts +42 -0
  12. package/dist/defs/symbols.js +45 -0
  13. package/dist/defs/symbols.js.map +1 -0
  14. package/dist/defs/tags.d.ts +70 -0
  15. package/dist/defs/tags.js +6 -0
  16. package/dist/defs/tags.js.map +1 -0
  17. package/dist/defs.d.ts +168 -16
  18. package/dist/defs.js +41 -14
  19. package/dist/defs.js.map +1 -1
  20. package/dist/docs/introspect.d.ts +7 -0
  21. package/dist/docs/introspect.js +199 -0
  22. package/dist/docs/introspect.js.map +1 -0
  23. package/dist/docs/markdown.d.ts +2 -0
  24. package/dist/docs/markdown.js +148 -0
  25. package/dist/docs/markdown.js.map +1 -0
  26. package/dist/docs/model.d.ts +62 -0
  27. package/dist/docs/model.js +33 -0
  28. package/dist/docs/model.js.map +1 -0
  29. package/dist/express/docsRouter.d.ts +12 -0
  30. package/dist/express/docsRouter.js +54 -0
  31. package/dist/express/docsRouter.js.map +1 -0
  32. package/dist/globals/globalMiddleware.d.ts +1 -0
  33. package/dist/globals/globalMiddleware.js +2 -0
  34. package/dist/globals/globalMiddleware.js.map +1 -1
  35. package/dist/globals/middleware/timeout.middleware.d.ts +8 -0
  36. package/dist/globals/middleware/timeout.middleware.js +35 -0
  37. package/dist/globals/middleware/timeout.middleware.js.map +1 -0
  38. package/dist/index.d.ts +4 -2
  39. package/dist/index.js +5 -1
  40. package/dist/index.js.map +1 -1
  41. package/dist/models/DependencyProcessor.js +2 -2
  42. package/dist/models/DependencyProcessor.js.map +1 -1
  43. package/dist/models/Store.d.ts +1 -1
  44. package/dist/models/StoreConstants.d.ts +1 -1
  45. package/dist/models/StoreConstants.js +2 -1
  46. package/dist/models/StoreConstants.js.map +1 -1
  47. package/dist/models/TaskRunner.d.ts +2 -3
  48. package/dist/models/TaskRunner.js +1 -2
  49. package/dist/models/TaskRunner.js.map +1 -1
  50. package/dist/testing.d.ts +24 -0
  51. package/dist/testing.js +41 -0
  52. package/dist/testing.js.map +1 -0
  53. package/dist/types/dependencies.d.ts +47 -18
  54. package/dist/types/event.d.ts +49 -0
  55. package/dist/types/event.js +4 -0
  56. package/dist/types/event.js.map +1 -0
  57. package/dist/types/index.d.ts +4 -10
  58. package/dist/types/index.js +8 -7
  59. package/dist/types/index.js.map +1 -1
  60. package/dist/types/metadata.d.ts +75 -0
  61. package/dist/types/metadata.js +3 -0
  62. package/dist/types/metadata.js.map +1 -0
  63. package/dist/types/middleware.d.ts +43 -18
  64. package/dist/types/middleware.js +0 -3
  65. package/dist/types/middleware.js.map +1 -1
  66. package/dist/types/resource.d.ts +96 -0
  67. package/dist/types/resource.js +3 -0
  68. package/dist/types/resource.js.map +1 -0
  69. package/dist/types/symbols.d.ts +17 -0
  70. package/dist/types/symbols.js +18 -3
  71. package/dist/types/symbols.js.map +1 -1
  72. package/dist/types/task.d.ts +68 -0
  73. package/dist/types/task.js +3 -0
  74. package/dist/types/task.js.map +1 -0
  75. package/package.json +4 -4
  76. package/src/__tests__/benchmark/task-benchmark.test.ts +132 -0
  77. package/src/__tests__/createTestResource.test.ts +139 -0
  78. package/src/__tests__/globals/timeout.middleware.test.ts +88 -0
  79. package/src/__tests__/models/EventManager.test.ts +39 -6
  80. package/src/__tests__/models/Semaphore.test.ts +1 -1
  81. package/src/__tests__/override.test.ts +104 -0
  82. package/src/__tests__/run.overrides.test.ts +50 -21
  83. package/src/__tests__/run.test.ts +19 -0
  84. package/src/__tests__/tags.test.ts +396 -0
  85. package/src/__tests__/tools/getCallerFile.test.ts +9 -11
  86. package/src/__tests__/typesafety.test.ts +109 -1
  87. package/src/define.ts +128 -24
  88. package/src/defs.ts +174 -22
  89. package/src/globals/globalMiddleware.ts +2 -0
  90. package/src/globals/middleware/timeout.middleware.ts +46 -0
  91. package/src/index.ts +6 -0
  92. package/src/models/DependencyProcessor.ts +2 -10
  93. package/src/models/StoreConstants.ts +2 -1
  94. package/src/models/TaskRunner.ts +1 -3
  95. package/src/testing.ts +66 -0
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.renderMarkdown = renderMarkdown;
4
+ const fs = require("fs");
5
+ const path = require("path");
6
+ function ensureDir(dir) {
7
+ fs.mkdirSync(dir, { recursive: true });
8
+ }
9
+ function escapeMd(s) {
10
+ if (!s)
11
+ return "";
12
+ return String(s).replace(/\|/g, "\\|");
13
+ }
14
+ function kinds(nodes) {
15
+ return {
16
+ resources: nodes.filter((n) => n.kind === "resource"),
17
+ tasks: nodes.filter((n) => n.kind === "task"),
18
+ events: nodes.filter((n) => n.kind === "event"),
19
+ middleware: nodes.filter((n) => n.kind === "middleware"),
20
+ };
21
+ }
22
+ function slugifyId(id) {
23
+ return id
24
+ .replace(/Symbol\(([^)]*)\)/g, "$1")
25
+ .replace(/[^a-zA-Z0-9._-]+/g, "-")
26
+ .replace(/-+/g, "-")
27
+ .replace(/^-|-$|\.$/g, "");
28
+ }
29
+ function kindDir(kind) {
30
+ if (kind === "resource")
31
+ return "resources";
32
+ if (kind === "task")
33
+ return "tasks";
34
+ if (kind === "event")
35
+ return "events";
36
+ return "middleware";
37
+ }
38
+ function renderTable(nodes) {
39
+ if (nodes.length === 0)
40
+ return "_None_\n";
41
+ let out = "| ID | Title | Description | File | Tags |\n| --- | --- | --- | --- | --- |\n";
42
+ for (const n of nodes) {
43
+ const tags = Array.isArray(n.tags)
44
+ ? n.tags
45
+ .map((t) => (typeof t === "string" ? t : t?.id ?? "[tag]"))
46
+ .join(", ")
47
+ : "";
48
+ const link = `${kindDir(n.kind)}/${slugifyId(n.id)}.md`;
49
+ out += `| [${escapeMd(n.id)}](${link}) | ${escapeMd(n.title)} | ${escapeMd(n.description)} | ${escapeMd(n.file)} | ${escapeMd(tags)} |\n`;
50
+ }
51
+ return out + "\n";
52
+ }
53
+ function renderMarkdown(graph, outDir) {
54
+ ensureDir(outDir);
55
+ ensureDir(path.join(outDir, "resources"));
56
+ ensureDir(path.join(outDir, "tasks"));
57
+ ensureDir(path.join(outDir, "events"));
58
+ ensureDir(path.join(outDir, "middleware"));
59
+ const idx = [
60
+ `# Project Book`,
61
+ ``,
62
+ `This document was generated from your Runner definitions.`,
63
+ ``,
64
+ `## Summary`,
65
+ `- Resources: ${graph.summary.counts.resources}`,
66
+ `- Tasks: ${graph.summary.counts.tasks}`,
67
+ `- Events: ${graph.summary.counts.events}`,
68
+ `- Middleware: ${graph.summary.counts.middleware}`,
69
+ `- Edges: ${graph.summary.counts.edges}`,
70
+ ``,
71
+ `## Table of Contents`,
72
+ `- [Resources](#resources)`,
73
+ `- [Tasks](#tasks)`,
74
+ `- [Events](#events)`,
75
+ `- [Middleware](#middleware)`,
76
+ `- [Namespaces](#namespaces)`,
77
+ ``,
78
+ ];
79
+ const grouped = kinds(graph.nodes);
80
+ idx.push("## Resources\n\n" + renderTable(grouped.resources));
81
+ idx.push("## Tasks\n\n" + renderTable(grouped.tasks));
82
+ idx.push("## Events\n\n" + renderTable(grouped.events));
83
+ idx.push("## Middleware\n\n" + renderTable(grouped.middleware));
84
+ // Namespaces section
85
+ const byNs = new Map();
86
+ for (const n of graph.nodes) {
87
+ const ns = n.namespace || "(none)";
88
+ const list = byNs.get(ns) || [];
89
+ list.push(n);
90
+ byNs.set(ns, list);
91
+ }
92
+ idx.push("## Namespaces\n");
93
+ for (const [ns, list] of Array.from(byNs.entries()).sort((a, b) => a[0].localeCompare(b[0]))) {
94
+ const counts = kinds(list);
95
+ idx.push(`### ${ns}\n- resources: ${counts.resources.length}\n- tasks: ${counts.tasks.length}\n- events: ${counts.events.length}\n- middleware: ${counts.middleware.length}\n`);
96
+ }
97
+ const readme = idx.join("\n");
98
+ fs.writeFileSync(path.join(outDir, "index.md"), readme, "utf-8");
99
+ fs.writeFileSync(path.join(outDir, "README.md"), readme, "utf-8");
100
+ // Build reverse edge index for dependents
101
+ const incoming = new Map();
102
+ for (const e of graph.edges) {
103
+ const list = incoming.get(e.to) || [];
104
+ list.push({ type: e.type, from: e.from, meta: e.meta });
105
+ incoming.set(e.to, list);
106
+ }
107
+ // Detail pages
108
+ for (const n of graph.nodes) {
109
+ const header = [
110
+ `# ${n.id}`,
111
+ "",
112
+ n.title ? `> ${n.title}` : "",
113
+ n.description ? `\n${n.description}\n` : "",
114
+ ];
115
+ const file = n.file
116
+ ? `- File: \
117
+ \`${n.file}\``
118
+ : "";
119
+ const tags = Array.isArray(n.tags)
120
+ ? n.tags
121
+ .map((t) => typeof t === "string" ? `\`${t}\`` : `\`${t?.id}\``)
122
+ .join(" ")
123
+ : "";
124
+ const edgesOut = graph.edges.filter((e) => e.from === n.id);
125
+ const edgesIn = incoming.get(n.id) || [];
126
+ const sect = [
127
+ ...header,
128
+ "",
129
+ file,
130
+ tags ? `- Tags: ${tags}` : "",
131
+ "",
132
+ "## Outgoing",
133
+ edgesOut.length ? "" : "_None_",
134
+ ...edgesOut.map((e) => `- ${e.type} → \
135
+ \`${e.to}\`${e.meta ? ` (${JSON.stringify(e.meta)})` : ""}`),
136
+ "",
137
+ "## Incoming",
138
+ edgesIn.length ? "" : "_None_",
139
+ ...edgesIn.map((e) => `- ${e.type} ← \
140
+ \`${e.from}\`${e.meta ? ` (${JSON.stringify(e.meta)})` : ""}`),
141
+ "",
142
+ "[Back to index](../index.md)",
143
+ ].filter(Boolean);
144
+ const dir = path.join(outDir, kindDir(n.kind));
145
+ fs.writeFileSync(path.join(dir, `${slugifyId(n.id)}.md`), sect.join("\n"), "utf-8");
146
+ }
147
+ }
148
+ //# sourceMappingURL=markdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/docs/markdown.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ export type NormalizedId = string;
2
+ export type NodeKind = "resource" | "task" | "event" | "middleware";
3
+ export type BaseNode = {
4
+ id: NormalizedId;
5
+ kind: NodeKind;
6
+ file?: string;
7
+ title?: string;
8
+ description?: string;
9
+ tags?: any[];
10
+ namespace?: string;
11
+ };
12
+ export type ResourceNode = BaseNode & {
13
+ kind: "resource";
14
+ };
15
+ export type TaskNode = BaseNode & {
16
+ kind: "task";
17
+ on?: NormalizedId | "*";
18
+ listenerOrder?: number;
19
+ };
20
+ export type EventNode = BaseNode & {
21
+ kind: "event";
22
+ };
23
+ export type MiddlewareNode = BaseNode & {
24
+ kind: "middleware";
25
+ everywhere?: {
26
+ tasks: boolean;
27
+ resources: boolean;
28
+ };
29
+ };
30
+ export type GraphNode = ResourceNode | TaskNode | EventNode | MiddlewareNode;
31
+ export type EdgeType = "registers" | "dependsOn" | "listensTo" | "middleware" | "overrideRequest" | "overrides";
32
+ export type GraphEdge = {
33
+ type: EdgeType;
34
+ from: NormalizedId;
35
+ to: NormalizedId;
36
+ meta?: Record<string, any>;
37
+ };
38
+ export type DocsGraph = {
39
+ version: 1;
40
+ summary: {
41
+ counts: {
42
+ resources: number;
43
+ tasks: number;
44
+ events: number;
45
+ middleware: number;
46
+ edges: number;
47
+ };
48
+ };
49
+ nodes: GraphNode[];
50
+ edges: GraphEdge[];
51
+ packages?: {
52
+ name: string;
53
+ root?: string;
54
+ }[];
55
+ };
56
+ export declare function guessNamespaceFromId(id: string): string | undefined;
57
+ export declare function normalizeId(id: string | symbol): NormalizedId;
58
+ export declare function buildBaseNode(kind: NodeKind, id: string | symbol, file: string | undefined, meta: {
59
+ title?: string;
60
+ description?: string;
61
+ tags?: any[];
62
+ } | undefined): BaseNode;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.guessNamespaceFromId = guessNamespaceFromId;
4
+ exports.normalizeId = normalizeId;
5
+ exports.buildBaseNode = buildBaseNode;
6
+ function guessNamespaceFromId(id) {
7
+ if (!id)
8
+ return undefined;
9
+ const parts = id.split(".");
10
+ if (parts.length < 2)
11
+ return parts[0] || undefined;
12
+ // Heuristic: first two segments, eg: "app.tasks"
13
+ return parts.slice(0, 2).join(".");
14
+ }
15
+ function normalizeId(id) {
16
+ if (typeof id === "string")
17
+ return id;
18
+ const s = id.toString?.() || String(id);
19
+ return s;
20
+ }
21
+ function buildBaseNode(kind, id, file, meta) {
22
+ const normId = normalizeId(id);
23
+ return {
24
+ id: normId,
25
+ kind,
26
+ file,
27
+ title: meta?.title,
28
+ description: meta?.description,
29
+ tags: meta?.tags,
30
+ namespace: typeof id === "string" ? guessNamespaceFromId(id) : undefined,
31
+ };
32
+ }
33
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/docs/model.ts"],"names":[],"mappings":";;AAuEA,oDAMC;AAED,kCAIC;AAED,sCAgBC;AA9BD,SAAgB,oBAAoB,CAAC,EAAU;IAC7C,IAAI,CAAC,EAAE;QAAE,OAAO,SAAS,CAAC;IAC1B,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IACnD,iDAAiD;IACjD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrC,CAAC;AAED,SAAgB,WAAW,CAAC,EAAmB;IAC7C,IAAI,OAAO,EAAE,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACtC,MAAM,CAAC,GAAI,EAAU,CAAC,QAAQ,EAAE,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;IACjD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAgB,aAAa,CAC3B,IAAc,EACd,EAAmB,EACnB,IAAwB,EACxB,IAAwE;IAExE,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IAC/B,OAAO;QACL,EAAE,EAAE,MAAM;QACV,IAAI;QACJ,IAAI;QACJ,KAAK,EAAE,IAAI,EAAE,KAAK;QAClB,WAAW,EAAE,IAAI,EAAE,WAAW;QAC9B,IAAI,EAAE,IAAI,EAAE,IAAI;QAChB,SAAS,EAAE,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;KAC7D,CAAC;AAChB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { Router } from "express";
2
+ import type { IResource } from "../defs";
3
+ type DocsRouterOptions = {
4
+ getRoot: () => {
5
+ resource: IResource<any, any, any, any>;
6
+ config?: any;
7
+ };
8
+ includeGlobals?: boolean;
9
+ enabled?: boolean | (() => boolean);
10
+ };
11
+ export declare function createDocsRouter(options: DocsRouterOptions): Router;
12
+ export {};
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createDocsRouter = createDocsRouter;
4
+ const express_1 = require("express");
5
+ const introspect_1 = require("../docs/introspect");
6
+ function createDocsRouter(options) {
7
+ const router = express_1.default.Router();
8
+ const isEnabled = () => {
9
+ if (typeof options.enabled === "function")
10
+ return options.enabled();
11
+ if (typeof options.enabled === "boolean")
12
+ return options.enabled;
13
+ return process.env.RUNNER_DOCS === "1";
14
+ };
15
+ router.get("/docs.json", async (req, res) => {
16
+ if (!isEnabled())
17
+ return res.status(404).end();
18
+ const { resource, config } = options.getRoot();
19
+ const graph = await (0, introspect_1.introspectResource)(resource, config ?? {}, {
20
+ includeGlobals: options.includeGlobals,
21
+ });
22
+ res.json(graph);
23
+ });
24
+ router.get("/docs", (req, res) => {
25
+ if (!isEnabled())
26
+ return res.status(404).end();
27
+ res.setHeader("content-type", "text/html");
28
+ res.end(`<!doctype html>
29
+ <html>
30
+ <head>
31
+ <meta charset="utf-8" />
32
+ <title>Runner Docs</title>
33
+ <style>
34
+ body { font-family: -apple-system, Segoe UI, Roboto, sans-serif; margin: 2rem; }
35
+ pre { background: #f6f8fa; padding: 1rem; overflow: auto; }
36
+ </style>
37
+ </head>
38
+ <body>
39
+ <h1>Runner Docs</h1>
40
+ <p>This is a minimal viewer. Fetching <code>/docs.json</code> below:</p>
41
+ <pre id="out">Loading...</pre>
42
+ <script>
43
+ fetch('./docs.json').then(r=>r.json()).then(g=>{
44
+ document.getElementById('out').textContent = JSON.stringify(g, null, 2);
45
+ }).catch(e=>{
46
+ document.getElementById('out').textContent = String(e);
47
+ });
48
+ </script>
49
+ </body>
50
+ </html>`);
51
+ });
52
+ return router;
53
+ }
54
+ //# sourceMappingURL=docsRouter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docsRouter.js","sourceRoot":"","sources":["../../src/express/docsRouter.ts"],"names":[],"mappings":";;AAUA,4CA8CC;AAxDD,qCAA0C;AAC1C,mDAAwD;AASxD,SAAgB,gBAAgB,CAAC,OAA0B;IACzD,MAAM,MAAM,GAAG,iBAAO,CAAC,MAAM,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,UAAU;YAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QACpE,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC;QACjE,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,GAAG,CAAC;IACzC,CAAC,CAAC;IAEF,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC1C,IAAI,CAAC,SAAS,EAAE;YAAE,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QAC/C,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,MAAM,IAAA,+BAAkB,EAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,EAAE;YAC7D,cAAc,EAAE,OAAO,CAAC,cAAc;SACvC,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC/B,IAAI,CAAC,SAAS,EAAE;YAAE,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QAC/C,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAC3C,GAAG,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;UAsBF,CAAC,CAAC;IACV,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -20,4 +20,5 @@ export declare const globalMiddlewares: {
20
20
  cacheFactoryTask: import("../defs").ITask<any, Promise<import("./middleware/cache.middleware").ICacheInstance>, any, undefined>;
21
21
  }, any>;
22
22
  }>;
23
+ timeout: import("../defs").IMiddleware<import("./middleware/timeout.middleware").TimeoutMiddlewareConfig, import("../defs").DependencyMapType>;
23
24
  };
@@ -4,6 +4,7 @@ exports.globalMiddlewares = void 0;
4
4
  const cache_middleware_1 = require("./middleware/cache.middleware");
5
5
  const requireContext_middleware_1 = require("./middleware/requireContext.middleware");
6
6
  const retry_middleware_1 = require("./middleware/retry.middleware");
7
+ const timeout_middleware_1 = require("./middleware/timeout.middleware");
7
8
  /**
8
9
  * Global middlewares
9
10
  */
@@ -11,5 +12,6 @@ exports.globalMiddlewares = {
11
12
  requireContext: requireContext_middleware_1.requireContextMiddleware,
12
13
  retry: retry_middleware_1.retryMiddleware,
13
14
  cache: cache_middleware_1.cacheMiddleware,
15
+ timeout: timeout_middleware_1.timeoutMiddleware,
14
16
  };
15
17
  //# sourceMappingURL=globalMiddleware.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"globalMiddleware.js","sourceRoot":"","sources":["../../src/globals/globalMiddleware.ts"],"names":[],"mappings":";;;AAEA,oEAAgE;AAChE,sFAAkF;AAClF,oEAAgE;AAEhE;;GAEG;AACU,QAAA,iBAAiB,GAAG;IAC/B,cAAc,EAAE,oDAAwB;IACxC,KAAK,EAAE,kCAAe;IACtB,KAAK,EAAE,kCAAe;CACvB,CAAC"}
1
+ {"version":3,"file":"globalMiddleware.js","sourceRoot":"","sources":["../../src/globals/globalMiddleware.ts"],"names":[],"mappings":";;;AAEA,oEAAgE;AAChE,sFAAkF;AAClF,oEAAgE;AAChE,wEAAoE;AAEpE;;GAEG;AACU,QAAA,iBAAiB,GAAG;IAC/B,cAAc,EAAE,oDAAwB;IACxC,KAAK,EAAE,kCAAe;IACtB,KAAK,EAAE,kCAAe;IACtB,OAAO,EAAE,sCAAiB;CAC3B,CAAC"}
@@ -0,0 +1,8 @@
1
+ export interface TimeoutMiddlewareConfig {
2
+ /**
3
+ * Maximum time in milliseconds before the wrapped operation is aborted
4
+ * and a timeout error is thrown. Defaults to 5000ms.
5
+ */
6
+ ttl: number;
7
+ }
8
+ export declare const timeoutMiddleware: import("../../defs").IMiddleware<TimeoutMiddlewareConfig, import("../../defs").DependencyMapType>;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.timeoutMiddleware = void 0;
4
+ const define_1 = require("../../define");
5
+ exports.timeoutMiddleware = (0, define_1.defineMiddleware)({
6
+ id: "globals.middleware.timeout",
7
+ async run({ task, resource, next }, _deps, config) {
8
+ const input = task ? task.input : resource?.config;
9
+ const ttl = Math.max(0, config.ttl);
10
+ const message = `Operation timed out after ${ttl}ms`;
11
+ // Fast-path: immediate timeout
12
+ if (ttl === 0) {
13
+ const error = new Error(message);
14
+ error.name = "TimeoutError";
15
+ throw error;
16
+ }
17
+ const controller = new AbortController();
18
+ // Create a timeout promise that rejects when aborted
19
+ const timeoutPromise = new Promise((_, reject) => {
20
+ const timeoutId = setTimeout(() => {
21
+ controller.abort();
22
+ const error = new Error(message);
23
+ error.name = "TimeoutError";
24
+ reject(error);
25
+ }, ttl);
26
+ // Clean up timeout if abort signal fires for other reasons
27
+ controller.signal.addEventListener("abort", () => {
28
+ clearTimeout(timeoutId);
29
+ });
30
+ });
31
+ // Race between the actual operation and the timeout
32
+ return Promise.race([next(input), timeoutPromise]);
33
+ },
34
+ });
35
+ //# sourceMappingURL=timeout.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeout.middleware.js","sourceRoot":"","sources":["../../../src/globals/middleware/timeout.middleware.ts"],"names":[],"mappings":";;;AAAA,yCAAgD;AAUnC,QAAA,iBAAiB,GAAG,IAAA,yBAAgB,EAAC;IAChD,EAAE,EAAE,4BAA4B;IAChC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAA+B;QACxE,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC;QAEnD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,6BAA6B,GAAG,IAAI,CAAC;QAErD,+BAA+B;QAC/B,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;YAChC,KAAa,CAAC,IAAI,GAAG,cAAc,CAAC;YACrC,MAAM,KAAK,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QAEzC,qDAAqD;QACrD,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YAC/C,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAChC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACnB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;gBAChC,KAAa,CAAC,IAAI,GAAG,cAAc,CAAC;gBACrC,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,EAAE,GAAG,CAAC,CAAC;YAER,2DAA2D;YAC3D,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;gBAC/C,YAAY,CAAC,SAAS,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,oDAAoD;QACpD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;IACrD,CAAC;CACF,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
- import { defineTask, defineResource, defineEvent, defineMiddleware, defineIndex } from "./define";
1
+ import { defineTask, defineResource, defineEvent, defineMiddleware, defineIndex, defineTag, defineOverride } from "./define";
2
2
  import { createContext } from "./context";
3
3
  import { run } from "./run";
4
+ import { createTestResource } from "./testing";
4
5
  declare const globals: {
5
6
  events: {
6
7
  beforeInit: import("./defs").IEvent<void>;
@@ -81,9 +82,10 @@ declare const globals: {
81
82
  cacheFactoryTask: import("./defs").ITask<any, Promise<import("./defs").ICacheInstance>, any, undefined>;
82
83
  }, any>;
83
84
  }>;
85
+ timeout: import("./defs").IMiddleware<import("./globals/middleware/timeout.middleware").TimeoutMiddlewareConfig, import("./defs").DependencyMapType>;
84
86
  };
85
87
  };
86
88
  export { globals };
87
- export { defineTask as task, defineResource as resource, defineEvent as event, defineMiddleware as middleware, defineIndex as index, run, createContext, };
89
+ export { defineTask as task, defineResource as resource, defineEvent as event, defineMiddleware as middleware, defineIndex as index, defineTag as tag, defineOverride as override, run, createContext, createTestResource, };
88
90
  export * as definitions from "./defs";
89
91
  export { Semaphore, Store, EventManager, TaskRunner, Queue } from "./models";
package/dist/index.js CHANGED
@@ -1,12 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Queue = exports.TaskRunner = exports.EventManager = exports.Store = exports.Semaphore = exports.definitions = exports.createContext = exports.run = exports.index = exports.middleware = exports.event = exports.resource = exports.task = exports.globals = void 0;
3
+ exports.Queue = exports.TaskRunner = exports.EventManager = exports.Store = exports.Semaphore = exports.definitions = exports.createTestResource = exports.createContext = exports.run = exports.override = exports.tag = exports.index = exports.middleware = exports.event = exports.resource = exports.task = exports.globals = void 0;
4
4
  const define_1 = require("./define");
5
5
  Object.defineProperty(exports, "task", { enumerable: true, get: function () { return define_1.defineTask; } });
6
6
  Object.defineProperty(exports, "resource", { enumerable: true, get: function () { return define_1.defineResource; } });
7
7
  Object.defineProperty(exports, "event", { enumerable: true, get: function () { return define_1.defineEvent; } });
8
8
  Object.defineProperty(exports, "middleware", { enumerable: true, get: function () { return define_1.defineMiddleware; } });
9
9
  Object.defineProperty(exports, "index", { enumerable: true, get: function () { return define_1.defineIndex; } });
10
+ Object.defineProperty(exports, "tag", { enumerable: true, get: function () { return define_1.defineTag; } });
11
+ Object.defineProperty(exports, "override", { enumerable: true, get: function () { return define_1.defineOverride; } });
10
12
  const context_1 = require("./context");
11
13
  Object.defineProperty(exports, "createContext", { enumerable: true, get: function () { return context_1.createContext; } });
12
14
  const globalEvents_1 = require("./globals/globalEvents");
@@ -14,6 +16,8 @@ const globalResources_1 = require("./globals/globalResources");
14
16
  const globalMiddleware_1 = require("./globals/globalMiddleware");
15
17
  const run_1 = require("./run");
16
18
  Object.defineProperty(exports, "run", { enumerable: true, get: function () { return run_1.run; } });
19
+ const testing_1 = require("./testing");
20
+ Object.defineProperty(exports, "createTestResource", { enumerable: true, get: function () { return testing_1.createTestResource; } });
17
21
  const globals = {
18
22
  events: globalEvents_1.globalEvents,
19
23
  resources: globalResources_1.globalResources,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qCAMkB;AAeF,qFApBd,mBAAU,OAoBQ;AACA,yFApBlB,uBAAc,OAoBY;AACX,sFApBf,oBAAW,OAoBS;AACA,2FApBpB,yBAAgB,OAoBc;AACf,sFApBf,oBAAW,OAoBS;AAlBtB,uCAA0C;AAoBxC,8FApBO,uBAAa,OAoBP;AAnBf,yDAAsD;AACtD,+DAA4D;AAC5D,iEAA+D;AAC/D,+BAA4B;AAe1B,oFAfO,SAAG,OAeP;AAbL,MAAM,OAAO,GAAG;IACd,MAAM,EAAE,2BAAY;IACpB,SAAS,EAAE,iCAAe;IAC1B,WAAW,EAAE,oCAAiB;CAC/B,CAAC;AAEO,0BAAO;AAWhB,wCAAsC;AACtC,mCAA6E;AAApE,mGAAA,SAAS,OAAA;AAAE,+FAAA,KAAK,OAAA;AAAE,sGAAA,YAAY,OAAA;AAAE,oGAAA,UAAU,OAAA;AAAE,+FAAA,KAAK,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qCAQkB;AAgBF,qFAvBd,mBAAU,OAuBQ;AACA,yFAvBlB,uBAAc,OAuBY;AACX,sFAvBf,oBAAW,OAuBS;AACA,2FAvBpB,yBAAgB,OAuBc;AACf,sFAvBf,oBAAW,OAuBS;AACP,oFAvBb,kBAAS,OAuBO;AACE,yFAvBlB,uBAAc,OAuBY;AArB5B,uCAA0C;AAuBxC,8FAvBO,uBAAa,OAuBP;AAtBf,yDAAsD;AACtD,+DAA4D;AAC5D,iEAA+D;AAC/D,+BAA4B;AAkB1B,oFAlBO,SAAG,OAkBP;AAjBL,uCAA+C;AAmB7C,mGAnBO,4BAAkB,OAmBP;AAjBpB,MAAM,OAAO,GAAG;IACd,MAAM,EAAE,2BAAY;IACpB,SAAS,EAAE,iCAAe;IAC1B,WAAW,EAAE,oCAAiB;CAC/B,CAAC;AAEO,0BAAO;AAchB,wCAAsC;AACtC,mCAA6E;AAApE,mGAAA,SAAS,OAAA;AAAE,+FAAA,KAAK,OAAA;AAAE,sGAAA,YAAY,OAAA;AAAE,oGAAA,UAAU,OAAA;AAAE,+FAAA,KAAK,OAAA"}
@@ -88,7 +88,7 @@ class DependencyProcessor {
88
88
  // process.exit(0);
89
89
  return;
90
90
  }
91
- return this.taskRunner.run(task.task, receivedEvent, task.computedDependencies);
91
+ return this.taskRunner.run(task.task, receivedEvent);
92
92
  };
93
93
  if (eventDefinition === "*") {
94
94
  this.eventManager.addGlobalListener(handler, {
@@ -149,7 +149,7 @@ class DependencyProcessor {
149
149
  storeTask.computedDependencies = await this.extractDependencies(dependencies, storeTask.task.id);
150
150
  }
151
151
  return (input) => {
152
- return this.taskRunner.run(storeTask.task, input, storeTask.computedDependencies);
152
+ return this.taskRunner.run(storeTask.task, input);
153
153
  };
154
154
  }
155
155
  async extractResourceDependency(object) {
@@ -1 +1 @@
1
- {"version":3,"file":"DependencyProcessor.js","sourceRoot":"","sources":["../../src/models/DependencyProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DependencyProcessor.js","sourceRoot":"","sources":["../../src/models/DependencyProcessor.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ export declare class Store {
20
20
  get resources(): Map<string | symbol, ResourceStoreElementType>;
21
21
  get events(): Map<string | symbol, EventStoreElementType>;
22
22
  get middlewares(): Map<string | symbol, MiddlewareStoreElementType>;
23
- get overrides(): Map<string | symbol, IMiddleware<any, any> | IResource<void, any, any, any> | import("../defs").ITask<any, any, {}, undefined> | import("../defs").IResourceWithConfig<any, any, any>>;
23
+ get overrides(): Map<string | symbol, IResource<void, any, any, any> | import("../defs").ITask<any, any, {}, undefined> | IMiddleware<any, any> | import("../defs").IResourceWithConfig<any, any, any>>;
24
24
  get overrideRequests(): Set<{
25
25
  source: string | symbol;
26
26
  override: RegisterableItems;
@@ -8,4 +8,4 @@ export declare function getBuiltInResources(eventManager: EventManager, store: S
8
8
  }> | import("../defs").IResourceWithConfig<EventManager, EventManager, {}> | import("../defs").IResourceWithConfig<Store, Store, {}>)[];
9
9
  export declare function getBuiltInMiddlewares(): (import("../defs").IMiddleware<{
10
10
  context: import("../context").Context<any>;
11
- }, import("../defs").DependencyMapType> | import("../defs").IMiddleware<import("../globals/middleware/retry.middleware").RetryMiddlewareConfig, import("../defs").DependencyMapType>)[];
11
+ }, import("../defs").DependencyMapType> | import("../defs").IMiddleware<import("../globals/middleware/retry.middleware").RetryMiddlewareConfig, import("../defs").DependencyMapType> | import("../defs").IMiddleware<import("../globals/middleware/timeout.middleware").TimeoutMiddlewareConfig, import("../defs").DependencyMapType>)[];
@@ -5,6 +5,7 @@ exports.getBuiltInMiddlewares = getBuiltInMiddlewares;
5
5
  const globalResources_1 = require("../globals/globalResources");
6
6
  const requireContext_middleware_1 = require("../globals/middleware/requireContext.middleware");
7
7
  const retry_middleware_1 = require("../globals/middleware/retry.middleware");
8
+ const timeout_middleware_1 = require("../globals/middleware/timeout.middleware");
8
9
  function getBuiltInResources(eventManager, store) {
9
10
  return [
10
11
  globalResources_1.globalResources.eventManager.with(eventManager),
@@ -13,6 +14,6 @@ function getBuiltInResources(eventManager, store) {
13
14
  ];
14
15
  }
15
16
  function getBuiltInMiddlewares() {
16
- return [requireContext_middleware_1.requireContextMiddleware, retry_middleware_1.retryMiddleware];
17
+ return [requireContext_middleware_1.requireContextMiddleware, retry_middleware_1.retryMiddleware, timeout_middleware_1.timeoutMiddleware];
17
18
  }
18
19
  //# sourceMappingURL=StoreConstants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StoreConstants.js","sourceRoot":"","sources":["../../src/models/StoreConstants.ts"],"names":[],"mappings":";;AAMA,kDAMC;AAED,sDAEC;AAhBD,gEAA6D;AAC7D,+FAA2F;AAC3F,6EAAyE;AAIzE,SAAgB,mBAAmB,CAAC,YAA0B,EAAE,KAAY;IAC1E,OAAO;QACL,iCAAe,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;QAC/C,iCAAe,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QACjC,iCAAe,CAAC,KAAK;KACtB,CAAC;AACJ,CAAC;AAED,SAAgB,qBAAqB;IACnC,OAAO,CAAC,oDAAwB,EAAE,kCAAe,CAAC,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"StoreConstants.js","sourceRoot":"","sources":["../../src/models/StoreConstants.ts"],"names":[],"mappings":";;AAOA,kDAMC;AAED,sDAEC;AAjBD,gEAA6D;AAC7D,+FAA2F;AAC3F,6EAAyE;AACzE,iFAA6E;AAI7E,SAAgB,mBAAmB,CAAC,YAA0B,EAAE,KAAY;IAC1E,OAAO;QACL,iCAAe,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;QAC/C,iCAAe,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QACjC,iCAAe,CAAC,KAAK;KACtB,CAAC;AACJ,CAAC;AAED,SAAgB,qBAAqB;IACnC,OAAO,CAAC,oDAAwB,EAAE,kCAAe,EAAE,sCAAiB,CAAC,CAAC;AACxE,CAAC"}
@@ -1,4 +1,4 @@
1
- import { DependencyMapType, DependencyValuesType, ITask } from "../defs";
1
+ import { DependencyMapType, ITask } from "../defs";
2
2
  import { EventManager } from "./EventManager";
3
3
  import { Store } from "./Store";
4
4
  import { Logger } from "./Logger";
@@ -13,9 +13,8 @@ export declare class TaskRunner {
13
13
  * This function can throw only if any of the event listeners or run function throws
14
14
  * @param task the task to be run
15
15
  * @param input the input to be passed to the task
16
- * @param taskDependencies optional dependencies to be passed to the task, if not provided, the dependencies will be the ones already computed from the store.
17
16
  */
18
- run<TInput, TOutput extends Promise<any>, TDeps extends DependencyMapType>(task: ITask<TInput, TOutput, TDeps>, input: TInput, taskDependencies?: DependencyValuesType<TDeps>): Promise<TOutput | undefined>;
17
+ run<TInput, TOutput extends Promise<any>, TDeps extends DependencyMapType>(task: ITask<TInput, TOutput, TDeps>, input: TInput): Promise<TOutput | undefined>;
19
18
  /**
20
19
  * Creates the function with the chain of middleware.
21
20
  * @param task
@@ -17,9 +17,8 @@ class TaskRunner {
17
17
  * This function can throw only if any of the event listeners or run function throws
18
18
  * @param task the task to be run
19
19
  * @param input the input to be passed to the task
20
- * @param taskDependencies optional dependencies to be passed to the task, if not provided, the dependencies will be the ones already computed from the store.
21
20
  */
22
- async run(task, input, taskDependencies) {
21
+ async run(task, input) {
23
22
  let runner = this.runnerStore.get(task.id);
24
23
  if (!runner) {
25
24
  runner = this.createRunnerWithMiddleware(task);
@@ -1 +1 @@
1
- {"version":3,"file":"TaskRunner.js","sourceRoot":"","sources":["../../src/models/TaskRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TaskRunner.js","sourceRoot":"","sources":["../../src/models/TaskRunner.ts"],"names":[],"mappings":"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"}