@golemio/core 3.0.7 → 3.0.8-dev.2500290827
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/.dependency-cruiser.base.js +289 -0
- package/bin/format-dependency-cruiser-report.js +94 -0
- package/dist/helpers/data-access/postgres/IDatabaseConnector.d.ts +1 -1
- package/dist/input-gateway/helpers/ResponseTimeMiddleware.js +4 -3
- package/dist/input-gateway/helpers/ResponseTimeMiddleware.js.map +1 -1
- package/dist/integration-engine/connectors/interfaces/IPostgresConnector.d.ts +1 -1
- package/dist/integration-engine/data-access/RawDataStorage.d.ts +2 -2
- package/dist/integration-engine/data-access/RawDataStorage.js +2 -2
- package/dist/integration-engine/data-access/RawDataStorage.js.map +1 -1
- package/dist/integration-engine/helpers/IntegrationErrorHandler.js +5 -5
- package/dist/integration-engine/helpers/IntegrationErrorHandler.js.map +1 -1
- package/dist/integration-engine/models/PostgresModel.d.ts +1 -1
- package/dist/integration-engine/models/RedisModel.d.ts +1 -1
- package/dist/integration-engine/models/RedisModel.js +6 -6
- package/dist/integration-engine/models/RedisModel.js.map +1 -1
- package/dist/integration-engine/queueprocessors/QueueProcessor.d.ts +1 -1
- package/dist/integration-engine/queueprocessors/abstract.d.ts +1 -1
- package/dist/integration-engine/transformations/BaseTransformation.d.ts +1 -1
- package/dist/integration-engine/workers/AbstractWorker.d.ts +1 -1
- package/dist/monitoring/metrics/metrics-middleware.d.ts +1 -1
- package/dist/monitoring/metrics/metrics-service.d.ts +1 -1
- package/dist/output-gateway/models/SequelizeModel.d.ts +1 -1
- package/dist/output-gateway/models/SequelizeModel.js +2 -2
- package/dist/output-gateway/models/SequelizeModel.js.map +1 -1
- package/dist/output-gateway/models/interfaces/IGeoJsonModel.d.ts +1 -1
- package/package.json +4 -3
- package/dist/output-gateway/routes/interfaces/IHistoryFilterParameters.d.ts +0 -7
- package/dist/output-gateway/routes/interfaces/IHistoryFilterParameters.js +0 -3
- package/dist/output-gateway/routes/interfaces/IHistoryFilterParameters.js.map +0 -1
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
/** @type {import('dependency-cruiser').IConfiguration} */
|
|
2
|
+
module.exports = {
|
|
3
|
+
forbidden: [
|
|
4
|
+
{
|
|
5
|
+
name: "no-circular",
|
|
6
|
+
severity: "error",
|
|
7
|
+
comment:
|
|
8
|
+
"This dependency is part of a circular relationship. You might want to revise " +
|
|
9
|
+
"your solution (i.e. use dependency inversion, make sure the modules have a single " +
|
|
10
|
+
"responsibility) ",
|
|
11
|
+
from: {},
|
|
12
|
+
to: {
|
|
13
|
+
circular: true,
|
|
14
|
+
viaOnly: {
|
|
15
|
+
pathNot: ["^src/.*?/ioc/Di\\.ts$"],
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
name: "no-orphans",
|
|
21
|
+
comment:
|
|
22
|
+
"This is an orphan module - it's likely not used (anymore?). Either use it or " +
|
|
23
|
+
"remove it. If it's logical this module is an orphan (i.e. it's a config file), " +
|
|
24
|
+
"add an exception for it in your dependency-cruiser configuration. By default " +
|
|
25
|
+
"this rule does not scrutinize dot-files (e.g. .eslintrc.js), TypeScript declaration " +
|
|
26
|
+
"files (.d.ts), tsconfig.json and some of the babel and webpack configs.",
|
|
27
|
+
severity: "error",
|
|
28
|
+
from: {
|
|
29
|
+
orphan: true,
|
|
30
|
+
pathNot: [
|
|
31
|
+
"(^|/)[.][^/]+[.](?:js|cjs|mjs|ts|cts|mts|json)$", // dot files
|
|
32
|
+
"[.]d[.]ts$", // TypeScript declaration files
|
|
33
|
+
"(^|/)tsconfig[.]json$", // TypeScript config
|
|
34
|
+
"(^|/)(?:babel|webpack)[.]config[.](?:js|cjs|mjs|ts|cts|mts|json)$", // other configs
|
|
35
|
+
],
|
|
36
|
+
},
|
|
37
|
+
to: {},
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
name: "no-deprecated-core",
|
|
41
|
+
comment:
|
|
42
|
+
"A module depends on a node core module that has been deprecated. Find an alternative - " +
|
|
43
|
+
"these are bound to exist - node doesn't deprecate lightly.",
|
|
44
|
+
severity: "warn",
|
|
45
|
+
from: {},
|
|
46
|
+
to: {
|
|
47
|
+
dependencyTypes: ["core"],
|
|
48
|
+
path: [
|
|
49
|
+
"^v8/tools/codemap$",
|
|
50
|
+
"^v8/tools/consarray$",
|
|
51
|
+
"^v8/tools/csvparser$",
|
|
52
|
+
"^v8/tools/logreader$",
|
|
53
|
+
"^v8/tools/profile_view$",
|
|
54
|
+
"^v8/tools/profile$",
|
|
55
|
+
"^v8/tools/SourceMap$",
|
|
56
|
+
"^v8/tools/splaytree$",
|
|
57
|
+
"^v8/tools/tickprocessor-driver$",
|
|
58
|
+
"^v8/tools/tickprocessor$",
|
|
59
|
+
"^node-inspect/lib/_inspect$",
|
|
60
|
+
"^node-inspect/lib/internal/inspect_client$",
|
|
61
|
+
"^node-inspect/lib/internal/inspect_repl$",
|
|
62
|
+
"^async_hooks$",
|
|
63
|
+
"^punycode$",
|
|
64
|
+
"^domain$",
|
|
65
|
+
"^constants$",
|
|
66
|
+
"^sys$",
|
|
67
|
+
"^_linklist$",
|
|
68
|
+
"^_stream_wrap$",
|
|
69
|
+
],
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
name: "not-to-deprecated",
|
|
74
|
+
comment:
|
|
75
|
+
"This module uses a (version of an) npm module that has been deprecated. Either upgrade to " +
|
|
76
|
+
"a later version of that module, or find an alternative. Deprecated modules are a security " +
|
|
77
|
+
"risk.",
|
|
78
|
+
severity: "warn",
|
|
79
|
+
from: {},
|
|
80
|
+
to: {
|
|
81
|
+
dependencyTypes: ["deprecated"],
|
|
82
|
+
},
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
name: "no-non-package-json",
|
|
86
|
+
severity: "error",
|
|
87
|
+
comment:
|
|
88
|
+
"This module depends on an npm package that isn't in the 'dependencies' section of your " +
|
|
89
|
+
"package.json. That's problematic as the package either (1) won't be available on live (2 " +
|
|
90
|
+
"- worse) will be available on live with an non-guaranteed version. Fix it by adding the " +
|
|
91
|
+
"package to the dependencies in your package.json.",
|
|
92
|
+
from: {},
|
|
93
|
+
to: {
|
|
94
|
+
dependencyTypes: ["npm-no-pkg", "npm-unknown"],
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
name: "not-to-unresolvable",
|
|
99
|
+
comment:
|
|
100
|
+
"This module depends on a module that cannot be found ('resolved to disk'). If it's an npm " +
|
|
101
|
+
"module: add it to your package.json. In all other cases you likely already know what to do.",
|
|
102
|
+
severity: "error",
|
|
103
|
+
from: {},
|
|
104
|
+
to: {
|
|
105
|
+
couldNotResolve: true,
|
|
106
|
+
},
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
name: "no-duplicate-dep-types",
|
|
110
|
+
comment:
|
|
111
|
+
"Likely this module depends on an external ('npm') package that occurs more than once " +
|
|
112
|
+
"in your package.json i.e. bot as a devDependencies and in dependencies. This will cause " +
|
|
113
|
+
"maintenance problems later on.",
|
|
114
|
+
severity: "error",
|
|
115
|
+
from: {},
|
|
116
|
+
to: {
|
|
117
|
+
moreThanOneDependencyType: true,
|
|
118
|
+
dependencyTypesNot: ["type-only", "npm-peer"],
|
|
119
|
+
},
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
name: "not-to-test-dir",
|
|
123
|
+
comment:
|
|
124
|
+
"This module depends on code within a folder that should only contain tests. As tests " +
|
|
125
|
+
"don't implement functionality this is odd. Either you're writing a test outside the test " +
|
|
126
|
+
"folder or there's something in the test folder that isn't a test.",
|
|
127
|
+
severity: "error",
|
|
128
|
+
from: {
|
|
129
|
+
pathNot: "^(test)",
|
|
130
|
+
},
|
|
131
|
+
to: {
|
|
132
|
+
path: "^(test)",
|
|
133
|
+
},
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
name: "not-to-test-file",
|
|
137
|
+
comment:
|
|
138
|
+
"This module depends on a spec (test) file. The sole responsibility of a spec file is to " +
|
|
139
|
+
"test code. If there's something in a spec that's of use to other modules, it doesn't have " +
|
|
140
|
+
"that single responsibility anymore. Factor it out into (e.g.) a separate utility/ helper " +
|
|
141
|
+
"or a mock.",
|
|
142
|
+
severity: "error",
|
|
143
|
+
from: {},
|
|
144
|
+
to: {
|
|
145
|
+
path: "[.](?:spec|test)[.](?:js|mjs|cjs|jsx|ts|mts|cts|tsx)$",
|
|
146
|
+
},
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
name: "not-to-dev-dep",
|
|
150
|
+
severity: "error",
|
|
151
|
+
comment:
|
|
152
|
+
"This module depends on an npm package from the 'devDependencies' section of your " +
|
|
153
|
+
"package.json. It looks like something that ships to production, though. To prevent " +
|
|
154
|
+
"problems with npm packages that aren't there on production declare it (only!) in the " +
|
|
155
|
+
"'dependencies' section of your package.json. If this module is development only - add it " +
|
|
156
|
+
"to the from.pathNot re of the not-to-dev-dep rule in the dependency-cruiser configuration",
|
|
157
|
+
from: {
|
|
158
|
+
path: "^(src)",
|
|
159
|
+
pathNot: "[.](?:spec|test)[.](?:js|mjs|cjs|jsx|ts|mts|cts|tsx)$",
|
|
160
|
+
},
|
|
161
|
+
to: {
|
|
162
|
+
dependencyTypes: ["npm-dev"],
|
|
163
|
+
dependencyTypesNot: ["type-only", "npm-peer"],
|
|
164
|
+
pathNot: ["node_modules/@types/"],
|
|
165
|
+
},
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
name: "optional-deps-used",
|
|
169
|
+
severity: "error",
|
|
170
|
+
comment:
|
|
171
|
+
"This module depends on an npm package that is declared as an optional dependency " +
|
|
172
|
+
"in your package.json. As this makes sense in limited situations only, it's flagged here. " +
|
|
173
|
+
"If you're using an optional dependency here by design - add an exception to your " +
|
|
174
|
+
"dependency-cruiser configuration.",
|
|
175
|
+
from: {},
|
|
176
|
+
to: {
|
|
177
|
+
dependencyTypes: ["npm-optional"],
|
|
178
|
+
},
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
name: "peer-deps-used",
|
|
182
|
+
comment:
|
|
183
|
+
"This module depends on an npm package that is declared as a peer dependency " +
|
|
184
|
+
"in your package.json. This makes sense if your package is e.g. a plugin, but in " +
|
|
185
|
+
"other cases - maybe not so much. If the use of a peer dependency is intentional " +
|
|
186
|
+
"add an exception to your dependency-cruiser configuration.",
|
|
187
|
+
severity: "error",
|
|
188
|
+
from: {},
|
|
189
|
+
to: {
|
|
190
|
+
dependencyTypes: ["npm-peer"],
|
|
191
|
+
pathNot: ["node_modules/@golemio/core/"],
|
|
192
|
+
},
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
name: "no-crossing-input-gateway-boundary",
|
|
196
|
+
severity: "error",
|
|
197
|
+
comment: "`src/input-gateway` should not import from other service directories",
|
|
198
|
+
from: { path: "^src/input-gateway" },
|
|
199
|
+
to: {
|
|
200
|
+
path: ["^src/integration-engine", "^src/output-gateway"],
|
|
201
|
+
},
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
name: "no-crossing-integration-engine-boundary",
|
|
205
|
+
severity: "error",
|
|
206
|
+
comment: "`src/integration-engine` should not import from other service directories",
|
|
207
|
+
from: { path: "^src/integration-engine" },
|
|
208
|
+
to: {
|
|
209
|
+
path: ["^src/input-gateway", "^src/output-gateway"],
|
|
210
|
+
},
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
name: "no-crossing-output-gateway-boundary",
|
|
214
|
+
severity: "error",
|
|
215
|
+
comment: "`src/output-gateway` should not import from other service directories",
|
|
216
|
+
from: { path: "^src/output-gateway" },
|
|
217
|
+
to: {
|
|
218
|
+
path: ["^src/input-gateway", "^src/integration-engine"],
|
|
219
|
+
},
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
name: "no-crossing-service-boundary",
|
|
223
|
+
severity: "error",
|
|
224
|
+
comment: "Non-service directories (e.g. `src/helpers`) should not import from service directories",
|
|
225
|
+
from: {
|
|
226
|
+
path: "^src",
|
|
227
|
+
pathNot: [
|
|
228
|
+
"^src/index.ts$",
|
|
229
|
+
"^src/(?:input-gateway|integration-engine|output-gateway)",
|
|
230
|
+
],
|
|
231
|
+
},
|
|
232
|
+
to: {
|
|
233
|
+
path: ["^src/input-gateway", "^src/integration-engine", "^src/output-gateway"],
|
|
234
|
+
},
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
name: "no-MIT-license-incompatible",
|
|
238
|
+
comment:
|
|
239
|
+
"Do not use dependencies with a license that is incompatible with the permissive FOSS MIT " +
|
|
240
|
+
"license (e.g. strong copyleft licenses such as the GPL)",
|
|
241
|
+
severity: "error",
|
|
242
|
+
from: {},
|
|
243
|
+
to: {
|
|
244
|
+
licenseNot: [
|
|
245
|
+
"MIT",
|
|
246
|
+
"Apache-2.0",
|
|
247
|
+
"ISC",
|
|
248
|
+
"BSD-3-Clause",
|
|
249
|
+
"BSD-2-Clause",
|
|
250
|
+
"LGPL-3.0",
|
|
251
|
+
"LGPL-2.1",
|
|
252
|
+
"MPL-2.0",
|
|
253
|
+
"EPL-2.0",
|
|
254
|
+
"EPL-1.0",
|
|
255
|
+
"Unlicense",
|
|
256
|
+
"CC0-1.0",
|
|
257
|
+
"WTFPL",
|
|
258
|
+
],
|
|
259
|
+
},
|
|
260
|
+
},
|
|
261
|
+
],
|
|
262
|
+
options: {
|
|
263
|
+
doNotFollow: {
|
|
264
|
+
path: ["node_modules"],
|
|
265
|
+
},
|
|
266
|
+
tsPreCompilationDeps: true,
|
|
267
|
+
tsConfig: {
|
|
268
|
+
fileName: "tsconfig.json",
|
|
269
|
+
},
|
|
270
|
+
enhancedResolveOptions: {
|
|
271
|
+
exportsFields: ["exports"],
|
|
272
|
+
conditionNames: ["import", "require", "node", "default", "types"],
|
|
273
|
+
mainFields: ["main", "types", "typings"],
|
|
274
|
+
},
|
|
275
|
+
skipAnalysisNotInRules: true,
|
|
276
|
+
reporterOptions: {
|
|
277
|
+
dot: {
|
|
278
|
+
collapsePattern: "node_modules/(?:@[^/]+/[^/]+|[^/]+)",
|
|
279
|
+
},
|
|
280
|
+
archi: {
|
|
281
|
+
collapsePattern:
|
|
282
|
+
"^(?:packages|src|lib(s?)|app(s?)|bin|test(s?)|spec(s?))/[^/]+|node_modules/(?:@[^/]+/[^/]+|[^/]+)",
|
|
283
|
+
},
|
|
284
|
+
text: {
|
|
285
|
+
highlightFocused: true,
|
|
286
|
+
},
|
|
287
|
+
},
|
|
288
|
+
},
|
|
289
|
+
};
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const fs = require("fs");
|
|
4
|
+
|
|
5
|
+
if (process.argv.length < 3) {
|
|
6
|
+
console.error("Usage: node format-dependency-cruiser-report.js <report.json>");
|
|
7
|
+
process.exit(1);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
const filePath = process.argv[2];
|
|
11
|
+
const report = JSON.parse(fs.readFileSync(filePath, "utf8"));
|
|
12
|
+
|
|
13
|
+
const summaryViolations = Array.isArray(report?.summary?.violations) ? report.summary.violations : [];
|
|
14
|
+
|
|
15
|
+
const sv = summaryViolations.map((v) => ({
|
|
16
|
+
...v,
|
|
17
|
+
ruleName: v?.rule?.name ?? String(v?.rule ?? ""),
|
|
18
|
+
severity: v?.rule?.severity ?? v?.severity,
|
|
19
|
+
}));
|
|
20
|
+
|
|
21
|
+
const BOUNDARY_RULES = ["input-gateway-boundary", "integration-engine-boundary", "output-gateway-boundary", "test-boundary"];
|
|
22
|
+
|
|
23
|
+
const boundaryViolations = sv.filter((v) => BOUNDARY_RULES.includes(v.ruleName));
|
|
24
|
+
const mitViolations = sv.filter((v) => v.ruleName === "MIT-license-compatible");
|
|
25
|
+
|
|
26
|
+
const cycleViolations = sv.filter((v) => v.type === "cycle" || v.ruleName === "no-circular");
|
|
27
|
+
|
|
28
|
+
const orphans = (report.modules || []).filter((m) => m.orphan && !m.valid);
|
|
29
|
+
|
|
30
|
+
function renderTable(headers, rows) {
|
|
31
|
+
if (rows.length === 0) return "";
|
|
32
|
+
const headerLine = `| ${headers.join(" | ")} |`;
|
|
33
|
+
const separator = `| ${headers.map(() => "---").join(" | ")} |`;
|
|
34
|
+
const body = rows.map((row) => `| ${row.map((cell) => String(cell)).join(" | ")} |`).join("\n");
|
|
35
|
+
return `${headerLine}\n${separator}\n${body}\n`;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
function renderBoundaryViolations() {
|
|
39
|
+
if (boundaryViolations.length === 0) return "";
|
|
40
|
+
let out = "## 🧭 Code Boundaries Summary\n\n";
|
|
41
|
+
for (const rule of BOUNDARY_RULES) {
|
|
42
|
+
const list = boundaryViolations.filter((v) => v.ruleName === rule);
|
|
43
|
+
if (list.length > 0) {
|
|
44
|
+
out += `### ${rule}\n`;
|
|
45
|
+
out += renderTable(
|
|
46
|
+
["Severity", "From", "To"],
|
|
47
|
+
list.map((v) => [v.severity ?? "", v.from ?? "", v.to ?? ""])
|
|
48
|
+
);
|
|
49
|
+
out += "\n";
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return out;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
function renderMitViolations() {
|
|
56
|
+
if (mitViolations.length === 0) return "";
|
|
57
|
+
let out = "## ⚖️ MIT License Violations\n\n";
|
|
58
|
+
out += renderTable(
|
|
59
|
+
["Severity", "From", "To"],
|
|
60
|
+
mitViolations.map((v) => [v.severity ?? "", v.from ?? "", v.to ?? ""])
|
|
61
|
+
);
|
|
62
|
+
return out;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function renderCycleViolations() {
|
|
66
|
+
if (cycleViolations.length === 0) return "";
|
|
67
|
+
let out = "## ♻️ Cyclical Dependencies (no-circular)\n\n";
|
|
68
|
+
const rows = cycleViolations.map((v) => {
|
|
69
|
+
const nodes = Array.isArray(v.cycle) ? v.cycle.map((n) => n?.name).filter(Boolean) : [];
|
|
70
|
+
// Make a cycle path like "A → B → C → A" if nodes present
|
|
71
|
+
const path = nodes.length > 0 ? `${nodes.join(" → ")} → ${nodes[0]}` : "";
|
|
72
|
+
return [v.severity ?? "", v.from ?? "", v.to ?? "", path];
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
out += renderTable(["Severity", "From", "To", "Cycle Path"], rows);
|
|
76
|
+
return out;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
function renderOrphans() {
|
|
80
|
+
if (orphans.length === 0) return "";
|
|
81
|
+
let out = "## 🧩 Orphan Modules\n\n";
|
|
82
|
+
out += renderTable(
|
|
83
|
+
["Source"],
|
|
84
|
+
orphans.map((o) => [o.source ?? ""])
|
|
85
|
+
);
|
|
86
|
+
return out;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
const sections = [renderBoundaryViolations(), renderMitViolations(), renderCycleViolations(), renderOrphans()].filter(Boolean);
|
|
90
|
+
|
|
91
|
+
let output = "# 📊 Dependency Report\n\n";
|
|
92
|
+
output += sections.length > 0 ? sections.join("") : "✅ no dependency violations found";
|
|
93
|
+
|
|
94
|
+
console.log(output);
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.responseTimeMiddleware = void 0;
|
|
4
|
-
const
|
|
4
|
+
const LoggerEmitter_1 = require("../../helpers/logger/LoggerEmitter");
|
|
5
|
+
const Logger_1 = require("./Logger");
|
|
5
6
|
/**
|
|
6
7
|
* Middleware function for response time measurement
|
|
7
8
|
*/
|
|
@@ -10,7 +11,7 @@ let responseTimeMiddleware = (fn) => {
|
|
|
10
11
|
if (fn.length === 2) {
|
|
11
12
|
return function (req, res) {
|
|
12
13
|
const start = Date.now();
|
|
13
|
-
res.once("finish", () =>
|
|
14
|
+
res.once("finish", () => Logger_1.loggerEvents.emit(LoggerEmitter_1.LoggerEventType.ResponseTimes, {
|
|
14
15
|
elapsedMS: Date.now() - start,
|
|
15
16
|
name: fn.name || "route",
|
|
16
17
|
req,
|
|
@@ -23,7 +24,7 @@ let responseTimeMiddleware = (fn) => {
|
|
|
23
24
|
return (req, res, next) => {
|
|
24
25
|
const start = Date.now();
|
|
25
26
|
fn.call(this, req, res, function () {
|
|
26
|
-
|
|
27
|
+
Logger_1.loggerEvents.emit(LoggerEmitter_1.LoggerEventType.ResponseTimes, {
|
|
27
28
|
elapsedMS: Date.now() - start,
|
|
28
29
|
name: fn.name || "route",
|
|
29
30
|
req,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponseTimeMiddleware.js","sourceRoot":"","sources":["../../../src/input-gateway/helpers/ResponseTimeMiddleware.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"ResponseTimeMiddleware.js","sourceRoot":"","sources":["../../../src/input-gateway/helpers/ResponseTimeMiddleware.ts"],"names":[],"mappings":";;;AAAA,sEAAgE;AAChE,qCAAkD;AAIlD;;GAEG;AACI,IAAI,sBAAsB,GAAG,CAAC,EAAsB,EAAE,EAAE;IAC3D,6BAA6B;IAC7B,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;QACjB,OAAO,UAAU,GAAY,EAAE,GAAa;YACxC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CACpB,qBAAY,CAAC,IAAI,CAAC,+BAAe,CAAC,aAAa,EAAE;gBAC7C,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;gBAC7B,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,OAAO;gBACxB,GAAG;aACN,CAAC,CACL,CAAC;YACF,aAAa;YACb,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACrC,CAAC,CAAC;KACL;SAAM,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;QACxB,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;YACvD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE;gBACpB,qBAAY,CAAC,IAAI,CAAC,+BAAe,CAAC,aAAa,EAAE;oBAC7C,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;oBAC7B,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,OAAO;oBACxB,GAAG;iBACN,CAAC,CAAC;gBACH,aAAa;gBACb,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;KACL;SAAM;QACH,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;KAC1D;AACL,CAAC,CAAC;AA/BS,QAAA,sBAAsB,0BA+B/B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ILogger } from "../../helpers";
|
|
1
|
+
import { ILogger } from "../../helpers/logger/LoggerProvider";
|
|
2
2
|
import { ISimpleConfig } from "../../helpers/configuration/ISimpleConfig";
|
|
3
3
|
import { AbstractStorageService } from "../../helpers/data-access/storage";
|
|
4
|
-
import { IConfiguration } from "
|
|
4
|
+
import { IConfiguration } from "../config/abstract";
|
|
5
5
|
export default class RawDataStorage {
|
|
6
6
|
private storageService;
|
|
7
7
|
private readonly log;
|
|
@@ -15,7 +15,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
15
15
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
16
16
|
};
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
const
|
|
18
|
+
const DateTime_1 = require("../../helpers/DateTime");
|
|
19
19
|
const storage_1 = require("../../helpers/data-access/storage");
|
|
20
20
|
const CoreToken_1 = require("../../helpers/ioc/CoreToken");
|
|
21
21
|
const ContentTypeHelper_1 = require("../helpers/ContentTypeHelper");
|
|
@@ -31,7 +31,7 @@ let RawDataStorage = class RawDataStorage {
|
|
|
31
31
|
this.log.verbose(`Raw data storage upload not enabled for \`${name}\` datasource.`);
|
|
32
32
|
return;
|
|
33
33
|
}
|
|
34
|
-
const now = (0,
|
|
34
|
+
const now = (0, DateTime_1.dateTime)(new Date()).setTimeZone("Europe/Prague");
|
|
35
35
|
let ext = null;
|
|
36
36
|
let headers = null;
|
|
37
37
|
if (meta.headers) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RawDataStorage.js","sourceRoot":"","sources":["../../../src/integration-engine/data-access/RawDataStorage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"RawDataStorage.js","sourceRoot":"","sources":["../../../src/integration-engine/data-access/RawDataStorage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAA6C;AAG7C,+DAAsE;AACtE,2DAAmD;AAEnD,oEAAuE;AACvE,gCAAyC;AACzC,gEAAuC;AACvC,uCAA8C;AAG/B,IAAM,cAAc,GAApB,MAAM,cAAc;IAI/B,YACmC,MAAsB,EACd,cAA8C,EACrD,YAA2B,EACjC,GAA6B;QAFR,mBAAc,GAAd,cAAc,CAAwB;QAE1C,QAAG,GAAH,GAAG,CAAS;QAMpD,SAAI,GAAG,KAAK,EAAE,IAAS,EAAE,IAAS,EAAE,IAAI,GAAG,SAAS,EAAE,EAAE;YAC3D,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE;gBACtD,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,6CAA6C,IAAI,gBAAgB,CAAC,CAAC;gBACpF,OAAO;aACV;YAED,MAAM,GAAG,GAAG,IAAA,mBAAQ,EAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YAC9D,IAAI,GAAG,GAAG,IAAI,CAAC;YACf,IAAI,OAAO,GAAG,IAAI,CAAC;YAEnB,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,IAAI;oBACA,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;iBACnD;gBAAC,MAAM;oBACJ,IAAI,CAAC;iBACR;gBACD,IAAI;oBACA,MAAM,eAAe,GAAG,sBAAW,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;oBACxE,IAAI,eAAe,EAAE,IAAI,EAAE;wBACvB,GAAG,GAAG,0CAAsB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;qBACtD;iBACJ;gBAAC,MAAM;oBACJ,IAAI,CAAC;iBACR;aACJ;YAED,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;YAE1E,YAAY;YACZ,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;YAEtE,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,WAAW,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,GAAG,EAAE;gBAClG,eAAe;gBACf,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,UAAU,CAAC,CAAC;aACtF;QACL,CAAC,CAAC;QAvCE,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC;QACvF,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,oBAAoB,CAAC;IACxD,CAAC;CAsCJ,CAAA;AAlDoB,cAAc;IADlC,IAAA,qBAAU,GAAE;IAMJ,WAAA,IAAA,iBAAM,EAAC,oBAAc,CAAC,MAAM,CAAC,CAAA;IAC7B,WAAA,IAAA,iBAAM,EAAC,oBAAc,CAAC,cAAc,CAAC,CAAA;IACrC,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,YAAY,CAAC,CAAA;IAC9B,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;6CAFsC,gCAAsB;GANxE,cAAc,CAkDlC;kBAlDoB,cAAc"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.IntegrationErrorHandler = void 0;
|
|
4
|
-
const
|
|
4
|
+
const Logger_1 = require("./Logger");
|
|
5
5
|
const errors_1 = require("@golemio/errors");
|
|
6
6
|
/**
|
|
7
7
|
* Class responsible for error handling in the app. Catches errors and based on their type performs some action.
|
|
@@ -18,19 +18,19 @@ class IntegrationErrorHandler extends errors_1.ErrorHandler {
|
|
|
18
18
|
if (err instanceof errors_1.GeneralError) {
|
|
19
19
|
if (err instanceof errors_1.RecoverableError) {
|
|
20
20
|
// warning: ack message - do not retry
|
|
21
|
-
|
|
21
|
+
Logger_1.log.warn(err);
|
|
22
22
|
return this.handleRecoverableError(err);
|
|
23
23
|
}
|
|
24
24
|
else {
|
|
25
25
|
// error: nack message
|
|
26
|
-
|
|
26
|
+
Logger_1.log.error(err);
|
|
27
27
|
return this.handleNonRecoverableError(err);
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
// Unexpected and Fatal errors
|
|
31
31
|
// error: nack message before exiting
|
|
32
32
|
if (err instanceof errors_1.AbortError) {
|
|
33
|
-
|
|
33
|
+
Logger_1.log.error(err);
|
|
34
34
|
return this.handleAbortError(err);
|
|
35
35
|
}
|
|
36
36
|
// error: exit - message is re-queued
|
|
@@ -39,7 +39,7 @@ class IntegrationErrorHandler extends errors_1.ErrorHandler {
|
|
|
39
39
|
cause: err.message,
|
|
40
40
|
stack: err.stack,
|
|
41
41
|
};
|
|
42
|
-
|
|
42
|
+
Logger_1.log.error({ message: msg });
|
|
43
43
|
// if anything fails, process is killed
|
|
44
44
|
return process.exit(1);
|
|
45
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IntegrationErrorHandler.js","sourceRoot":"","sources":["../../../src/integration-engine/helpers/IntegrationErrorHandler.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"IntegrationErrorHandler.js","sourceRoot":"","sources":["../../../src/integration-engine/helpers/IntegrationErrorHandler.ts"],"names":[],"mappings":";;;AAAA,qCAAyC;AACzC,4CAA0G;AAO1G;;;;GAIG;AACH,MAAa,uBAAwB,SAAQ,qBAAY;IACrD;;;;OAIG;IACI,MAAM,CAAC,MAAM,CAAC,GAAU;QAC3B,IAAI,GAAG,YAAY,qBAAY,EAAE;YAC7B,IAAI,GAAG,YAAY,yBAAgB,EAAE;gBACjC,sCAAsC;gBACtC,YAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACd,OAAO,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;aAC3C;iBAAM;gBACH,sBAAsB;gBACtB,YAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACf,OAAO,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;aAC9C;SACJ;QAED,8BAA8B;QAC9B,qCAAqC;QACrC,IAAI,GAAG,YAAY,mBAAU,EAAE;YAC3B,YAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACf,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;SACrC;QAED,qCAAqC;QACrC,MAAM,GAAG,GAAG;YACR,OAAO,EAAE,4CAA4C;YACrD,KAAK,EAAE,GAAG,CAAC,OAAO;YAClB,KAAK,EAAE,GAAG,CAAC,KAAK;SACnB,CAAC;QACF,YAAG,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5B,uCAAuC;QAEvC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAEO,MAAM,CAAC,sBAAsB,CAAC,GAAqB;QACvD,OAAO,EAAE,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IAC5C,CAAC;IAEO,MAAM,CAAC,yBAAyB,CAAC,GAAiB;QACtD,OAAO,EAAE,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;IAC7C,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,GAAe;QAC3C,OAAO,EAAE,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACzD,CAAC;CACJ;AAjDD,0DAiDC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BulkSaveRecords, BulkSaveResult, IModel, ISequelizeSettings } from "./";
|
|
1
|
+
import { BulkSaveRecords, BulkSaveResult, IModel, ISequelizeSettings } from "./IModel";
|
|
2
2
|
import { IValidator } from "@golemio/validator";
|
|
3
3
|
import { Model, ModelCtor, Sequelize, SyncOptions, Transaction } from "sequelize";
|
|
4
4
|
export declare class PostgresModel implements IModel {
|
|
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.RedisModel = void 0;
|
|
7
7
|
const utils_1 = require("../../helpers/utils");
|
|
8
|
-
const
|
|
8
|
+
const Logger_1 = require("../helpers/Logger");
|
|
9
9
|
const ioc_1 = require("../ioc");
|
|
10
10
|
const errors_1 = require("@golemio/errors");
|
|
11
11
|
const redis_rstream_1 = __importDefault(require("redis-rstream"));
|
|
@@ -128,18 +128,18 @@ class RedisModel {
|
|
|
128
128
|
}
|
|
129
129
|
});
|
|
130
130
|
stream.on("error", (err) => {
|
|
131
|
-
|
|
131
|
+
Logger_1.log.error(err);
|
|
132
132
|
return reject(err);
|
|
133
133
|
});
|
|
134
134
|
stream.on("end", async () => {
|
|
135
135
|
try {
|
|
136
136
|
const result = await pipeline.exec();
|
|
137
137
|
const deleteCount = result?.reduce((acc, el) => acc + el[1], 0) ?? 0;
|
|
138
|
-
|
|
138
|
+
Logger_1.log.info(`Truncate complete for ${prefix}, deleted ${deleteCount} in (${result?.length ?? 0}) batches`);
|
|
139
139
|
resolve(deleteCount);
|
|
140
140
|
}
|
|
141
141
|
catch (err) {
|
|
142
|
-
|
|
142
|
+
Logger_1.log.error(err);
|
|
143
143
|
return reject(err);
|
|
144
144
|
}
|
|
145
145
|
});
|
|
@@ -159,7 +159,7 @@ class RedisModel {
|
|
|
159
159
|
}
|
|
160
160
|
}
|
|
161
161
|
else if (!this.validator && this.isKeyConstructedFromData) {
|
|
162
|
-
|
|
162
|
+
Logger_1.log.warn(this.name + ": Model validator is not set.");
|
|
163
163
|
}
|
|
164
164
|
};
|
|
165
165
|
this.buildKey = (key, data) => {
|
|
@@ -177,7 +177,7 @@ class RedisModel {
|
|
|
177
177
|
this.encodeDataBeforeSave = settings.encodeDataBeforeSave ? settings.encodeDataBeforeSave : (raw) => raw;
|
|
178
178
|
this.decodeDataAfterGet = settings.decodeDataAfterGet ? settings.decodeDataAfterGet : (raw) => raw;
|
|
179
179
|
if (this.validator?.setLogger) {
|
|
180
|
-
this.validator.setLogger(
|
|
180
|
+
this.validator.setLogger(Logger_1.log);
|
|
181
181
|
}
|
|
182
182
|
}
|
|
183
183
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RedisModel.js","sourceRoot":"","sources":["../../../src/integration-engine/models/RedisModel.ts"],"names":[],"mappings":";;;;;;AACA,+CAAgD;AAChD,
|
|
1
|
+
{"version":3,"file":"RedisModel.js","sourceRoot":"","sources":["../../../src/integration-engine/models/RedisModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Request, Response, NextFunction } from "express";
|
|
2
2
|
import { Registry } from "prom-client";
|
|
3
3
|
import { IMetricsClientConfig } from "./metrics-interface";
|
|
4
|
-
import { ILogger } from "../../helpers";
|
|
4
|
+
import { ILogger } from "../../helpers/logger/LoggerProvider";
|
|
5
5
|
export declare const apiMetricsMiddleware: (registry: Registry, config: IMetricsClientConfig, log: ILogger) => (req: Request, res: Response, next: NextFunction) => void;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="qs" />
|
|
2
2
|
import express, { Request } from "express";
|
|
3
3
|
import { Server } from "http";
|
|
4
|
-
import { ILogger } from "../../helpers";
|
|
4
|
+
import { ILogger } from "../../helpers/logger/LoggerProvider";
|
|
5
5
|
import { IMetricsClientConfig } from "./metrics-interface";
|
|
6
6
|
import { ICustomMetrics } from "./definitions/custom-metrics-definitions";
|
|
7
7
|
export interface IWorkerLabelData {
|
|
@@ -3,14 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.SequelizeModel = void 0;
|
|
4
4
|
const CoreToken_1 = require("../../helpers/ioc/CoreToken");
|
|
5
5
|
const ioc_1 = require("../ioc");
|
|
6
|
-
const
|
|
6
|
+
const BaseModel_1 = require("./BaseModel");
|
|
7
7
|
/**
|
|
8
8
|
* General model for data stored in PostgreSQL.
|
|
9
9
|
*
|
|
10
10
|
* Model /DATA ACCESS LAYER/: Defines data structure, connects to DB storage and retrieves data directly from database.
|
|
11
11
|
* Performs database queries.
|
|
12
12
|
*/
|
|
13
|
-
class SequelizeModel extends
|
|
13
|
+
class SequelizeModel extends BaseModel_1.BaseModel {
|
|
14
14
|
constructor(name, tableName, attributes, options) {
|
|
15
15
|
super(name);
|
|
16
16
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SequelizeModel.js","sourceRoot":"","sources":["../../../src/output-gateway/models/SequelizeModel.ts"],"names":[],"mappings":";;;AACA,2DAAmD;AACnD,gCAAiD;AACjD
|
|
1
|
+
{"version":3,"file":"SequelizeModel.js","sourceRoot":"","sources":["../../../src/output-gateway/models/SequelizeModel.ts"],"names":[],"mappings":";;;AACA,2DAAmD;AACnD,gCAAiD;AACjD,2CAAiD;AAGjD;;;;;GAKG;AACH,MAAsB,cAAe,SAAQ,qBAAS;IAOlD,YAAsB,IAAY,EAAE,SAAiB,EAAE,UAAgC,EAAE,OAA2B;QAChH,KAAK,CAAC,IAAI,CAAC,CAAC;QAehB;;WAEG;QACI,cAAS,GAAG,CAAC,MAAW,EAAQ,EAAE;YACrC,OAAO;QACX,CAAC,CAAC;QAnBE,MAAM,SAAS,GAAG,4BAAsB,CAAC,OAAO,CAAqB,qBAAS,CAAC,iBAAiB,CAAC,CAAC;QAClG,aAAa;QACb,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE;YAC1E,qFAAqF;YACrF,8EAA8E;YAC9E,YAAY,EAAE;gBACV,UAAU,EAAE;oBACR,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,CAAC;iBAC1G;aACJ;YACD,GAAG,OAAO;SACb,CAAC,CAAC;IACP,CAAC;CAQJ;AA7BD,wCA6BC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IBaseModel } from "./IBaseModel";
|
|
2
|
-
import { IPropertyResponseModel } from "
|
|
2
|
+
import { IPropertyResponseModel } from "../response/IPropertyResponseModel";
|
|
3
3
|
export interface IGeoJsonModel extends IBaseModel {
|
|
4
4
|
GetAll(options?: any): Promise<any>;
|
|
5
5
|
GetOne(id: string): Promise<any>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@golemio/core",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.8-dev.2500290827",
|
|
4
4
|
"description": "Golemio Core Module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
"test-debug": "run-s 'test -- --inspect-brk=9230'",
|
|
13
13
|
"code-coverage": "nyc run-s 'test -- -r source-map-support/register'",
|
|
14
14
|
"generate-docs": "typedoc --out docs/typedoc src",
|
|
15
|
-
"lint": "eslint --cache \"{src,test}/**/*.ts\""
|
|
15
|
+
"lint": "eslint --cache \"{src,test}/**/*.ts\"",
|
|
16
|
+
"validate-dependencies": "dependency-cruiser --config .dependency-cruiser.js src"
|
|
16
17
|
},
|
|
17
18
|
"keywords": [
|
|
18
19
|
"golemio"
|
|
@@ -46,6 +47,7 @@
|
|
|
46
47
|
"chai": "^6.2.2",
|
|
47
48
|
"chai-as-promised": "^8.0.2",
|
|
48
49
|
"cross-env": "^7.0.3",
|
|
50
|
+
"dependency-cruiser": "^17.3.10",
|
|
49
51
|
"eslint": "^8.1.1",
|
|
50
52
|
"husky": "^4.3.7",
|
|
51
53
|
"mocha": "^11.7.5",
|
|
@@ -100,7 +102,6 @@
|
|
|
100
102
|
"express": "^5.0.3",
|
|
101
103
|
"express-validator": "^7.3.2",
|
|
102
104
|
"fast-csv": "^4.3.6",
|
|
103
|
-
"fast-glob": "^3.2.5",
|
|
104
105
|
"geojson": "^0.5.0",
|
|
105
106
|
"html-entities": "^2.4.0",
|
|
106
107
|
"iconv-lite": "^0.6.2",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IHistoryFilterParameters.js","sourceRoot":"","sources":["../../../../src/output-gateway/routes/interfaces/IHistoryFilterParameters.ts"],"names":[],"mappings":""}
|