tnp-helpers 18.0.24 → 19.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.
Files changed (159) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-config.mjs +37 -0
  3. package/browser/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-controller.mjs +125 -0
  4. package/browser/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.mjs +133 -0
  5. package/browser/esm2022/lib/base/classes/base-cli-worker/base-cli-worker.mjs +404 -0
  6. package/browser/esm2022/lib/base/classes/base-cli-worker/index.mjs +7 -0
  7. package/browser/esm2022/lib/base/classes/base-node-modules.mjs +5 -83
  8. package/browser/esm2022/lib/base/classes/base-quick-fixes.mjs +22 -1
  9. package/browser/esm2022/lib/base/classes/base-vscode.mjs +1 -13
  10. package/browser/esm2022/lib/base/classes/index.mjs +1 -3
  11. package/browser/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +2 -2
  12. package/browser/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.mjs +261 -0
  13. package/browser/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +8 -261
  14. package/browser/esm2022/lib/models.mjs +1 -1
  15. package/browser/fesm2022/tnp-helpers.mjs +468 -515
  16. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  17. package/{client/lib/base/classes → browser/lib/base/classes/base-cli-worker}/base-cli-worker-config.d.ts +2 -2
  18. package/browser/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.d.ts +40 -0
  19. package/browser/lib/base/classes/{base-cli-worker.d.ts → base-cli-worker/base-cli-worker.d.ts} +11 -43
  20. package/browser/lib/base/classes/base-cli-worker/index.d.ts +5 -0
  21. package/browser/lib/base/classes/base-node-modules.d.ts +7 -2
  22. package/browser/lib/base/classes/base-quick-fixes.d.ts +7 -0
  23. package/browser/lib/base/classes/base-vscode.d.ts +1 -1
  24. package/browser/lib/base/classes/index.d.ts +0 -2
  25. package/browser/lib/base/tcp-udp-ports/ports.controller.d.ts +2 -2
  26. package/browser/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.d.ts +20 -0
  27. package/browser/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +5 -17
  28. package/browser/lib/models.d.ts +3 -1
  29. package/client/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-config.mjs +37 -0
  30. package/client/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-controller.mjs +125 -0
  31. package/client/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.mjs +133 -0
  32. package/client/esm2022/lib/base/classes/base-cli-worker/base-cli-worker.mjs +404 -0
  33. package/client/esm2022/lib/base/classes/base-cli-worker/index.mjs +7 -0
  34. package/client/esm2022/lib/base/classes/base-node-modules.mjs +5 -83
  35. package/client/esm2022/lib/base/classes/base-quick-fixes.mjs +22 -1
  36. package/client/esm2022/lib/base/classes/base-vscode.mjs +1 -13
  37. package/client/esm2022/lib/base/classes/index.mjs +1 -3
  38. package/client/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +2 -2
  39. package/client/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.mjs +261 -0
  40. package/client/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +8 -261
  41. package/client/esm2022/lib/models.mjs +1 -1
  42. package/client/fesm2022/tnp-helpers.mjs +468 -515
  43. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  44. package/{websql/lib/base/classes → client/lib/base/classes/base-cli-worker}/base-cli-worker-config.d.ts +2 -2
  45. package/client/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.d.ts +40 -0
  46. package/client/lib/base/classes/{base-cli-worker.d.ts → base-cli-worker/base-cli-worker.d.ts} +11 -43
  47. package/client/lib/base/classes/base-cli-worker/index.d.ts +5 -0
  48. package/client/lib/base/classes/base-node-modules.d.ts +7 -2
  49. package/client/lib/base/classes/base-quick-fixes.d.ts +7 -0
  50. package/client/lib/base/classes/base-vscode.d.ts +1 -1
  51. package/client/lib/base/classes/index.d.ts +0 -2
  52. package/client/lib/base/tcp-udp-ports/ports.controller.d.ts +2 -2
  53. package/client/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.d.ts +20 -0
  54. package/client/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +5 -17
  55. package/client/lib/models.d.ts +3 -1
  56. package/lib/base/classes/{base-cli-worker-config.d.ts → base-cli-worker/base-cli-worker-config.d.ts} +1 -1
  57. package/lib/base/classes/base-cli-worker/base-cli-worker-config.js.map +1 -0
  58. package/lib/base/classes/base-cli-worker/base-cli-worker-controller.js.map +1 -0
  59. package/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.d.ts +39 -0
  60. package/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.js +148 -0
  61. package/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.js.map +1 -0
  62. package/lib/base/classes/{base-cli-worker.d.ts → base-cli-worker/base-cli-worker.d.ts} +9 -41
  63. package/lib/base/classes/{base-cli-worker.js → base-cli-worker/base-cli-worker.js} +43 -176
  64. package/lib/base/classes/base-cli-worker/base-cli-worker.js.map +1 -0
  65. package/lib/base/classes/base-cli-worker/index.d.ts +4 -0
  66. package/lib/base/classes/base-cli-worker/index.js +21 -0
  67. package/lib/base/classes/base-cli-worker/index.js.map +1 -0
  68. package/lib/base/classes/base-global-command-line.backend.js +1 -1
  69. package/lib/base/classes/base-global-command-line.backend.js.map +1 -1
  70. package/lib/base/classes/base-node-modules.d.ts +7 -2
  71. package/lib/base/classes/base-node-modules.js +109 -137
  72. package/lib/base/classes/base-node-modules.js.map +1 -1
  73. package/lib/base/classes/base-npm-helpers.js +1 -1
  74. package/lib/base/classes/base-npm-helpers.js.map +1 -1
  75. package/lib/base/classes/base-powershell.d.ts +57 -0
  76. package/lib/base/classes/base-powershell.js +83 -0
  77. package/lib/base/classes/base-powershell.js.map +1 -0
  78. package/lib/base/classes/base-quick-fixes.d.ts +7 -0
  79. package/lib/base/classes/base-quick-fixes.js +21 -0
  80. package/lib/base/classes/base-quick-fixes.js.map +1 -1
  81. package/lib/base/classes/base-vscode.d.ts +1 -1
  82. package/lib/base/classes/base-vscode.js +9 -15
  83. package/lib/base/classes/base-vscode.js.map +1 -1
  84. package/lib/base/classes/index.d.ts +0 -2
  85. package/lib/base/classes/index.js +0 -2
  86. package/lib/base/classes/index.js.map +1 -1
  87. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js +2 -2
  88. package/lib/base/tcp-udp-ports/ports.controller.d.ts +2 -2
  89. package/lib/base/tcp-udp-ports/ports.controller.js +2 -2
  90. package/lib/base/tcp-udp-ports/ports.controller.js.map +1 -1
  91. package/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.d.ts +32 -0
  92. package/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.js +256 -0
  93. package/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.js.map +1 -0
  94. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +4 -29
  95. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js +7 -257
  96. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js.map +1 -1
  97. package/lib/helpers/for-browser/angular.helper.js +2 -2
  98. package/lib/models.d.ts +2 -0
  99. package/lib/models.js.map +1 -1
  100. package/lib/old/base-component.js +2 -2
  101. package/lib/old/base-formly-component.js +2 -2
  102. package/lib/old/dual-component-ctrl.js +2 -2
  103. package/package.json +2 -2
  104. package/tmp-environment.json +24 -3
  105. package/websql/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-config.mjs +37 -0
  106. package/websql/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-controller.mjs +125 -0
  107. package/websql/esm2022/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.mjs +133 -0
  108. package/websql/esm2022/lib/base/classes/base-cli-worker/base-cli-worker.mjs +404 -0
  109. package/websql/esm2022/lib/base/classes/base-cli-worker/index.mjs +7 -0
  110. package/websql/esm2022/lib/base/classes/base-node-modules.mjs +5 -83
  111. package/websql/esm2022/lib/base/classes/base-quick-fixes.mjs +22 -1
  112. package/websql/esm2022/lib/base/classes/base-vscode.mjs +1 -13
  113. package/websql/esm2022/lib/base/classes/index.mjs +1 -3
  114. package/websql/esm2022/lib/base/tcp-udp-ports/ports.controller.mjs +2 -2
  115. package/websql/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.mjs +261 -0
  116. package/websql/esm2022/lib/base/tcp-udp-ports/tcp-upd-ports.worker.mjs +8 -261
  117. package/websql/esm2022/lib/models.mjs +1 -1
  118. package/websql/fesm2022/tnp-helpers.mjs +468 -515
  119. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  120. package/{browser/lib/base/classes → websql/lib/base/classes/base-cli-worker}/base-cli-worker-config.d.ts +2 -2
  121. package/websql/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.d.ts +40 -0
  122. package/websql/lib/base/classes/{base-cli-worker.d.ts → base-cli-worker/base-cli-worker.d.ts} +11 -43
  123. package/websql/lib/base/classes/base-cli-worker/index.d.ts +5 -0
  124. package/websql/lib/base/classes/base-node-modules.d.ts +7 -2
  125. package/websql/lib/base/classes/base-quick-fixes.d.ts +7 -0
  126. package/websql/lib/base/classes/base-vscode.d.ts +1 -1
  127. package/websql/lib/base/classes/index.d.ts +0 -2
  128. package/websql/lib/base/tcp-udp-ports/ports.controller.d.ts +2 -2
  129. package/websql/lib/base/tcp-udp-ports/tcp-upd-ports-terminal-ui.d.ts +20 -0
  130. package/websql/lib/base/tcp-udp-ports/tcp-upd-ports.worker.d.ts +5 -17
  131. package/websql/lib/models.d.ts +3 -1
  132. package/browser/esm2022/lib/base/classes/base-cli-worker-config.mjs +0 -37
  133. package/browser/esm2022/lib/base/classes/base-cli-worker-controller.mjs +0 -125
  134. package/browser/esm2022/lib/base/classes/base-cli-worker.mjs +0 -523
  135. package/client/esm2022/lib/base/classes/base-cli-worker-config.mjs +0 -37
  136. package/client/esm2022/lib/base/classes/base-cli-worker-controller.mjs +0 -125
  137. package/client/esm2022/lib/base/classes/base-cli-worker.mjs +0 -523
  138. package/lib/base/classes/base-cli-worker-config.js.map +0 -1
  139. package/lib/base/classes/base-cli-worker-controller.js.map +0 -1
  140. package/lib/base/classes/base-cli-worker.js.map +0 -1
  141. package/lib/base/classes/base-detached-service.d.ts +0 -5
  142. package/lib/base/classes/base-detached-service.js +0 -12
  143. package/lib/base/classes/base-detached-service.js.map +0 -1
  144. package/lib/helpers/for-backend/helpers-file-folders.backend.d.ts +0 -104
  145. package/lib/helpers/for-backend/helpers-file-folders.backend.js +0 -896
  146. package/lib/helpers/for-backend/helpers-file-folders.backend.js.map +0 -1
  147. package/lib/helpers/for-backend/helpers-process.backend.d.ts +0 -87
  148. package/lib/helpers/for-backend/helpers-process.backend.js +0 -456
  149. package/lib/helpers/for-backend/helpers-process.backend.js.map +0 -1
  150. package/taon.jsonc +0 -34
  151. package/websql/esm2022/lib/base/classes/base-cli-worker-config.mjs +0 -37
  152. package/websql/esm2022/lib/base/classes/base-cli-worker-controller.mjs +0 -125
  153. package/websql/esm2022/lib/base/classes/base-cli-worker.mjs +0 -523
  154. /package/browser/lib/base/classes/{base-cli-worker-controller.d.ts → base-cli-worker/base-cli-worker-controller.d.ts} +0 -0
  155. /package/client/lib/base/classes/{base-cli-worker-controller.d.ts → base-cli-worker/base-cli-worker-controller.d.ts} +0 -0
  156. /package/lib/base/classes/{base-cli-worker-config.js → base-cli-worker/base-cli-worker-config.js} +0 -0
  157. /package/lib/base/classes/{base-cli-worker-controller.d.ts → base-cli-worker/base-cli-worker-controller.d.ts} +0 -0
  158. /package/lib/base/classes/{base-cli-worker-controller.js → base-cli-worker/base-cli-worker-controller.js} +0 -0
  159. /package/websql/lib/base/classes/{base-cli-worker-controller.d.ts → base-cli-worker/base-cli-worker-controller.d.ts} +0 -0
@@ -1,6 +1,6 @@
1
1
  // @ts-nocheck
2
2
  export declare class BaseCliWorkerConfig {
3
- static from(opt: Partial<BaseCliWorkerConfig>): BaseCliWorkerConfig & Partial<BaseCliWorkerConfig>;
3
+ static from(opt: Partial<BaseCliWorkerConfig>): BaseCliWorkerConfig;
4
4
  /**
5
5
  * port taken by service
6
6
  */
@@ -22,7 +22,7 @@ export declare class BaseCliWorkerConfig {
22
22
  * version
23
23
  */
24
24
  version: string;
25
- hasBiggerOrEqualWorkerVersionThan(other: BaseCliWorkerConfig): any;
25
+ hasBiggerOrEqualWorkerVersionThan(other: BaseCliWorkerConfig): boolean;
26
26
  isEquals(other: BaseCliWorkerConfig): boolean;
27
27
  get isEmpty(): boolean;
28
28
  }
@@ -0,0 +1,40 @@
1
+ // @ts-nocheck
2
+ import type { CfontAlign, CfontStyle } from '../../../models';
3
+ import type { BaseCliWorker } from './base-cli-worker';
4
+ import type { BaseCliWorkerController } from './base-cli-worker-controller';
5
+ export declare class BaseCliWorkerTerminalUI<WORKER extends BaseCliWorker<BaseCliWorkerController, any>> {
6
+ protected worker: WORKER;
7
+ constructor(worker: WORKER);
8
+ protected headerText(): Promise<string>;
9
+ protected textHeaderStyle(): CfontStyle;
10
+ protected headerTextAlign(): CfontAlign;
11
+ /**
12
+ * override whole terminal header
13
+ */
14
+ protected header(): Promise<void>;
15
+ infoMessageBelowHeader(): Promise<void>;
16
+ protected get backAction(): {
17
+ back: {
18
+ name: string;
19
+ };
20
+ };
21
+ protected get chooseAction(): {
22
+ emptyAction: {
23
+ name: string;
24
+ action: () => Promise<void>;
25
+ };
26
+ };
27
+ protected getWorkerTerminalActions(options?: {
28
+ exitIsOnlyReturn?: boolean;
29
+ chooseAction?: boolean;
30
+ }): {
31
+ [uniqeActionName: string]: {
32
+ name: string;
33
+ action: () => unknown | Promise<unknown>;
34
+ };
35
+ };
36
+ infoScreen(options?: {
37
+ exitIsOnlyReturn?: boolean;
38
+ }): Promise<void>;
39
+ displaySpecialWorkerReadyMessage(): void;
40
+ }
@@ -1,22 +1,24 @@
1
1
  // @ts-nocheck
2
2
  import { BaseCliWorkerConfig } from './base-cli-worker-config';
3
3
  import type { BaseCliWorkerController } from './base-cli-worker-controller';
4
- export type CfontStyle = 'block' | 'slick' | 'tiny' | 'grid' | 'pallet' | 'shade' | 'chrome' | 'simple' | 'simpleBlock' | '3d' | 'simple3d' | 'huge';
5
- export type CfontAlign = 'left' | 'center' | 'right' | 'block';
6
- export declare abstract class BaseCliWorker<REMOTE_CTRL extends BaseCliWorkerController = BaseCliWorkerController> {
4
+ import { BaseCliWorkerTerminalUI } from './base-cli-worker-terminal-ui';
5
+ export declare abstract class BaseCliWorker<REMOTE_CTRL extends BaseCliWorkerController, TERMINAL_UI extends BaseCliWorkerTerminalUI<any>> {
7
6
  /**
8
7
  * unique id for service
9
8
  */
10
- protected readonly serviceID: string;
9
+ readonly serviceID: string;
11
10
  /**
12
11
  * external command that will start service
13
12
  */
14
- protected readonly startCommand: string;
13
+ readonly startCommand: string;
15
14
  /**
16
15
  * unique id for service
17
16
  */
18
- protected readonly serviceVersion: string;
19
- protected SPECIAL_WORKER_READY_MESSAGE: string;
17
+ readonly serviceVersion: string;
18
+ readonly SPECIAL_WORKER_READY_MESSAGE = "$$$ WORKER_READY $$$";
19
+ readonly terminalUi: TERMINAL_UI;
20
+ protected get pathToProcessLocalInfoJson(): string;
21
+ get processLocalInfoObj(): BaseCliWorkerConfig;
20
22
  constructor(
21
23
  /**
22
24
  * unique id for service
@@ -32,8 +34,6 @@ export declare abstract class BaseCliWorker<REMOTE_CTRL extends BaseCliWorkerCon
32
34
  serviceVersion: string);
33
35
  protected abstract startNormallyInCurrentProcess(options?: {}): any;
34
36
  abstract getControllerForRemoteConnection(): Promise<REMOTE_CTRL>;
35
- protected get pathToProcessLocalInfoJson(): string;
36
- protected get processLocalInfoObj(): BaseCliWorkerConfig;
37
37
  startDetachedIfNeedsToBeStarted(options?: {
38
38
  useCurrentWindowForDetach?: boolean;
39
39
  }): Promise<any>;
@@ -57,8 +57,8 @@ export declare abstract class BaseCliWorker<REMOTE_CTRL extends BaseCliWorkerCon
57
57
  */
58
58
  cliStartProcedure(cliParams: any): Promise<any>;
59
59
  protected preventExternalConfigChange(): any;
60
- protected preventStartIfAlreadyStarted(): Promise<any>;
61
- protected killWorkerWithLowerVersion(): Promise<any>;
60
+ protected preventStartIfAlreadyStarted(): Promise<void>;
61
+ protected killWorkerWithLowerVersion(): Promise<void>;
62
62
  /**
63
63
  * This has 2 purposes:
64
64
  * - infinite check when when detached process finished starting
@@ -72,38 +72,6 @@ export declare abstract class BaseCliWorker<REMOTE_CTRL extends BaseCliWorkerCon
72
72
  */
73
73
  protected startDetached(options?: {
74
74
  useCurrentWindowForDetach?: boolean;
75
- }): Promise<any>;
76
- protected headerText(): Promise<string>;
77
- protected textHeaderStyle(): CfontStyle;
78
- protected headerTextAlign(): CfontAlign;
79
- /**
80
- * override whole terminal header
81
- */
82
- protected header(): Promise<void>;
83
- infoMessageBelowHeader(): Promise<void>;
84
- protected get backAction(): {
85
- back: {
86
- name: string;
87
- };
88
- };
89
- protected get chooseAction(): {
90
- emptyAction: {
91
- name: string;
92
- action: () => Promise<void>;
93
- };
94
- };
95
- protected displaySpecialWorkerReadyMessage(): void;
96
- protected getWorkerTerminalActions(options?: {
97
- exitIsOnlyReturn?: boolean;
98
- chooseAction?: boolean;
99
- }): {
100
- [uniqeActionName: string]: {
101
- name: string;
102
- action: () => unknown | Promise<unknown>;
103
- };
104
- };
105
- infoScreen(options?: {
106
- exitIsOnlyReturn?: boolean;
107
75
  }): Promise<void>;
108
76
  private saveProcessInfo;
109
77
  protected initializeWorkerMetadata(): Promise<any>;
@@ -0,0 +1,5 @@
1
+ // @ts-nocheck
2
+ export * from './base-cli-worker';
3
+ export * from './base-cli-worker-controller';
4
+ export * from './base-cli-worker-config';
5
+ export * from './base-cli-worker-terminal-ui';
@@ -2,6 +2,11 @@
2
2
  import { CoreModels } from 'tnp-core/browser';
3
3
  import type { BaseNpmHelpers } from '../../../lib';
4
4
  import type { BaseProject } from './base-project';
5
+ export type DedupePackage = string | {
6
+ package: string;
7
+ excludeFrom?: string[];
8
+ includeOnlyIn?: string[];
9
+ };
5
10
  export declare class BaseNodeModules<NPM_HELPERS extends BaseNpmHelpers = BaseNpmHelpers> {
6
11
  /**
7
12
  * my-path/node_modules
@@ -51,6 +56,6 @@ export declare class BaseNodeModules<NPM_HELPERS extends BaseNpmHelpers = BaseNp
51
56
  * Prepare command for npm install
52
57
  * (or yarn install)
53
58
  */
54
- prepareCommand(options?: CoreModels.NpmInstallOptions): Promise<string>;
55
- dedupePackages(packagesNames?: string[], countOnly?: boolean, warnings?: boolean): void;
59
+ prepareCommand(options: CoreModels.NpmInstallOptions, cwd?: string): Promise<string>;
60
+ dedupePackages(packagesConfig?: DedupePackage[], countOnly?: boolean): void;
56
61
  }
@@ -4,6 +4,13 @@ import type { BaseProject } from './base-project';
4
4
  export declare class BaseQuickFixes<PROJECT extends BaseProject<any, any> = BaseProject<any, any>> extends BaseFeatureForProject<PROJECT> {
5
5
  project: PROJECT;
6
6
  constructor(project: PROJECT);
7
+ /**
8
+ * filesRelativePaths example:
9
+ * ['node_modules/@types/glob/index.d.ts', '/home/user/project/src/app.ts']
10
+ *
11
+ * @param filesRelativeAbsPaths\ Quick fix for typescript check
12
+ */
13
+ excludeNodeModulesDtsFromTypescriptCheck(filesRelativeAbsPaths: string[]): any;
7
14
  fixSQLLiteModuleInNodeModules(): any;
8
15
  createDummyEmptyLibsReplacements(missingLibsNames?: string[]): any;
9
16
  }
@@ -1,6 +1,6 @@
1
1
  // @ts-nocheck
2
- import type { BaseProject } from './base-project';
3
2
  import { BaseFeatureForProject } from './base-feature-for-project';
3
+ import type { BaseProject } from './base-project';
4
4
  export interface ISettingsVscode {
5
5
  'workbench.colorTheme': string;
6
6
  }
@@ -14,7 +14,5 @@ export * from './base-release-process';
14
14
  export * from './base-compiler-for-project';
15
15
  export * from './base-debounce-compiler-for-project';
16
16
  export * from './base-quick-fixes';
17
- export * from './base-cli-worker-controller';
18
17
  export * from './base-cli-worker';
19
- export * from './base-cli-worker-config';
20
18
  export * from './base-process-manager';
@@ -1,12 +1,12 @@
1
1
  // @ts-nocheck
2
2
  import { Taon } from 'taon/browser';
3
- import { BaseCliWorkerController } from '../classes/base-cli-worker-controller';
3
+ import { BaseCliWorkerController } from '../classes/base-cli-worker';
4
4
  import { Port, PortStatus } from './ports.entity';
5
5
  export declare class PortsController extends BaseCliWorkerController {
6
6
  START_PORT: number;
7
7
  END_PORT: number;
8
8
  readonly portsCache: Map<string, Port>;
9
- protected get firstFreePort(): any;
9
+ protected get firstFreePort(): Port | null | undefined;
10
10
  protected firstUnassignedPortMoreThan(port: number): any;
11
11
  getFirstFreePort(): Taon.Response<Port>;
12
12
  getPortByNumber(portNumber: number): Taon.Response<Port>;
@@ -0,0 +1,20 @@
1
+ // @ts-nocheck
2
+ import { Port } from '../../index';
3
+ import { CfontStyle } from '../../models';
4
+ import { BaseCliWorkerTerminalUI } from '../classes/base-cli-worker/base-cli-worker-terminal-ui';
5
+ import { PortStatus } from './ports.entity';
6
+ import type { PortsWorker } from './tcp-upd-ports.worker';
7
+ export declare class TcpUdpPortsTerminalUI extends BaseCliWorkerTerminalUI<PortsWorker> {
8
+ protected headerText(): Promise<string>;
9
+ protected textHeaderStyle(): CfontStyle;
10
+ protected crudMenuForTakeByOsPorts(): Promise<void>;
11
+ protected addPortTerminalUiProcess(): Promise<void>;
12
+ protected selectPortProcess(ports: Port[], title: string): Promise<Port>;
13
+ protected deletePortTerminalUiProcess(): Promise<void>;
14
+ protected editPortTerminalUiProcess(): Promise<void>;
15
+ getWorkerTerminalActions(options?: {
16
+ exitIsOnlyReturn?: boolean;
17
+ }): any;
18
+ protected displayItemsForPortsStatus(status: PortStatus): Promise<any>;
19
+ private getNewPortToAdd;
20
+ }
@@ -1,25 +1,13 @@
1
1
  // @ts-nocheck
2
- import { BaseCliWorker, CfontStyle } from '../classes/base-cli-worker';
3
- import { Port, PortStatus } from '../../index';
2
+ import { BaseCliWorker } from '../classes/base-cli-worker';
4
3
  import { PortsController } from '../tcp-udp-ports/ports.controller';
5
- export declare class PortsWorker extends BaseCliWorker<PortsController> {
6
- private portsController;
4
+ import { TcpUdpPortsTerminalUI } from './tcp-upd-ports-terminal-ui';
5
+ export declare class PortsWorker extends BaseCliWorker<PortsController, TcpUdpPortsTerminalUI> {
6
+ terminalUi: TcpUdpPortsTerminalUI;
7
7
  getControllerForRemoteConnection(): Promise<PortsController>;
8
- protected headerText(): Promise<string>;
9
- protected textHeaderStyle(): CfontStyle;
10
8
  /**
11
9
  * start normally process
12
10
  * this will crash if process already started
13
11
  */
14
- startNormallyInCurrentProcess(): Promise<any>;
15
- protected displayItemsForPortsStatus(status: PortStatus): Promise<any>;
16
- getWorkerTerminalActions(options?: {
17
- exitIsOnlyReturn?: boolean;
18
- }): any;
19
- protected getNewPortToAdd(): Promise<number>;
20
- protected addPortTerminalUiProcess(): Promise<void>;
21
- protected selectPortProcess(ports: Port[], title: string): Promise<Port>;
22
- protected deletePortTerminalUiProcess(): Promise<any>;
23
- protected editPortTerminalUiProcess(): Promise<any>;
24
- protected crudMenuForTakeByOsPorts(): Promise<void>;
12
+ startNormallyInCurrentProcess(): Promise<void>;
25
13
  }
@@ -136,4 +136,6 @@ export declare class CommandProcess {
136
136
  constructor(project: BaseProject, config: CommandConfig, manager: BaseProcessManger);
137
137
  start(options?: CommandProcessRunOptions): Promise<void>;
138
138
  stop(): Promise<void>;
139
- }
139
+ }
140
+ export type CfontStyle = 'block' | 'slick' | 'tiny' | 'grid' | 'pallet' | 'shade' | 'chrome' | 'simple' | 'simpleBlock' | '3d' | 'simple3d' | 'huge';
141
+ export type CfontAlign = 'left' | 'center' | 'right' | 'block';
@@ -1,5 +1,5 @@
1
1
  export declare class BaseCliWorkerConfig {
2
- static from(opt: Partial<BaseCliWorkerConfig>): BaseCliWorkerConfig & Partial<BaseCliWorkerConfig>;
2
+ static from(opt: Partial<BaseCliWorkerConfig>): BaseCliWorkerConfig;
3
3
  /**
4
4
  * port taken by service
5
5
  */
@@ -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/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 @@
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/base-cli-worker-controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import type { CfontAlign, CfontStyle } from '../../../models';
2
+ import type { BaseCliWorker } from './base-cli-worker';
3
+ import type { BaseCliWorkerController } from './base-cli-worker-controller';
4
+ export declare class BaseCliWorkerTerminalUI<WORKER extends BaseCliWorker<BaseCliWorkerController, any>> {
5
+ protected worker: WORKER;
6
+ constructor(worker: WORKER);
7
+ protected headerText(): Promise<string>;
8
+ protected textHeaderStyle(): CfontStyle;
9
+ protected headerTextAlign(): CfontAlign;
10
+ /**
11
+ * override whole terminal header
12
+ */
13
+ protected header(): Promise<void>;
14
+ infoMessageBelowHeader(): Promise<void>;
15
+ protected get backAction(): {
16
+ back: {
17
+ name: string;
18
+ };
19
+ };
20
+ protected get chooseAction(): {
21
+ emptyAction: {
22
+ name: string;
23
+ action: () => Promise<void>;
24
+ };
25
+ };
26
+ protected getWorkerTerminalActions(options?: {
27
+ exitIsOnlyReturn?: boolean;
28
+ chooseAction?: boolean;
29
+ }): {
30
+ [uniqeActionName: string]: {
31
+ name: string;
32
+ action: () => unknown | Promise<unknown>;
33
+ };
34
+ };
35
+ infoScreen(options?: {
36
+ exitIsOnlyReturn?: boolean;
37
+ }): Promise<void>;
38
+ displaySpecialWorkerReadyMessage(): void;
39
+ }
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseCliWorkerTerminalUI = void 0;
4
+ //#region imports
5
+ const tnp_core_1 = require("tnp-core");
6
+ const tnp_core_2 = require("tnp-core");
7
+ //#endregion
8
+ class BaseCliWorkerTerminalUI {
9
+ worker;
10
+ constructor(worker) {
11
+ this.worker = worker;
12
+ }
13
+ //#region protected methods / text for header
14
+ async headerText() {
15
+ return tnp_core_2._.startCase(this.worker.serviceID);
16
+ }
17
+ //#endregion
18
+ //#region protected methods / text header style
19
+ textHeaderStyle() {
20
+ return 'block';
21
+ }
22
+ //#endregion
23
+ //#region protected methods / header text align
24
+ headerTextAlign() {
25
+ return 'left';
26
+ }
27
+ //#endregion
28
+ //#region protected methods / header
29
+ /**
30
+ * override whole terminal header
31
+ */
32
+ async header() {
33
+ //#region @backendFunc
34
+ const cfonts = require('cfonts');
35
+ const output = cfonts.render(await this.headerText(), {
36
+ font: this.textHeaderStyle(),
37
+ align: this.headerTextAlign(),
38
+ colors: ['system'],
39
+ background: 'transparent',
40
+ letterSpacing: 1,
41
+ lineHeight: 1,
42
+ space: true,
43
+ maxLength: '0',
44
+ gradient: false,
45
+ independentGradient: false,
46
+ transitionGradient: false,
47
+ env: 'node',
48
+ });
49
+ console.log(output.string);
50
+ //#endregion
51
+ }
52
+ //#endregion
53
+ //#region protected methods / info message below header
54
+ async infoMessageBelowHeader() {
55
+ //#region @backendFunc
56
+ tnp_core_1.Helpers.info(`
57
+
58
+ Service ${tnp_core_2.chalk.bold.red(this.worker.serviceID)}` +
59
+ ` (version: ${this.worker.serviceVersion}) started..
60
+ Check info here http://localhost:${tnp_core_2.chalk.bold(this.worker.processLocalInfoObj?.port?.toString())}/${'info'}
61
+
62
+ `);
63
+ //#endregion
64
+ }
65
+ //#endregion
66
+ //#region protected methods / get back action
67
+ get backAction() {
68
+ return {
69
+ back: {
70
+ name: 'Back',
71
+ },
72
+ };
73
+ }
74
+ //#endregion
75
+ //#region protected methods / choose action
76
+ get chooseAction() {
77
+ return {
78
+ emptyAction: {
79
+ name: ' -- choose any action below --',
80
+ action: async () => { },
81
+ },
82
+ };
83
+ }
84
+ //#endregion
85
+ //#region protected methods / worker terminal actions
86
+ getWorkerTerminalActions(options) {
87
+ //#region @backendFunc
88
+ options = options || {};
89
+ options.chooseAction = tnp_core_2._.isBoolean(options.chooseAction)
90
+ ? options.chooseAction
91
+ : true;
92
+ return {
93
+ ...(options.chooseAction ? this.chooseAction : {}),
94
+ openBrowser: {
95
+ name: 'Open browser with service info',
96
+ action: async () => {
97
+ const openInBrowser = require('open');
98
+ openInBrowser(`http://localhost:${this.worker.processLocalInfoObj.port}/info`);
99
+ },
100
+ },
101
+ exit: {
102
+ name: options.exitIsOnlyReturn
103
+ ? '< Return to previous menu'
104
+ : `Shut down service`,
105
+ action: async () => {
106
+ if (options.exitIsOnlyReturn) {
107
+ return true; // false will keep loop running
108
+ }
109
+ if (await tnp_core_1.UtilsTerminal.confirm({
110
+ defaultValue: false,
111
+ message: 'Are you sure you want to shut down service?',
112
+ })) {
113
+ await this.worker.kill();
114
+ process.exit(0);
115
+ }
116
+ },
117
+ },
118
+ };
119
+ //#endregion
120
+ }
121
+ //#endregion
122
+ //#region protected methods / info screen
123
+ async infoScreen(options) {
124
+ options = options || {};
125
+ while (true) {
126
+ tnp_core_1.Helpers.clearConsole();
127
+ await this.header();
128
+ await this.infoMessageBelowHeader();
129
+ const choices = this.getWorkerTerminalActions(options);
130
+ const choice = await tnp_core_1.UtilsTerminal.select({
131
+ choices,
132
+ question: 'Choose action',
133
+ });
134
+ const action = choices[choice].action;
135
+ const result = await action();
136
+ if (choice === 'exit' && result) {
137
+ break;
138
+ }
139
+ }
140
+ }
141
+ //#endregion
142
+ //#region protected methods / display special worker ready message
143
+ displaySpecialWorkerReadyMessage() {
144
+ console.log(this.worker.SPECIAL_WORKER_READY_MESSAGE);
145
+ }
146
+ }
147
+ exports.BaseCliWorkerTerminalUI = BaseCliWorkerTerminalUI;
148
+ //# sourceMappingURL=base-cli-worker-terminal-ui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-cli-worker-terminal-ui.js","sourceRoot":"","sources":["c:/Users/darek/projects/npm/taon-dev/tnp-helpers/src/lib/base/classes/base-cli-worker/base-cli-worker-terminal-ui.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,23 @@
1
1
  import { BaseCliWorkerConfig } from './base-cli-worker-config';
2
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> {
3
+ import { BaseCliWorkerTerminalUI } from './base-cli-worker-terminal-ui';
4
+ export declare abstract class BaseCliWorker<REMOTE_CTRL extends BaseCliWorkerController, TERMINAL_UI extends BaseCliWorkerTerminalUI<any>> {
6
5
  /**
7
6
  * unique id for service
8
7
  */
9
- protected readonly serviceID: string;
8
+ readonly serviceID: string;
10
9
  /**
11
10
  * external command that will start service
12
11
  */
13
- protected readonly startCommand: string;
12
+ readonly startCommand: string;
14
13
  /**
15
14
  * unique id for service
16
15
  */
17
- protected readonly serviceVersion: string;
18
- protected SPECIAL_WORKER_READY_MESSAGE: string;
16
+ readonly serviceVersion: string;
17
+ readonly SPECIAL_WORKER_READY_MESSAGE = "$$$ WORKER_READY $$$";
18
+ readonly terminalUi: TERMINAL_UI;
19
+ protected get pathToProcessLocalInfoJson(): string;
20
+ get processLocalInfoObj(): BaseCliWorkerConfig;
19
21
  constructor(
20
22
  /**
21
23
  * unique id for service
@@ -31,8 +33,6 @@ export declare abstract class BaseCliWorker<REMOTE_CTRL extends BaseCliWorkerCon
31
33
  serviceVersion: string);
32
34
  protected abstract startNormallyInCurrentProcess(options?: {}): any;
33
35
  abstract getControllerForRemoteConnection(): Promise<REMOTE_CTRL>;
34
- protected get pathToProcessLocalInfoJson(): string;
35
- protected get processLocalInfoObj(): BaseCliWorkerConfig;
36
36
  startDetachedIfNeedsToBeStarted(options?: {
37
37
  useCurrentWindowForDetach?: boolean;
38
38
  }): Promise<void>;
@@ -72,38 +72,6 @@ export declare abstract class BaseCliWorker<REMOTE_CTRL extends BaseCliWorkerCon
72
72
  protected startDetached(options?: {
73
73
  useCurrentWindowForDetach?: boolean;
74
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
75
  private saveProcessInfo;
108
76
  protected initializeWorkerMetadata(): Promise<void>;
109
77
  protected waitForProcessPortSavedToDisk(): Promise<void>;