tnp-helpers 19.0.65 → 19.0.67
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/browser/README.md +24 -24
- package/browser/fesm2022/tnp-helpers.mjs +3459 -320
- package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
- package/browser/lib/base/classes/base-cli-worker/base-cli-worker-config.d.ts +4 -0
- package/browser/lib/base/classes/base-cli-worker/base-cli-worker-controller.d.ts +3 -4
- package/browser/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.d.ts +4 -3
- package/browser/lib/base/classes/base-cli-worker/base-cli-worker.d.ts +86 -35
- package/browser/lib/base/classes/base-cli-worker/base-cli-worker.models.d.ts +45 -0
- package/browser/lib/base/classes/base-cli-worker/base-cli-worker.utils.d.ts +6 -0
- package/browser/lib/base/classes/base-cli-worker/index.d.ts +3 -1
- package/browser/lib/base/classes/base-docker.d.ts +4 -7
- package/browser/lib/base/classes/base-git.d.ts +2 -0
- package/browser/lib/base/classes/base-global-command-line.d.ts +265 -0
- package/browser/lib/base/classes/base-node-modules.d.ts +1 -0
- package/browser/lib/base/classes/base-npm-helpers.d.ts +1 -0
- package/browser/lib/base/classes/base-release-process.d.ts +3 -1
- package/browser/lib/base/classes/base-vscode.d.ts +1 -1
- package/browser/lib/base/classes/index.d.ts +2 -1
- package/browser/lib/base/gh-temp-code.d.ts +17 -0
- package/browser/lib/build-info._auto-generated_.d.ts +1 -1
- package/browser/lib/helpers/helpers.d.ts +0 -5
- package/browser/lib/utils.d.ts +24 -35
- package/browser/package.json +1 -1
- package/lib/base/classes/base-cli-worker/base-cli-worker-config.d.ts +4 -0
- package/lib/base/classes/base-cli-worker/base-cli-worker-config.js +4 -0
- package/lib/base/classes/base-cli-worker/base-cli-worker-config.js.map +1 -1
- package/lib/base/classes/base-cli-worker/base-cli-worker-controller.d.ts +3 -4
- package/lib/base/classes/base-cli-worker/base-cli-worker-controller.js +28 -15
- package/lib/base/classes/base-cli-worker/base-cli-worker-controller.js.map +1 -1
- package/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.d.ts +4 -3
- package/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.js +28 -9
- package/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.js.map +1 -1
- package/lib/base/classes/base-cli-worker/base-cli-worker.d.ts +84 -33
- package/lib/base/classes/base-cli-worker/base-cli-worker.js +375 -209
- package/lib/base/classes/base-cli-worker/base-cli-worker.js.map +1 -1
- package/lib/base/classes/base-cli-worker/base-cli-worker.models.d.ts +44 -0
- package/lib/base/classes/base-cli-worker/base-cli-worker.models.js +35 -0
- package/lib/base/classes/base-cli-worker/base-cli-worker.models.js.map +1 -0
- package/lib/base/classes/base-cli-worker/base-cli-worker.utils.d.ts +5 -0
- package/lib/base/classes/base-cli-worker/base-cli-worker.utils.js +30 -0
- package/lib/base/classes/base-cli-worker/base-cli-worker.utils.js.map +1 -0
- package/lib/base/classes/base-cli-worker/index.d.ts +2 -0
- package/lib/base/classes/base-cli-worker/index.js +2 -0
- package/lib/base/classes/base-cli-worker/index.js.map +1 -1
- package/lib/base/classes/base-command-line-feature.backend.d.ts +47 -0
- package/lib/base/classes/base-command-line-feature.backend.js +147 -0
- package/lib/base/classes/base-command-line-feature.backend.js.map +1 -0
- package/lib/base/classes/base-docker.d.ts +4 -7
- package/lib/base/classes/base-docker.js +12 -18
- package/lib/base/classes/base-docker.js.map +1 -1
- package/lib/base/classes/base-git.d.ts +2 -0
- package/lib/base/classes/base-git.js +29 -9
- package/lib/base/classes/base-git.js.map +1 -1
- package/lib/base/classes/base-global-command-line.backend.d.ts +14 -1
- package/lib/base/classes/base-global-command-line.backend.js +463 -65
- package/lib/base/classes/base-global-command-line.backend.js.map +1 -1
- package/lib/base/classes/base-global-command-line.d.ts +271 -0
- package/lib/base/classes/base-global-command-line.js +2484 -0
- package/lib/base/classes/base-global-command-line.js.map +1 -0
- package/lib/base/classes/base-ignore-hide.js +4 -0
- package/lib/base/classes/base-ignore-hide.js.map +1 -1
- package/lib/base/classes/base-node-modules.d.ts +1 -0
- package/lib/base/classes/base-node-modules.js +22 -1
- package/lib/base/classes/base-node-modules.js.map +1 -1
- package/lib/base/classes/base-npm-helpers.d.ts +1 -0
- package/lib/base/classes/base-npm-helpers.js +2 -2
- package/lib/base/classes/base-npm-helpers.js.map +1 -1
- package/lib/base/classes/base-powershell.d.ts +1 -0
- package/lib/base/classes/base-powershell.js +13 -0
- package/lib/base/classes/base-powershell.js.map +1 -1
- package/lib/base/classes/base-process/base-process-api.service.d.ts +7 -0
- package/lib/base/classes/base-process/base-process.context.d.ts +19 -0
- package/lib/base/classes/base-process/base-process.context.js +22 -0
- package/lib/base/classes/base-process/base-process.context.js.map +1 -0
- package/lib/base/classes/base-process/base-process.controller.d.ts +17 -0
- package/lib/base/classes/base-process/base-process.controller.js +91 -0
- package/lib/base/classes/base-process/base-process.controller.js.map +1 -0
- package/lib/base/classes/base-process/base-process.d.ts +8 -0
- package/lib/base/classes/base-process/base-process.defaults-values.d.ts +2 -0
- package/lib/base/classes/base-process/base-process.defaults-values.js +9 -0
- package/lib/base/classes/base-process/base-process.defaults-values.js.map +1 -0
- package/lib/base/classes/base-process/base-process.js +62 -0
- package/lib/base/classes/base-process/base-process.js.map +1 -0
- package/lib/base/classes/base-process/base-process.models.d.ts +6 -0
- package/lib/base/classes/base-process/base-process.models.js +3 -0
- package/lib/base/classes/base-process/base-process.models.js.map +1 -0
- package/lib/base/classes/base-process/base-process.provider.d.ts +16 -0
- package/lib/base/classes/base-process/base-process.provider.js +69 -0
- package/lib/base/classes/base-process/base-process.provider.js.map +1 -0
- package/lib/base/classes/base-process/base-process.repository copy.d.ts +8 -0
- package/lib/base/classes/base-process/base-process.repository copy.js +32 -0
- package/lib/base/classes/base-process/base-process.repository copy.js.map +1 -0
- package/lib/base/classes/base-process/base-process.repository.d.ts +8 -0
- package/lib/base/classes/base-process/base-process.repository.js +32 -0
- package/lib/base/classes/base-process/base-process.repository.js.map +1 -0
- package/lib/base/classes/base-process/base-process.terminal-ui.d.ts +11 -0
- package/lib/base/classes/base-process/base-process.terminal-ui.js +54 -0
- package/lib/base/classes/base-process/base-process.terminal-ui.js.map +1 -0
- package/lib/base/classes/base-process/base-process.worker.d.ts +16 -0
- package/lib/base/classes/base-process/base-process.worker.js +29 -0
- package/lib/base/classes/base-process/base-process.worker.js.map +1 -0
- package/lib/base/classes/base-process/index.d.ts +1 -0
- package/lib/base/classes/base-process/index.js +22 -0
- package/lib/base/classes/base-process/index.js.map +1 -0
- package/lib/base/classes/base-process/processes.repository.d.ts +0 -0
- package/lib/base/classes/base-process/processes.repository.js +5 -0
- package/lib/base/classes/base-process/processes.repository.js.map +1 -0
- package/lib/base/classes/base-project-resolver.js +2 -1
- package/lib/base/classes/base-project-resolver.js.map +1 -1
- package/lib/base/classes/base-project.d.ts +1 -1
- package/lib/base/classes/base-project.js +8 -6
- package/lib/base/classes/base-project.js.map +1 -1
- package/lib/base/classes/base-release-process.d.ts +3 -1
- package/lib/base/classes/base-release-process.js +4 -3
- package/lib/base/classes/base-release-process.js.map +1 -1
- package/lib/base/classes/base-vscode.d.ts +1 -1
- package/lib/base/classes/base-vscode.js +9 -1
- package/lib/base/classes/base-vscode.js.map +1 -1
- package/lib/base/classes/index.d.ts +1 -1
- package/lib/base/classes/index.js +2 -4
- package/lib/base/classes/index.js.map +1 -1
- package/lib/base/tcp-udp-ports/not-assignable-port.entity.js +2 -2
- package/lib/base/tcp-udp-ports/ports.entity.d.ts +1 -1
- package/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.js +27 -14
- package/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.js.map +1 -1
- package/lib/build-info._auto-generated_.d.ts +1 -1
- package/lib/build-info._auto-generated_.js +1 -1
- package/lib/env/env.angular-node-app.d.ts +1 -2
- package/lib/env/env.angular-node-app.js +3 -4
- package/lib/env/env.angular-node-app.js.map +1 -1
- package/lib/env/env.docs-webapp.d.ts +1 -2
- package/lib/env/env.docs-webapp.js +3 -4
- package/lib/env/env.docs-webapp.js.map +1 -1
- package/lib/env/env.electron-app.d.ts +1 -2
- package/lib/env/env.electron-app.js +3 -4
- package/lib/env/env.electron-app.js.map +1 -1
- package/lib/env/env.mobile-app.d.ts +1 -2
- package/lib/env/env.mobile-app.js +3 -4
- package/lib/env/env.mobile-app.js.map +1 -1
- package/lib/env/env.npm-lib-and-cli-tool.d.ts +1 -2
- package/lib/env/env.npm-lib-and-cli-tool.js +3 -4
- package/lib/env/env.npm-lib-and-cli-tool.js.map +1 -1
- package/lib/env/env.vscode-plugin.d.ts +1 -2
- package/lib/env/env.vscode-plugin.js +3 -4
- package/lib/env/env.vscode-plugin.js.map +1 -1
- package/lib/env-backend._auto-generated_.d.ts +34 -0
- package/lib/env-backend._auto-generated_.js +38 -0
- package/lib/env-backend._auto-generated_.js.map +1 -0
- package/lib/env-browser._auto-generated_.d.ts +34 -0
- package/lib/env-browser._auto-generated_.js +38 -0
- package/lib/env-browser._auto-generated_.js.map +1 -0
- package/lib/env.backend.d.ts +34 -0
- package/lib/env.backend.js +40 -0
- package/lib/env.backend.js.map +1 -0
- package/lib/env.browser.d.ts +34 -0
- package/lib/helpers/for-backend/helpers-dependencies.backend.d.ts +2 -0
- package/lib/helpers/for-backend/helpers-dependencies.backend.js +7 -0
- package/lib/helpers/for-backend/helpers-dependencies.backend.js.map +1 -0
- package/lib/helpers/for-backend/helpers-file-folders.js +11 -3
- package/lib/helpers/for-backend/helpers-file-folders.js.map +1 -1
- package/lib/helpers/for-backend/helpers-git.backend.d.ts +1 -0
- package/lib/helpers/for-backend/helpers-git.backend.js +46 -17
- package/lib/helpers/for-backend/helpers-git.backend.js.map +1 -1
- package/lib/helpers/for-browser/angular.helper.js +2 -2
- package/lib/helpers/helpers-numbers.js.map +1 -1
- package/lib/helpers/helpers.d.ts +0 -8
- package/lib/helpers/helpers.js +1 -55
- package/lib/helpers/helpers.js.map +1 -1
- package/lib/old/base-component.js +2 -2
- package/lib/old/base-formly-component.js +2 -2
- package/lib/old/dual-component-ctrl.js +2 -2
- package/lib/utils.d.ts +24 -35
- package/lib/utils.js +165 -105
- package/lib/utils.js.map +1 -1
- package/lib/validators/validators-firedev.d.ts +3 -0
- package/lib/validators/validators-firedev.js +34 -0
- package/lib/validators/validators-firedev.js.map +1 -0
- package/lib/validators/validators-git.d.ts +3 -0
- package/lib/validators/validators-git.js +13 -0
- package/lib/validators/validators-git.js.map +1 -0
- package/lib/validators/validators-network.d.ts +3 -0
- package/lib/validators/validators-network.js +19 -0
- package/lib/validators/validators-network.js.map +1 -0
- package/lib/validators/validators.d.ts +6 -0
- package/lib/validators/validators.js +11 -0
- package/lib/validators/validators.js.map +1 -0
- package/package.json +1 -1
- package/tmp-environment.json +33 -0
- package/websql/README.md +24 -24
- package/websql/fesm2022/tnp-helpers.mjs +3460 -321
- package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
- package/websql/lib/base/classes/base-cli-worker/base-cli-worker-config.d.ts +4 -0
- package/websql/lib/base/classes/base-cli-worker/base-cli-worker-controller.d.ts +3 -4
- package/websql/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.d.ts +4 -3
- package/websql/lib/base/classes/base-cli-worker/base-cli-worker.d.ts +86 -35
- package/websql/lib/base/classes/base-cli-worker/base-cli-worker.models.d.ts +45 -0
- package/websql/lib/base/classes/base-cli-worker/base-cli-worker.utils.d.ts +6 -0
- package/websql/lib/base/classes/base-cli-worker/index.d.ts +3 -1
- package/websql/lib/base/classes/base-docker.d.ts +4 -7
- package/websql/lib/base/classes/base-git.d.ts +2 -0
- package/websql/lib/base/classes/base-global-command-line.d.ts +265 -0
- package/websql/lib/base/classes/base-node-modules.d.ts +1 -0
- package/websql/lib/base/classes/base-npm-helpers.d.ts +1 -0
- package/websql/lib/base/classes/base-release-process.d.ts +3 -1
- package/websql/lib/base/classes/base-vscode.d.ts +1 -1
- package/websql/lib/base/classes/index.d.ts +2 -1
- package/websql/lib/base/gh-temp-code.d.ts +17 -0
- package/websql/lib/build-info._auto-generated_.d.ts +1 -1
- package/websql/lib/helpers/helpers.d.ts +0 -5
- package/websql/lib/utils.d.ts +24 -35
- package/websql/package.json +1 -1
|
@@ -59,11 +59,6 @@ export declare class HelpersTaon extends CoreHelpers {
|
|
|
59
59
|
uniqArray<T = any>(array: any[], uniqueProperty?: keyof T): T[];
|
|
60
60
|
slash(pathFromWindowsOrUnixType: string): any;
|
|
61
61
|
isElevated(): Promise<void>;
|
|
62
|
-
/**
|
|
63
|
-
* TODO fix this methods
|
|
64
|
-
*/
|
|
65
|
-
localIpAddress(): Promise<any>;
|
|
66
|
-
allLocalIpAddresses(): URL[];
|
|
67
62
|
mesureExectionInMs(description: string, functionToExecute: Function, ...functionArguments: any[]): Promise<number>;
|
|
68
63
|
mesureExectionInMsSync(description: string, functionToExecute: () => void): number;
|
|
69
64
|
waitForCondition(conditionFn: (any: any) => boolean, howOfftenCheckInMs?: number): Promise<unknown>;
|
package/browser/lib/utils.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
|
+
import { ChildProcess, StdioOptions } from 'node:child_process';
|
|
2
3
|
import type * as ts from 'typescript';
|
|
3
4
|
export declare namespace UtilsNpm {
|
|
4
5
|
const isSpecialVersion: (version: string) => boolean;
|
|
@@ -192,44 +193,32 @@ export declare namespace UtilsPasswords {
|
|
|
192
193
|
const hashPassword: (password: string) => Promise<string>;
|
|
193
194
|
const verifyPassword: (password: string, stored: string) => Promise<boolean>;
|
|
194
195
|
}
|
|
195
|
-
export declare namespace
|
|
196
|
+
export declare namespace UtilsDocker {
|
|
197
|
+
const DOCKER_LABEL_KEY = "com.docker.compose.project";
|
|
198
|
+
const DOCKER_TAON_PROJECT_LABEL = "com.docker.compose.taon.project=true";
|
|
199
|
+
const cleanImagesAndContainersByDockerLabel: (labelKey: string, labelValue: string) => Promise<void>;
|
|
200
|
+
interface DockerComposeActionOptions {
|
|
201
|
+
composeFileName?: string;
|
|
202
|
+
cwd?: string;
|
|
203
|
+
env?: NodeJS.ProcessEnv;
|
|
204
|
+
skipBuild?: boolean;
|
|
205
|
+
stdio?: StdioOptions;
|
|
206
|
+
useFirstYmlFound?: boolean;
|
|
207
|
+
}
|
|
208
|
+
type DockerComposeActionType = 'up' | 'down';
|
|
196
209
|
/**
|
|
197
|
-
*
|
|
210
|
+
* @returns cmd + args array
|
|
211
|
+
* you can use with child_process.spawn
|
|
212
|
+
* const [cmd, ...args] = getDockerComposeActionCommand('up');
|
|
213
|
+
* child.spawn(cmd, args, { ... });
|
|
198
214
|
*
|
|
199
|
-
*
|
|
200
|
-
* embedData({ version: "1.2.3", envName: "__" }, "project.zip")
|
|
201
|
-
* -> "version|-|1.2.3||--||envName|-|__|||project.zip"
|
|
215
|
+
* @param action 'up' | 'down'
|
|
202
216
|
*/
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
217
|
+
const getDockerComposeActionCommand: (action: DockerComposeActionType, options?: Omit<DockerComposeActionOptions, "cwd" | "env" | "stdio" | "useFirstYmlFound">) => string[];
|
|
218
|
+
const getDockerComposeActionChildProcess: (action: DockerComposeActionType, options?: DockerComposeActionOptions) => ChildProcess;
|
|
219
|
+
const removeAllTaonContainersAndImagesFromDocker: () => Promise<void>;
|
|
206
220
|
/**
|
|
207
|
-
*
|
|
208
|
-
*
|
|
209
|
-
* Example:
|
|
210
|
-
* extractData<{ version: string; env: string }>("myfile__version-1.2.3__env-prod.zip")
|
|
211
|
-
* -> { version: "1.2.3", env: "prod" }
|
|
221
|
+
* @TODO @REFACTOR use async stuff
|
|
212
222
|
*/
|
|
213
|
-
|
|
214
|
-
const getOnlyMetadataString: (filename: string) => string;
|
|
215
|
-
}
|
|
216
|
-
/**
|
|
217
|
-
* Easy way to connect CLI commands to cli class methods.
|
|
218
|
-
*
|
|
219
|
-
* Example:
|
|
220
|
-
* in clic class
|
|
221
|
-
* $FirstCli {
|
|
222
|
-
*
|
|
223
|
-
* @UtilsCliMethod.decorator('doSomething')
|
|
224
|
-
* doSomething() {
|
|
225
|
-
* console.log('doing something');
|
|
226
|
-
* }
|
|
227
|
-
* }
|
|
228
|
-
*
|
|
229
|
-
* UtilsCliMethod.getFrom($FirstCli.prototype.doSomething) // "firstcli:dosomething"
|
|
230
|
-
*
|
|
231
|
-
*/
|
|
232
|
-
export declare namespace UtilsCliMethod {
|
|
233
|
-
const decorator: (methodName: string) => MethodDecorator;
|
|
234
|
-
const getFrom: (ClassPrototypeMethodFnHere: Function, globalMethod?: boolean) => string;
|
|
223
|
+
const linkPodmanAsDockerIfNecessary: () => Promise<void>;
|
|
235
224
|
}
|
package/browser/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-cli-worker-config.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAAA,mCAA6B;AAC7B,sCAAiC;AAEjC,4BAA4B;AAC5B,MAAa,mBAAmB;IAC9B,MAAM,CAAC,IAAI,CAAC,GAAiC;QAC3C,OAAO,OAAC,CAAC,KAAK,CAAC,IAAI,mBAAmB,EAAE,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,IAAI,CAAS;IACb;;OAEG;IACH,SAAS,CAAS;IAClB;;OAEG;IACH,GAAG,CAAS;IACZ;;;OAGG;IACH,cAAc,CAAS;IACvB;;OAEG;IACH,OAAO,CAAS;IAEhB,iCAAiC,CAAC,KAA0B;QAC1D,sBAAsB;QACtB,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACpC,KAAK,CAAC;QACR,CAAC;QACD,IAAI,CAAC;YACH,OAAO,IAAA,YAAG,EAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;QACD,YAAY;IACd,CAAC;IAED,QAAQ,CAAC,KAA0B;QACjC,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,OAAO,CACL,CAAC,CAAC,IAAI,CAAC,SAAS;YAChB,CAAC,CAAC,IAAI,CAAC,IAAI;YACX,CAAC,CAAC,IAAI,CAAC,GAAG;YACV,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;YAClC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;YACxB,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,CACvB,CAAC;IACJ,CAAC;IAED,IAAI,OAAO;QACT,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACpD,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"base-cli-worker-config.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAAA,mCAA6B;AAC7B,sCAAiC;AAEjC,4BAA4B;AAC5B,MAAa,mBAAmB;IAC9B,MAAM,CAAC,IAAI,CAAC,GAAiC;QAC3C,OAAO,OAAC,CAAC,KAAK,CAAC,IAAI,mBAAmB,EAAE,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,UAAU,CAAS;IACnB;;OAEG;IACH,IAAI,CAAS;IACb;;OAEG;IACH,SAAS,CAAS;IAClB;;OAEG;IACH,GAAG,CAAS;IACZ;;;OAGG;IACH,cAAc,CAAS;IACvB;;OAEG;IACH,OAAO,CAAS;IAEhB,iCAAiC,CAAC,KAA0B;QAC1D,sBAAsB;QACtB,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACpC,KAAK,CAAC;QACR,CAAC;QACD,IAAI,CAAC;YACH,OAAO,IAAA,YAAG,EAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;QACD,YAAY;IACd,CAAC;IAED,QAAQ,CAAC,KAA0B;QACjC,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,OAAO,CACL,CAAC,CAAC,IAAI,CAAC,SAAS;YAChB,CAAC,CAAC,IAAI,CAAC,IAAI;YACX,CAAC,CAAC,IAAI,CAAC,GAAG;YACV,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;YAClC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;YACxB,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,CACvB,CAAC;IACJ,CAAC;IAED,IAAI,OAAO;QACT,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACpD,CAAC;CACF;AA/DD,kDA+DC;AACD,YAAY"}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { Taon } from 'taon';
|
|
2
2
|
import { BaseCliWorkerConfig } from './base-cli-worker-config';
|
|
3
|
-
export declare abstract class BaseCliWorkerController extends Taon.Base
|
|
4
|
-
.Controller {
|
|
3
|
+
export declare abstract class BaseCliWorkerController<UPLOAD_FILE_QUERY_PARAMS = {}> extends Taon.Base.Controller<UPLOAD_FILE_QUERY_PARAMS> {
|
|
5
4
|
/**
|
|
6
5
|
* service id
|
|
7
6
|
*/
|
|
8
7
|
private cliWorkerServiceId;
|
|
9
8
|
private cliWorkerServiceVersion;
|
|
10
9
|
baseCLiWorkerCommand_initializeMetadata(serviceId: string, serviceVersion: string): Taon.Response<void>;
|
|
11
|
-
baseCLiWorkerCommand_kill(): Taon.Response<void>;
|
|
12
|
-
info(): Taon.
|
|
10
|
+
baseCLiWorkerCommand_kill(dontRemoveConfigFile?: boolean): Taon.Response<void>;
|
|
11
|
+
info(): Taon.ResponseHtml;
|
|
13
12
|
baseCLiWorkerCommand_isHealthy(checkingProcessConfig: BaseCliWorkerConfig): Taon.Response<boolean>;
|
|
14
13
|
baseCLiWorkerCommand_hasUpToDateVersion(checkingProcessConfig: BaseCliWorkerConfig): Taon.Response<boolean>;
|
|
15
14
|
}
|
|
@@ -13,8 +13,8 @@ exports.BaseCliWorkerController = void 0;
|
|
|
13
13
|
const lib_1 = require("taon/lib");
|
|
14
14
|
const lib_2 = require("tnp-core/lib");
|
|
15
15
|
const base_cli_worker_config_1 = require("./base-cli-worker-config");
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
const base_cli_worker_utils_1 = require("./base-cli-worker.utils");
|
|
17
|
+
let BaseCliWorkerController = class BaseCliWorkerController extends lib_1.Taon.Base.Controller {
|
|
18
18
|
/**
|
|
19
19
|
* service id
|
|
20
20
|
*/
|
|
@@ -31,14 +31,21 @@ let BaseCliWorkerController = class BaseCliWorkerController extends lib_1.Taon.B
|
|
|
31
31
|
}
|
|
32
32
|
//#endregion
|
|
33
33
|
//#region api methods / kill
|
|
34
|
-
baseCLiWorkerCommand_kill() {
|
|
34
|
+
baseCLiWorkerCommand_kill(dontRemoveConfigFile) {
|
|
35
35
|
//#region @backendFunc
|
|
36
36
|
return async () => {
|
|
37
37
|
console.log(`Killing worker "${this.cliWorkerServiceId}"...`);
|
|
38
|
-
setTimeout(() => {
|
|
38
|
+
setTimeout(async () => {
|
|
39
|
+
console.log(`Destroying context worker "${this.cliWorkerServiceId}"...`);
|
|
40
|
+
await this.ctx.destroy();
|
|
41
|
+
if (!dontRemoveConfigFile) {
|
|
42
|
+
lib_2.Helpers.removeFileIfExists(base_cli_worker_utils_1.BaseCliWorkerUtils.getPathToProcessLocalInfoJson(this.cliWorkerServiceId));
|
|
43
|
+
}
|
|
39
44
|
lib_2.Helpers.clearConsole();
|
|
40
|
-
|
|
41
|
-
|
|
45
|
+
setTimeout(() => {
|
|
46
|
+
process.exit(0);
|
|
47
|
+
});
|
|
48
|
+
}); // TODO may be change to 0
|
|
42
49
|
};
|
|
43
50
|
//#endregion
|
|
44
51
|
}
|
|
@@ -47,11 +54,17 @@ let BaseCliWorkerController = class BaseCliWorkerController extends lib_1.Taon.B
|
|
|
47
54
|
info() {
|
|
48
55
|
//#region @backendFunc
|
|
49
56
|
return async () => {
|
|
50
|
-
return
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
57
|
+
return `
|
|
58
|
+
<html>
|
|
59
|
+
<head><title>Service Info</title></head>
|
|
60
|
+
<body>
|
|
61
|
+
<h1>Service "${this.cliWorkerServiceId}" is</h1>
|
|
62
|
+
<h1>running healthy on port ${this.ctx.uriPort} </h1>
|
|
63
|
+
<h4>version: ${this.cliWorkerServiceVersion}</h4>
|
|
64
|
+
<h4>pid: ${process.pid}</h4><br>
|
|
65
|
+
</body>
|
|
66
|
+
<html>
|
|
67
|
+
`;
|
|
55
68
|
};
|
|
56
69
|
//#endregion
|
|
57
70
|
}
|
|
@@ -99,13 +112,13 @@ __decorate([
|
|
|
99
112
|
__param(1, lib_1.Taon.Http.Param.Body('serviceVersion'))
|
|
100
113
|
], BaseCliWorkerController.prototype, "baseCLiWorkerCommand_initializeMetadata", null);
|
|
101
114
|
__decorate([
|
|
102
|
-
lib_1.Taon.Http.GET()
|
|
115
|
+
lib_1.Taon.Http.GET(),
|
|
116
|
+
__param(0, lib_1.Taon.Http.Param.Query('dontRemoveConfigFile'))
|
|
103
117
|
], BaseCliWorkerController.prototype, "baseCLiWorkerCommand_kill", null);
|
|
104
118
|
__decorate([
|
|
105
|
-
lib_1.Taon.Http.
|
|
119
|
+
lib_1.Taon.Http.HTML({
|
|
106
120
|
pathIsGlobal: true,
|
|
107
|
-
|
|
108
|
-
// overridResponseType: 'text',
|
|
121
|
+
path: '/info',
|
|
109
122
|
})
|
|
110
123
|
], BaseCliWorkerController.prototype, "info", null);
|
|
111
124
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-cli-worker-controller.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;;;;;;;;;;AAAA,kCAAgC;AAChC,sCAAuC;AAEvC,qEAA+D;
|
|
1
|
+
{"version":3,"file":"base-cli-worker-controller.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;;;;;;;;;;AAAA,kCAAgC;AAChC,sCAAuC;AAEvC,qEAA+D;AAC/D,mEAA6D;AAKtD,IAAe,uBAAuB,GAAtC,MAAe,uBAEpB,SAAQ,UAAI,CAAC,IAAI,CAAC,UAAoC;IACtD;;OAEG;IACK,kBAAkB,GAAW,IAAI,CAAC;IAClC,uBAAuB,GAAW,IAAI,CAAC;IAE/C,2CAA2C;IAE3C,uCAAuC,CACF,SAAiB,EACZ,cAAsB;QAE9D,sBAAsB;QACtB,OAAO,KAAK,IAAI,EAAE;YAChB,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;YACpC,IAAI,CAAC,uBAAuB,GAAG,cAAc,CAAC;QAChD,CAAC,CAAC;QACF,YAAY;IACd,CAAC;IACD,YAAY;IAEZ,4BAA4B;IAE5B,yBAAyB,CAEvB,oBAA8B;QAE9B,sBAAsB;QACtB,OAAO,KAAK,IAAI,EAAE;YAChB,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,kBAAkB,MAAM,CAAC,CAAC;YAC9D,UAAU,CAAC,KAAK,IAAI,EAAE;gBACpB,OAAO,CAAC,GAAG,CACT,8BAA8B,IAAI,CAAC,kBAAkB,MAAM,CAC5D,CAAC;gBACF,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gBACzB,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC1B,aAAO,CAAC,kBAAkB,CACxB,0CAAkB,CAAC,6BAA6B,CAC9C,IAAI,CAAC,kBAAkB,CACxB,CACF,CAAC;gBACJ,CAAC;gBACD,aAAO,CAAC,YAAY,EAAE,CAAC;gBACvB,UAAU,CAAC,GAAG,EAAE;oBACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC,CAAC,0BAA0B;QAChC,CAAC,CAAC;QACF,YAAY;IACd,CAAC;IACD,YAAY;IAEZ,4BAA4B;IAK5B,IAAI;QACF,sBAAsB;QACtB,OAAO,KAAK,IAAI,EAAE;YAChB,OAAO;;;;mBAIM,IAAI,CAAC,kBAAkB;kCACR,IAAI,CAAC,GAAG,CAAC,OAAO;mBAC/B,IAAI,CAAC,uBAAuB;eAChC,OAAO,CAAC,GAAG;;;OAGnB,CAAC;QACJ,CAAC,CAAC;QACF,YAAY;IACd,CAAC;IACD,YAAY;IAEZ,kCAAkC;IAElC,8BAA8B,CACJ,qBAA0C;QAElE,sBAAsB;QACtB,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YACxB,qBAAqB,GAAG,4CAAmB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACxE,MAAM,aAAa,GAAG,4CAAmB,CAAC,IAAI,CAAC;gBAC7C,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,SAAS,EAAE,IAAI,CAAC,kBAAkB;gBAClC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;gBAC9B,OAAO,EAAE,IAAI,CAAC,uBAAuB;aACtC,CAAC,CAAC;YACH,6CAA6C;YAC7C,+CAA+C;YAC/C,OAAO,qBAAqB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACvD,CAAC,CAAC;QACF,YAAY;IACd,CAAC;IACD,YAAY;IAEZ,8CAA8C;IAE9C,uCAAuC,CACb,qBAA0C;QAElE,sBAAsB;QACtB,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YACxB,qBAAqB,GAAG,4CAAmB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACxE,MAAM,mBAAmB,GAAG,4CAAmB,CAAC,IAAI,CAAC;gBACnD,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,SAAS,EAAE,IAAI,CAAC,kBAAkB;gBAClC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;gBAC9B,OAAO,EAAE,IAAI,CAAC,uBAAuB;aACtC,CAAC,CAAC;YACH,+DAA+D;YAC/D,qDAAqD;YACrD,OAAO,mBAAmB,CAAC,iCAAiC,CAC1D,qBAAqB,CACtB,CAAC;QACJ,CAAC,CAAC;QACF,YAAY;IACd,CAAC;CAEF,CAAA;AA5HqB,0DAAuB;AAW3C;IADC,UAAI,CAAC,IAAI,CAAC,GAAG,EAAE;IAEb,WAAA,UAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACjC,WAAA,UAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;sFAQxC;AAKD;IADC,UAAI,CAAC,IAAI,CAAC,GAAG,EAAE;IAEb,WAAA,UAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;wEAyB/C;AAQD;IAJC,UAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QACd,YAAY,EAAE,IAAI;QAClB,IAAI,EAAE,OAAO;KACd,CAAC;mDAiBD;AAKD;IADC,UAAI,CAAC,IAAI,CAAC,IAAI,EAAE;IAEd,WAAA,UAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;6EAgBxB;AAKD;IADC,UAAI,CAAC,IAAI,CAAC,IAAI,EAAE;IAEd,WAAA,UAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;sFAkBxB;kCA1HmB,uBAAuB;IAH5C,UAAI,CAAC,UAAU,CAAC;QACf,SAAS,EAAE,yBAAyB;KACrC,CAAC;GACoB,uBAAuB,CA4H5C"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CoreModels } from 'tnp-core';
|
|
2
|
-
import type { BaseCliWorker } from './base-cli-worker';
|
|
2
|
+
import type { BaseCliWorker, BaseCliWorkerGuiUrlOptions } from './base-cli-worker';
|
|
3
3
|
import type { BaseCliWorkerController } from './base-cli-worker-controller';
|
|
4
4
|
export type BaseWorkerTerminalActionReturnType = {
|
|
5
5
|
[uniqeActionName: string]: {
|
|
@@ -7,7 +7,7 @@ export type BaseWorkerTerminalActionReturnType = {
|
|
|
7
7
|
action: () => unknown | Promise<unknown>;
|
|
8
8
|
};
|
|
9
9
|
};
|
|
10
|
-
export declare class BaseCliWorkerTerminalUI<WORKER extends BaseCliWorker<BaseCliWorkerController
|
|
10
|
+
export declare class BaseCliWorkerTerminalUI<WORKER extends BaseCliWorker<BaseCliWorkerController<any>, any>> {
|
|
11
11
|
protected worker: WORKER;
|
|
12
12
|
constructor(worker: WORKER);
|
|
13
13
|
protected headerText(): Promise<string>;
|
|
@@ -17,7 +17,7 @@ export declare class BaseCliWorkerTerminalUI<WORKER extends BaseCliWorker<BaseCl
|
|
|
17
17
|
* override whole terminal header
|
|
18
18
|
*/
|
|
19
19
|
protected header(): Promise<void>;
|
|
20
|
-
infoMessageBelowHeader(): Promise<void>;
|
|
20
|
+
infoMessageBelowHeader(options?: BaseCliWorkerGuiUrlOptions): Promise<void>;
|
|
21
21
|
protected get backAction(): {
|
|
22
22
|
back: {
|
|
23
23
|
name: string;
|
|
@@ -33,6 +33,7 @@ export declare class BaseCliWorkerTerminalUI<WORKER extends BaseCliWorker<BaseCl
|
|
|
33
33
|
exitIsOnlyReturn?: boolean;
|
|
34
34
|
chooseAction?: boolean;
|
|
35
35
|
}): BaseWorkerTerminalActionReturnType;
|
|
36
|
+
private headerDisplayed;
|
|
36
37
|
infoScreen(options?: {
|
|
37
38
|
exitIsOnlyReturn?: boolean;
|
|
38
39
|
}): Promise<void>;
|
|
@@ -31,20 +31,24 @@ class BaseCliWorkerTerminalUI {
|
|
|
31
31
|
*/
|
|
32
32
|
async header() {
|
|
33
33
|
//#region @backendFunc
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
const headerText = await this.headerText();
|
|
35
|
+
if (headerText) {
|
|
36
|
+
lib_2.UtilsTerminal.drawBigText(await this.headerText(), {
|
|
37
|
+
align: this.headerTextAlign(),
|
|
38
|
+
style: this.textHeaderStyle(),
|
|
39
|
+
});
|
|
40
|
+
}
|
|
38
41
|
//#endregion
|
|
39
42
|
}
|
|
40
43
|
//#endregion
|
|
41
44
|
//#region protected methods / info message below header
|
|
42
|
-
async infoMessageBelowHeader() {
|
|
45
|
+
async infoMessageBelowHeader(options) {
|
|
43
46
|
//#region @backendFunc
|
|
47
|
+
options = options || {};
|
|
44
48
|
lib_2.Helpers.info(`
|
|
45
49
|
Service ${lib_3.chalk.bold.red(this.worker.serviceID)}` +
|
|
46
50
|
` (version: ${this.worker.serviceVersion}) started..
|
|
47
|
-
Check info here
|
|
51
|
+
Check info here ${this.worker.getWorkerInfoGuiUrl(options)}
|
|
48
52
|
Worker started by ${lib_3.chalk.bold(lib_1.config.frameworkName)}
|
|
49
53
|
(cwd: ${(0, lib_2.crossPlatformPath)(process.cwd())})
|
|
50
54
|
`);
|
|
@@ -83,7 +87,7 @@ class BaseCliWorkerTerminalUI {
|
|
|
83
87
|
name: 'Open browser with service info',
|
|
84
88
|
action: async () => {
|
|
85
89
|
const openInBrowser = require('open');
|
|
86
|
-
openInBrowser(
|
|
90
|
+
openInBrowser(this.worker.getWorkerInfoGuiUrl());
|
|
87
91
|
},
|
|
88
92
|
},
|
|
89
93
|
exit: {
|
|
@@ -108,15 +112,30 @@ class BaseCliWorkerTerminalUI {
|
|
|
108
112
|
}
|
|
109
113
|
//#endregion
|
|
110
114
|
//#region protected methods / info screen
|
|
115
|
+
headerDisplayed = false;
|
|
111
116
|
async infoScreen(options) {
|
|
112
117
|
options = options || {};
|
|
113
118
|
while (true) {
|
|
114
119
|
if (!lib_2.UtilsTerminal.isVerboseModeTaon()) {
|
|
115
120
|
lib_2.UtilsTerminal.clearConsole();
|
|
116
121
|
}
|
|
117
|
-
await this.header();
|
|
118
|
-
await this.infoMessageBelowHeader();
|
|
119
122
|
const choices = this.getWorkerTerminalActions(options);
|
|
123
|
+
if (this.headerDisplayed) {
|
|
124
|
+
await this.infoMessageBelowHeader();
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
this.headerDisplayed = true;
|
|
128
|
+
await this.header();
|
|
129
|
+
await lib_2.UtilsTerminal.pressAnyKeyToContinueAsync({
|
|
130
|
+
message: `\nWelcome to ${lib_3.chalk.bold(this.worker.serviceID) +
|
|
131
|
+
lib_3.chalk.bold('@') +
|
|
132
|
+
lib_3.chalk.bold(this.worker.serviceVersion)} Terminal UI.` +
|
|
133
|
+
`\n
|
|
134
|
+
Press any key to continue...`,
|
|
135
|
+
});
|
|
136
|
+
lib_2.UtilsTerminal.clearConsole();
|
|
137
|
+
await this.infoMessageBelowHeader();
|
|
138
|
+
}
|
|
120
139
|
const choice = await lib_2.UtilsTerminal.select({
|
|
121
140
|
choices,
|
|
122
141
|
question: 'Choose action',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-cli-worker-terminal-ui.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAAA,iBAAiB;AACjB,wCAAwC;AACxC,sCAKsB;AACtB,sCAAwC;
|
|
1
|
+
{"version":3,"file":"base-cli-worker-terminal-ui.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BehaviorSubject } from 'rxjs';
|
|
2
|
+
import { EndpointContext, Taon } from 'taon';
|
|
2
3
|
import { BaseCliWorkerConfig } from './base-cli-worker-config';
|
|
3
4
|
import type { BaseCliWorkerController } from './base-cli-worker-controller';
|
|
4
5
|
import { BaseCliWorkerTerminalUI } from './base-cli-worker-terminal-ui';
|
|
5
|
-
|
|
6
|
+
import { BaseCliMethodOptions } from './base-cli-worker.models';
|
|
7
|
+
export interface BaseCliWorkerGuiUrlOptions {
|
|
8
|
+
domain?: string;
|
|
9
|
+
port?: number | null;
|
|
10
|
+
useHttps?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare abstract class BaseCliWorker<REMOTE_CTRL extends BaseCliWorkerController<any>, TERMINAL_UI extends BaseCliWorkerTerminalUI<any> = any> {
|
|
6
13
|
/**
|
|
7
14
|
* unique id for service
|
|
8
15
|
*/
|
|
@@ -15,16 +22,34 @@ export declare abstract class BaseCliWorker<REMOTE_CTRL extends BaseCliWorkerCon
|
|
|
15
22
|
* unique id for service
|
|
16
23
|
*/
|
|
17
24
|
readonly serviceVersion: string;
|
|
25
|
+
/**
|
|
26
|
+
* Indicates if worker is part of cloud
|
|
27
|
+
* and should use cloud ip address
|
|
28
|
+
*/
|
|
29
|
+
static readonly isCloudEnable: Pick<BehaviorSubject<boolean>, 'next' | 'getValue'>;
|
|
30
|
+
/**
|
|
31
|
+
* Cloud ip address of the worker (if part of cloud)
|
|
32
|
+
*/
|
|
33
|
+
static readonly cloudIp: Pick<BehaviorSubject<string | null>, 'next' | 'getValue'>;
|
|
34
|
+
private static workers;
|
|
18
35
|
readonly SPECIAL_WORKER_READY_MESSAGE = "$$$ WORKER_READY $$$";
|
|
36
|
+
/**
|
|
37
|
+
* dependency workers that should be started before this worker
|
|
38
|
+
*/
|
|
39
|
+
readonly dependencyWorkers: Map<string, BaseCliWorker<any, any>>;
|
|
19
40
|
readonly terminalUI: TERMINAL_UI;
|
|
20
41
|
readonly workerContextTemplate: ReturnType<typeof Taon.createContextTemplate>;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
42
|
+
/**
|
|
43
|
+
* Name of the worker context
|
|
44
|
+
*/
|
|
45
|
+
get contextName(): string;
|
|
46
|
+
/**
|
|
47
|
+
* Port where worker is running
|
|
48
|
+
* (getter only accessible from host machine)
|
|
49
|
+
*/
|
|
50
|
+
get port(): number | undefined;
|
|
51
|
+
getWorkerInfoGuiUrl(options?: BaseCliWorkerGuiUrlOptions): string;
|
|
24
52
|
readonly controllerClass: new () => REMOTE_CTRL;
|
|
25
|
-
private contextForRemoteConnection;
|
|
26
|
-
protected get pathToProcessLocalInfoJson(): string;
|
|
27
|
-
get processLocalInfoObj(): BaseCliWorkerConfig;
|
|
28
53
|
constructor(
|
|
29
54
|
/**
|
|
30
55
|
* unique id for service
|
|
@@ -38,25 +63,20 @@ export declare abstract class BaseCliWorker<REMOTE_CTRL extends BaseCliWorkerCon
|
|
|
38
63
|
* unique id for service
|
|
39
64
|
*/
|
|
40
65
|
serviceVersion: string);
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}): Promise<
|
|
50
|
-
getControllerForRemoteConnection(options?: {
|
|
51
|
-
calledFrom?: string;
|
|
52
|
-
}): Promise<REMOTE_CTRL>;
|
|
53
|
-
startDetachedIfNeedsToBeStarted(options?: {
|
|
54
|
-
useCurrentWindowForDetach?: boolean;
|
|
55
|
-
}): Promise<void>;
|
|
66
|
+
static getAllWorkersStartedInSystemFromCurrentCli(): BaseCliWorker<any, any>[];
|
|
67
|
+
get processLocalInfoObj(): BaseCliWorkerConfig;
|
|
68
|
+
getRemoteControllerFor<ctrl = REMOTE_CTRL>(options?: {
|
|
69
|
+
methodOptions: Partial<BaseCliMethodOptions>;
|
|
70
|
+
/**
|
|
71
|
+
* Optionally get other controller from remote context
|
|
72
|
+
*/
|
|
73
|
+
controllerClass?: new () => ctrl;
|
|
74
|
+
}): Promise<ctrl>;
|
|
56
75
|
/**
|
|
57
76
|
* stop if started
|
|
58
77
|
*/
|
|
59
78
|
kill(options?: {
|
|
79
|
+
methodOptions?: Partial<BaseCliMethodOptions>;
|
|
60
80
|
dontRemoveConfigFile?: boolean;
|
|
61
81
|
}): Promise<void>;
|
|
62
82
|
/**
|
|
@@ -64,17 +84,45 @@ export declare abstract class BaseCliWorker<REMOTE_CTRL extends BaseCliWorkerCon
|
|
|
64
84
|
* @param options.detached - default true
|
|
65
85
|
*/
|
|
66
86
|
restart(options?: {
|
|
67
|
-
|
|
68
|
-
useCurrentWindowForDetach?: boolean;
|
|
87
|
+
methodOptions?: BaseCliMethodOptions;
|
|
69
88
|
}): Promise<void>;
|
|
70
89
|
/**
|
|
71
90
|
* only for cli start
|
|
72
91
|
* @param cliParams on from cli
|
|
73
92
|
*/
|
|
74
|
-
cliStartProcedure(
|
|
93
|
+
cliStartProcedure(options: {
|
|
94
|
+
methodOptions?: Partial<BaseCliMethodOptions>;
|
|
95
|
+
}): Promise<{
|
|
96
|
+
controller: REMOTE_CTRL;
|
|
97
|
+
worker: BaseCliWorker<any, any>;
|
|
98
|
+
serviceId: string;
|
|
99
|
+
}>;
|
|
100
|
+
protected getRemoteContextFor(options?: {
|
|
101
|
+
methodOptions?: Partial<BaseCliMethodOptions>;
|
|
102
|
+
}): Promise<EndpointContext>;
|
|
103
|
+
protected get pathToProcessLocalInfoJson(): string;
|
|
104
|
+
protected get processLocalInfoPortNotInited(): boolean;
|
|
105
|
+
protected get workerIsStarting(): boolean;
|
|
106
|
+
protected startDetachedIfNeedsToBeStarted(options?: {
|
|
107
|
+
methodOptions?: Partial<BaseCliMethodOptions>;
|
|
108
|
+
}): Promise<void>;
|
|
109
|
+
/**
|
|
110
|
+
* <strong>IMPORTANT USE ONLY IN DEVELOPMENT !!!</strong>
|
|
111
|
+
* for production use startDetachedIfNeedsToBeStarted()
|
|
112
|
+
* start normally process
|
|
113
|
+
* this will crash if process already started
|
|
114
|
+
*/
|
|
115
|
+
protected startNormallyInCurrentProcess(options?: {
|
|
116
|
+
methodOptions?: Partial<BaseCliMethodOptions>;
|
|
117
|
+
actionBeforeTerminalUI?: () => Promise<void>;
|
|
118
|
+
}): Promise<void>;
|
|
75
119
|
protected preventExternalConfigChange(): void;
|
|
76
|
-
protected preventStartIfAlreadyStarted(
|
|
77
|
-
|
|
120
|
+
protected preventStartIfAlreadyStarted(options?: {
|
|
121
|
+
methodOptions?: Partial<BaseCliMethodOptions>;
|
|
122
|
+
}): Promise<void>;
|
|
123
|
+
protected killWorkerWithLowerVersion(options?: {
|
|
124
|
+
methodOptions?: Partial<BaseCliMethodOptions>;
|
|
125
|
+
}): Promise<void>;
|
|
78
126
|
/**
|
|
79
127
|
* This has 2 purposes:
|
|
80
128
|
* - infinite check when when detached process finished starting
|
|
@@ -82,17 +130,20 @@ export declare abstract class BaseCliWorker<REMOTE_CTRL extends BaseCliWorkerCon
|
|
|
82
130
|
*/
|
|
83
131
|
protected isServiceHealthy(options: {
|
|
84
132
|
healthCheckRequestTrys?: number;
|
|
133
|
+
methodOptions?: Partial<BaseCliMethodOptions>;
|
|
85
134
|
}): Promise<boolean>;
|
|
86
135
|
/**
|
|
87
136
|
* start if not started detached process
|
|
88
137
|
*/
|
|
89
138
|
protected startDetached(options?: {
|
|
90
|
-
|
|
139
|
+
methodOptions?: Partial<BaseCliMethodOptions>;
|
|
91
140
|
}): Promise<void>;
|
|
92
141
|
private saveProcessInfo;
|
|
93
|
-
protected initializeWorkerMetadata(
|
|
94
|
-
|
|
95
|
-
|
|
142
|
+
protected initializeWorkerMetadata(options?: {
|
|
143
|
+
methodOptions?: Partial<BaseCliMethodOptions>;
|
|
144
|
+
}): Promise<void>;
|
|
145
|
+
protected waitForProcessPortSavedToDisk(options: {
|
|
146
|
+
methodOptions: BaseCliMethodOptions;
|
|
96
147
|
}): Promise<void>;
|
|
97
|
-
getServicePort(): Promise<number>;
|
|
148
|
+
protected getServicePort(): Promise<number>;
|
|
98
149
|
}
|