@tasenor/common-node 1.10.17 → 1.10.19

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.
@@ -13,7 +13,11 @@ export declare class GitRepo {
13
13
  /**
14
14
  * Set the git configuration.
15
15
  */
16
- configure(name: string, email: Email): void;
16
+ configure(conf: {
17
+ name: string;
18
+ email: Email;
19
+ sshPrivateKey: FilePath | null;
20
+ }): void;
17
21
  /**
18
22
  * Initialize root path and instantiate Simple Git if path exists.
19
23
  */
@@ -28,8 +28,14 @@ export class GitRepo {
28
28
  /**
29
29
  * Set the git configuration.
30
30
  */
31
- configure(name, email) {
32
- this.git.addConfig('user.name', name).addConfig('user.email', email);
31
+ configure(conf) {
32
+ this.git.addConfig('user.name', conf.name).addConfig('user.email', conf.email);
33
+ if (conf.sshPrivateKey) {
34
+ this.git.env('GIT_SSH_COMMAND', `ssh -i "${conf.sshPrivateKey}"`);
35
+ }
36
+ else {
37
+ this.git.env('GIT_SSH_COMMAND', 'ssh');
38
+ }
33
39
  }
34
40
  /**
35
41
  * Initialize root path and instantiate Simple Git if path exists.
@@ -86,6 +92,10 @@ export class GitRepo {
86
92
  */
87
93
  async put(message, ...subPaths) {
88
94
  let fail = false;
95
+ await this.git.pull().catch(err => {
96
+ error(`Git pull failed: ${err}`);
97
+ fail = true;
98
+ });
89
99
  await this.git.add(subPaths).catch(err => {
90
100
  error(`Git add failed: ${err}`);
91
101
  fail = true;
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/net/git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/net/git.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ export declare class ImportPlugin extends BackendPlugin {
25
25
  'account-fee-crypto': string;
26
26
  'account-forex-currency': string;
27
27
  'account-income-currency': string;
28
+ 'account-income-crypto': string;
28
29
  'account-income-statement': string;
29
30
  'account-investment-currency': string;
30
31
  'account-investment-statement': string;
@@ -89,6 +90,7 @@ export declare class ImportPlugin extends BackendPlugin {
89
90
  'account-fee-crypto': string;
90
91
  'account-forex-currency': string;
91
92
  'account-income-currency': string;
93
+ 'account-income-crypto': string;
92
94
  'account-income-statement': string;
93
95
  'account-investment-currency': string;
94
96
  'account-investment-statement': string;
@@ -33,6 +33,7 @@ export class ImportPlugin extends BackendPlugin {
33
33
  'account-fee-crypto': 'Account for fees in {asset} crypto currency',
34
34
  'account-forex-currency': 'Account for {asset} foreign exchange',
35
35
  'account-income-currency': 'Account for income in {asset} currency',
36
+ 'account-income-crypto': 'Account for income in {asset} crypto currency',
36
37
  'account-income-statement': 'Account for recording income {asset}',
37
38
  'account-investment-currency': 'Account for receiving investments in {asset} currency',
38
39
  'account-investment-statement': 'Account for recording investment {asset}',
@@ -97,6 +98,7 @@ export class ImportPlugin extends BackendPlugin {
97
98
  'account-fee-crypto': 'Tili käyttömaksuille {asset} kryptovaluutassa',
98
99
  'account-forex-currency': 'Valuutanvaihtotili {asset} valuutalle',
99
100
  'account-income-currency': 'Tili tuloille {asset} valuutassa',
101
+ 'account-income-crypto': 'Tili tuloille {asset} kryptovaluutassa',
100
102
  'account-income-statement': 'Raportointitili {asset} tuloille',
101
103
  'account-investment-currency': 'Tili saaduille sijoituksille {asset} valuutassa',
102
104
  'account-investment-statement': 'Raportointitili sijoituksille {asset}',
@@ -1 +1 @@
1
- {"version":3,"file":"ImportPlugin.js","sourceRoot":"","sources":["../../../src/plugins/ImportPlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ImportPlugin.js","sourceRoot":"","sources":["../../../src/plugins/ImportPlugin.ts"],"names":[],"mappings":"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"}
@@ -3,3 +3,4 @@
3
3
  */
4
4
  export * from './router';
5
5
  export * from './ISPDemoServer';
6
+ export * from './server';
@@ -3,4 +3,5 @@
3
3
  */
4
4
  export * from './router';
5
5
  export * from './ISPDemoServer';
6
+ export * from './server';
6
7
  //# sourceMappingURL=index.js.map
@@ -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"}
@@ -0,0 +1,7 @@
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>;
@@ -0,0 +1,32 @@
1
+ import { log, error, waitPromise } from '@tasenor/common';
2
+ import { killPortUser } from '../system';
3
+ /**
4
+ * Try to establish a listener for the server port.
5
+ */
6
+ async function listener(app, port, main) {
7
+ return new Promise((resolve) => {
8
+ log('Setting up listener...');
9
+ const listener = app.listen(port).on('error', (err) => {
10
+ error('Launching failed:', err + '');
11
+ if ('code' in err && err.code === 'EADDRINUSE') {
12
+ error('Trying to kill existing process...');
13
+ killPortUser(port);
14
+ }
15
+ resolve(false);
16
+ }).on('listening', async () => {
17
+ main(listener);
18
+ resolve(true);
19
+ });
20
+ });
21
+ }
22
+ /**
23
+ * Launch the listener for a server.
24
+ */
25
+ export async function listen(app, port, main) {
26
+ while (true) {
27
+ if (await listener(app, parseInt(`${port}`), main))
28
+ break;
29
+ await waitPromise(2000);
30
+ }
31
+ }
32
+ //# 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;;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,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAC/B,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;gBAC9C,KAAK,CAAC,oCAAoC,CAAC,CAAA;gBAC3C,YAAY,CAAC,IAAI,CAAC,CAAA;aACnB;YACD,OAAO,CAAC,KAAK,CAAC,CAAA;QAChB,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;YAC5B,IAAI,CAAC,QAAQ,CAAC,CAAA;YACd,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;QACX,IAAI,MAAM,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC;YAAE,MAAK;QACzD,MAAM,WAAW,CAAC,IAAI,CAAC,CAAA;KACxB;AACH,CAAC"}
@@ -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
@@ -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
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"system.js","sourceRoot":"","sources":["../../src/system.ts"],"names":[],"mappings":"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"}
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.10.17",
3
+ "version": "1.10.19",
4
4
  "description": "Common Node-parts of Tasenor project",
5
5
  "main": "src/index.ts",
6
6
  "types": "src/index.ts",
@@ -36,7 +36,7 @@
36
36
  "sqlite3": "^5.1.6",
37
37
  "tar": "^6.1.15",
38
38
  "ts-opaque": "^3.0.1",
39
- "@tasenor/common": "1.10.17"
39
+ "@tasenor/common": "1.10.19"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@jest/globals": "^29.6.1",
@@ -46,7 +46,7 @@
46
46
  "ts-jest": "^29.1.1",
47
47
  "typescript": "^5.1.6",
48
48
  "eslint-config-tasenor": "0.0.0",
49
- "@tasenor/config": "1.10.17"
49
+ "@tasenor/config": "1.10.19"
50
50
  },
51
51
  "scripts": {
52
52
  "ci": "pnpm run lint && pnpm run test",
package/src/net/git.ts CHANGED
@@ -33,8 +33,13 @@ export class GitRepo {
33
33
  /**
34
34
  * Set the git configuration.
35
35
  */
36
- configure(name: string, email: Email) {
37
- this.git.addConfig('user.name', name).addConfig('user.email', email)
36
+ configure(conf: { name: string, email: Email, sshPrivateKey: FilePath | null }) {
37
+ this.git.addConfig('user.name', conf.name).addConfig('user.email', conf.email)
38
+ if (conf.sshPrivateKey) {
39
+ this.git.env('GIT_SSH_COMMAND', `ssh -i "${conf.sshPrivateKey}"`)
40
+ } else {
41
+ this.git.env('GIT_SSH_COMMAND', 'ssh')
42
+ }
38
43
  }
39
44
 
40
45
  /**
@@ -95,6 +100,10 @@ export class GitRepo {
95
100
  */
96
101
  async put(message: string, ...subPaths: (FilePath | DirectoryPath)[]): Promise<boolean> {
97
102
  let fail = false
103
+ await this.git.pull().catch(err => {
104
+ error(`Git pull failed: ${err}`)
105
+ fail = true
106
+ })
98
107
  await this.git.add(subPaths).catch(err => {
99
108
  error(`Git add failed: ${err}`)
100
109
  fail = true
@@ -39,6 +39,7 @@ export class ImportPlugin extends BackendPlugin {
39
39
  'account-fee-crypto': 'Account for fees in {asset} crypto currency',
40
40
  'account-forex-currency': 'Account for {asset} foreign exchange',
41
41
  'account-income-currency': 'Account for income in {asset} currency',
42
+ 'account-income-crypto': 'Account for income in {asset} crypto currency',
42
43
  'account-income-statement': 'Account for recording income {asset}',
43
44
  'account-investment-currency': 'Account for receiving investments in {asset} currency',
44
45
  'account-investment-statement': 'Account for recording investment {asset}',
@@ -103,6 +104,7 @@ export class ImportPlugin extends BackendPlugin {
103
104
  'account-fee-crypto': 'Tili käyttömaksuille {asset} kryptovaluutassa',
104
105
  'account-forex-currency': 'Valuutanvaihtotili {asset} valuutalle',
105
106
  'account-income-currency': 'Tili tuloille {asset} valuutassa',
107
+ 'account-income-crypto': 'Tili tuloille {asset} kryptovaluutassa',
106
108
  'account-income-statement': 'Raportointitili {asset} tuloille',
107
109
  'account-investment-currency': 'Tili saaduille sijoituksille {asset} valuutassa',
108
110
  'account-investment-statement': 'Raportointitili sijoituksille {asset}',
@@ -3,3 +3,4 @@
3
3
  */
4
4
  export * from './router'
5
5
  export * from './ISPDemoServer'
6
+ export * from './server'
@@ -0,0 +1,36 @@
1
+ import { Server } from 'http'
2
+ import { Express } from 'express'
3
+ import { log, error, waitPromise } from '@tasenor/common'
4
+ import { killPortUser } from '../system'
5
+
6
+ /**
7
+ * Try to establish a listener for the server port.
8
+ */
9
+ async function listener(app: Express, port: number, main: (s: Server) => void): Promise<boolean> {
10
+ return new Promise((resolve) => {
11
+ log('Setting up listener...')
12
+
13
+ const listener = app.listen(port,
14
+ ).on('error', (err) => {
15
+ error('Launching failed:', err + '')
16
+ if ('code' in err && err.code === 'EADDRINUSE') {
17
+ error('Trying to kill existing process...')
18
+ killPortUser(port)
19
+ }
20
+ resolve(false)
21
+ }).on('listening', async () => {
22
+ main(listener)
23
+ resolve(true)
24
+ })
25
+ })
26
+ }
27
+
28
+ /**
29
+ * Launch the listener for a server.
30
+ */
31
+ export async function listen(app: Express, port: number | string, main: (s: Server) => void) {
32
+ while (true) {
33
+ if (await listener(app, parseInt(`${port}`), main)) break
34
+ await waitPromise(2000)
35
+ }
36
+ }
package/src/system.ts CHANGED
@@ -10,7 +10,7 @@ import { log, error, note } from '@tasenor/common'
10
10
  * @param quiet If set, do not output.
11
11
  * @returns Srandard output if successfully executed.
12
12
  */
13
- export async function system(command: string, quiet = false): Promise<string> {
13
+ export async function system(command: string, quiet = false, ignoreError = false): Promise<string|null> {
14
14
  if (!quiet) {
15
15
  log(`Running system command: ${command}`)
16
16
  }
@@ -18,6 +18,7 @@ export async function system(command: string, quiet = false): Promise<string> {
18
18
  exec(command, { maxBuffer: 1024 * 1024 * 500 }, (err, stdout, stderr) => {
19
19
  if (err) {
20
20
  if (!quiet) error(err)
21
+ if (ignoreError) return resolve(null)
21
22
  return reject(err)
22
23
  }
23
24
  if (stderr && !quiet) {
@@ -71,9 +72,11 @@ export async function systemPiped(command: string, quiet = false, ignoreError =
71
72
  * Try to kill a process holding the TCP port.
72
73
  */
73
74
  export async function killPortUser(port: string | number): Promise<void> {
74
- const out = await systemPiped(`fuser -n tcp ${port}`, true)
75
+ const out = await systemPiped(`fuser -n tcp ${port}`, true, true)
75
76
  if (out) {
76
- system(`kill ${out.trim()}`)
77
+ system(`kill ${out.trim()}`, true)
78
+ } else {
79
+ error(`Cannot find process accessing TCP ${port}.`)
77
80
  }
78
81
  }
79
82