nodecommons-esm-socket-io-inter-system 0.1.7 → 1.0.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.
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { TPropertyObject } from 'tscommons-esm-core';
|
|
1
|
+
import { CommonsFixedDuration, TPropertyObject } from 'tscommons-esm-core';
|
|
2
2
|
import { CommonsInterSystemSocketIoServer } from '../servers/socket-io.server.mjs';
|
|
3
3
|
import { CommonsInterSystemSpawnApp } from './spawn.app.mjs';
|
|
4
4
|
export declare abstract class CommonsInterSystemProcessExecApp extends CommonsInterSystemSpawnApp {
|
|
5
5
|
protected abstract process(command: string, processId: string, body: TPropertyObject<unknown>): Promise<{
|
|
6
6
|
command: string;
|
|
7
7
|
params: string[];
|
|
8
|
-
timeout:
|
|
8
|
+
timeout: CommonsFixedDuration;
|
|
9
9
|
cwd: string;
|
|
10
10
|
}>;
|
|
11
11
|
protected abstract cleanup(processId: string): void;
|
|
12
|
-
protected spawn(command: string, socketIoId: string, _params: TPropertyObject<unknown>, body: TPropertyObject<unknown>, socketIoServer: CommonsInterSystemSocketIoServer): Promise<string>;
|
|
12
|
+
protected spawn(command: string, socketIoId: string, _params: TPropertyObject<unknown>, body: TPropertyObject<unknown>, socketIoServer: CommonsInterSystemSocketIoServer, returnProcessIdToClientDelay?: CommonsFixedDuration): Promise<string>;
|
|
13
13
|
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { commonsBase62GenerateRandomId } from 'tscommons-esm-core';
|
|
1
|
+
import { commonsBase62GenerateRandomId, CommonsFixedDuration } from 'tscommons-esm-core';
|
|
2
2
|
import { commonsAsyncTimeout } from 'tscommons-esm-async';
|
|
3
3
|
import { commonsExecAsObservables } from 'nodecommons-esm-process';
|
|
4
4
|
import { CommonsInterSystemSpawnApp } from './spawn.app.mjs';
|
|
5
5
|
export class CommonsInterSystemProcessExecApp extends CommonsInterSystemSpawnApp {
|
|
6
|
-
async spawn(command, socketIoId, _params, body, socketIoServer) {
|
|
6
|
+
async spawn(command, socketIoId, _params, body, socketIoServer, returnProcessIdToClientDelay = CommonsFixedDuration.fromMillis(100)) {
|
|
7
7
|
const processId = commonsBase62GenerateRandomId();
|
|
8
8
|
const processed = await this.process(command, processId, body);
|
|
9
9
|
void (async () => {
|
|
10
10
|
// delay this so the processId has definitely been returned
|
|
11
|
-
await commonsAsyncTimeout(
|
|
11
|
+
await commonsAsyncTimeout(returnProcessIdToClientDelay.millis);
|
|
12
12
|
const [promise, observables, _process] = commonsExecAsObservables(processed.command, processed.params, processed.timeout, processed.cwd);
|
|
13
13
|
const stdoutSubscription = observables.stdout
|
|
14
14
|
.subscribe((buffer) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-exec.app.mjs","sourceRoot":"","sources":["../../src/apps/process-exec.app.mts"],"names":[],"mappings":"AAIA,OAAO,EAAE,6BAA6B,EAAmB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"process-exec.app.mjs","sourceRoot":"","sources":["../../src/apps/process-exec.app.mts"],"names":[],"mappings":"AAIA,OAAO,EAAE,6BAA6B,EAAE,oBAAoB,EAAmB,MAAM,oBAAoB,CAAC;AAC1G,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAc,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAI/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAE7D,MAAM,OAAgB,gCAAiC,SAAQ,0BAA0B;IAcrE,KAAK,CAAC,KAAK,CAC5B,OAAe,EACf,UAAkB,EAClB,OAAiC,EACjC,IAA8B,EAC9B,cAAgD,EAChD,+BAAqD,oBAAoB,CAAC,UAAU,CAAC,GAAG,CAAC;QAE1F,MAAM,SAAS,GAAW,6BAA6B,EAAE,CAAC;QAE1D,MAAM,SAAS,GAKX,MAAM,IAAI,CAAC,OAAO,CACpB,OAAO,EACP,SAAS,EACT,IAAI,CACL,CAAC;QAEF,KAAK,CAAC,KAAK,IAAmB,EAAE;YAC/B,2DAA2D;YAC3D,MAAM,mBAAmB,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC;YAE/D,MAAM,CAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAE,GAAwG,wBAAwB,CACtK,SAAS,CAAC,OAAO,EACjB,SAAS,CAAC,MAAM,EAChB,SAAS,CAAC,OAAO,EACjB,SAAS,CAAC,GAAG,CACd,CAAC;YAEF,MAAM,kBAAkB,GAAiB,WAAW,CAAC,MAAM;iBACxD,SAAS,CAAC,CAAC,MAAc,EAAQ,EAAE;gBACnC,KAAK,cAAc,CAAC,MAAM,CACxB,UAAU,EACV,SAAS,EACT,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CACxB,CAAC;YACH,CAAC,CAAC,CAAC;YACL,MAAM,kBAAkB,GAAiB,WAAW,CAAC,MAAM;iBACxD,SAAS,CAAC,CAAC,MAAc,EAAQ,EAAE;gBACnC,KAAK,cAAc,CAAC,MAAM,CACxB,UAAU,EACV,SAAS,EACT,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CACxB,CAAC;YACH,CAAC,CAAC,CAAC;YAEL,IAAI,CAAC;gBACJ,MAAM,CAAE,QAAQ,EAAE,QAAQ,CAAE,GAA+B,MAAM,OAAO,CAAC;gBAEzE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACjD,yCAAyC;oBACzC,MAAM,KAAK,GAAU,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;oBACtG,KAAyB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;oBACtC,MAAM,KAAK,CAAC;gBACb,CAAC;gBAED,KAAK,cAAc,CAAC,IAAI,CACtB,UAAU,EACV,SAAS,EACT,QAAQ,CACT,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,KAAK,cAAc,CAAC,MAAM,CACxB,UAAU,EACV,SAAS,EACT,cAAe,CAAW,CAAC,OAAO,cAAc,CACjD,CAAC;gBACF,KAAK,cAAc,CAAC,IAAI,CACtB,UAAU,EACV,SAAS,EACP,CAAqB,CAAC,KAAgB,IAAI,CAAC,CAAC,CAC/C,CAAC;YACH,CAAC;oBAAS,CAAC;gBACV,kBAAkB,CAAC,WAAW,EAAE,CAAC;gBACjC,kBAAkB,CAAC,WAAW,EAAE,CAAC;gBAEjC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACzB,CAAC;QACF,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO,SAAS,CAAC;IAClB,CAAC;CACD"}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import { TPropertyObject } from 'tscommons-esm-core';
|
|
1
|
+
import { CommonsFixedDuration, TPropertyObject } from 'tscommons-esm-core';
|
|
2
2
|
import { CommonsStrictExpressServer, ICommonsExpressConfig } from 'nodecommons-esm-express';
|
|
3
3
|
import { CommonsSocketIoApp } from 'nodecommons-esm-app-socket-io';
|
|
4
4
|
import { CommonsInterSystemSocketIoServer } from '../servers/socket-io.server.mjs';
|
|
5
5
|
export declare abstract class CommonsInterSystemSpawnApp extends CommonsSocketIoApp<CommonsInterSystemSocketIoServer> {
|
|
6
|
+
private returnProcessIdToClientDelay?;
|
|
6
7
|
protected abstract get key(): string;
|
|
8
|
+
constructor(name: string, configFile?: string, configPath?: string, // NB, a direct path, not the name of the args parameter
|
|
9
|
+
envVar?: string, argsKey?: string, returnProcessIdToClientDelay?: CommonsFixedDuration | undefined);
|
|
7
10
|
protected buildSocketIoServer(expressServer: CommonsStrictExpressServer, expressConfig: ICommonsExpressConfig): CommonsInterSystemSocketIoServer;
|
|
8
11
|
protected buildHttpServer(): CommonsStrictExpressServer;
|
|
9
12
|
protected init(): Promise<void>;
|
|
10
|
-
protected abstract spawn(command: string, socketIoId: string, params: TPropertyObject<unknown>, body: TPropertyObject<unknown>, socketIoServer: CommonsInterSystemSocketIoServer): Promise<string>;
|
|
13
|
+
protected abstract spawn(command: string, socketIoId: string, params: TPropertyObject<unknown>, body: TPropertyObject<unknown>, socketIoServer: CommonsInterSystemSocketIoServer, returnProcessIdToClientDelay?: CommonsFixedDuration): Promise<string>;
|
|
11
14
|
}
|
package/dist/apps/spawn.app.mjs
CHANGED
|
@@ -4,6 +4,12 @@ import { CommonsSocketIoApp } from 'nodecommons-esm-app-socket-io';
|
|
|
4
4
|
import { CommonsInterSystemSocketIoServer } from '../servers/socket-io.server.mjs';
|
|
5
5
|
import { CommonsInterSystemSpawnApi } from '../apis/spawn.api.mjs';
|
|
6
6
|
export class CommonsInterSystemSpawnApp extends CommonsSocketIoApp {
|
|
7
|
+
returnProcessIdToClientDelay;
|
|
8
|
+
constructor(name, configFile, configPath, // NB, a direct path, not the name of the args parameter
|
|
9
|
+
envVar, argsKey, returnProcessIdToClientDelay) {
|
|
10
|
+
super(name, configFile, configPath, envVar, argsKey);
|
|
11
|
+
this.returnProcessIdToClientDelay = returnProcessIdToClientDelay;
|
|
12
|
+
}
|
|
7
13
|
buildSocketIoServer(expressServer, expressConfig) {
|
|
8
14
|
return new CommonsInterSystemSocketIoServer(expressServer, expressConfig);
|
|
9
15
|
}
|
|
@@ -18,7 +24,7 @@ export class CommonsInterSystemSpawnApp extends CommonsSocketIoApp {
|
|
|
18
24
|
new CommonsInterSystemSpawnApi(restServer, path, this.key, (command, socketIoId, params, body) => {
|
|
19
25
|
const socketIoServer = this.socketIoServer;
|
|
20
26
|
assertSet(socketIoServer, 'socketIoServer');
|
|
21
|
-
return this.spawn(command, socketIoId, params, body, socketIoServer);
|
|
27
|
+
return this.spawn(command, socketIoId, params, body, socketIoServer, this.returnProcessIdToClientDelay);
|
|
22
28
|
});
|
|
23
29
|
});
|
|
24
30
|
await super.init();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawn.app.mjs","sourceRoot":"","sources":["../../src/apps/spawn.app.mts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gCAAgC,EAAsF,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACxL,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAE,gCAAgC,EAAE,MAAM,iCAAiC,CAAC;AAEnF,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAEnE,MAAM,OAAgB,0BAA2B,SAAQ,kBAAoD;
|
|
1
|
+
{"version":3,"file":"spawn.app.mjs","sourceRoot":"","sources":["../../src/apps/spawn.app.mts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gCAAgC,EAAsF,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACxL,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,EAAE,gCAAgC,EAAE,MAAM,iCAAiC,CAAC;AAEnF,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAEnE,MAAM,OAAgB,0BAA2B,SAAQ,kBAAoD;IASlG;IANV,YACE,IAAY,EACZ,UAAmB,EACnB,UAAmB,EAAE,wDAAwD;IAC7E,MAAe,EACf,OAAgB,EACR,4BAAmD;QAE5D,KAAK,CACH,IAAI,EACJ,UAAU,EACV,UAAU,EACV,MAAM,EACN,OAAO,CACR,CAAC;QARO,iCAA4B,GAA5B,4BAA4B,CAAuB;IAS7D,CAAC;IAEkB,mBAAmB,CACpC,aAAyC,EACzC,aAAoC;QAErC,OAAO,IAAI,gCAAgC,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IAC3E,CAAC;IAEkB,eAAe;QACjC,MAAM,aAAa,GAAY,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAEvF,OAAO,gCAAgC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAC9F,CAAC;IAEkB,KAAK,CAAC,IAAI;QAC5B,IAAI,CAAC,OAAO,CACV,CAAC,UAAgF,EAAE,IAAY,EAAQ,EAAE;YACxG,IAAI,0BAA0B,CAC5B,UAAU,EACV,IAAI,EACJ,IAAI,CAAC,GAAG,EACR,CACE,OAAe,EACf,UAAkB,EAClB,MAAgC,EAChC,IAA8B,EACb,EAAE;gBACpB,MAAM,cAAc,GAA+C,IAAI,CAAC,cAAc,CAAC;gBACvF,SAAS,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;gBAE5C,OAAO,IAAI,CAAC,KAAK,CACf,OAAO,EACP,UAAU,EACV,MAAM,EACN,IAAI,EACJ,cAAc,EACd,IAAI,CAAC,4BAA4B,CAClC,CAAC;YACH,CAAC,CACF,CAAC;QACH,CAAC,CACF,CAAC;QAEF,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;CAUD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nodecommons-esm-socket-io-inter-system",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"tsc": "./node_modules/typescript/bin/tsc",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"nodecommons-esm-express": "^0.0.10",
|
|
33
33
|
"nodecommons-esm-http": "^0.0.8",
|
|
34
34
|
"nodecommons-esm-log": "^0.1.3",
|
|
35
|
-
"nodecommons-esm-process": "^
|
|
35
|
+
"nodecommons-esm-process": "^1.0.0",
|
|
36
36
|
"nodecommons-esm-rest": "^0.0.9",
|
|
37
37
|
"nodecommons-esm-socket-io": "^0.0.6",
|
|
38
38
|
"rxjs": "^7.8.2",
|