tnp-helpers 18.0.13 → 18.0.15

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 (161) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/esm2022/lib/base/base-cli-worker-config.mjs +33 -0
  3. package/browser/esm2022/lib/base/base-cli-worker-controller.mjs +87 -0
  4. package/browser/esm2022/lib/base/base-cli-worker.mjs +303 -0
  5. package/browser/esm2022/lib/base/base-db.mjs +3 -2
  6. package/browser/esm2022/lib/base/base-git.mjs +1 -1
  7. package/browser/esm2022/lib/base/base-library-build.mjs +1 -1
  8. package/browser/esm2022/lib/base/base-linked-projects.mjs +1 -1
  9. package/browser/esm2022/lib/base/base-npm-helpers.mjs +1 -1
  10. package/browser/esm2022/lib/base/base-project-resolver.mjs +9 -6
  11. package/browser/esm2022/lib/base/base-project.mjs +2 -2
  12. package/browser/esm2022/lib/base/base-quick-fixes.mjs +1 -1
  13. package/browser/esm2022/lib/base/base-release-process.mjs +1 -1
  14. package/browser/esm2022/lib/base/base-vscode.mjs +1 -1
  15. package/browser/esm2022/lib/base/core-project.mjs +1 -1
  16. package/browser/esm2022/lib/base/ports-worker.mjs +107 -0
  17. package/browser/esm2022/lib/models.mjs +1 -1
  18. package/browser/fesm2022/tnp-helpers.mjs +524 -8
  19. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  20. package/browser/lib/base/base-cli-worker-config.d.ts +24 -0
  21. package/browser/lib/base/base-cli-worker-controller.d.ts +14 -0
  22. package/browser/lib/base/base-cli-worker.d.ts +47 -0
  23. package/browser/lib/base/base-db.d.ts +1 -1
  24. package/browser/lib/base/base-git.d.ts +3 -3
  25. package/browser/lib/base/base-library-build.d.ts +8 -8
  26. package/browser/lib/base/base-linked-projects.d.ts +3 -3
  27. package/browser/lib/base/base-npm-helpers.d.ts +2 -2
  28. package/browser/lib/base/base-project-resolver.d.ts +5 -6
  29. package/browser/lib/base/base-project.d.ts +15 -15
  30. package/browser/lib/base/base-quick-fixes.d.ts +2 -2
  31. package/browser/lib/base/base-release-process.d.ts +4 -4
  32. package/browser/lib/base/base-vscode.d.ts +1 -1
  33. package/browser/lib/base/core-project.d.ts +2 -2
  34. package/browser/lib/base/ports-worker.d.ts +11 -0
  35. package/client/esm2022/lib/base/base-cli-worker-config.mjs +33 -0
  36. package/client/esm2022/lib/base/base-cli-worker-controller.mjs +87 -0
  37. package/client/esm2022/lib/base/base-cli-worker.mjs +303 -0
  38. package/client/esm2022/lib/base/base-db.mjs +3 -2
  39. package/client/esm2022/lib/base/base-git.mjs +1 -1
  40. package/client/esm2022/lib/base/base-library-build.mjs +1 -1
  41. package/client/esm2022/lib/base/base-linked-projects.mjs +1 -1
  42. package/client/esm2022/lib/base/base-npm-helpers.mjs +1 -1
  43. package/client/esm2022/lib/base/base-project-resolver.mjs +9 -6
  44. package/client/esm2022/lib/base/base-project.mjs +2 -2
  45. package/client/esm2022/lib/base/base-quick-fixes.mjs +1 -1
  46. package/client/esm2022/lib/base/base-release-process.mjs +1 -1
  47. package/client/esm2022/lib/base/base-vscode.mjs +1 -1
  48. package/client/esm2022/lib/base/core-project.mjs +1 -1
  49. package/client/esm2022/lib/base/ports-worker.mjs +107 -0
  50. package/client/esm2022/lib/models.mjs +1 -1
  51. package/client/fesm2022/tnp-helpers.mjs +524 -8
  52. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  53. package/client/lib/base/base-cli-worker-config.d.ts +24 -0
  54. package/client/lib/base/base-cli-worker-controller.d.ts +14 -0
  55. package/client/lib/base/base-cli-worker.d.ts +47 -0
  56. package/client/lib/base/base-db.d.ts +1 -1
  57. package/client/lib/base/base-git.d.ts +3 -3
  58. package/client/lib/base/base-library-build.d.ts +8 -8
  59. package/client/lib/base/base-linked-projects.d.ts +3 -3
  60. package/client/lib/base/base-npm-helpers.d.ts +2 -2
  61. package/client/lib/base/base-project-resolver.d.ts +5 -6
  62. package/client/lib/base/base-project.d.ts +15 -15
  63. package/client/lib/base/base-quick-fixes.d.ts +2 -2
  64. package/client/lib/base/base-release-process.d.ts +4 -4
  65. package/client/lib/base/base-vscode.d.ts +1 -1
  66. package/client/lib/base/core-project.d.ts +2 -2
  67. package/client/lib/base/ports-worker.d.ts +11 -0
  68. package/lib/base/base-cli-worker-config.d.ts +23 -0
  69. package/lib/base/base-cli-worker-config.js +45 -0
  70. package/lib/base/base-cli-worker-config.js.map +1 -0
  71. package/lib/base/base-cli-worker-controller.d.ts +13 -0
  72. package/lib/base/base-cli-worker-controller.js +114 -0
  73. package/lib/base/base-cli-worker-controller.js.map +1 -0
  74. package/lib/base/base-cli-worker.d.ts +46 -0
  75. package/lib/base/base-cli-worker.js +437 -0
  76. package/lib/base/base-cli-worker.js.map +1 -0
  77. package/lib/base/base-command-line.backend.d.ts +2 -0
  78. package/lib/base/base-command-line.backend.js +39 -0
  79. package/lib/base/base-command-line.backend.js.map +1 -1
  80. package/lib/base/base-db.d.ts +2 -2
  81. package/lib/base/base-db.js +3 -3
  82. package/lib/base/base-db.js.map +1 -1
  83. package/lib/base/base-detached-service.d.ts +6 -0
  84. package/lib/base/base-detached-service.js +16 -0
  85. package/lib/base/base-detached-service.js.map +1 -0
  86. package/lib/base/base-git.d.ts +3 -3
  87. package/lib/base/base-git.js +2 -2
  88. package/lib/base/base-git.js.map +1 -1
  89. package/lib/base/base-ignore-hide.d.ts +1 -1
  90. package/lib/base/base-library-build.d.ts +9 -9
  91. package/lib/base/base-linked-projects.d.ts +3 -3
  92. package/lib/base/base-linked-projects.js +1 -1
  93. package/lib/base/base-linked-projects.js.map +1 -1
  94. package/lib/base/base-npm-helpers.d.ts +2 -2
  95. package/lib/base/base-project-resolver.d.ts +5 -6
  96. package/lib/base/base-project-resolver.js +14 -5
  97. package/lib/base/base-project-resolver.js.map +1 -1
  98. package/lib/base/base-project.d.ts +16 -16
  99. package/lib/base/base-project.js +1 -1
  100. package/lib/base/base-project.js.map +1 -1
  101. package/lib/base/base-quick-fixes.d.ts +2 -2
  102. package/lib/base/base-release-process.d.ts +4 -4
  103. package/lib/base/base-start-config.backend.d.ts +0 -2
  104. package/lib/base/base-start-config.backend.js +7 -2
  105. package/lib/base/base-start-config.backend.js.map +1 -1
  106. package/lib/base/base-vscode.d.ts +1 -1
  107. package/lib/base/config-database.js +2 -2
  108. package/lib/base/config-database.js.map +1 -1
  109. package/lib/base/core-project.d.ts +2 -2
  110. package/lib/base/ports-worker.d.ts +10 -0
  111. package/lib/base/ports-worker.js +185 -0
  112. package/lib/base/ports-worker.js.map +1 -0
  113. package/lib/base/project-database.js +1 -1
  114. package/lib/base/project-database.js.map +1 -1
  115. package/lib/helpers/for-backend/helpers-cli-tool.backend.js +0 -1
  116. package/lib/helpers/for-backend/helpers-cli-tool.backend.js.map +1 -1
  117. package/lib/helpers/for-backend/helpers-file-folders.backend.d.ts +4 -0
  118. package/lib/helpers/for-backend/helpers-file-folders.backend.js +7 -3
  119. package/lib/helpers/for-backend/helpers-file-folders.backend.js.map +1 -1
  120. package/lib/helpers/for-backend/helpers-process.backend.d.ts +3 -2
  121. package/lib/helpers/for-backend/helpers-process.backend.js +19 -10
  122. package/lib/helpers/for-backend/helpers-process.backend.js.map +1 -1
  123. package/lib/helpers/for-browser/angular.helper.js +2 -2
  124. package/lib/old/base-component.js +2 -2
  125. package/lib/old/base-formly-component.js +2 -2
  126. package/lib/old/dual-component-ctrl.js +2 -2
  127. package/package.json +5 -5
  128. package/tmp-environment.json +37 -31
  129. package/websql/esm2022/lib/base/base-cli-worker-config.mjs +33 -0
  130. package/websql/esm2022/lib/base/base-cli-worker-controller.mjs +87 -0
  131. package/websql/esm2022/lib/base/base-cli-worker.mjs +303 -0
  132. package/websql/esm2022/lib/base/base-db.mjs +3 -2
  133. package/websql/esm2022/lib/base/base-git.mjs +1 -1
  134. package/websql/esm2022/lib/base/base-library-build.mjs +1 -1
  135. package/websql/esm2022/lib/base/base-linked-projects.mjs +1 -1
  136. package/websql/esm2022/lib/base/base-npm-helpers.mjs +1 -1
  137. package/websql/esm2022/lib/base/base-project-resolver.mjs +9 -6
  138. package/websql/esm2022/lib/base/base-project.mjs +2 -2
  139. package/websql/esm2022/lib/base/base-quick-fixes.mjs +1 -1
  140. package/websql/esm2022/lib/base/base-release-process.mjs +1 -1
  141. package/websql/esm2022/lib/base/base-vscode.mjs +1 -1
  142. package/websql/esm2022/lib/base/core-project.mjs +1 -1
  143. package/websql/esm2022/lib/base/ports-worker.mjs +114 -0
  144. package/websql/esm2022/lib/models.mjs +1 -1
  145. package/websql/fesm2022/tnp-helpers.mjs +531 -8
  146. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  147. package/websql/lib/base/base-cli-worker-config.d.ts +24 -0
  148. package/websql/lib/base/base-cli-worker-controller.d.ts +14 -0
  149. package/websql/lib/base/base-cli-worker.d.ts +47 -0
  150. package/websql/lib/base/base-db.d.ts +1 -1
  151. package/websql/lib/base/base-git.d.ts +3 -3
  152. package/websql/lib/base/base-library-build.d.ts +8 -8
  153. package/websql/lib/base/base-linked-projects.d.ts +3 -3
  154. package/websql/lib/base/base-npm-helpers.d.ts +2 -2
  155. package/websql/lib/base/base-project-resolver.d.ts +5 -6
  156. package/websql/lib/base/base-project.d.ts +15 -15
  157. package/websql/lib/base/base-quick-fixes.d.ts +2 -2
  158. package/websql/lib/base/base-release-process.d.ts +4 -4
  159. package/websql/lib/base/base-vscode.d.ts +1 -1
  160. package/websql/lib/base/core-project.d.ts +2 -2
  161. package/websql/lib/base/ports-worker.d.ts +11 -0
@@ -0,0 +1,24 @@
1
+ // @ts-nocheck
2
+ export declare class BaseCliWorkerConfig {
3
+ static from(opt: Partial<BaseCliWorkerConfig>): BaseCliWorkerConfig & Partial<BaseCliWorkerConfig>;
4
+ /**
5
+ * port taken by service
6
+ */
7
+ port: number;
8
+ /**
9
+ * unique in whole system id of service
10
+ */
11
+ serviceID: string;
12
+ /**
13
+ * pid of service process
14
+ */
15
+ pid: number;
16
+ /**
17
+ * timestamp when service was started
18
+ * (in other cases = null)
19
+ */
20
+ startTimestamp: number;
21
+ isEquals(other: BaseCliWorkerConfig): boolean;
22
+ get isEmpty(): boolean;
23
+ toString(): any;
24
+ }
@@ -0,0 +1,14 @@
1
+ // @ts-nocheck
2
+ import { Taon } from 'taon/browser';
3
+ import { BaseCliWorkerConfig } from './base-cli-worker-config';
4
+ export declare abstract class BaseCliWorkerController<ENTITY> extends Taon.Base
5
+ .CrudController<ENTITY> {
6
+ /**
7
+ * service id
8
+ */
9
+ private cliWorkerServiceId;
10
+ baseCLiWorkerCommand_initializeMetadata(serviceId: string): Taon.Response<void>;
11
+ baseCLiWorkerCommand_kill(): Taon.Response<void>;
12
+ info(): Taon.Response<string>;
13
+ baseCLiWorkerCommand_isHealthy(configWorker: BaseCliWorkerConfig): Taon.Response<boolean>;
14
+ }
@@ -0,0 +1,47 @@
1
+ // @ts-nocheck
2
+ import type { BaseCliWorkerController } from './base-cli-worker-controller';
3
+ import { BaseCliWorkerConfig } from './base-cli-worker-config';
4
+ export declare abstract class BaseCliWorker {
5
+ /**
6
+ * unique id for service
7
+ */
8
+ protected readonly serviceID: string;
9
+ /**
10
+ * external command that will start service
11
+ */
12
+ protected readonly startCommand: string;
13
+ constructor(
14
+ /**
15
+ * unique id for service
16
+ */
17
+ serviceID: string,
18
+ /**
19
+ * external command that will start service
20
+ */
21
+ startCommand: string);
22
+ protected abstract startNormallyInCurrentProcess(): any;
23
+ protected abstract getControllerForRemoteConnection(): Promise<BaseCliWorkerController<any>>;
24
+ private get pathToProcessLocalInfoJson();
25
+ protected get processLocalInfoObj(): BaseCliWorkerConfig;
26
+ startDetachedIfNeedsToBeStarted(): Promise<any>;
27
+ /**
28
+ * stop if started
29
+ */
30
+ kill(): Promise<void>;
31
+ /**
32
+ * kill detached process and start again
33
+ */
34
+ restart(): Promise<void>;
35
+ protected isServiceHealthy(options?: {
36
+ healthCheckRequestTrys?: number;
37
+ }): Promise<boolean>;
38
+ /**
39
+ * start if not started detached process
40
+ */
41
+ protected startDetached(): Promise<any>;
42
+ protected _infoScreen(): Promise<void>;
43
+ private saveProcessInfo;
44
+ protected initializeWorkerMetadata(): Promise<any>;
45
+ protected waitForProcessPortSavedToDisk(): Promise<void>;
46
+ getServicePort(): Promise<number>;
47
+ }
@@ -5,6 +5,6 @@ export declare class BaseDb<DB extends object> {
5
5
  private dbName;
6
6
  private defaultDb;
7
7
  constructor(ins: BaseProjectResolver, dbName: string, defaultDb: DB);
8
- get isUnsingDB(): boolean;
8
+ get isUsingDB(): boolean;
9
9
  get projectsDbLocation(): any;
10
10
  }
@@ -2,8 +2,8 @@
2
2
  import { BaseFeatureForProject } from './base-feature-for-project';
3
3
  import { CommitData, PushProcessOptions, TypeOfCommit } from '../index';
4
4
  import type { BaseProject } from './base-project';
5
- export declare class BaseGit<PROJCET extends BaseProject = any> extends BaseFeatureForProject {
6
- project: PROJCET;
5
+ export declare class BaseGit<PROJECT extends BaseProject = any> extends BaseFeatureForProject {
6
+ project: PROJECT;
7
7
  unstageAllFiles(): any;
8
8
  revertFileChanges(fileReletivePath: string): any;
9
9
  clone(url: string, destinationFolderName?: string, branchName?: string): Promise<any>;
@@ -109,7 +109,7 @@ export declare class BaseGit<PROJCET extends BaseProject = any> extends BaseFeat
109
109
  *
110
110
  * projects that are children of this project (with its own git repo)
111
111
  */
112
- get gitChildren(): PROJCET[];
112
+ get gitChildren(): PROJECT[];
113
113
  protected setRemoteOriginType(setOrigin: 'ssh' | 'http'): Promise<void>;
114
114
  pullProcess(options?: {
115
115
  cloneChildren?: boolean;
@@ -6,10 +6,10 @@ import type { BaseProject } from './base-project';
6
6
  /**
7
7
  * Base library build for standard angular/typescript projects
8
8
  */
9
- export declare abstract class BaseLibraryBuild<PROJCET extends BaseProject<BaseProject, any>> extends BaseFeatureForProject {
9
+ export declare abstract class BaseLibraryBuild<PROJECT extends BaseProject<BaseProject, any>> extends BaseFeatureForProject {
10
10
  private cache;
11
11
  private tempOrgTsConfigFile;
12
- protected sortByDeps(libraries: PROJCET[]): PROJCET[];
12
+ protected sortByDeps(libraries: PROJECT[]): PROJECT[];
13
13
  /**
14
14
  * Use cases:
15
15
  * 1. build all libraries in normal mode
@@ -22,35 +22,35 @@ export declare abstract class BaseLibraryBuild<PROJCET extends BaseProject<BaseP
22
22
  * (skip normal build for not selected libraries)
23
23
  */
24
24
  selectAndSaveLibraries({ selectedLibs, watch, watchBuildSupported, skipAllLibsQuestion, useLastUserConfiguration, }: {
25
- selectedLibs: PROJCET[];
25
+ selectedLibs: PROJECT[];
26
26
  watch: boolean;
27
27
  watchBuildSupported?: boolean;
28
28
  skipAllLibsQuestion?: boolean;
29
29
  useLastUserConfiguration?: boolean;
30
30
  }): Promise<{
31
- selectedLibs: PROJCET[];
31
+ selectedLibs: PROJECT[];
32
32
  skipRebuildingAllForWatch: boolean;
33
33
  }>;
34
34
  /**
35
35
  * angular libraries from angular.json
36
36
  */
37
- get libraries(): PROJCET[];
37
+ get libraries(): PROJECT[];
38
38
  protected getLibraries(): any;
39
39
  /**
40
40
  * Angular library build
41
41
  */
42
- buildLibraries({ watch, strategy, releaseBuild, buildType, copylink_to_node_modules, outputLineReplace, libraries, useLastUserConfiguration, }?: LibrariesBuildOptions<PROJCET> & {
42
+ buildLibraries({ watch, strategy, releaseBuild, buildType, copylink_to_node_modules, outputLineReplace, libraries, useLastUserConfiguration, }?: LibrariesBuildOptions<PROJECT> & {
43
43
  watch?: boolean;
44
44
  }): Promise<void>;
45
45
  protected libWatchBuildProcess({ lib, locationsForNodeModules, strategy, buildType, outputLineReplace, }: {
46
- lib: PROJCET;
46
+ lib: PROJECT;
47
47
  locationsForNodeModules: string[];
48
48
  strategy: 'link' | 'copy';
49
49
  buildType: CoreModels.LibraryType;
50
50
  outputLineReplace?: (outputLine: string) => string;
51
51
  }): Promise<any>;
52
52
  protected libNormalBuildProcess({ lib, locationsForNodeModules, strategy, buildType, outputLineReplace, }: {
53
- lib: PROJCET;
53
+ lib: PROJECT;
54
54
  locationsForNodeModules: string[];
55
55
  strategy: 'link' | 'copy';
56
56
  buildType: CoreModels.LibraryType;
@@ -2,10 +2,10 @@
2
2
  import { LinkedPorjectsConfig, LinkedProject } from '../index';
3
3
  import { BaseFeatureForProject } from './base-feature-for-project';
4
4
  import type { BaseProject } from './base-project';
5
- export declare class BaseLinkedProjects<PROJCET extends BaseProject = any> extends BaseFeatureForProject {
5
+ export declare class BaseLinkedProjects<PROJECT extends BaseProject = any> extends BaseFeatureForProject {
6
6
  private cache;
7
- project: PROJCET;
8
- get embeddedProject(): PROJCET;
7
+ project: PROJECT;
8
+ get embeddedProject(): PROJECT;
9
9
  get projectsDbLocation(): any;
10
10
  saveLocationToDB(): Promise<any>;
11
11
  saveAllLinkedProjectsToDB(): Promise<void>;
@@ -3,9 +3,9 @@ import { BaseFeatureForProject } from './base-feature-for-project';
3
3
  import type { BaseProject } from './base-project';
4
4
  import { PackageJson } from 'type-fest';
5
5
  import { CoreModels } from 'tnp-core/browser';
6
- export declare class BaseNpmHelpers<PROJCET extends BaseProject = any> extends BaseFeatureForProject {
6
+ export declare class BaseNpmHelpers<PROJECT extends BaseProject = any> extends BaseFeatureForProject {
7
7
  private packageJSON;
8
- constructor(project: PROJCET);
8
+ constructor(project: PROJECT);
9
9
  updateDepsFrom(locations: string[]): any;
10
10
  /**
11
11
  * if something else change package.json in this project
@@ -1,15 +1,14 @@
1
1
  // @ts-nocheck
2
- import type { BaseProject } from './base-project';
3
2
  import { ConfigDatabase } from './config-database';
4
3
  import { ProjectDatabase } from './project-database';
4
+ import { BaseProject } from './base-project';
5
+ import { PortsWorker } from './ports-worker';
5
6
  export declare class BaseProjectResolver<PROJECT extends Partial<BaseProject> = any> {
6
7
  protected classFn: any;
7
- /**
8
- * general name for project company
9
- */
10
- orgName: string;
8
+ cliToolName: string;
11
9
  configDb: ConfigDatabase;
12
10
  projectsDb: ProjectDatabase;
11
+ readonly portsWorker: PortsWorker;
13
12
  protected readonly NPM_PROJECT_KEY = "npm";
14
13
  protected projects: PROJECT[];
15
14
  /**
@@ -17,7 +16,7 @@ export declare class BaseProjectResolver<PROJECT extends Partial<BaseProject> =
17
16
  * This may break things that are creating new projects
18
17
  */
19
18
  protected emptyLocations: string[];
20
- constructor(classFn: any);
19
+ constructor(classFn: any, cliToolName: string);
21
20
  get allowedTypes(): string[];
22
21
  /**
23
22
  * project from process.cwd()
@@ -10,7 +10,7 @@ import { BaseGit } from './base-git';
10
10
  import { BaseVscodeHelpers } from './base-vscode';
11
11
  import { BaseReleaseProcess } from './base-release-process';
12
12
  import { BaseQuickFixes } from './base-quick-fixes';
13
- export declare abstract class BaseProject<PROJCET extends BaseProject = BaseProject<any, any>, TYPE = BaseProjectType> {
13
+ export declare abstract class BaseProject<PROJECT extends BaseProject = BaseProject<any, any>, TYPE = BaseProjectType> {
14
14
  static ins: BaseProjectResolver<BaseProject<BaseProject<any, any>, CoreModels.BaseProjectType>>;
15
15
  cache: any;
16
16
  static cache: any;
@@ -19,19 +19,19 @@ export declare abstract class BaseProject<PROJCET extends BaseProject = BaseProj
19
19
  /**
20
20
  * resolve instance
21
21
  */
22
- abstract readonly ins: BaseProjectResolver<PROJCET>;
22
+ abstract readonly ins: BaseProjectResolver<PROJECT>;
23
23
  /**
24
24
  * Unique free port for project instance
25
25
  * only available after executing *this.assignFreePort()*
26
26
  */
27
27
  readonly port: string;
28
- libraryBuild: BaseLibraryBuild<BaseProject>;
29
- npmHelpers: BaseNpmHelpers;
30
- linkedProjects: BaseLinkedProjects;
31
- vsCodeHelpers: BaseVscodeHelpers;
32
- releaseProcess: BaseReleaseProcess;
33
- git: BaseGit;
34
- quickFixes: BaseQuickFixes;
28
+ libraryBuild?: BaseLibraryBuild<BaseProject>;
29
+ npmHelpers?: BaseNpmHelpers;
30
+ linkedProjects?: BaseLinkedProjects;
31
+ vsCodeHelpers?: BaseVscodeHelpers;
32
+ releaseProcess?: BaseReleaseProcess;
33
+ git?: BaseGit;
34
+ quickFixes?: BaseQuickFixes;
35
35
  private __location;
36
36
  get location(): string;
37
37
  set location(v: string);
@@ -43,7 +43,7 @@ export declare abstract class BaseProject<PROJCET extends BaseProject = BaseProj
43
43
  get isMonorepo(): boolean;
44
44
  protected orderCoreProjects(coreProjects: CoreProject[]): CoreProject[];
45
45
  get core(): CoreProject;
46
- get linkedProjectsExisted(): PROJCET[];
46
+ get linkedProjectsExisted(): PROJECT[];
47
47
  setType(type: TYPE): void;
48
48
  typeIs(...types: TYPE[]): boolean;
49
49
  typeIsNot(...types: TYPE[]): boolean;
@@ -62,11 +62,11 @@ export declare abstract class BaseProject<PROJCET extends BaseProject = BaseProj
62
62
  /**
63
63
  * alias to getAllChildren
64
64
  */
65
- get children(): PROJCET[];
66
- getChildBy(nameOrBasename: string, errors?: boolean): PROJCET;
67
- get parent(): PROJCET;
68
- get nearestParent(): PROJCET;
69
- get grandpa(): PROJCET;
65
+ get children(): PROJECT[];
66
+ getChildBy(nameOrBasename: string, errors?: boolean): PROJECT;
67
+ get parent(): PROJECT;
68
+ get nearestParent(): PROJECT;
69
+ get grandpa(): PROJECT;
70
70
  get allNpmPackagesNames(): string[];
71
71
  get titleBarName(): string;
72
72
  get genericName(): any;
@@ -1,7 +1,7 @@
1
1
  // @ts-nocheck
2
2
  import { BaseFeatureForProject } from './base-feature-for-project';
3
3
  import type { BaseProject } from './base-project';
4
- export declare class BaseQuickFixes<PROJCET extends BaseProject = any> extends BaseFeatureForProject {
5
- constructor(project: PROJCET);
4
+ export declare class BaseQuickFixes<PROJECT extends BaseProject<any, any> = BaseProject<any, any>> extends BaseFeatureForProject {
5
+ constructor(project: PROJECT);
6
6
  fixSQLLiteModuleInNodeModules(): any;
7
7
  }
@@ -3,8 +3,8 @@ import { BaseFeatureForProject } from './base-feature-for-project';
3
3
  import type { BaseProject } from './base-project';
4
4
  import { CoreModels } from 'tnp-core/browser';
5
5
  import type { ChangelogData } from '.././models';
6
- export declare class BaseReleaseProcess<PROJCET extends BaseProject = any> extends BaseFeatureForProject {
7
- project: PROJCET;
6
+ export declare class BaseReleaseProcess<PROJECT extends BaseProject<any, any> = any> extends BaseFeatureForProject {
7
+ project: PROJECT;
8
8
  /**
9
9
  * Automatic release process of patch plus one version
10
10
  */
@@ -17,7 +17,7 @@ export declare class BaseReleaseProcess<PROJCET extends BaseProject = any> exten
17
17
  index: number;
18
18
  }[];
19
19
  getReleaseWords(): string[];
20
- startRelease(options?: Partial<Pick<BaseReleaseProcess<PROJCET>, 'automaticRelease' | 'type' | 'newVersion'>>): Promise<void>;
20
+ startRelease(options?: Partial<Pick<BaseReleaseProcess<PROJECT>, 'automaticRelease' | 'type' | 'newVersion'>>): Promise<void>;
21
21
  private reinstallNodeModules;
22
22
  selectChangelogCommits(): Promise<{
23
23
  commitMessages: string;
@@ -32,7 +32,7 @@ export declare class BaseReleaseProcess<PROJCET extends BaseProject = any> exten
32
32
  private testLibraries;
33
33
  buildAllLibraries(): Promise<void>;
34
34
  resetReleaseFiles(): Promise<any>;
35
- get toBumpProjects(): PROJCET[];
35
+ get toBumpProjects(): PROJECT[];
36
36
  bumpNewVersionEverywhere(): Promise<any>;
37
37
  confirmNewVersion(): Promise<void>;
38
38
  private selectReleaseType;
@@ -1,7 +1,7 @@
1
1
  // @ts-nocheck
2
2
  import type { BaseProject } from './base-project';
3
3
  import { BaseFeatureForProject } from './base-feature-for-project';
4
- export declare class BaseVscodeHelpers<PROJCET extends BaseProject = any> extends BaseFeatureForProject<PROJCET> {
4
+ export declare class BaseVscodeHelpers<PROJECT extends BaseProject = any> extends BaseFeatureForProject<PROJECT> {
5
5
  /**
6
6
  * settings.json relative path
7
7
  */
@@ -7,7 +7,7 @@ export type CoreProjectEnvironment = {
7
7
  description?: string;
8
8
  onlineLink?: string;
9
9
  };
10
- export type CoreCommandArgOptions<PROJECT extends BaseProject> = {
10
+ export type CoreCommandArgOptions<PROJECT extends BaseProject<any, any>> = {
11
11
  project?: PROJECT;
12
12
  /**
13
13
  * watch mode
@@ -42,7 +42,7 @@ export type CoreCommandArgOptions<PROJECT extends BaseProject> = {
42
42
  };
43
43
  export declare class CoreProject<PROJECT extends BaseProject = BaseProject> {
44
44
  static coreProjects: CoreProject<any>[];
45
- static from<Proj extends BaseProject = BaseProject>(options: Omit<CoreProject<Proj>, 'name' | 'url' | 'branch'>): CoreProject<Proj>;
45
+ static from<Proj extends BaseProject = BaseProject<any, any>>(options: Omit<CoreProject<Proj>, 'name' | 'url' | 'branch'>): CoreProject<Proj>;
46
46
  private constructor();
47
47
  extends?: CoreProject<any>;
48
48
  color?: string;
@@ -0,0 +1,11 @@
1
+ // @ts-nocheck
2
+ import { BaseCliWorker } from './base-cli-worker';
3
+ import { BaseCliWorkerController } from './base-cli-worker-controller';
4
+ export declare class PortsWorker extends BaseCliWorker {
5
+ protected getControllerForRemoteConnection(): Promise<BaseCliWorkerController<any>>;
6
+ /**
7
+ * start normally process
8
+ * this will crash if process already started
9
+ */
10
+ startNormallyInCurrentProcess(): Promise<any>;
11
+ }
@@ -0,0 +1,23 @@
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
+ isEquals(other: BaseCliWorkerConfig): boolean;
21
+ get isEmpty(): boolean;
22
+ toString(): any;
23
+ }
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseCliWorkerConfig = void 0;
4
+ var tnp_core_1 = require("tnp-core");
5
+ //#region @backend
6
+ var columnify = require("columnify");
7
+ //#endregion
8
+ //#region base worker config
9
+ var BaseCliWorkerConfig = /** @class */ (function () {
10
+ function BaseCliWorkerConfig() {
11
+ }
12
+ BaseCliWorkerConfig.from = function (opt) {
13
+ return tnp_core_1._.merge(new BaseCliWorkerConfig(), opt);
14
+ };
15
+ BaseCliWorkerConfig.prototype.isEquals = function (other) {
16
+ other = BaseCliWorkerConfig.from(other);
17
+ return (!!this.serviceID &&
18
+ !!this.port &&
19
+ !!this.pid &&
20
+ this.serviceID === other.serviceID &&
21
+ this.port === other.port &&
22
+ this.pid === other.pid);
23
+ };
24
+ Object.defineProperty(BaseCliWorkerConfig.prototype, "isEmpty", {
25
+ get: function () {
26
+ return !this.serviceID && !this.port && !this.pid;
27
+ },
28
+ enumerable: false,
29
+ configurable: true
30
+ });
31
+ BaseCliWorkerConfig.prototype.toString = function () {
32
+ //#region @backendFunc
33
+ return columnify({
34
+ // status: this.status,
35
+ serviceID: this.serviceID,
36
+ port: this.port,
37
+ pid: this.pid,
38
+ });
39
+ //#endregion
40
+ };
41
+ return BaseCliWorkerConfig;
42
+ }());
43
+ exports.BaseCliWorkerConfig = BaseCliWorkerConfig;
44
+ //#endregion
45
+ //# sourceMappingURL=base-cli-worker-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-cli-worker-config.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAAA,qCAA6B;AAC7B,kBAAkB;AAClB,qCAAuC;AACvC,YAAY;AAEZ,4BAA4B;AAC5B;IAAA;IAgDA,CAAC;IA/CQ,wBAAI,GAAX,UAAY,GAAiC;QAC3C,OAAO,YAAC,CAAC,KAAK,CAAC,IAAI,mBAAmB,EAAE,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAmBD,sCAAQ,GAAR,UAAS,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,sBAAI,wCAAO;aAAX;YACE,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACpD,CAAC;;;OAAA;IAED,sCAAQ,GAAR;QACE,sBAAsB;QACtB,OAAO,SAAS,CAAC;YACf,uBAAuB;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,CAAC;QACH,YAAY;IACd,CAAC;IACH,0BAAC;AAAD,CAAC,AAhDD,IAgDC;AAhDY,kDAAmB;AAiDhC,YAAY"}
@@ -0,0 +1,13 @@
1
+ import { Taon } from 'taon/src';
2
+ import { BaseCliWorkerConfig } from './base-cli-worker-config';
3
+ export declare abstract class BaseCliWorkerController<ENTITY> extends Taon.Base
4
+ .CrudController<ENTITY> {
5
+ /**
6
+ * service id
7
+ */
8
+ private cliWorkerServiceId;
9
+ baseCLiWorkerCommand_initializeMetadata(serviceId: string): Taon.Response<void>;
10
+ baseCLiWorkerCommand_kill(): Taon.Response<void>;
11
+ info(): Taon.Response<string>;
12
+ baseCLiWorkerCommand_isHealthy(configWorker: BaseCliWorkerConfig): Taon.Response<boolean>;
13
+ }
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseCliWorkerController = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var taon_1 = require("taon");
6
+ var base_cli_worker_config_1 = require("./base-cli-worker-config");
7
+ var BaseCliWorkerController = /** @class */ (function (_super) {
8
+ tslib_1.__extends(BaseCliWorkerController, _super);
9
+ function BaseCliWorkerController() {
10
+ var _this = _super.apply(this, tslib_1.__spreadArray([], tslib_1.__read(arguments), false)) || this;
11
+ /**
12
+ * service id
13
+ */
14
+ _this.cliWorkerServiceId = null;
15
+ return _this;
16
+ //#endregion
17
+ }
18
+ //#region api methods / kill
19
+ BaseCliWorkerController.prototype.baseCLiWorkerCommand_initializeMetadata = function (serviceId) {
20
+ var _this = this;
21
+ //#region @backendFunc
22
+ return function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
23
+ return tslib_1.__generator(this, function (_a) {
24
+ this.cliWorkerServiceId = serviceId;
25
+ return [2 /*return*/];
26
+ });
27
+ }); };
28
+ //#endregion
29
+ };
30
+ //#endregion
31
+ //#region api methods / kill
32
+ BaseCliWorkerController.prototype.baseCLiWorkerCommand_kill = function () {
33
+ var _this = this;
34
+ //#region @backendFunc
35
+ return function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
36
+ return tslib_1.__generator(this, function (_a) {
37
+ console.log('Killing worker...');
38
+ setTimeout(function () {
39
+ process.exit(0);
40
+ }, 1000); // TODO may be change to 0
41
+ return [2 /*return*/];
42
+ });
43
+ }); };
44
+ //#endregion
45
+ };
46
+ //#endregion
47
+ //#region api methods / kill
48
+ BaseCliWorkerController.prototype.info = function () {
49
+ var _this = this;
50
+ //#region @backendFunc
51
+ return function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
52
+ return tslib_1.__generator(this, function (_a) {
53
+ return [2 /*return*/, "Service ".concat(this.cliWorkerServiceId, " is running healthy on port ").concat(this.ctx.uri.port)];
54
+ });
55
+ }); };
56
+ //#endregion
57
+ };
58
+ //#endregion
59
+ //#region api methods / info
60
+ BaseCliWorkerController.prototype.baseCLiWorkerCommand_isHealthy = function (configWorker) {
61
+ var _this = this;
62
+ //#region @backendFunc
63
+ return function (req, res) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
64
+ var currentConfig;
65
+ return tslib_1.__generator(this, function (_a) {
66
+ configWorker = base_cli_worker_config_1.BaseCliWorkerConfig.from(configWorker);
67
+ currentConfig = base_cli_worker_config_1.BaseCliWorkerConfig.from({
68
+ pid: process.pid,
69
+ serviceID: this.cliWorkerServiceId,
70
+ port: Number(this.ctx.uri.port),
71
+ });
72
+ return [2 /*return*/, configWorker.isEquals(currentConfig)];
73
+ });
74
+ }); };
75
+ //#endregion
76
+ };
77
+ tslib_1.__decorate([
78
+ taon_1.Taon.Http.PUT(),
79
+ tslib_1.__param(0, taon_1.Taon.Http.Param.Body('serviceId')),
80
+ tslib_1.__metadata("design:type", Function),
81
+ tslib_1.__metadata("design:paramtypes", [String]),
82
+ tslib_1.__metadata("design:returntype", Object)
83
+ ], BaseCliWorkerController.prototype, "baseCLiWorkerCommand_initializeMetadata", null);
84
+ tslib_1.__decorate([
85
+ taon_1.Taon.Http.GET(),
86
+ tslib_1.__metadata("design:type", Function),
87
+ tslib_1.__metadata("design:paramtypes", []),
88
+ tslib_1.__metadata("design:returntype", Object)
89
+ ], BaseCliWorkerController.prototype, "baseCLiWorkerCommand_kill", null);
90
+ tslib_1.__decorate([
91
+ taon_1.Taon.Http.GET({
92
+ pathIsGlobal: true,
93
+ }),
94
+ tslib_1.__metadata("design:type", Function),
95
+ tslib_1.__metadata("design:paramtypes", []),
96
+ tslib_1.__metadata("design:returntype", Object)
97
+ ], BaseCliWorkerController.prototype, "info", null);
98
+ tslib_1.__decorate([
99
+ taon_1.Taon.Http.POST(),
100
+ tslib_1.__param(0, taon_1.Taon.Http.Param.Body()),
101
+ tslib_1.__metadata("design:type", Function),
102
+ tslib_1.__metadata("design:paramtypes", [base_cli_worker_config_1.BaseCliWorkerConfig]),
103
+ tslib_1.__metadata("design:returntype", Object)
104
+ ], BaseCliWorkerController.prototype, "baseCLiWorkerCommand_isHealthy", null);
105
+ BaseCliWorkerController = tslib_1.__decorate([
106
+ taon_1.Taon.Controller({
107
+ className: 'BaseCliWorkerController',
108
+ })
109
+ ], BaseCliWorkerController);
110
+ return BaseCliWorkerController;
111
+ }(taon_1.Taon.Base
112
+ .CrudController));
113
+ exports.BaseCliWorkerController = BaseCliWorkerController;
114
+ //# sourceMappingURL=base-cli-worker-controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-cli-worker-controller.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;;AAAA,6BAA4B;AAC5B,mEAA+D;AAK/D;IAA8D,mDACrC;IADzB;;QAEE;;WAEG;QACK,wBAAkB,GAAW,IAAI,CAAC;;QA2D1C,YAAY;IACd,CAAC;IA1DC,4BAA4B;IAE5B,yEAAuC,GAAvC,UACqC,SAAiB;QAFtD,iBASC;QALC,sBAAsB;QACtB,OAAO;;gBACL,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;;;aACrC,CAAC;QACF,YAAY;IACd,CAAC;IACD,YAAY;IAEZ,4BAA4B;IAE5B,2DAAyB,GAAzB;QADA,iBAUC;QARC,sBAAsB;QACtB,OAAO;;gBACL,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;gBACjC,UAAU,CAAC;oBACT,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,0BAA0B;;;aACrC,CAAC;QACF,YAAY;IACd,CAAC;IACD,YAAY;IAEZ,4BAA4B;IAI5B,sCAAI,GAAJ;QAHA,iBASC;QALC,sBAAsB;QACtB,OAAO;;gBACL,sBAAO,kBAAW,IAAI,CAAC,kBAAkB,yCAA+B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAE,EAAC;;aAC7F,CAAC;QACF,YAAY;IACd,CAAC;IACD,YAAY;IAEZ,4BAA4B;IAE5B,gEAA8B,GAA9B,UAC0B,YAAiC;QAF3D,iBAeC;QAXC,sBAAsB;QACtB,OAAO,UAAO,GAAG,EAAE,GAAG;;;gBACpB,YAAY,GAAG,4CAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAChD,aAAa,GAAG,4CAAmB,CAAC,IAAI,CAAC;oBAC7C,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,SAAS,EAAE,IAAI,CAAC,kBAAkB;oBAClC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;iBAChC,CAAC,CAAC;gBACH,sBAAO,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAC;;aAC7C,CAAC;QACF,YAAY;IACd,CAAC;IAtDD;QADC,WAAI,CAAC,IAAI,CAAC,GAAG,EAAE;QAEb,mBAAA,WAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;;;;0FAOnC;IAKD;QADC,WAAI,CAAC,IAAI,CAAC,GAAG,EAAE;;;;4EAUf;IAOD;QAHC,WAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACb,YAAY,EAAE,IAAI;SACnB,CAAC;;;;uDAOD;IAKD;QADC,WAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QAEd,mBAAA,WAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;;iDAAe,4CAAmB;;iFAa1D;IA/DmB,uBAAuB;QAH5C,WAAI,CAAC,UAAU,CAAC;YACf,SAAS,EAAE,yBAAyB;SACrC,CAAC;OACoB,uBAAuB,CAiE5C;IAAD,8BAAC;CAAA,AAjED,CAA8D,WAAI,CAAC,IAAI;KACpE,cAAc,GAgEhB;AAjEqB,0DAAuB"}
@@ -0,0 +1,46 @@
1
+ import type { BaseCliWorkerController } from './base-cli-worker-controller';
2
+ import { BaseCliWorkerConfig } from './base-cli-worker-config';
3
+ export declare abstract class BaseCliWorker {
4
+ /**
5
+ * unique id for service
6
+ */
7
+ protected readonly serviceID: string;
8
+ /**
9
+ * external command that will start service
10
+ */
11
+ protected readonly startCommand: string;
12
+ constructor(
13
+ /**
14
+ * unique id for service
15
+ */
16
+ serviceID: string,
17
+ /**
18
+ * external command that will start service
19
+ */
20
+ startCommand: string);
21
+ protected abstract startNormallyInCurrentProcess(): any;
22
+ protected abstract getControllerForRemoteConnection(): Promise<BaseCliWorkerController<any>>;
23
+ private get pathToProcessLocalInfoJson();
24
+ protected get processLocalInfoObj(): BaseCliWorkerConfig;
25
+ startDetachedIfNeedsToBeStarted(): Promise<void>;
26
+ /**
27
+ * stop if started
28
+ */
29
+ kill(): Promise<void>;
30
+ /**
31
+ * kill detached process and start again
32
+ */
33
+ restart(): Promise<void>;
34
+ protected isServiceHealthy(options?: {
35
+ healthCheckRequestTrys?: number;
36
+ }): Promise<boolean>;
37
+ /**
38
+ * start if not started detached process
39
+ */
40
+ protected startDetached(): Promise<void>;
41
+ protected _infoScreen(): Promise<void>;
42
+ private saveProcessInfo;
43
+ protected initializeWorkerMetadata(): Promise<void>;
44
+ protected waitForProcessPortSavedToDisk(): Promise<void>;
45
+ getServicePort(): Promise<number>;
46
+ }