@nsshunt/stsappframework 2.19.130 → 2.19.131

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.
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const appConfig_js_1 = require("./appConfig.js");
7
+ const appmaster_1 = require("./appmaster");
8
+ const appworker_1 = require("./appworker");
9
+ const stsutils_1 = require("@nsshunt/stsutils");
10
+ const cluster_1 = __importDefault(require("cluster"));
11
+ if (cluster_1.default.isPrimary) {
12
+ const serviceConfig = (0, appConfig_js_1.ServiceConfigOptions)(true);
13
+ stsutils_1.$stsgd.app = new appmaster_1.AppMaster(serviceConfig);
14
+ stsutils_1.$stsgd.app.SetupServer();
15
+ }
16
+ else {
17
+ const serviceConfig = (0, appConfig_js_1.ServiceConfigOptions)(false);
18
+ stsutils_1.$stsgd.app = new appworker_1.WorkerProcess(serviceConfig);
19
+ stsutils_1.$stsgd.app.SetupServer();
20
+ }
21
+ //# sourceMappingURL=app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/miniapp/app.ts"],"names":[],"mappings":";;;;;AAAA,iDAAqD;AACrD,2CAAuC;AACvC,2CAA2C;AAC3C,gDAA0C;AAC1C,sDAA8B;AAM9B,IAAI,iBAAO,CAAC,SAAS,EACrB;IACI,MAAM,aAAa,GAAG,IAAA,mCAAoB,EAAC,IAAI,CAAC,CAAC;IACjD,iBAAM,CAAC,GAAG,GAAG,IAAI,qBAAS,CAAC,aAAa,CAAC,CAAC;IAC1C,iBAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;CAC5B;KACD;IACI,MAAM,aAAa,GAAG,IAAA,mCAAoB,EAAC,KAAK,CAAC,CAAC;IAClD,iBAAM,CAAC,GAAG,GAAG,IAAI,yBAAa,CAAC,aAAa,CAAC,CAAC;IAC9C,iBAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;CAC5B"}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ServiceConfigOptions = void 0;
7
+ const stsconfig_1 = require("@nsshunt/stsconfig");
8
+ const goptions = (0, stsconfig_1.$Options)();
9
+ const uuid_1 = require("uuid");
10
+ const stsmodels_1 = require("@nsshunt/stsmodels");
11
+ const os_1 = __importDefault(require("os"));
12
+ // nid: `${goptions.rest01servicename} @ ${goptions.rest01serviceversion} | ${this.options.globalServiceData.serviceInstanceId} @ ${os.hostname()} ^ ${process.pid} @ ${(cluster.isMaster ? process.pid : process.ppid)}`,
13
+ // <serviceId> <serviceInstanceId> <serviceInstanceProcessId>
14
+ // <serviceName> <serviceVersion> <sid> <hostName> <pid> <ppid>
15
+ // << ............... Static Nid ............... >> << ............... Dynamic Nid ............... >>
16
+ // Note: The final nid will NOT contain the NID_SEPERATOR character. This will be replaced with the SEPERATOR character.
17
+ const Context = (isMaster, serviceInstanceId) => {
18
+ return {
19
+ nid: `\
20
+ ${goptions.imservicename}${stsmodels_1.ModelDelimeter.COMPONENT_SEPERATOR}${goptions.imserviceversion}\
21
+ ${stsmodels_1.ModelDelimeter.SEPERATOR}\
22
+ ${serviceInstanceId}${stsmodels_1.ModelDelimeter.COMPONENT_SEPERATOR}${os_1.default.hostname()}\
23
+ ${stsmodels_1.ModelDelimeter.NID_SEPERATOR}\
24
+ ${process.pid}${stsmodels_1.ModelDelimeter.COMPONENT_SEPERATOR}${(isMaster ? process.pid : process.ppid)}`
25
+ };
26
+ };
27
+ const ServiceConfigOptions = (isMaster) => {
28
+ //AddSchemas();
29
+ if (isMaster === true) {
30
+ const serviceInstanceId = (0, uuid_1.v4)();
31
+ const checkParams = [
32
+ ['imservicename', goptions.imservicename],
33
+ ['imserviceversion', goptions.imserviceversion],
34
+ ['hostname', os_1.default.hostname()],
35
+ ['serviceInstanceId', serviceInstanceId]
36
+ ];
37
+ // CHeck for invalid strings
38
+ stsmodels_1.STSModelUtils.CheckValidChar(checkParams);
39
+ const data = {
40
+ // Service details
41
+ httpServer: true,
42
+ httpsServer: true,
43
+ wssServer: true,
44
+ useLatency: true,
45
+ httpsServerKeyPath: goptions.httpsserverkeypath,
46
+ httpsServerCertificatePath: goptions.httpsservercertpath,
47
+ processExitOnTerminate: true,
48
+ serviceInstanceId: serviceInstanceId,
49
+ useDatabase: false,
50
+ useInstrumentationWorkers: true,
51
+ isMaster: isMaster,
52
+ endpoint: goptions.imendpoint,
53
+ apiRoot: goptions.imapiroot,
54
+ listenPort: goptions.imhostport,
55
+ port: goptions.import,
56
+ prometheusSupport: goptions.imprometheussupport,
57
+ prometheusClusterPort: goptions.imprometheusclusterport,
58
+ serviceName: goptions.imservicename,
59
+ serviceVersion: goptions.imserviceversion,
60
+ consoleLogging: true,
61
+ instrumentLogging: true,
62
+ serviceProcessContext: Context(isMaster, serviceInstanceId),
63
+ expressServerFactory: null
64
+ };
65
+ return data;
66
+ }
67
+ else {
68
+ const data = JSON.parse(process.env['STS_GSD_SII']);
69
+ // Recompute the context for this worker process
70
+ data.serviceProcessContext = Context(isMaster, data.serviceInstanceId);
71
+ data.expressServerFactory = null;
72
+ return data;
73
+ }
74
+ };
75
+ exports.ServiceConfigOptions = ServiceConfigOptions;
76
+ //# sourceMappingURL=appConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appConfig.js","sourceRoot":"","sources":["../../../src/miniapp/appConfig.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA6C;AAC7C,MAAM,QAAQ,GAAG,IAAA,oBAAQ,GAAE,CAAA;AAE3B,+BAAoC;AACpC,kDAAmE;AACnE,4CAAoB;AAKpB,gOAAgO;AAChO,0MAA0M;AAC1M,+MAA+M;AAC/M,yNAAyN;AACzN,wHAAwH;AAExH,MAAM,OAAO,GAAG,CAAC,QAAiB,EAAE,iBAAyB,EAAyB,EAAE;IACpF,OAAO;QACH,GAAG,EAAE;EACX,QAAQ,CAAC,aAAa,GAAG,0BAAc,CAAC,mBAAmB,GAAG,QAAQ,CAAC,gBAAgB;EACvF,0BAAc,CAAC,SAAS;EACxB,iBAAiB,GAAG,0BAAc,CAAC,mBAAmB,GAAG,YAAE,CAAC,QAAQ,EAAE;EACtE,0BAAc,CAAC,aAAa;EAC5B,OAAO,CAAC,GAAG,GAAG,0BAAc,CAAC,mBAAmB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;KACzF,CAAC;AACN,CAAC,CAAA;AAEM,MAAM,oBAAoB,GAAG,CAAC,QAAiB,EAA2B,EAAE;IAC/E,eAAe;IAEf,IAAI,QAAQ,KAAK,IAAI,EAAE;QACnB,MAAM,iBAAiB,GAAG,IAAA,SAAM,GAAE,CAAC;QAEnC,MAAM,WAAW,GAAG;YAChB,CAAE,eAAe,EAAE,QAAQ,CAAC,aAAa,CAAE;YAC3C,CAAE,kBAAkB,EAAE,QAAQ,CAAC,gBAAgB,CAAE;YACjD,CAAE,UAAU,EAAE,YAAE,CAAC,QAAQ,EAAE,CAAE;YAC7B,CAAE,mBAAmB,EAAE,iBAAiB,CAAE;SAC7C,CAAC;QAEF,4BAA4B;QAC5B,yBAAa,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAE1C,MAAM,IAAI,GAA4B;YAClC,kBAAkB;YAClB,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,IAAI;YAChB,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;YAC/C,0BAA0B,EAAE,QAAQ,CAAC,mBAAmB;YACxD,sBAAsB,EAAE,IAAI;YAC5B,iBAAiB,EAAE,iBAAiB;YACpC,WAAW,EAAE,KAAK;YAClB,yBAAyB,EAAE,IAAI;YAE/B,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ,CAAC,UAAU;YAC7B,OAAO,EAAE,QAAQ,CAAC,SAAS;YAC3B,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,IAAI,EAAE,QAAQ,CAAC,MAAM;YACrB,iBAAiB,EAAE,QAAQ,CAAC,mBAAmB;YAC/C,qBAAqB,EAAE,QAAQ,CAAC,uBAAuB;YACvD,WAAW,EAAE,QAAQ,CAAC,aAAa;YACnC,cAAc,EAAE,QAAQ,CAAC,gBAAgB;YACzC,cAAc,EAAE,IAAI;YACpB,iBAAiB,EAAE,IAAI;YAEvB,qBAAqB,EAAE,OAAO,CAAC,QAAQ,EAAE,iBAAiB,CAAC;YAE3D,oBAAoB,EAAE,IAAI;SAC7B,CAAA;QACD,OAAO,IAAI,CAAC;KACf;SAAM;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAmB,CAAC;QACtE,gDAAgD;QAChD,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACvE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAA;QAChC,OAAO,IAAI,CAAC;KACf;AACL,CAAC,CAAA;AArDY,QAAA,oBAAoB,wBAqDhC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AppMaster = void 0;
4
+ const index_1 = require("./../../index");
5
+ class AppMaster extends index_1.MasterProcessBase {
6
+ constructor(serviceConfig) {
7
+ super(serviceConfig);
8
+ }
9
+ MasterStarted() {
10
+ console.log('started...');
11
+ }
12
+ ProcessTerminating() {
13
+ console.log('terminated...');
14
+ }
15
+ }
16
+ exports.AppMaster = AppMaster;
17
+ //# sourceMappingURL=appmaster.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appmaster.js","sourceRoot":"","sources":["../../../src/miniapp/appmaster.ts"],"names":[],"mappings":";;;AACA,yCAAiD;AAIjD,MAAa,SAAU,SAAQ,yBAAiB;IAE5C,YAAY,aAAa;QAErB,KAAK,CAAC,aAAa,CAAC,CAAC;IACzB,CAAC;IAED,aAAa;QACT,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IAC7B,CAAC;IAED,kBAAkB;QACd,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;IAChC,CAAC;CACJ;AAdD,8BAcC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WorkerProcess = void 0;
4
+ const index_1 = require("./../../index");
5
+ class WorkerProcess extends index_1.WorkerProcessBase {
6
+ constructor(options) {
7
+ super(options);
8
+ }
9
+ WorkerStarted() {
10
+ console.log('worker started...');
11
+ }
12
+ }
13
+ exports.WorkerProcess = WorkerProcess;
14
+ //# sourceMappingURL=appworker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appworker.js","sourceRoot":"","sources":["../../../src/miniapp/appworker.ts"],"names":[],"mappings":";;;AAAA,yCAAiD;AAEjD,MAAa,aAAc,SAAQ,yBAAiB;IAEhD,YAAY,OAAO;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAED,aAAa;QAET,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;IACpC,CAAC;CACJ;AAXD,sCAWC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nsshunt/stsappframework",
3
- "version": "2.19.130",
3
+ "version": "2.19.131",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "./types/index.d.ts",
@@ -0,0 +1,21 @@
1
+ import { ServiceConfigOptions } from './appConfig.js'
2
+ import { AppMaster } from './appmaster'
3
+ import { WorkerProcess } from './appworker'
4
+ import { $stsgd } from '@nsshunt/stsutils'
5
+ import cluster from 'cluster';
6
+ //import https from 'node:https'
7
+ //import axios from 'axios'
8
+
9
+ import * as streamex from 'node:stream'
10
+
11
+ if (cluster.isPrimary)
12
+ {
13
+ const serviceConfig = ServiceConfigOptions(true);
14
+ $stsgd.app = new AppMaster(serviceConfig);
15
+ $stsgd.app.SetupServer();
16
+ } else
17
+ {
18
+ const serviceConfig = ServiceConfigOptions(false);
19
+ $stsgd.app = new WorkerProcess(serviceConfig);
20
+ $stsgd.app.SetupServer();
21
+ }
@@ -0,0 +1,81 @@
1
+ import { $Options } from '@nsshunt/stsconfig'
2
+ const goptions = $Options()
3
+
4
+ import { v4 as uuidv4 } from 'uuid';
5
+ import { STSModelUtils, ModelDelimeter } from '@nsshunt/stsmodels';
6
+ import os from 'os';
7
+
8
+ import { ServiceProcessContext } from '@nsshunt/stspublisherserver'
9
+ import { ProcessOptions } from './../../index'
10
+
11
+ // nid: `${goptions.rest01servicename} @ ${goptions.rest01serviceversion} | ${this.options.globalServiceData.serviceInstanceId} @ ${os.hostname()} ^ ${process.pid} @ ${(cluster.isMaster ? process.pid : process.ppid)}`,
12
+ // <serviceId> <serviceInstanceId> <serviceInstanceProcessId>
13
+ // <serviceName> <serviceVersion> <sid> <hostName> <pid> <ppid>
14
+ // << ............... Static Nid ............... >> << ............... Dynamic Nid ............... >>
15
+ // Note: The final nid will NOT contain the NID_SEPERATOR character. This will be replaced with the SEPERATOR character.
16
+
17
+ const Context = (isMaster: boolean, serviceInstanceId: string): ServiceProcessContext => {
18
+ return {
19
+ nid: `\
20
+ ${goptions.imservicename}${ModelDelimeter.COMPONENT_SEPERATOR}${goptions.imserviceversion}\
21
+ ${ModelDelimeter.SEPERATOR}\
22
+ ${serviceInstanceId}${ModelDelimeter.COMPONENT_SEPERATOR}${os.hostname()}\
23
+ ${ModelDelimeter.NID_SEPERATOR}\
24
+ ${process.pid}${ModelDelimeter.COMPONENT_SEPERATOR}${(isMaster ? process.pid : process.ppid)}`
25
+ };
26
+ }
27
+
28
+ export const ServiceConfigOptions = (isMaster: boolean): Partial<ProcessOptions> => {
29
+ //AddSchemas();
30
+
31
+ if (isMaster === true) {
32
+ const serviceInstanceId = uuidv4();
33
+
34
+ const checkParams = [
35
+ [ 'imservicename', goptions.imservicename ],
36
+ [ 'imserviceversion', goptions.imserviceversion ],
37
+ [ 'hostname', os.hostname() ],
38
+ [ 'serviceInstanceId', serviceInstanceId ]
39
+ ];
40
+
41
+ // CHeck for invalid strings
42
+ STSModelUtils.CheckValidChar(checkParams);
43
+
44
+ const data: Partial<ProcessOptions> = {
45
+ // Service details
46
+ httpServer: true,
47
+ httpsServer: true,
48
+ wssServer: true,
49
+ useLatency: true,
50
+ httpsServerKeyPath: goptions.httpsserverkeypath,
51
+ httpsServerCertificatePath: goptions.httpsservercertpath,
52
+ processExitOnTerminate: true,
53
+ serviceInstanceId: serviceInstanceId,
54
+ useDatabase: false,
55
+ useInstrumentationWorkers: true,
56
+
57
+ isMaster: isMaster,
58
+ endpoint: goptions.imendpoint,
59
+ apiRoot: goptions.imapiroot,
60
+ listenPort: goptions.imhostport,
61
+ port: goptions.import,
62
+ prometheusSupport: goptions.imprometheussupport,
63
+ prometheusClusterPort: goptions.imprometheusclusterport,
64
+ serviceName: goptions.imservicename,
65
+ serviceVersion: goptions.imserviceversion,
66
+ consoleLogging: true,
67
+ instrumentLogging: true,
68
+
69
+ serviceProcessContext: Context(isMaster, serviceInstanceId),
70
+
71
+ expressServerFactory: null
72
+ }
73
+ return data;
74
+ } else {
75
+ const data = JSON.parse(process.env['STS_GSD_SII']) as ProcessOptions;
76
+ // Recompute the context for this worker process
77
+ data.serviceProcessContext = Context(isMaster, data.serviceInstanceId);
78
+ data.expressServerFactory = null
79
+ return data;
80
+ }
81
+ }
@@ -0,0 +1,20 @@
1
+ import { STSMasterModel, ModelNode } from '@nsshunt/stsmodels'
2
+ import { MasterProcessBase } from './../../index'
3
+
4
+ import _cloneDeep from 'lodash/cloneDeep'
5
+
6
+ export class AppMaster extends MasterProcessBase
7
+ {
8
+ constructor(serviceConfig)
9
+ {
10
+ super(serviceConfig);
11
+ }
12
+
13
+ MasterStarted() {
14
+ console.log('started...')
15
+ }
16
+
17
+ ProcessTerminating() {
18
+ console.log('terminated...')
19
+ }
20
+ }
@@ -0,0 +1,14 @@
1
+ import { WorkerProcessBase } from './../../index'
2
+
3
+ export class WorkerProcess extends WorkerProcessBase
4
+ {
5
+ constructor(options)
6
+ {
7
+ super(options);
8
+ }
9
+
10
+ WorkerStarted()
11
+ {
12
+ console.log('worker started...')
13
+ }
14
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/miniapp/app.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import { ProcessOptions } from './../../index';
2
+ export declare const ServiceConfigOptions: (isMaster: boolean) => Partial<ProcessOptions>;
3
+ //# sourceMappingURL=appConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appConfig.d.ts","sourceRoot":"","sources":["../../../src/miniapp/appConfig.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAmB9C,eAAO,MAAM,oBAAoB,aAAc,OAAO,KAAG,QAAQ,cAAc,CAqD9E,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { MasterProcessBase } from './../../index';
2
+ export declare class AppMaster extends MasterProcessBase {
3
+ constructor(serviceConfig: any);
4
+ MasterStarted(): void;
5
+ ProcessTerminating(): void;
6
+ }
7
+ //# sourceMappingURL=appmaster.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appmaster.d.ts","sourceRoot":"","sources":["../../../src/miniapp/appmaster.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAIjD,qBAAa,SAAU,SAAQ,iBAAiB;gBAEhC,aAAa,KAAA;IAKzB,aAAa;IAIb,kBAAkB;CAGrB"}
@@ -0,0 +1,6 @@
1
+ import { WorkerProcessBase } from './../../index';
2
+ export declare class WorkerProcess extends WorkerProcessBase {
3
+ constructor(options: any);
4
+ WorkerStarted(): void;
5
+ }
6
+ //# sourceMappingURL=appworker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appworker.d.ts","sourceRoot":"","sources":["../../../src/miniapp/appworker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAEjD,qBAAa,aAAc,SAAQ,iBAAiB;gBAEpC,OAAO,KAAA;IAKnB,aAAa;CAIhB"}