tnp-helpers 19.0.2 → 19.0.4

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.
Files changed (91) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/fesm2022/tnp-helpers.mjs +79 -10
  3. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  4. package/browser/lib/base/classes/base-git.d.ts +12 -1
  5. package/browser/lib/base/classes/base-package-json.d.ts +1 -0
  6. package/browser/lib/base/classes/base-release-process.d.ts +1 -0
  7. package/browser/lib/build-info._auto-generated_.d.ts +1 -1
  8. package/browser/lib/helpers/for-backend/helpers-file-folders.d.ts +2 -2
  9. package/browser/package.json +13 -0
  10. package/client/fesm2022/tnp-helpers.mjs +79 -10
  11. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  12. package/client/lib/base/classes/base-git.d.ts +12 -1
  13. package/client/lib/base/classes/base-package-json.d.ts +1 -0
  14. package/client/lib/base/classes/base-release-process.d.ts +1 -0
  15. package/client/lib/build-info._auto-generated_.d.ts +1 -1
  16. package/client/lib/helpers/for-backend/helpers-file-folders.d.ts +2 -2
  17. package/client/package.json +13 -0
  18. package/lib/base/classes/base-cli-worker-config.d.ts +27 -0
  19. package/lib/base/classes/base-cli-worker-config.js +64 -0
  20. package/lib/base/classes/base-cli-worker-config.js.map +1 -0
  21. package/lib/base/classes/base-cli-worker-controller.d.ts +15 -0
  22. package/lib/base/classes/base-cli-worker-controller.js +124 -0
  23. package/lib/base/classes/base-cli-worker-controller.js.map +1 -0
  24. package/lib/base/classes/base-cli-worker.d.ts +111 -0
  25. package/lib/base/classes/base-cli-worker.js +535 -0
  26. package/lib/base/classes/base-cli-worker.js.map +1 -0
  27. package/lib/base/classes/base-detached-service.d.ts +6 -0
  28. package/lib/base/classes/base-detached-service.js +16 -0
  29. package/lib/base/classes/base-detached-service.js.map +1 -0
  30. package/lib/base/classes/base-git.d.ts +11 -0
  31. package/lib/base/classes/base-git.js +31 -0
  32. package/lib/base/classes/base-git.js.map +1 -1
  33. package/lib/base/classes/base-github-pages.d.ts +14 -0
  34. package/lib/base/classes/base-github-pages.js +173 -0
  35. package/lib/base/classes/base-github-pages.js.map +1 -0
  36. package/lib/base/classes/base-global-command-line.backend.d.ts +1 -0
  37. package/lib/base/classes/base-global-command-line.backend.js +9 -1
  38. package/lib/base/classes/base-global-command-line.backend.js.map +1 -1
  39. package/lib/base/classes/base-node-modules.js +16 -14
  40. package/lib/base/classes/base-node-modules.js.map +1 -1
  41. package/lib/base/classes/base-package-json.d.ts +1 -0
  42. package/lib/base/classes/base-package-json.js +5 -0
  43. package/lib/base/classes/base-package-json.js.map +1 -1
  44. package/lib/base/classes/base-powershell.js +4 -0
  45. package/lib/base/classes/base-powershell.js.map +1 -1
  46. package/lib/base/classes/base-release-process.d.ts +1 -0
  47. package/lib/base/classes/base-release-process.js +40 -13
  48. package/lib/base/classes/base-release-process.js.map +1 -1
  49. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js +2 -2
  50. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.d.ts +9 -9
  51. package/lib/build-info._auto-generated_.d.ts +1 -1
  52. package/lib/build-info._auto-generated_.js +1 -1
  53. package/lib/helpers/for-backend/helpers-file-folders.backend.d.ts +104 -0
  54. package/lib/helpers/for-backend/helpers-file-folders.backend.js +896 -0
  55. package/lib/helpers/for-backend/helpers-file-folders.backend.js.map +1 -0
  56. package/lib/helpers/for-backend/helpers-file-folders.d.ts +2 -2
  57. package/lib/helpers/for-backend/helpers-file-folders.js +9 -8
  58. package/lib/helpers/for-backend/helpers-file-folders.js.map +1 -1
  59. package/lib/helpers/for-backend/helpers-git.backend.d.ts +10 -0
  60. package/lib/helpers/for-backend/helpers-git.backend.js +76 -2
  61. package/lib/helpers/for-backend/helpers-git.backend.js.map +1 -1
  62. package/lib/helpers/for-backend/helpers-process.backend.d.ts +87 -0
  63. package/lib/helpers/for-backend/helpers-process.backend.js +456 -0
  64. package/lib/helpers/for-backend/helpers-process.backend.js.map +1 -0
  65. package/lib/helpers/for-backend/ts-code/index.d.ts +1 -0
  66. package/lib/helpers/for-backend/ts-code/index.js +5 -0
  67. package/lib/helpers/for-backend/ts-code/index.js.map +1 -0
  68. package/lib/helpers/for-backend/ts-code/ts-import-export-extractor.d.ts +29 -0
  69. package/lib/helpers/for-backend/ts-code/ts-import-export-extractor.js +81 -0
  70. package/lib/helpers/for-backend/ts-code/ts-import-export-extractor.js.map +1 -0
  71. package/lib/helpers/for-browser/angular.helper.js +2 -2
  72. package/lib/helpers/helpers.js +5 -1
  73. package/lib/helpers/helpers.js.map +1 -1
  74. package/lib/index.js +1 -0
  75. package/lib/index.js.map +1 -1
  76. package/lib/old/base-component.js +2 -2
  77. package/lib/old/base-formly-component.js +2 -2
  78. package/lib/old/dual-component-ctrl.js +2 -2
  79. package/lib/old/execute-command.d.ts +1 -1
  80. package/lib/old/execute-command.js +2 -2
  81. package/lib/old/execute-command.js.map +1 -1
  82. package/package.json +1 -1
  83. package/tmp-environment.json +4 -3
  84. package/websql/fesm2022/tnp-helpers.mjs +79 -10
  85. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  86. package/websql/lib/base/classes/base-git.d.ts +12 -1
  87. package/websql/lib/base/classes/base-package-json.d.ts +1 -0
  88. package/websql/lib/base/classes/base-release-process.d.ts +1 -0
  89. package/websql/lib/build-info._auto-generated_.d.ts +1 -1
  90. package/websql/lib/helpers/for-backend/helpers-file-folders.d.ts +2 -2
  91. package/websql/package.json +13 -0
@@ -61,8 +61,18 @@ export declare class BaseGit<PROJECT extends BaseProject = any> extends BaseFeat
61
61
  }): Promise<void>;
62
62
  get hasActionCommitsToMelt(): boolean;
63
63
  meltActionCommits(): void;
64
+ /**
65
+ *
66
+ * @param newVersion
67
+ * @param pushWithoutAsking
68
+ */
69
+ tagAndPushToGitRepo(newVersion: string, autoReleaseUsingConfig: boolean, isCiProcess: boolean): Promise<void>;
64
70
  pullCurrentBranch(options?: {
65
71
  askToRetry?: boolean;
72
+ /**
73
+ * default true, when false it will throw error instead process.exit(0)
74
+ */
75
+ exitOnError?: boolean;
66
76
  defaultHardResetCommits?: number;
67
77
  }): Promise<any>;
68
78
  get currentBranchName(): any;
@@ -88,7 +98,8 @@ export declare class BaseGit<PROJECT extends BaseProject = any> extends BaseFeat
88
98
  createBranchIfNotExists?: boolean;
89
99
  fetchBeforeCheckout?: boolean;
90
100
  switchBranchWhenExists?: boolean;
91
- }): any;
101
+ }): void;
102
+ cleanRepoFromAnyFilesExceptDotGitFolder(): void;
92
103
  checkoutFromTo(checkoutFromBranch: string, branch: string, origin?: string): any;
93
104
  /**
94
105
  *
@@ -100,6 +100,7 @@ export declare class BasePackageJson extends BaseJsonFileReader<PackageJson> {
100
100
  }): void;
101
101
  get isPrivate(): boolean;
102
102
  setIsPrivate(value: boolean): any;
103
+ get sideEffects(): boolean;
103
104
  setMainProperty(main: string, purpose?: string): Promise<void>;
104
105
  setBuildHash(hash: string): void;
105
106
  getBuildHash(): string;
@@ -23,6 +23,7 @@ export declare class BaseReleaseProcess<PROJECT extends BaseProject<any, any> =
23
23
  index: number;
24
24
  }[]>;
25
25
  private getCommitsUpToReleaseCommit;
26
+ checkBundleQuestion(cwdForCode: string, checkMessage?: string): Promise<boolean>;
26
27
  /**
27
28
  * @returns true if publish , faslse if just version bump
28
29
  */
@@ -1,3 +1,3 @@
1
1
  // @ts-nocheck
2
2
  export declare const BUILD_FRAMEWORK_CLI_NAME = "tnp";
3
- export declare const CURRENT_PACKAGE_VERSION = "19.0.1";
3
+ export declare const CURRENT_PACKAGE_VERSION = "19.0.4";
@@ -11,7 +11,7 @@ export declare class HelpersFileFolders {
11
11
  getValueFromJSONC(filepath: string, lodashGetPath: string, defaultValue?: any): any;
12
12
  readValueFromJson(filepath: string, lodashGetPath: string, defaultValue?: any): any;
13
13
  readValueFromJsonC(filepath: string, lodashGetPath: string, defaultValue?: any): any;
14
- setValueToJSON(filepath: string, lodashGetPath: string, value: any): void;
14
+ setValueToJSON(filepath: string | string[], lodashGetPath: string, value: any): void;
15
15
  setValueToJSONC(filepath: string, lodashGetPath: string, value: any): void;
16
16
  /**
17
17
  * file size in bytes
@@ -68,7 +68,7 @@ export declare class HelpersFileFolders {
68
68
  getMostRecentFileName(dir: string): string;
69
69
  getMostRecentFilesNames(dir: string): string[];
70
70
  removeExcept(fromPath: string, exceptFolderAndFiles: string[]): void;
71
- copy(sourceDir: string, destinationDir: string, options?: {
71
+ copy(sourceDir: string | string[], destinationDir: string | string[], options?: {
72
72
  filter?: any;
73
73
  overwrite?: boolean;
74
74
  recursive?: boolean;
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "tnp-helpers/client",
3
+ "version": "19.0.4",
4
+ "module": "fesm2022/tnp-helpers.mjs",
5
+ "typings": "index.d.ts",
6
+ "exports": {
7
+ ".": {
8
+ "types": "./index.d.ts",
9
+ "default": "./fesm2022/tnp-helpers.mjs"
10
+ }
11
+ },
12
+ "sideEffects": false
13
+ }
@@ -0,0 +1,27 @@
1
+ export declare class BaseCliWorkerConfig {
2
+ static from(opt: Partial<BaseCliWorkerConfig>): BaseCliWorkerConfig & Partial<BaseCliWorkerConfig>;
3
+ /**
4
+ * port taken by service
5
+ */
6
+ port: number;
7
+ /**
8
+ * unique in whole system id of service
9
+ */
10
+ serviceID: string;
11
+ /**
12
+ * pid of service process
13
+ */
14
+ pid: number;
15
+ /**
16
+ * timestamp when service was started
17
+ * (in other cases = null)
18
+ */
19
+ startTimestamp: number;
20
+ /**
21
+ * version
22
+ */
23
+ version: string;
24
+ hasBiggerOrEqualWorkerVersionThan(other: BaseCliWorkerConfig): boolean;
25
+ isEquals(other: BaseCliWorkerConfig): boolean;
26
+ get isEmpty(): boolean;
27
+ }
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseCliWorkerConfig = void 0;
4
+ const semver_1 = require("semver");
5
+ const tnp_core_1 = require("tnp-core");
6
+ //#region base worker config
7
+ class BaseCliWorkerConfig {
8
+ static from(opt) {
9
+ return tnp_core_1._.merge(new BaseCliWorkerConfig(), opt);
10
+ }
11
+ /**
12
+ * port taken by service
13
+ */
14
+ port;
15
+ /**
16
+ * unique in whole system id of service
17
+ */
18
+ serviceID;
19
+ /**
20
+ * pid of service process
21
+ */
22
+ pid;
23
+ /**
24
+ * timestamp when service was started
25
+ * (in other cases = null)
26
+ */
27
+ startTimestamp;
28
+ /**
29
+ * version
30
+ */
31
+ version;
32
+ hasBiggerOrEqualWorkerVersionThan(other) {
33
+ //#region @backendFunc
34
+ other = BaseCliWorkerConfig.from(other);
35
+ if (this.serviceID !== other.serviceID) {
36
+ return false;
37
+ }
38
+ if (!this.version || !other.version) {
39
+ false;
40
+ }
41
+ try {
42
+ return (0, semver_1.gte)(this.version, other.version);
43
+ }
44
+ catch (error) {
45
+ return false;
46
+ }
47
+ //#endregion
48
+ }
49
+ isEquals(other) {
50
+ other = BaseCliWorkerConfig.from(other);
51
+ return (!!this.serviceID &&
52
+ !!this.port &&
53
+ !!this.pid &&
54
+ this.serviceID === other.serviceID &&
55
+ this.port === other.port &&
56
+ this.pid === other.pid);
57
+ }
58
+ get isEmpty() {
59
+ return !this.serviceID && !this.port && !this.pid;
60
+ }
61
+ }
62
+ exports.BaseCliWorkerConfig = BaseCliWorkerConfig;
63
+ //#endregion
64
+ //# sourceMappingURL=base-cli-worker-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-cli-worker-config.js","sourceRoot":"","sources":["c:/Users/darek/projects/npm/taon-dev/tnp-helpers/src/lib/base/classes/base-cli-worker-config.ts"],"names":[],"mappings":";;;AAAA,mCAA6B;AAC7B,uCAA6B;AAE7B,4BAA4B;AAC5B,MAAa,mBAAmB;IAC9B,MAAM,CAAC,IAAI,CAAC,GAAiC;QAC3C,OAAO,YAAC,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;AA3DD,kDA2DC;AACD,YAAY"}
@@ -0,0 +1,15 @@
1
+ import { Taon } from 'taon';
2
+ import { BaseCliWorkerConfig } from './base-cli-worker-config';
3
+ export declare abstract class BaseCliWorkerController extends Taon.Base
4
+ .Controller {
5
+ /**
6
+ * service id
7
+ */
8
+ private cliWorkerServiceId;
9
+ private cliWorkerServiceVersion;
10
+ baseCLiWorkerCommand_initializeMetadata(serviceId: string, serviceVersion: string): Taon.Response<void>;
11
+ baseCLiWorkerCommand_kill(): Taon.Response<void>;
12
+ info(): Taon.Response<string>;
13
+ baseCLiWorkerCommand_isHealthy(checkingProcessConfig: BaseCliWorkerConfig): Taon.Response<boolean>;
14
+ baseCLiWorkerCommand_hasUpToDateVersion(checkingProcessConfig: BaseCliWorkerConfig): Taon.Response<boolean>;
15
+ }
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
9
+ return function (target, key) { decorator(target, key, paramIndex); }
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.BaseCliWorkerController = void 0;
13
+ const taon_1 = require("taon");
14
+ const tnp_core_1 = require("tnp-core");
15
+ const base_cli_worker_config_1 = require("./base-cli-worker-config");
16
+ let BaseCliWorkerController = class BaseCliWorkerController extends taon_1.Taon.Base
17
+ .Controller {
18
+ /**
19
+ * service id
20
+ */
21
+ cliWorkerServiceId = null;
22
+ cliWorkerServiceVersion = null;
23
+ //#region api methods / initialize metadata
24
+ baseCLiWorkerCommand_initializeMetadata(serviceId, serviceVersion) {
25
+ //#region @backendFunc
26
+ return async () => {
27
+ this.cliWorkerServiceId = serviceId;
28
+ this.cliWorkerServiceVersion = serviceVersion;
29
+ };
30
+ //#endregion
31
+ }
32
+ //#endregion
33
+ //#region api methods / kill
34
+ baseCLiWorkerCommand_kill() {
35
+ //#region @backendFunc
36
+ return async () => {
37
+ console.log(`Killing worker "${this.cliWorkerServiceId}"...`);
38
+ setTimeout(() => {
39
+ tnp_core_1.Helpers.clearConsole();
40
+ process.exit(0);
41
+ }, 1000); // TODO may be change to 0
42
+ };
43
+ //#endregion
44
+ }
45
+ //#endregion
46
+ //#region api methods / info
47
+ info() {
48
+ //#region @backendFunc
49
+ return async () => {
50
+ return (`Service "${this.cliWorkerServiceId}" is ` +
51
+ `running healthy on port ${this.ctx.uri.port},
52
+ version: ${this.cliWorkerServiceVersion},
53
+ pid: ${process.pid}
54
+ `);
55
+ };
56
+ //#endregion
57
+ }
58
+ //#endregion
59
+ //#region api methods / is healthy
60
+ baseCLiWorkerCommand_isHealthy(checkingProcessConfig) {
61
+ //#region @backendFunc
62
+ return async (req, res) => {
63
+ checkingProcessConfig = base_cli_worker_config_1.BaseCliWorkerConfig.from(checkingProcessConfig);
64
+ const currentConfig = base_cli_worker_config_1.BaseCliWorkerConfig.from({
65
+ pid: process.pid,
66
+ serviceID: this.cliWorkerServiceId,
67
+ port: Number(this.ctx.uri.port),
68
+ version: this.cliWorkerServiceVersion,
69
+ });
70
+ // console.log('configWorker', configWorker);
71
+ // console.log('currentConfig', currentConfig);
72
+ return checkingProcessConfig.isEquals(currentConfig);
73
+ };
74
+ //#endregion
75
+ }
76
+ //#endregion
77
+ //#region api methods / has up to date version
78
+ baseCLiWorkerCommand_hasUpToDateVersion(checkingProcessConfig) {
79
+ //#region @backendFunc
80
+ return async (req, res) => {
81
+ checkingProcessConfig = base_cli_worker_config_1.BaseCliWorkerConfig.from(checkingProcessConfig);
82
+ const currentWorkerConfig = base_cli_worker_config_1.BaseCliWorkerConfig.from({
83
+ pid: process.pid,
84
+ serviceID: this.cliWorkerServiceId,
85
+ port: Number(this.ctx.uri.port),
86
+ version: this.cliWorkerServiceVersion,
87
+ });
88
+ // console.log('checkingProcessConfig', checkingProcessConfig);
89
+ // console.log('currentConfig', currentWorkerConfig);
90
+ return currentWorkerConfig.hasBiggerOrEqualWorkerVersionThan(checkingProcessConfig);
91
+ };
92
+ //#endregion
93
+ }
94
+ };
95
+ exports.BaseCliWorkerController = BaseCliWorkerController;
96
+ __decorate([
97
+ taon_1.Taon.Http.PUT(),
98
+ __param(0, taon_1.Taon.Http.Param.Body('serviceId')),
99
+ __param(1, taon_1.Taon.Http.Param.Body('serviceVersion'))
100
+ ], BaseCliWorkerController.prototype, "baseCLiWorkerCommand_initializeMetadata", null);
101
+ __decorate([
102
+ taon_1.Taon.Http.GET()
103
+ ], BaseCliWorkerController.prototype, "baseCLiWorkerCommand_kill", null);
104
+ __decorate([
105
+ taon_1.Taon.Http.GET({
106
+ pathIsGlobal: true,
107
+ // overrideContentType: 'text/html',
108
+ // overridResponseType: 'text',
109
+ })
110
+ ], BaseCliWorkerController.prototype, "info", null);
111
+ __decorate([
112
+ taon_1.Taon.Http.POST(),
113
+ __param(0, taon_1.Taon.Http.Param.Body())
114
+ ], BaseCliWorkerController.prototype, "baseCLiWorkerCommand_isHealthy", null);
115
+ __decorate([
116
+ taon_1.Taon.Http.POST(),
117
+ __param(0, taon_1.Taon.Http.Param.Body())
118
+ ], BaseCliWorkerController.prototype, "baseCLiWorkerCommand_hasUpToDateVersion", null);
119
+ exports.BaseCliWorkerController = BaseCliWorkerController = __decorate([
120
+ taon_1.Taon.Controller({
121
+ className: 'BaseCliWorkerController',
122
+ })
123
+ ], BaseCliWorkerController);
124
+ //# sourceMappingURL=base-cli-worker-controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-cli-worker-controller.js","sourceRoot":"","sources":["c:/Users/darek/projects/npm/taon-dev/tnp-helpers/src/lib/base/classes/base-cli-worker-controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,111 @@
1
+ import { BaseCliWorkerConfig } from './base-cli-worker-config';
2
+ import type { BaseCliWorkerController } from './base-cli-worker-controller';
3
+ export type CfontStyle = 'block' | 'slick' | 'tiny' | 'grid' | 'pallet' | 'shade' | 'chrome' | 'simple' | 'simpleBlock' | '3d' | 'simple3d' | 'huge';
4
+ export type CfontAlign = 'left' | 'center' | 'right' | 'block';
5
+ export declare abstract class BaseCliWorker<REMOTE_CTRL extends BaseCliWorkerController = BaseCliWorkerController> {
6
+ /**
7
+ * unique id for service
8
+ */
9
+ protected readonly serviceID: string;
10
+ /**
11
+ * external command that will start service
12
+ */
13
+ protected readonly startCommand: string;
14
+ /**
15
+ * unique id for service
16
+ */
17
+ protected readonly serviceVersion: string;
18
+ protected SPECIAL_WORKER_READY_MESSAGE: string;
19
+ constructor(
20
+ /**
21
+ * unique id for service
22
+ */
23
+ serviceID: string,
24
+ /**
25
+ * external command that will start service
26
+ */
27
+ startCommand: string,
28
+ /**
29
+ * unique id for service
30
+ */
31
+ serviceVersion: string);
32
+ protected abstract startNormallyInCurrentProcess(options?: {}): any;
33
+ abstract getControllerForRemoteConnection(): Promise<REMOTE_CTRL>;
34
+ protected get pathToProcessLocalInfoJson(): string;
35
+ protected get processLocalInfoObj(): BaseCliWorkerConfig;
36
+ startDetachedIfNeedsToBeStarted(options?: {
37
+ useCurrentWindowForDetach?: boolean;
38
+ }): Promise<void>;
39
+ /**
40
+ * stop if started
41
+ */
42
+ kill(options?: {
43
+ dontRemoveConfigFile?: boolean;
44
+ }): Promise<void>;
45
+ /**
46
+ * kill detached process and start again
47
+ * @param options.detached - default true
48
+ */
49
+ restart(options?: {
50
+ detached?: boolean;
51
+ useCurrentWindowForDetach?: boolean;
52
+ }): Promise<void>;
53
+ /**
54
+ * only for cli start
55
+ * @param cliParams on from cli
56
+ */
57
+ cliStartProcedure(cliParams: any): Promise<void>;
58
+ protected preventExternalConfigChange(): void;
59
+ protected preventStartIfAlreadyStarted(): Promise<void>;
60
+ protected killWorkerWithLowerVersion(): Promise<void>;
61
+ /**
62
+ * This has 2 purposes:
63
+ * - infinite check when when detached process finished starting
64
+ * - quick check if service is healthy / already started
65
+ */
66
+ protected isServiceHealthy(options: {
67
+ healthCheckRequestTrys?: number;
68
+ }): Promise<boolean>;
69
+ /**
70
+ * start if not started detached process
71
+ */
72
+ protected startDetached(options?: {
73
+ useCurrentWindowForDetach?: boolean;
74
+ }): Promise<void>;
75
+ protected headerText(): Promise<string>;
76
+ protected textHeaderStyle(): CfontStyle;
77
+ protected headerTextAlign(): CfontAlign;
78
+ /**
79
+ * override whole terminal header
80
+ */
81
+ protected header(): Promise<void>;
82
+ infoMessageBelowHeader(): Promise<void>;
83
+ protected get backAction(): {
84
+ back: {
85
+ name: string;
86
+ };
87
+ };
88
+ protected get chooseAction(): {
89
+ emptyAction: {
90
+ name: string;
91
+ action: () => Promise<void>;
92
+ };
93
+ };
94
+ protected displaySpecialWorkerReadyMessage(): void;
95
+ protected getWorkerTerminalActions(options?: {
96
+ exitIsOnlyReturn?: boolean;
97
+ chooseAction?: boolean;
98
+ }): {
99
+ [uniqeActionName: string]: {
100
+ name: string;
101
+ action: () => unknown | Promise<unknown>;
102
+ };
103
+ };
104
+ infoScreen(options?: {
105
+ exitIsOnlyReturn?: boolean;
106
+ }): Promise<void>;
107
+ private saveProcessInfo;
108
+ protected initializeWorkerMetadata(): Promise<void>;
109
+ protected waitForProcessPortSavedToDisk(): Promise<void>;
110
+ getServicePort(): Promise<number>;
111
+ }