@tasenor/common-node 1.12.0 → 1.13.0
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/src/cli/cli.js.map +1 -1
- package/dist/src/cli/mini-util.d.ts +1 -1
- package/dist/src/cli/mini-util.js.map +1 -1
- package/dist/src/commands/account.js.map +1 -1
- package/dist/src/commands/balance.js.map +1 -1
- package/dist/src/commands/db.js.map +1 -1
- package/dist/src/commands/entry.js.map +1 -1
- package/dist/src/commands/import.js.map +1 -1
- package/dist/src/commands/importer.js +1 -1
- package/dist/src/commands/importer.js.map +1 -1
- package/dist/src/commands/index.js.map +1 -1
- package/dist/src/commands/period.js.map +1 -1
- package/dist/src/commands/plugin.js.map +1 -1
- package/dist/src/commands/report.js.map +1 -1
- package/dist/src/commands/settings.js.map +1 -1
- package/dist/src/commands/stock.js.map +1 -1
- package/dist/src/commands/tag.js.map +1 -1
- package/dist/src/commands/tx.js.map +1 -1
- package/dist/src/commands/user.js.map +1 -1
- package/dist/src/data/csv.d.ts +5 -0
- package/dist/src/data/csv.js +28 -0
- package/dist/src/data/csv.js.map +1 -0
- package/dist/src/data/index.d.ts +1 -0
- package/dist/src/data/index.js +1 -0
- package/dist/src/data/index.js.map +1 -1
- package/dist/src/data/utils.js.map +1 -1
- package/dist/src/database/BookkeeperImporter.d.ts +1 -0
- package/dist/src/database/BookkeeperImporter.js +13 -12
- package/dist/src/database/BookkeeperImporter.js.map +1 -1
- package/dist/src/database/DB.js +2 -1
- package/dist/src/database/DB.js.map +1 -1
- package/dist/src/export/Exporter.d.ts +2 -2
- package/dist/src/export/Exporter.js +0 -2
- package/dist/src/export/Exporter.js.map +1 -1
- package/dist/src/export/TasenorExporter.js.map +1 -1
- package/dist/src/export/TilitinExporter.js.map +1 -1
- package/dist/src/import/TextFileProcessHandler.js +2 -2
- package/dist/src/import/TextFileProcessHandler.js.map +1 -1
- package/dist/src/import/TransactionImportConnector.js.map +1 -1
- package/dist/src/import/TransactionImportHandler.d.ts +4 -26
- package/dist/src/import/TransactionImportHandler.js +8 -27
- package/dist/src/import/TransactionImportHandler.js.map +1 -1
- package/dist/src/import/TransactionRules.d.ts +1 -172
- package/dist/src/import/TransactionRules.js +8 -172
- package/dist/src/import/TransactionRules.js.map +1 -1
- package/dist/src/import/TransactionUI.js +16 -2
- package/dist/src/import/TransactionUI.js.map +1 -1
- package/dist/src/import/TransferAnalyzer.js +27 -6
- package/dist/src/import/TransferAnalyzer.js.map +1 -1
- package/dist/src/net/git.d.ts +10 -1
- package/dist/src/net/git.js +45 -13
- package/dist/src/net/git.js.map +1 -1
- package/dist/src/net/middleware.js.map +1 -1
- package/dist/src/net/tokens.js.map +1 -1
- package/dist/src/net/vault.js.map +1 -1
- package/dist/src/plugins/BackendPlugin.d.ts +1 -1
- package/dist/src/plugins/BackendPlugin.js.map +1 -1
- package/dist/src/plugins/DataPlugin.js.map +1 -1
- package/dist/src/plugins/ImportPlugin.d.ts +4 -1
- package/dist/src/plugins/ImportPlugin.js +2 -0
- package/dist/src/plugins/ImportPlugin.js.map +1 -1
- package/dist/src/plugins/LanguageBackendPlugin.d.ts +15 -0
- package/dist/src/plugins/LanguageBackendPlugin.js +18 -0
- package/dist/src/plugins/LanguageBackendPlugin.js.map +1 -0
- package/dist/src/plugins/ReportPlugin.d.ts +8 -3
- package/dist/src/plugins/ReportPlugin.js +38 -4
- package/dist/src/plugins/ReportPlugin.js.map +1 -1
- package/dist/src/plugins/ServicePlugin.js.map +1 -1
- package/dist/src/plugins/index.d.ts +1 -0
- package/dist/src/plugins/index.js +1 -0
- package/dist/src/plugins/index.js.map +1 -1
- package/dist/src/plugins/plugins.d.ts +2 -2
- package/dist/src/plugins/plugins.js +27 -5
- package/dist/src/plugins/plugins.js.map +1 -1
- package/dist/src/process/Process.js +4 -4
- package/dist/src/process/Process.js.map +1 -1
- package/dist/src/process/ProcessFile.js.map +1 -1
- package/dist/src/process/ProcessHandler.d.ts +0 -6
- package/dist/src/process/ProcessStep.js.map +1 -1
- package/dist/src/process/ProcessingSystem.d.ts +2 -8
- package/dist/src/process/ProcessingSystem.js +17 -31
- package/dist/src/process/ProcessingSystem.js.map +1 -1
- package/dist/src/reports/conversions.js +0 -3
- package/dist/src/reports/conversions.js.map +1 -1
- package/dist/src/server/ISPDemoServer.js.map +1 -1
- package/dist/src/server/api.js.map +1 -1
- package/dist/src/server/index.d.ts +1 -0
- package/dist/src/server/index.js +1 -0
- package/dist/src/server/index.js.map +1 -1
- package/dist/src/server/router.js.map +1 -1
- package/dist/src/server/server.d.ts +11 -0
- package/dist/src/server/server.js +39 -0
- package/dist/src/server/server.js.map +1 -0
- package/dist/src/system.d.ts +1 -1
- package/dist/src/system.js +8 -3
- package/dist/src/system.js.map +1 -1
- package/package.json +26 -27
- package/src/cli/mini-util.ts +6 -6
- package/src/commands/importer.ts +1 -1
- package/src/commands/index.ts +1 -1
- package/src/database/DB.ts +3 -1
- package/src/export/Exporter.ts +5 -7
- package/src/import/TransactionImportHandler.ts +9 -27
- package/src/import/TransactionRules.ts +8 -172
- package/src/import/TransactionUI.ts +16 -2
- package/src/import/TransferAnalyzer.ts +38 -7
- package/src/plugins/BackendPlugin.ts +1 -1
- package/src/plugins/ImportPlugin.ts +2 -2
- package/src/plugins/LanguageBackendPlugin.ts +22 -0
- package/src/plugins/ReportPlugin.ts +40 -4
- package/src/plugins/index.ts +1 -0
- package/src/process/Process.ts +4 -4
- package/src/process/ProcessHandler.ts +0 -7
- package/src/process/ProcessingSystem.ts +18 -31
- package/src/reports/conversions.ts +0 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProcessStep.js","sourceRoot":"","sources":["../../../src/process/ProcessStep.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,OAAO,EAAM,UAAU,EAA6B,MAAM,iBAAiB,CAAA;AAgB3E;;GAEG;AACH,MAAM,OAAO,WAAW;IAEtB,OAAO,CAAS;IAEhB,EAAE,CAAI;IACN,SAAS,CAAI;IACb,MAAM,CAAQ;IACd,KAAK,CAAa;IAClB,OAAO,CAAQ;IACf,OAAO,CAAkB;IACzB,QAAQ,CAAkB;IAC1B,UAAU,CAAa;IACvB,MAAM,CAA2B;IAEjC,YAAY,GAAoB;QAC9B,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,IAAI,CAAA;QACtC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;QACxB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAA;QACtB,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;QAC1B,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC7E,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAA;QACxB,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAA;QAC1B,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAA;IAC9B,CAAC;IAED,QAAQ;QACN,OAAO,eAAe,IAAI,CAAC,MAAM,gBAAgB,IAAI,CAAC,SAAS,EAAE,CAAA;IACnE,CAAC;IAED;;OAEG;IACH,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAA;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"ProcessStep.js","sourceRoot":"","sources":["../../../src/process/ProcessStep.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Process } from './Process';
|
|
2
2
|
import { ProcessFileData } from './ProcessFile';
|
|
3
3
|
import { ProcessStep } from './ProcessStep';
|
|
4
|
-
import { ProcessHandler
|
|
4
|
+
import { ProcessHandler } from './ProcessHandler';
|
|
5
5
|
import { ProcessConnector } from './ProcessConnector';
|
|
6
6
|
import { ProcessName, ProcessConfig, ID } from '@tasenor/common';
|
|
7
7
|
import { KnexDatabase } from '../database';
|
|
@@ -10,7 +10,7 @@ import { KnexDatabase } from '../database';
|
|
|
10
10
|
*/
|
|
11
11
|
export declare class ProcessingSystem {
|
|
12
12
|
db: KnexDatabase;
|
|
13
|
-
|
|
13
|
+
handler: ProcessHandler;
|
|
14
14
|
connector: ProcessConnector;
|
|
15
15
|
logger: {
|
|
16
16
|
info: (...msg: any[]) => void;
|
|
@@ -45,12 +45,6 @@ export declare class ProcessingSystem {
|
|
|
45
45
|
* Check if we are in the finished state and if not, find the directions forward.
|
|
46
46
|
*/
|
|
47
47
|
checkFinishAndFindDirections(handler: ProcessHandler, step: ProcessStep): Promise<void>;
|
|
48
|
-
/**
|
|
49
|
-
* Get the named handler or throw an error if not registered.
|
|
50
|
-
* @param name
|
|
51
|
-
* @returns
|
|
52
|
-
*/
|
|
53
|
-
getHandler(name: string): ProcessHandler;
|
|
54
48
|
/**
|
|
55
49
|
* Load the process data from the disk.
|
|
56
50
|
* @param id
|
|
@@ -7,7 +7,7 @@ import { InvalidArgument } from '../error';
|
|
|
7
7
|
*/
|
|
8
8
|
export class ProcessingSystem {
|
|
9
9
|
db;
|
|
10
|
-
|
|
10
|
+
handler;
|
|
11
11
|
connector;
|
|
12
12
|
logger;
|
|
13
13
|
/**
|
|
@@ -42,14 +42,14 @@ export class ProcessingSystem {
|
|
|
42
42
|
if (!handler.name) {
|
|
43
43
|
throw new InvalidArgument('A handler without name cannot be registered.');
|
|
44
44
|
}
|
|
45
|
-
if (
|
|
46
|
-
throw new InvalidArgument(`The handler '${handler.name}' is already defined.`);
|
|
45
|
+
if (this.handler) {
|
|
46
|
+
throw new InvalidArgument(`The handler '${this.handler.name}' is already defined.`);
|
|
47
47
|
}
|
|
48
48
|
if (handler.name.length > 32) {
|
|
49
49
|
throw new InvalidArgument(`The handler name '${handler.name}' is too long.`);
|
|
50
50
|
}
|
|
51
51
|
handler.system = this;
|
|
52
|
-
this.
|
|
52
|
+
this.handler = handler;
|
|
53
53
|
}
|
|
54
54
|
/**
|
|
55
55
|
* Initialize new process and save it to the database.
|
|
@@ -74,24 +74,21 @@ export class ProcessingSystem {
|
|
|
74
74
|
await processFile.save(this.db);
|
|
75
75
|
// Find the handler.
|
|
76
76
|
let selectedHandler = null;
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
if (version) {
|
|
81
|
-
|
|
82
|
-
handler.version = 1;
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
handler.version = version;
|
|
86
|
-
}
|
|
87
|
-
selectedHandler = handler;
|
|
88
|
-
break;
|
|
77
|
+
try {
|
|
78
|
+
const version = this.handler.canHandle(processFile);
|
|
79
|
+
if (version) {
|
|
80
|
+
if (version === true) {
|
|
81
|
+
this.handler.version = 1;
|
|
89
82
|
}
|
|
83
|
+
else {
|
|
84
|
+
this.handler.version = version;
|
|
85
|
+
}
|
|
86
|
+
selectedHandler = this.handler;
|
|
90
87
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
88
|
+
}
|
|
89
|
+
catch (err) {
|
|
90
|
+
await process.crashed(err);
|
|
91
|
+
return process;
|
|
95
92
|
}
|
|
96
93
|
if (!selectedHandler) {
|
|
97
94
|
await process.crashed(new InvalidArgument(`No handler found for the file ${file.name} of type ${file.type}.`));
|
|
@@ -164,17 +161,6 @@ export class ProcessingSystem {
|
|
|
164
161
|
}
|
|
165
162
|
await step.process.updateStatus();
|
|
166
163
|
}
|
|
167
|
-
/**
|
|
168
|
-
* Get the named handler or throw an error if not registered.
|
|
169
|
-
* @param name
|
|
170
|
-
* @returns
|
|
171
|
-
*/
|
|
172
|
-
getHandler(name) {
|
|
173
|
-
if (!(name in this.handlers)) {
|
|
174
|
-
throw new InvalidArgument(`There is no handler for '${name}'.`);
|
|
175
|
-
}
|
|
176
|
-
return this.handlers[name];
|
|
177
|
-
}
|
|
178
164
|
/**
|
|
179
165
|
* Load the process data from the disk.
|
|
180
166
|
* @param id
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProcessingSystem.js","sourceRoot":"","sources":["../../../src/process/ProcessingSystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,WAAW,EAAmB,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAI3C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAG1C;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAE3B,EAAE,CAAc;IAChB,
|
|
1
|
+
{"version":3,"file":"ProcessingSystem.js","sourceRoot":"","sources":["../../../src/process/ProcessingSystem.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversions.js","sourceRoot":"","sources":["../../../src/reports/conversions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC7D,OAAO,QAAQ,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAM,EAAE,OAA0B;IACzD,MAAM,GAAG,GAA6B,EAAE,CAAA;IAExC,MAAM,MAAM,GAAG;QACb,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE;QAC/B,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE;QACpH,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;QAC3C,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM;YACvC,CAAC,KAAK,CAAC,SAAS;YAChB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE;YAChC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACjC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;YACxC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAClF,CAAC,CAAC,EAAE;QACN,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM;YACxC,CAAC,KAAK,CAAC,SAAS;YAChB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE;YAChC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACjC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;YACxC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;YAC/F,CAAC,CAAC,EAAE;KACP,CAAA;IAED,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;IAChC,IAAI,IAAI,GAA2B,EAAE,CAAA;IACrC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"conversions.js","sourceRoot":"","sources":["../../../src/reports/conversions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC7D,OAAO,QAAQ,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAM,EAAE,OAA0B;IACzD,MAAM,GAAG,GAA6B,EAAE,CAAA;IAExC,MAAM,MAAM,GAAG;QACb,EAAE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE;QAC/B,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE;QACpH,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;QAC3C,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM;YACvC,CAAC,KAAK,CAAC,SAAS;YAChB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE;YAChC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACjC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;YACxC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAClF,CAAC,CAAC,EAAE;QACN,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM;YACxC,CAAC,KAAK,CAAC,SAAS;YAChB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE;YAChC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACjC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;YACxC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;YAC/F,CAAC,CAAC,EAAE;KACP,CAAA;IAED,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;IAChC,IAAI,IAAI,GAA2B,EAAE,CAAA;IACrC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QAC/D,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAChB,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACrB,IAAI,GAAG,EAAE,CAAA;QACT,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACzB,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;gBAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;YACxB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;YACxD,CAAC;QACH,CAAC,CAAC,CAAA;QACF,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAChB,CAAC,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;IAEzC,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;AACvD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ISPDemoServer.js","sourceRoot":"","sources":["../../../src/server/ISPDemoServer.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,OAAO,EAAoC,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAGjG;;;;;;;;;;GAUG;AACH,MAAM,OAAO,aAAa;IAChB,GAAG,GAAG,OAAO,EAAE,CAAA;IACf,MAAM,CAAQ;IACd,IAAI,CAAQ;IACZ,EAAE,CAAc;IAChB,QAAQ,CAAkB;IAC1B,SAAS,CAAkB;IAC3B,cAAc,CAAyB;IAE/C;;;;;;;OAOG;IACH,YAAY,IAAY,EAAE,WAAmB,EAAE,QAA0B,EAAE,YAAmC,IAAI,EAAE,iBAA0C,EAAE;QAC9J,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAA;QACjG,MAAM,eAAe,GAAG,cAAc,CAAA;QACtC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"ISPDemoServer.js","sourceRoot":"","sources":["../../../src/server/ISPDemoServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/server/api.ts"],"names":[],"mappings":"AAWA;;;;GAIG;AACH,MAAM,CAAC,OAAO,WAAU,EAAgB;IACtC,OAAO;QACL,OAAO,EAAE;YACP,MAAM,EAAE,KAAK,IAAiC,EAAE;gBAC9C,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;YAC/D,CAAC;YACD,GAAG,EAAE,KAAK,EAAE,EAAM,EAAqC,EAAE;gBACvD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAA;gBACpE,IAAI,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/server/api.ts"],"names":[],"mappings":"AAWA;;;;GAIG;AACH,MAAM,CAAC,OAAO,WAAU,EAAgB;IACtC,OAAO;QACL,OAAO,EAAE;YACP,MAAM,EAAE,KAAK,IAAiC,EAAE;gBAC9C,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;YAC/D,CAAC;YACD,GAAG,EAAE,KAAK,EAAE,EAAM,EAAqC,EAAE;gBACvD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAA;gBACpE,IAAI,IAAI,EAAE,CAAC;oBACT,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;oBACxJ,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE,CAAA;gBAC1B,CAAC;gBACD,OAAO,IAAI,CAAA;YACb,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,EAAM,EAAE,MAAc,EAAiC,EAAE;gBACvE,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAA;gBAC3F,OAAO,IAAI,CAAA;YACb,CAAC;SACF;KACF,CAAA;AACH,CAAC"}
|
package/dist/src/server/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,UAAU,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/server/router.ts"],"names":[],"mappings":"AAAA,OAAO,OAA4B,MAAM,SAAS,CAAA;AAGlD,OAAO,UAAU,MAAM,OAAO,CAAA;AAG9B,MAAM,UAAU,MAAM,CAAC,EAAgB,EAAE,YAAoC;IAE3E,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAA;IAC/B,MAAM,GAAG,GAAG,UAAU,CAAC,EAAE,CAAC,CAAA;IAE1B,MAAM,CAAC,GAAG,CAAC,GAAG,EACZ,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACjB,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAC7C,CAAC,CACF,CAAA;IAED,MAAM,CAAC,GAAG,CAAC,MAAM,EACf,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACjB,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACjE,CAAC,CACF,CAAA;IAED,MAAM,CAAC,IAAI,CAAC,GAAG,EACb,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACjB,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;QAChC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAA;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACpC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,CACxC,mBAAmB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACrC,KAAK,EACL,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,MAAM,EAAE,CACnD,CAAA;QACD,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/server/router.ts"],"names":[],"mappings":"AAAA,OAAO,OAA4B,MAAM,SAAS,CAAA;AAGlD,OAAO,UAAU,MAAM,OAAO,CAAA;AAG9B,MAAM,UAAU,MAAM,CAAC,EAAgB,EAAE,YAAoC;IAE3E,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAA;IAC/B,MAAM,GAAG,GAAG,UAAU,CAAC,EAAE,CAAC,CAAA;IAE1B,MAAM,CAAC,GAAG,CAAC,GAAG,EACZ,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACjB,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAC7C,CAAC,CACF,CAAA;IAED,MAAM,CAAC,GAAG,CAAC,MAAM,EACf,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACjB,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACjE,CAAC,CACF,CAAA;IAED,MAAM,CAAC,IAAI,CAAC,GAAG,EACb,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACjB,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;QAChC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAA;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACpC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,CACxC,mBAAmB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACrC,KAAK,EACL,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,MAAM,EAAE,CACnD,CAAA;QACD,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACrB,MAAM,OAAO,CAAC,GAAG,EAAE,CAAA;QACrB,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;IACpD,CAAC,CAAC,CAAA;IAEJ,MAAM,CAAC,IAAI,CAAC,MAAM,EAChB,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACjB,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;QAChC,MAAM,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,CAAA;QACzB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;QACtD,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC7B,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACrB,MAAM,OAAO,CAAC,GAAG,EAAE,CAAA;QACrB,CAAC;QACD,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;IACrB,CAAC,CACF,CAAA;IAED,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAC5B,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACjB,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAClG,CAAC,CACF,CAAA;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Server } from 'http';
|
|
3
|
+
import { Express } from 'express';
|
|
4
|
+
/**
|
|
5
|
+
* Launch the listener for a server.
|
|
6
|
+
*/
|
|
7
|
+
export declare function listen(app: Express, port: number | string, main: (s: Server) => void): Promise<void>;
|
|
8
|
+
/**
|
|
9
|
+
* Shut down the server.
|
|
10
|
+
*/
|
|
11
|
+
export declare function killListener(): void;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { log, error, waitPromise } from '@tasenor/common';
|
|
2
|
+
import { killPortUser } from '../system';
|
|
3
|
+
let expressListener;
|
|
4
|
+
/**
|
|
5
|
+
* Try to establish a listener for the server port.
|
|
6
|
+
*/
|
|
7
|
+
async function listener(app, port, main) {
|
|
8
|
+
return new Promise((resolve) => {
|
|
9
|
+
log('Setting up listener...');
|
|
10
|
+
expressListener = app.listen(port).on('error', (err) => {
|
|
11
|
+
error('Launching failed:', err + '');
|
|
12
|
+
if ('code' in err && err.code === 'EADDRINUSE') {
|
|
13
|
+
error('Trying to kill existing process...');
|
|
14
|
+
killPortUser(port);
|
|
15
|
+
}
|
|
16
|
+
resolve(false);
|
|
17
|
+
}).on('listening', async () => {
|
|
18
|
+
main(expressListener);
|
|
19
|
+
resolve(true);
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Launch the listener for a server.
|
|
25
|
+
*/
|
|
26
|
+
export async function listen(app, port, main) {
|
|
27
|
+
while (true) {
|
|
28
|
+
if (await listener(app, parseInt(`${port}`), main))
|
|
29
|
+
break;
|
|
30
|
+
await waitPromise(2000);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Shut down the server.
|
|
35
|
+
*/
|
|
36
|
+
export function killListener() {
|
|
37
|
+
expressListener.close();
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/server/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,IAAI,eAAuB,CAAA;AAE3B;;GAEG;AACH,KAAK,UAAU,QAAQ,CAAC,GAAY,EAAE,IAAY,EAAE,IAAyB;IAC3E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,GAAG,CAAC,wBAAwB,CAAC,CAAA;QAE7B,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAChC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACpB,KAAK,CAAC,mBAAmB,EAAE,GAAG,GAAG,EAAE,CAAC,CAAA;YACpC,IAAI,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC/C,KAAK,CAAC,oCAAoC,CAAC,CAAA;gBAC3C,YAAY,CAAC,IAAI,CAAC,CAAA;YACpB,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,CAAA;QAChB,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;YAC5B,IAAI,CAAC,eAAe,CAAC,CAAA;YACrB,OAAO,CAAC,IAAI,CAAC,CAAA;QACf,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,GAAY,EAAE,IAAqB,EAAE,IAAyB;IACzF,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,MAAM,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC;YAAE,MAAK;QACzD,MAAM,WAAW,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,eAAe,CAAC,KAAK,EAAE,CAAA;AACzB,CAAC"}
|
package/dist/src/system.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @param quiet If set, do not output.
|
|
5
5
|
* @returns Srandard output if successfully executed.
|
|
6
6
|
*/
|
|
7
|
-
export declare function system(command: string, quiet?: boolean): Promise<string>;
|
|
7
|
+
export declare function system(command: string, quiet?: boolean, ignoreError?: boolean): Promise<string | null>;
|
|
8
8
|
/**
|
|
9
9
|
* A system call showing real time output of stdout.
|
|
10
10
|
* @param command
|
package/dist/src/system.js
CHANGED
|
@@ -9,7 +9,7 @@ import { log, error, note } from '@tasenor/common';
|
|
|
9
9
|
* @param quiet If set, do not output.
|
|
10
10
|
* @returns Srandard output if successfully executed.
|
|
11
11
|
*/
|
|
12
|
-
export async function system(command, quiet = false) {
|
|
12
|
+
export async function system(command, quiet = false, ignoreError = false) {
|
|
13
13
|
if (!quiet) {
|
|
14
14
|
log(`Running system command: ${command}`);
|
|
15
15
|
}
|
|
@@ -18,6 +18,8 @@ export async function system(command, quiet = false) {
|
|
|
18
18
|
if (err) {
|
|
19
19
|
if (!quiet)
|
|
20
20
|
error(err);
|
|
21
|
+
if (ignoreError)
|
|
22
|
+
return resolve(null);
|
|
21
23
|
return reject(err);
|
|
22
24
|
}
|
|
23
25
|
if (stderr && !quiet) {
|
|
@@ -71,9 +73,12 @@ export async function systemPiped(command, quiet = false, ignoreError = false) {
|
|
|
71
73
|
* Try to kill a process holding the TCP port.
|
|
72
74
|
*/
|
|
73
75
|
export async function killPortUser(port) {
|
|
74
|
-
const out = await systemPiped(`fuser -n tcp ${port}`, true);
|
|
76
|
+
const out = await systemPiped(`fuser -n tcp ${port}`, true, true);
|
|
75
77
|
if (out) {
|
|
76
|
-
system(`kill ${out.trim()}
|
|
78
|
+
system(`kill ${out.trim()}`, true);
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
error(`Cannot find process accessing TCP ${port}.`);
|
|
77
82
|
}
|
|
78
83
|
}
|
|
79
84
|
/**
|
package/dist/src/system.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system.js","sourceRoot":"","sources":["../../src/system.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAElD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,OAAe,EAAE,KAAK,GAAG,KAAK;
|
|
1
|
+
{"version":3,"file":"system.js","sourceRoot":"","sources":["../../src/system.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tasenor/common-node",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.13.0",
|
|
4
4
|
"description": "Common Node-parts of Tasenor project",
|
|
5
5
|
"main": "src/index.ts",
|
|
6
6
|
"types": "src/index.ts",
|
|
@@ -8,45 +8,44 @@
|
|
|
8
8
|
"author": "Tommi Ronkainen <tommi.ronkainen@gmail.com>",
|
|
9
9
|
"license": "MIT",
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@vscode/sqlite3": "5.1.6-vscode",
|
|
12
11
|
"argparse": "^2.0.1",
|
|
13
|
-
"axios": "
|
|
14
|
-
"bcrypt": "^5.1.
|
|
12
|
+
"axios": "^1.6.7",
|
|
13
|
+
"bcrypt": "^5.1.1",
|
|
15
14
|
"chardet": "^1.6.0",
|
|
16
15
|
"clone": "^2.1.2",
|
|
17
16
|
"cors": "^2.8.5",
|
|
18
|
-
"csv-parse": "^5.
|
|
17
|
+
"csv-parse": "^5.5.3",
|
|
19
18
|
"dayjs": "1.10.8",
|
|
20
19
|
"dot-object": "^2.1.4",
|
|
21
20
|
"express": "^4.18.2",
|
|
22
|
-
"fast-glob": "^3.3.
|
|
21
|
+
"fast-glob": "^3.3.2",
|
|
23
22
|
"form-data": "^4.0.0",
|
|
24
|
-
"git-url-parse": "^13.1.
|
|
25
|
-
"helmet": "^7.
|
|
23
|
+
"git-url-parse": "^13.1.1",
|
|
24
|
+
"helmet": "^7.1.0",
|
|
26
25
|
"json2csv": "6.0.0-alpha.2",
|
|
27
|
-
"jsonwebtoken": "^9.0.
|
|
28
|
-
"knex": "^2.5.
|
|
26
|
+
"jsonwebtoken": "^9.0.2",
|
|
27
|
+
"knex": "^2.5.1",
|
|
29
28
|
"merge": "^2.1.1",
|
|
30
29
|
"mime-types": "^2.1.35",
|
|
31
30
|
"object-hash": "^3.0.0",
|
|
32
|
-
"pg": "^8.11.
|
|
33
|
-
"pg-types": "^4.0.
|
|
34
|
-
"simple-git": "^3.
|
|
35
|
-
"sprintf-js": "^1.1.
|
|
36
|
-
"sqlite3": "^5.1.
|
|
37
|
-
"tar": "^6.
|
|
31
|
+
"pg": "^8.11.3",
|
|
32
|
+
"pg-types": "^4.0.2",
|
|
33
|
+
"simple-git": "^3.22.0",
|
|
34
|
+
"sprintf-js": "^1.1.3",
|
|
35
|
+
"sqlite3": "^5.1.7",
|
|
36
|
+
"tar": "^6.2.0",
|
|
38
37
|
"ts-opaque": "^3.0.1",
|
|
39
|
-
"@tasenor/common": "1.
|
|
38
|
+
"@tasenor/common": "1.13.0"
|
|
40
39
|
},
|
|
41
40
|
"devDependencies": {
|
|
42
|
-
"@jest/globals": "^29.
|
|
43
|
-
"@types/jest": "^29.5.
|
|
44
|
-
"@types/jsonwebtoken": "^9.0.
|
|
45
|
-
"jest": "^29.
|
|
46
|
-
"ts-jest": "^29.1.
|
|
47
|
-
"typescript": "^5.
|
|
48
|
-
"
|
|
49
|
-
"
|
|
41
|
+
"@jest/globals": "^29.7.0",
|
|
42
|
+
"@types/jest": "^29.5.12",
|
|
43
|
+
"@types/jsonwebtoken": "^9.0.5",
|
|
44
|
+
"jest": "^29.7.0",
|
|
45
|
+
"ts-jest": "^29.1.2",
|
|
46
|
+
"typescript": "^5.3.3",
|
|
47
|
+
"@tasenor/config": "1.13.0",
|
|
48
|
+
"eslint-config-tasenor": "0.0.0"
|
|
50
49
|
},
|
|
51
50
|
"scripts": {
|
|
52
51
|
"ci": "pnpm run lint && pnpm run test",
|
|
@@ -54,8 +53,8 @@
|
|
|
54
53
|
"fix": "eslint --fix 'src/**/*.ts' 'tests/**/*.ts'",
|
|
55
54
|
"lint": "eslint 'src/**/*.ts' 'tests/**/*.ts'",
|
|
56
55
|
"nightly": "pnpm run ci",
|
|
57
|
-
"release": "pnpm version patch && pnpm publish --access public --no-git-checks",
|
|
58
|
-
"release-minor": "pnpm version minor && pnpm publish --access public --no-git-checks",
|
|
56
|
+
"release": "pnpm version patch && pnpm publish --force --access public --no-git-checks",
|
|
57
|
+
"release-minor": "pnpm version minor && pnpm publish --force --access public --no-git-checks",
|
|
59
58
|
"test": "jest",
|
|
60
59
|
"watch": "jest --onlyChanged --watch",
|
|
61
60
|
"show-version": "jq .version < package.json"
|
package/src/cli/mini-util.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import path from 'path'
|
|
2
2
|
import { ArgumentParser } from 'argparse'
|
|
3
3
|
import { cli } from './cli'
|
|
4
|
-
import { Crypto } from '@tasenor/common'
|
|
4
|
+
import { Crypto, Secret, Token } from '@tasenor/common'
|
|
5
5
|
import { tokens } from '..'
|
|
6
6
|
import { JwtPayload } from 'jsonwebtoken'
|
|
7
7
|
|
|
@@ -24,7 +24,7 @@ import { JwtPayload } from 'jsonwebtoken'
|
|
|
24
24
|
export interface MiniUtil {
|
|
25
25
|
title: string
|
|
26
26
|
args: [string, Record<string, string>][]
|
|
27
|
-
exe: (args: Record<string,
|
|
27
|
+
exe: (args: Record<string, unknown>) => Promise<void>
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
const utils: Record<string, MiniUtil> = {}
|
|
@@ -45,7 +45,7 @@ utils.encrypt = {
|
|
|
45
45
|
if (!secret) {
|
|
46
46
|
secret = await cli.ask('What is the secret string?')
|
|
47
47
|
}
|
|
48
|
-
const crypted = await Crypto.encrypt(secret, text)
|
|
48
|
+
const crypted = await Crypto.encrypt(secret as Secret, text as string)
|
|
49
49
|
console.log(crypted)
|
|
50
50
|
},
|
|
51
51
|
}
|
|
@@ -66,7 +66,7 @@ utils.decrypt = {
|
|
|
66
66
|
if (!secret) {
|
|
67
67
|
secret = await cli.ask('What is the secret string?')
|
|
68
68
|
}
|
|
69
|
-
const decrypted = await Crypto.decrypt(secret, text)
|
|
69
|
+
const decrypted = await Crypto.decrypt(secret as Secret, text as string)
|
|
70
70
|
console.log(decrypted)
|
|
71
71
|
},
|
|
72
72
|
}
|
|
@@ -80,7 +80,7 @@ utils['token-show'] = {
|
|
|
80
80
|
['token', { help: 'Tasenor token' }],
|
|
81
81
|
],
|
|
82
82
|
exe: async({ token }) => {
|
|
83
|
-
const parsed: JwtPayload = tokens.parse(token) as JwtPayload
|
|
83
|
+
const parsed: JwtPayload = tokens.parse(token as Token) as JwtPayload
|
|
84
84
|
if (parsed && parsed.payload && parsed.payload.iat) parsed.payload.iat = new Date(parsed.payload.iat * 1000)
|
|
85
85
|
if (parsed && parsed.payload && parsed.payload.exp) parsed.payload.exp = new Date(parsed.payload.exp * 1000)
|
|
86
86
|
console.dir(parsed, { depth: null })
|
|
@@ -118,7 +118,7 @@ export function runMiniUtil(name: string | undefined = undefined) {
|
|
|
118
118
|
}
|
|
119
119
|
const args = parser.parse_args(process.argv.slice(2))
|
|
120
120
|
|
|
121
|
-
const callArgs: Record<string,
|
|
121
|
+
const callArgs: Record<string, unknown> = {}
|
|
122
122
|
for (const [arg,] of utils[name].args) {
|
|
123
123
|
callArgs[arg] = args[arg]
|
|
124
124
|
}
|
package/src/commands/importer.ts
CHANGED
|
@@ -54,7 +54,7 @@ class ImporterCommand extends Command {
|
|
|
54
54
|
const { db, name, plugin } = this.args
|
|
55
55
|
await this.plugin(plugin)
|
|
56
56
|
const code = this.str(plugin)
|
|
57
|
-
await this.post(`/db/${db}/importer`, { name, config: {
|
|
57
|
+
await this.post(`/db/${db}/importer`, { name, config: { handler: code } })
|
|
58
58
|
log(`Importer ${name} created successfully.`)
|
|
59
59
|
}
|
|
60
60
|
|
package/src/commands/index.ts
CHANGED
package/src/database/DB.ts
CHANGED
|
@@ -274,10 +274,12 @@ const migrateMaster = async (migrations: string): Promise<void> => {
|
|
|
274
274
|
* @param hostOverride
|
|
275
275
|
*/
|
|
276
276
|
const rollback = async (masterDb: KnexDatabase, name: DatabaseName, migrations: string, hostOverride: null | Hostname = null): Promise<void> => {
|
|
277
|
+
log(`Rolling back database database '${name}'.`)
|
|
278
|
+
|
|
277
279
|
const conf = await getConfig(masterDb, name, hostOverride)
|
|
278
280
|
conf.migrations = { directory: migrations }
|
|
279
281
|
const db = knex(conf)
|
|
280
|
-
await db.migrate.
|
|
282
|
+
await db.migrate.down()
|
|
281
283
|
// Do not leave hanging connections.
|
|
282
284
|
await db.destroy()
|
|
283
285
|
}
|
package/src/export/Exporter.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import path from 'path'
|
|
3
3
|
import fs from 'fs'
|
|
4
4
|
import { KnexDatabase } from '..'
|
|
5
|
-
import { log, ParsedTsvFileData, BookkeeperConfig, DirectoryPath, TsvFilePath, JsonFilePath,
|
|
5
|
+
import { log, ParsedTsvFileData, BookkeeperConfig, DirectoryPath, TsvFilePath, JsonFilePath, TarFilePath, ProcessModelDetailedData, ImporterModelData, FilePath } from '@tasenor/common'
|
|
6
6
|
import { create } from 'ts-opaque'
|
|
7
7
|
import { system } from '../system'
|
|
8
8
|
import dayjs from 'dayjs'
|
|
@@ -97,7 +97,7 @@ export class Exporter {
|
|
|
97
97
|
* @param path Output file path.
|
|
98
98
|
* @param lines Data content.
|
|
99
99
|
*/
|
|
100
|
-
writeJson(jsonPath: JsonFilePath, data:
|
|
100
|
+
writeJson(jsonPath: JsonFilePath, data: unknown): void {
|
|
101
101
|
log(`Writing ${jsonPath}`)
|
|
102
102
|
if (!fs.existsSync(path.dirname(jsonPath))) {
|
|
103
103
|
fs.mkdirSync(path.dirname(jsonPath), { recursive: true })
|
|
@@ -120,7 +120,7 @@ export class Exporter {
|
|
|
120
120
|
log(`Saving file format version ${this.VERSION}.`)
|
|
121
121
|
this.writeJson(create(path.join(out, 'VERSION')), this.VERSION)
|
|
122
122
|
const conf = await this.getConfig(db)
|
|
123
|
-
this.writeJson(create(path.join(out, 'settings.json')), conf
|
|
123
|
+
this.writeJson(create(path.join(out, 'settings.json')), conf)
|
|
124
124
|
const accounts = await this.getAccounts(db)
|
|
125
125
|
this.writeTsv(create(path.join(accountDir, 'fi-EUR.tsv')), accounts)
|
|
126
126
|
const periods = await this.getPeriods(db)
|
|
@@ -136,14 +136,12 @@ export class Exporter {
|
|
|
136
136
|
for (const importer of importers) {
|
|
137
137
|
const importerDir: DirectoryPath = create(path.join(out, 'importers', importer.name))
|
|
138
138
|
const importerPath: FilePath = create(path.join(importerDir, 'config.json'))
|
|
139
|
-
|
|
140
|
-
this.writeJson(importerPath, importer.config as Value)
|
|
139
|
+
this.writeJson(importerPath, importer.config)
|
|
141
140
|
}
|
|
142
141
|
for (const imp of imports) {
|
|
143
142
|
const importDir: DirectoryPath = create(path.join(out, 'importers', imp.ownerId + ''))
|
|
144
143
|
const importPath: FilePath = create(path.join(importDir, imp.created + '.json'))
|
|
145
|
-
|
|
146
|
-
this.writeJson(importPath, { ...imp, ownerId: undefined } as unknown as Value)
|
|
144
|
+
this.writeJson(importPath, { ...imp, ownerId: undefined })
|
|
147
145
|
}
|
|
148
146
|
}
|
|
149
147
|
|