tnp-helpers 18.0.19 → 18.0.21

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 (532) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/README.md +24 -24
  3. package/browser/esm2022/lib/base/classes/base-bower-json.mjs +14 -0
  4. package/browser/esm2022/lib/base/classes/base-cli-worker-config.mjs +1 -4
  5. package/browser/esm2022/lib/base/classes/base-cli-worker-controller.mjs +1 -1
  6. package/browser/esm2022/lib/base/classes/base-cli-worker.mjs +14 -4
  7. package/browser/esm2022/lib/base/classes/base-debounce-compiler-for-project.mjs +5 -5
  8. package/browser/esm2022/lib/base/classes/base-feature-for-project.mjs +4 -1
  9. package/browser/esm2022/lib/base/classes/base-git.mjs +244 -4
  10. package/browser/esm2022/lib/base/classes/base-json-file-reader.mjs +114 -0
  11. package/browser/esm2022/lib/base/classes/base-library-build.mjs +35 -10
  12. package/browser/esm2022/lib/base/classes/base-linked-projects.mjs +8 -5
  13. package/browser/esm2022/lib/base/classes/base-node-modules.mjs +495 -0
  14. package/browser/esm2022/lib/base/classes/base-npm-helpers.mjs +32 -430
  15. package/browser/esm2022/lib/base/classes/base-package-json.mjs +340 -0
  16. package/browser/esm2022/lib/base/classes/base-process-manager.mjs +285 -0
  17. package/browser/esm2022/lib/base/classes/base-project-resolver.mjs +2 -11
  18. package/browser/esm2022/lib/base/classes/base-project.mjs +83 -87
  19. package/browser/esm2022/lib/base/classes/base-quick-fixes.mjs +44 -1
  20. package/browser/esm2022/lib/base/classes/base-release-process.mjs +34 -36
  21. package/browser/esm2022/lib/base/classes/{base-github-pages.mjs → base-static-pages.mjs} +6 -6
  22. package/browser/esm2022/lib/base/classes/base-vscode.mjs +31 -1
  23. package/browser/esm2022/lib/base/classes/index.mjs +5 -1
  24. package/browser/esm2022/lib/base/commit-data.mjs +21 -4
  25. package/browser/esm2022/lib/base/core-project.mjs +3 -3
  26. package/browser/esm2022/lib/base/linked-project.mjs +4 -4
  27. package/browser/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +2 -4
  28. package/browser/esm2022/lib/base/translate.mjs +566 -0
  29. package/browser/esm2022/lib/helpers/helpers-array-obj.mjs +5 -10
  30. package/browser/esm2022/lib/helpers/helpers.mjs +12 -6
  31. package/browser/esm2022/lib/index.mjs +2 -4
  32. package/browser/esm2022/lib/models.mjs +173 -3
  33. package/browser/esm2022/lib/utils.mjs +402 -41
  34. package/browser/fesm2022/tnp-helpers.mjs +4616 -2904
  35. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  36. package/browser/lib/base/classes/base-bower-json.d.ts +35 -0
  37. package/browser/lib/base/classes/base-cli-worker.d.ts +2 -2
  38. package/browser/lib/base/classes/base-debounce-compiler-for-project.d.ts +5 -5
  39. package/browser/lib/base/classes/base-feature-for-project.d.ts +2 -1
  40. package/browser/lib/base/classes/base-git.d.ts +42 -5
  41. package/browser/lib/base/classes/base-json-file-reader.d.ts +72 -0
  42. package/browser/lib/base/classes/base-library-build.d.ts +8 -11
  43. package/browser/lib/base/classes/base-linked-projects.d.ts +1 -2
  44. package/browser/lib/base/classes/base-node-modules.d.ts +56 -0
  45. package/browser/lib/base/classes/base-npm-helpers.d.ts +29 -108
  46. package/browser/lib/base/classes/base-package-json.d.ts +107 -0
  47. package/browser/lib/base/classes/base-process-manager.d.ts +31 -0
  48. package/browser/lib/base/classes/base-project-resolver.d.ts +2 -2
  49. package/browser/lib/base/classes/base-project.d.ts +17 -18
  50. package/browser/lib/base/classes/base-quick-fixes.d.ts +3 -1
  51. package/browser/lib/base/classes/base-release-process.d.ts +15 -13
  52. package/browser/lib/base/classes/{base-github-pages.d.ts → base-static-pages.d.ts} +3 -3
  53. package/browser/lib/base/classes/base-vscode.d.ts +4 -0
  54. package/browser/lib/base/classes/index.d.ts +5 -1
  55. package/browser/lib/base/commit-data.d.ts +14 -1
  56. package/browser/lib/base/core-project.d.ts +1 -1
  57. package/browser/lib/base/linked-project.d.ts +1 -1
  58. package/browser/lib/base/tcp-udp-ports/ports.entity.d.ts +1 -1
  59. package/browser/lib/base/translate.d.ts +228 -0
  60. package/browser/lib/helpers/helpers-array-obj.d.ts +3 -0
  61. package/browser/lib/helpers/helpers.d.ts +12 -8
  62. package/browser/lib/index.d.ts +1 -3
  63. package/browser/lib/models.d.ts +68 -8
  64. package/browser/lib/utils.d.ts +72 -13
  65. package/client/README.md +24 -24
  66. package/client/esm2022/lib/base/classes/base-bower-json.mjs +14 -0
  67. package/client/esm2022/lib/base/classes/base-cli-worker-config.mjs +1 -4
  68. package/client/esm2022/lib/base/classes/base-cli-worker-controller.mjs +1 -1
  69. package/client/esm2022/lib/base/classes/base-cli-worker.mjs +14 -4
  70. package/client/esm2022/lib/base/classes/base-debounce-compiler-for-project.mjs +5 -5
  71. package/client/esm2022/lib/base/classes/base-feature-for-project.mjs +4 -1
  72. package/client/esm2022/lib/base/classes/base-git.mjs +244 -4
  73. package/client/esm2022/lib/base/classes/base-json-file-reader.mjs +114 -0
  74. package/client/esm2022/lib/base/classes/base-library-build.mjs +35 -10
  75. package/client/esm2022/lib/base/classes/base-linked-projects.mjs +8 -5
  76. package/client/esm2022/lib/base/classes/base-node-modules.mjs +495 -0
  77. package/client/esm2022/lib/base/classes/base-npm-helpers.mjs +32 -430
  78. package/client/esm2022/lib/base/classes/base-package-json.mjs +340 -0
  79. package/client/esm2022/lib/base/classes/base-process-manager.mjs +285 -0
  80. package/client/esm2022/lib/base/classes/base-project-resolver.mjs +2 -11
  81. package/client/esm2022/lib/base/classes/base-project.mjs +83 -87
  82. package/client/esm2022/lib/base/classes/base-quick-fixes.mjs +44 -1
  83. package/client/esm2022/lib/base/classes/base-release-process.mjs +34 -36
  84. package/client/esm2022/lib/base/classes/{base-github-pages.mjs → base-static-pages.mjs} +6 -6
  85. package/client/esm2022/lib/base/classes/base-vscode.mjs +31 -1
  86. package/client/esm2022/lib/base/classes/index.mjs +5 -1
  87. package/client/esm2022/lib/base/commit-data.mjs +21 -4
  88. package/client/esm2022/lib/base/core-project.mjs +3 -3
  89. package/client/esm2022/lib/base/linked-project.mjs +4 -4
  90. package/client/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +2 -4
  91. package/client/esm2022/lib/base/translate.mjs +566 -0
  92. package/client/esm2022/lib/helpers/helpers-array-obj.mjs +5 -10
  93. package/client/esm2022/lib/helpers/helpers.mjs +12 -6
  94. package/client/esm2022/lib/index.mjs +2 -4
  95. package/client/esm2022/lib/models.mjs +173 -3
  96. package/client/esm2022/lib/utils.mjs +402 -41
  97. package/client/fesm2022/tnp-helpers.mjs +4616 -2904
  98. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  99. package/client/lib/base/classes/base-bower-json.d.ts +35 -0
  100. package/client/lib/base/classes/base-cli-worker.d.ts +2 -2
  101. package/client/lib/base/classes/base-debounce-compiler-for-project.d.ts +5 -5
  102. package/client/lib/base/classes/base-feature-for-project.d.ts +2 -1
  103. package/client/lib/base/classes/base-git.d.ts +42 -5
  104. package/client/lib/base/classes/base-json-file-reader.d.ts +72 -0
  105. package/client/lib/base/classes/base-library-build.d.ts +8 -11
  106. package/client/lib/base/classes/base-linked-projects.d.ts +1 -2
  107. package/client/lib/base/classes/base-node-modules.d.ts +56 -0
  108. package/client/lib/base/classes/base-npm-helpers.d.ts +29 -108
  109. package/client/lib/base/classes/base-package-json.d.ts +107 -0
  110. package/client/lib/base/classes/base-process-manager.d.ts +31 -0
  111. package/client/lib/base/classes/base-project-resolver.d.ts +2 -2
  112. package/client/lib/base/classes/base-project.d.ts +17 -18
  113. package/client/lib/base/classes/base-quick-fixes.d.ts +3 -1
  114. package/client/lib/base/classes/base-release-process.d.ts +15 -13
  115. package/{websql/lib/base/classes/base-github-pages.d.ts → client/lib/base/classes/base-static-pages.d.ts} +3 -3
  116. package/client/lib/base/classes/base-vscode.d.ts +4 -0
  117. package/client/lib/base/classes/index.d.ts +5 -1
  118. package/client/lib/base/commit-data.d.ts +14 -1
  119. package/client/lib/base/core-project.d.ts +1 -1
  120. package/client/lib/base/linked-project.d.ts +1 -1
  121. package/client/lib/base/tcp-udp-ports/ports.entity.d.ts +1 -1
  122. package/client/lib/base/translate.d.ts +228 -0
  123. package/client/lib/helpers/helpers-array-obj.d.ts +3 -0
  124. package/client/lib/helpers/helpers.d.ts +12 -8
  125. package/client/lib/index.d.ts +1 -3
  126. package/client/lib/models.d.ts +68 -8
  127. package/client/lib/utils.d.ts +72 -13
  128. package/index.js +15 -2
  129. package/index.js.map +1 -1
  130. package/lib/base/base-cli-worker-config.d.ts +27 -0
  131. package/lib/base/base-cli-worker-config.js +53 -0
  132. package/lib/base/base-cli-worker-config.js.map +1 -0
  133. package/lib/base/base-cli-worker-controller.d.ts +15 -0
  134. package/lib/base/base-cli-worker-controller.js +154 -0
  135. package/lib/base/base-cli-worker-controller.js.map +1 -0
  136. package/lib/base/base-cli-worker.d.ts +82 -0
  137. package/lib/base/base-cli-worker.js +654 -0
  138. package/lib/base/base-cli-worker.js.map +1 -0
  139. package/lib/base/base-command-line.backend.d.ts +174 -0
  140. package/lib/base/base-command-line.backend.js +2221 -0
  141. package/lib/base/base-command-line.backend.js.map +1 -0
  142. package/lib/base/base-compiler-for-project.d.ts +7 -0
  143. package/lib/base/base-compiler-for-project.js +62 -0
  144. package/lib/base/base-compiler-for-project.js.map +1 -0
  145. package/lib/base/base-db.d.ts +12 -0
  146. package/lib/base/base-db.js +74 -0
  147. package/lib/base/base-db.js.map +1 -0
  148. package/lib/base/base-debounce-compiler-for-project.d.ts +28 -0
  149. package/lib/base/base-debounce-compiler-for-project.js +82 -0
  150. package/lib/base/base-debounce-compiler-for-project.js.map +1 -0
  151. package/lib/base/base-detached-service.d.ts +6 -0
  152. package/lib/base/base-detached-service.js +16 -0
  153. package/lib/base/base-detached-service.js.map +1 -0
  154. package/lib/base/base-feature-for-project.d.ts +5 -0
  155. package/lib/base/base-feature-for-project.js +11 -0
  156. package/lib/base/base-feature-for-project.js.map +1 -0
  157. package/lib/base/base-git.d.ts +148 -0
  158. package/lib/base/base-git.js +1202 -0
  159. package/lib/base/base-git.js.map +1 -0
  160. package/{client/lib/base/classes → lib/base}/base-github-pages.d.ts +4 -5
  161. package/lib/base/base-github-pages.js +173 -0
  162. package/lib/base/base-github-pages.js.map +1 -0
  163. package/lib/base/base-ignore-hide.d.ts +14 -0
  164. package/lib/base/base-ignore-hide.js +55 -0
  165. package/lib/base/base-ignore-hide.js.map +1 -0
  166. package/lib/base/base-library-build.d.ts +65 -0
  167. package/lib/base/base-library-build.js +717 -0
  168. package/lib/base/base-library-build.js.map +1 -0
  169. package/lib/base/base-linked-projects.d.ts +24 -0
  170. package/lib/base/base-linked-projects.js +408 -0
  171. package/lib/base/base-linked-projects.js.map +1 -0
  172. package/lib/base/base-npm-helpers.d.ts +128 -0
  173. package/lib/base/base-npm-helpers.js +774 -0
  174. package/lib/base/base-npm-helpers.js.map +1 -0
  175. package/lib/base/base-project-resolver.d.ts +41 -0
  176. package/lib/base/base-project-resolver.js +308 -0
  177. package/lib/base/base-project-resolver.js.map +1 -0
  178. package/lib/base/base-project.d.ts +244 -0
  179. package/lib/base/base-project.js +1223 -0
  180. package/lib/base/base-project.js.map +1 -0
  181. package/lib/base/base-quick-fixes.d.ts +6 -0
  182. package/lib/base/base-quick-fixes.js +31 -0
  183. package/lib/base/base-quick-fixes.js.map +1 -0
  184. package/lib/base/base-release-process.d.ts +69 -0
  185. package/lib/base/base-release-process.js +913 -0
  186. package/lib/base/base-release-process.js.map +1 -0
  187. package/lib/base/base-start-config.backend.d.ts +36 -0
  188. package/lib/base/base-start-config.backend.js +167 -0
  189. package/lib/base/base-start-config.backend.js.map +1 -0
  190. package/lib/base/base-vscode.d.ts +12 -0
  191. package/lib/base/base-vscode.js +139 -0
  192. package/lib/base/base-vscode.js.map +1 -0
  193. package/lib/base/classes/base-bower-json.d.ts +34 -0
  194. package/lib/base/classes/base-bower-json.js +19 -0
  195. package/lib/base/classes/base-bower-json.js.map +1 -0
  196. package/lib/base/classes/base-cli-worker-config.js +35 -24
  197. package/lib/base/classes/base-cli-worker-config.js.map +1 -1
  198. package/lib/base/classes/base-cli-worker-controller.js +98 -128
  199. package/lib/base/classes/base-cli-worker-controller.js.map +1 -1
  200. package/lib/base/classes/base-cli-worker.d.ts +2 -2
  201. package/lib/base/classes/base-cli-worker.js +402 -606
  202. package/lib/base/classes/base-cli-worker.js.map +1 -1
  203. package/lib/base/classes/base-command-line-feature.backend.d.ts +5 -9
  204. package/lib/base/classes/base-command-line-feature.backend.js +73 -132
  205. package/lib/base/classes/base-command-line-feature.backend.js.map +1 -1
  206. package/lib/base/classes/base-command-line.backend.d.ts +175 -0
  207. package/lib/base/classes/base-command-line.backend.js +2235 -0
  208. package/lib/base/classes/base-command-line.backend.js.map +1 -0
  209. package/lib/base/classes/base-compiler-for-project.js +27 -32
  210. package/lib/base/classes/base-compiler-for-project.js.map +1 -1
  211. package/lib/base/classes/base-db.js +43 -60
  212. package/lib/base/classes/base-db.js.map +1 -1
  213. package/lib/base/classes/base-debounce-compiler-for-project.d.ts +5 -5
  214. package/lib/base/classes/base-debounce-compiler-for-project.js +44 -70
  215. package/lib/base/classes/base-debounce-compiler-for-project.js.map +1 -1
  216. package/lib/base/classes/base-detached-service.js.map +1 -1
  217. package/lib/base/classes/base-feature-for-project.d.ts +2 -1
  218. package/lib/base/classes/base-feature-for-project.js +7 -4
  219. package/lib/base/classes/base-feature-for-project.js.map +1 -1
  220. package/lib/base/classes/base-git.d.ts +40 -3
  221. package/lib/base/classes/base-git.js +885 -943
  222. package/lib/base/classes/base-git.js.map +1 -1
  223. package/lib/base/classes/base-github-pages.js.map +1 -1
  224. package/lib/base/classes/base-global-command-line.backend.d.ts +10 -2
  225. package/lib/base/classes/base-global-command-line.backend.js +1058 -2011
  226. package/lib/base/classes/base-global-command-line.backend.js.map +1 -1
  227. package/lib/base/classes/base-ignore-hide.d.ts +2 -2
  228. package/lib/base/classes/base-ignore-hide.js +24 -28
  229. package/lib/base/classes/base-ignore-hide.js.map +1 -1
  230. package/lib/base/classes/base-json-file-reader.d.ts +71 -0
  231. package/lib/base/classes/base-json-file-reader.js +141 -0
  232. package/lib/base/classes/base-json-file-reader.js.map +1 -0
  233. package/lib/base/classes/base-library-build.d.ts +8 -12
  234. package/lib/base/classes/base-library-build.js +433 -638
  235. package/lib/base/classes/base-library-build.js.map +1 -1
  236. package/lib/base/classes/base-linked-projects.d.ts +1 -3
  237. package/lib/base/classes/base-linked-projects.js +200 -314
  238. package/lib/base/classes/base-linked-projects.js.map +1 -1
  239. package/lib/base/classes/base-node-modules.d.ts +55 -0
  240. package/lib/base/classes/base-node-modules.js +415 -0
  241. package/lib/base/classes/base-node-modules.js.map +1 -0
  242. package/lib/base/classes/base-npm-helpers.d.ts +29 -97
  243. package/lib/base/classes/base-npm-helpers.js +178 -729
  244. package/lib/base/classes/base-npm-helpers.js.map +1 -1
  245. package/lib/base/classes/base-package-json.d.ts +106 -0
  246. package/lib/base/classes/base-package-json.js +381 -0
  247. package/lib/base/classes/base-package-json.js.map +1 -0
  248. package/lib/base/classes/base-process-manager.d.ts +30 -0
  249. package/lib/base/classes/base-process-manager.js +269 -0
  250. package/lib/base/classes/base-process-manager.js.map +1 -0
  251. package/lib/base/classes/base-project-resolver.d.ts +2 -3
  252. package/lib/base/classes/base-project-resolver.js +102 -119
  253. package/lib/base/classes/base-project-resolver.js.map +1 -1
  254. package/lib/base/classes/base-project.d.ts +20 -17
  255. package/lib/base/classes/base-project.js +553 -760
  256. package/lib/base/classes/base-project.js.map +1 -1
  257. package/lib/base/classes/base-quick-fixes.d.ts +3 -1
  258. package/lib/base/classes/base-quick-fixes.js +45 -17
  259. package/lib/base/classes/base-quick-fixes.js.map +1 -1
  260. package/lib/base/classes/base-release-process.d.ts +15 -13
  261. package/lib/base/classes/base-release-process.js +487 -835
  262. package/lib/base/classes/base-release-process.js.map +1 -1
  263. package/lib/base/classes/base-start-config.backend.js +116 -100
  264. package/lib/base/classes/base-start-config.backend.js.map +1 -1
  265. package/lib/base/classes/base-static-pages.d.ts +14 -0
  266. package/lib/base/classes/base-static-pages.js +105 -0
  267. package/lib/base/classes/base-static-pages.js.map +1 -0
  268. package/lib/base/classes/base-vscode.d.ts +4 -0
  269. package/lib/base/classes/base-vscode.js +446 -424
  270. package/lib/base/classes/base-vscode.js.map +1 -1
  271. package/lib/base/classes/index copy.d.ts +22 -0
  272. package/lib/base/classes/index copy.js +28 -0
  273. package/lib/base/classes/index copy.js.map +1 -0
  274. package/lib/base/classes/index.d.ts +4 -0
  275. package/lib/base/classes/index.js +36 -19
  276. package/lib/base/classes/index.js.map +1 -1
  277. package/lib/base/command-line-feature.backend.d.ts +51 -0
  278. package/lib/base/command-line-feature.backend.js +206 -0
  279. package/lib/base/command-line-feature.backend.js.map +1 -0
  280. package/lib/base/commit-data.d.ts +14 -1
  281. package/lib/base/commit-data.js +411 -464
  282. package/lib/base/commit-data.js.map +1 -1
  283. package/lib/base/config-database.js +33 -61
  284. package/lib/base/config-database.js.map +1 -1
  285. package/lib/base/core-project.d.ts +1 -1
  286. package/lib/base/core-project.js +110 -146
  287. package/lib/base/core-project.js.map +1 -1
  288. package/lib/base/gh-temp-code.d.ts +1 -0
  289. package/lib/base/gh-temp-code.js +62 -104
  290. package/lib/base/gh-temp-code.js.map +1 -1
  291. package/lib/base/index-rebuilder.backend.d.ts +1 -0
  292. package/lib/base/index-rebuilder.backend.js.map +1 -1
  293. package/lib/base/index.js +20 -7
  294. package/lib/base/index.js.map +1 -1
  295. package/lib/base/linked-project.d.ts +1 -1
  296. package/lib/base/linked-project.js +59 -38
  297. package/lib/base/linked-project.js.map +1 -1
  298. package/lib/base/ports-worker.d.ts +32 -0
  299. package/lib/base/ports-worker.js +244 -0
  300. package/lib/base/ports-worker.js.map +1 -0
  301. package/lib/base/project-database.js +12 -22
  302. package/lib/base/project-database.js.map +1 -1
  303. package/lib/base/tcp-udp-ports/index.js +17 -4
  304. package/lib/base/tcp-udp-ports/index.js.map +1 -1
  305. package/lib/base/tcp-udp-ports/not-assignable-port.entity.d.ts +1 -0
  306. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js +2 -2
  307. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js.map +1 -1
  308. package/lib/base/tcp-udp-ports/port.entity.d.ts +0 -0
  309. package/lib/base/tcp-udp-ports/port.entity.js +5 -0
  310. package/lib/base/tcp-udp-ports/port.entity.js.map +1 -0
  311. package/lib/base/tcp-udp-ports/ports.controller.js +195 -283
  312. package/lib/base/tcp-udp-ports/ports.controller.js.map +1 -1
  313. package/lib/base/tcp-udp-ports/ports.entity.d.ts +2 -2
  314. package/lib/base/tcp-udp-ports/ports.entity.js +74 -62
  315. package/lib/base/tcp-udp-ports/ports.entity.js.map +1 -1
  316. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.js +11 -14
  317. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.js.map +1 -1
  318. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js +244 -427
  319. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js.map +1 -1
  320. package/lib/base/tcp-upd-ports.worker.d.ts +13 -0
  321. package/lib/base/tcp-upd-ports.worker.js +99 -0
  322. package/lib/base/tcp-upd-ports.worker.js.map +1 -0
  323. package/lib/base/translate.d.ts +1 -1
  324. package/lib/base/translate.js +90 -119
  325. package/lib/base/translate.js.map +1 -1
  326. package/lib/build-info._auto-generated_.js.map +1 -1
  327. package/lib/helpers/for-backend/helpers-cli-tool.backend.js +109 -115
  328. package/lib/helpers/for-backend/helpers-cli-tool.backend.js.map +1 -1
  329. package/lib/helpers/for-backend/helpers-console-gui.js +55 -102
  330. package/lib/helpers/for-backend/helpers-console-gui.js.map +1 -1
  331. package/lib/helpers/for-backend/helpers-dependencies.backend.js +28 -45
  332. package/lib/helpers/for-backend/helpers-dependencies.backend.js.map +1 -1
  333. package/lib/helpers/for-backend/helpers-file-folders.backend.d.ts +2 -2
  334. package/lib/helpers/for-backend/helpers-file-folders.backend.js +277 -266
  335. package/lib/helpers/for-backend/helpers-file-folders.backend.js.map +1 -1
  336. package/lib/helpers/for-backend/helpers-git.backend.d.ts +38 -3
  337. package/lib/helpers/for-backend/helpers-git.backend.js +806 -807
  338. package/lib/helpers/for-backend/helpers-git.backend.js.map +1 -1
  339. package/lib/helpers/for-backend/helpers-network.backend.js +15 -18
  340. package/lib/helpers/for-backend/helpers-network.backend.js.map +1 -1
  341. package/lib/helpers/for-backend/helpers-npm.backend.js +5 -8
  342. package/lib/helpers/for-backend/helpers-npm.backend.js.map +1 -1
  343. package/lib/helpers/for-backend/helpers-path.backend.js +18 -26
  344. package/lib/helpers/for-backend/helpers-path.backend.js.map +1 -1
  345. package/lib/helpers/for-backend/helpers-process.backend.d.ts +2 -2
  346. package/lib/helpers/for-backend/helpers-process.backend.js +285 -363
  347. package/lib/helpers/for-backend/helpers-process.backend.js.map +1 -1
  348. package/lib/helpers/for-backend/helpers-system-terminal.backend.js +25 -42
  349. package/lib/helpers/for-backend/helpers-system-terminal.backend.js.map +1 -1
  350. package/lib/helpers/for-backend/helpers-vscode.backend.js +9 -12
  351. package/lib/helpers/for-backend/helpers-vscode.backend.js.map +1 -1
  352. package/lib/helpers/for-backend/ts-code/index.js +0 -2
  353. package/lib/helpers/for-backend/ts-code/index.js.map +1 -1
  354. package/lib/helpers/for-backend/ts-code/ts-code-extractor.d.ts +26 -0
  355. package/lib/helpers/for-backend/ts-code/ts-code-extractor.js +62 -0
  356. package/lib/helpers/for-backend/ts-code/ts-code-extractor.js.map +1 -0
  357. package/lib/helpers/for-backend/ts-code/ts-code-modifier.backend.d.ts +19 -0
  358. package/lib/helpers/for-backend/ts-code/ts-code-modifier.backend.js +81 -0
  359. package/lib/helpers/for-backend/ts-code/ts-code-modifier.backend.js.map +1 -0
  360. package/lib/helpers/for-backend/ts-code/ts-import-export-extractor.js +2 -2
  361. package/lib/helpers/for-backend/ts-code/ts-import-export-extractor.js.map +1 -1
  362. package/lib/helpers/for-browser/angular.helper.js +2 -2
  363. package/lib/helpers/for-browser/angular.helper.js.map +1 -1
  364. package/lib/helpers/for-browser/helpers-browser.js +27 -40
  365. package/lib/helpers/for-browser/helpers-browser.js.map +1 -1
  366. package/lib/helpers/helpers-array-obj.d.ts +3 -0
  367. package/lib/helpers/helpers-array-obj.js +49 -61
  368. package/lib/helpers/helpers-array-obj.js.map +1 -1
  369. package/lib/helpers/helpers-json5.backend.js +44 -55
  370. package/lib/helpers/helpers-json5.backend.js.map +1 -1
  371. package/lib/helpers/helpers-numbers.js +7 -10
  372. package/lib/helpers/helpers-numbers.js.map +1 -1
  373. package/lib/helpers/helpers-strings-regexes.js +40 -47
  374. package/lib/helpers/helpers-strings-regexes.js.map +1 -1
  375. package/lib/helpers/helpers-strings.js +38 -41
  376. package/lib/helpers/helpers-strings.js.map +1 -1
  377. package/lib/helpers/helpers.d.ts +12 -8
  378. package/lib/helpers/helpers.js +313 -393
  379. package/lib/helpers/helpers.js.map +1 -1
  380. package/lib/index._auto-generated_.d.ts +1 -0
  381. package/lib/index._auto-generated_.js.map +1 -1
  382. package/lib/index.d.ts +3 -4
  383. package/lib/index.js +21 -10
  384. package/lib/index.js.map +1 -1
  385. package/lib/lowdb/adapters/Memory.js +14 -20
  386. package/lib/lowdb/adapters/Memory.js.map +1 -1
  387. package/lib/lowdb/adapters/browser/LocalStorage.js +5 -8
  388. package/lib/lowdb/adapters/browser/LocalStorage.js.map +1 -1
  389. package/lib/lowdb/adapters/browser/SessionStorage.js +5 -8
  390. package/lib/lowdb/adapters/browser/SessionStorage.js.map +1 -1
  391. package/lib/lowdb/adapters/browser/WebStorage.js +10 -9
  392. package/lib/lowdb/adapters/browser/WebStorage.js.map +1 -1
  393. package/lib/lowdb/adapters/node/DataFile.js +29 -38
  394. package/lib/lowdb/adapters/node/DataFile.js.map +1 -1
  395. package/lib/lowdb/adapters/node/JSONFile.js +13 -18
  396. package/lib/lowdb/adapters/node/JSONFile.js.map +1 -1
  397. package/lib/lowdb/adapters/node/TextFile.js +36 -44
  398. package/lib/lowdb/adapters/node/TextFile.js.map +1 -1
  399. package/lib/lowdb/adapters/node/steno.js +72 -122
  400. package/lib/lowdb/adapters/node/steno.js.map +1 -1
  401. package/lib/lowdb/browser.js +17 -4
  402. package/lib/lowdb/browser.js.map +1 -1
  403. package/lib/lowdb/core/Low.js +30 -60
  404. package/lib/lowdb/core/Low.js.map +1 -1
  405. package/lib/lowdb/examples/browser.js.map +1 -1
  406. package/lib/lowdb/examples/cli.d.ts +1 -0
  407. package/lib/lowdb/examples/cli.js.map +1 -1
  408. package/lib/lowdb/examples/in-memory.d.ts +1 -0
  409. package/lib/lowdb/examples/in-memory.js.map +1 -1
  410. package/lib/lowdb/examples/server.d.ts +1 -0
  411. package/lib/lowdb/examples/server.js.map +1 -1
  412. package/lib/lowdb/index.js +16 -3
  413. package/lib/lowdb/index.js.map +1 -1
  414. package/lib/lowdb/node.js +18 -5
  415. package/lib/lowdb/node.js.map +1 -1
  416. package/lib/lowdb/presets/browser.js +7 -7
  417. package/lib/lowdb/presets/browser.js.map +1 -1
  418. package/lib/lowdb/presets/node.js +12 -23
  419. package/lib/lowdb/presets/node.js.map +1 -1
  420. package/lib/models.d.ts +68 -8
  421. package/lib/models.js +197 -3
  422. package/lib/models.js.map +1 -1
  423. package/lib/old/base-component.d.ts +1 -0
  424. package/lib/old/base-component.js +2 -2
  425. package/lib/old/base-component.js.map +1 -1
  426. package/lib/old/base-formly-component.d.ts +1 -0
  427. package/lib/old/base-formly-component.js +2 -2
  428. package/lib/old/base-formly-component.js.map +1 -1
  429. package/lib/old/condition-wait.d.ts +1 -0
  430. package/lib/old/condition-wait.js.map +1 -1
  431. package/lib/old/dual-component-ctrl.d.ts +1 -0
  432. package/lib/old/dual-component-ctrl.js +2 -2
  433. package/lib/old/dual-component-ctrl.js.map +1 -1
  434. package/lib/old/execute-command.d.ts +11 -0
  435. package/lib/old/execute-command.js +564 -0
  436. package/lib/old/execute-command.js.map +1 -0
  437. package/lib/old/helpers.d.ts +62 -0
  438. package/lib/old/helpers.js +279 -0
  439. package/lib/old/helpers.js.map +1 -0
  440. package/lib/old/models.d.ts +80 -0
  441. package/lib/old/models.js +57 -0
  442. package/lib/old/models.js.map +1 -0
  443. package/lib/utils.d.ts +72 -13
  444. package/lib/utils.js +502 -179
  445. package/lib/utils.js.map +1 -1
  446. package/lib/validators/validators-firedev.js +5 -5
  447. package/lib/validators/validators-firedev.js.map +1 -1
  448. package/lib/validators/validators-git.js +2 -2
  449. package/lib/validators/validators-git.js.map +1 -1
  450. package/lib/validators/validators-network.js +1 -1
  451. package/lib/validators/validators-network.js.map +1 -1
  452. package/lib/validators/validators.js +2 -2
  453. package/lib/validators/validators.js.map +1 -1
  454. package/migrations/1736198527297_init.js +39 -58
  455. package/migrations/1736198527297_init.js.map +1 -1
  456. package/migrations/1736199486472_addingNotAssignablePorts.js +42 -93
  457. package/migrations/1736199486472_addingNotAssignablePorts.js.map +1 -1
  458. package/migrations/1736454437350_addFreePorts.js +48 -100
  459. package/migrations/1736454437350_addFreePorts.js.map +1 -1
  460. package/migrations/index.js +15 -2
  461. package/migrations/index.js.map +1 -1
  462. package/migrations/migrations_index._auto-generated_.js +3 -3
  463. package/migrations/migrations_index._auto-generated_.js.map +1 -1
  464. package/package.json +14 -61
  465. package/src.d.ts +1 -1
  466. package/taon.jsonc +34 -49
  467. package/tmp-environment.json +8 -389
  468. package/websql/README.md +24 -24
  469. package/websql/esm2022/lib/base/classes/base-bower-json.mjs +14 -0
  470. package/websql/esm2022/lib/base/classes/base-cli-worker-config.mjs +1 -4
  471. package/websql/esm2022/lib/base/classes/base-cli-worker-controller.mjs +1 -1
  472. package/websql/esm2022/lib/base/classes/base-cli-worker.mjs +14 -4
  473. package/websql/esm2022/lib/base/classes/base-debounce-compiler-for-project.mjs +5 -5
  474. package/websql/esm2022/lib/base/classes/base-feature-for-project.mjs +4 -1
  475. package/websql/esm2022/lib/base/classes/base-git.mjs +244 -4
  476. package/websql/esm2022/lib/base/classes/base-json-file-reader.mjs +114 -0
  477. package/websql/esm2022/lib/base/classes/base-library-build.mjs +35 -10
  478. package/websql/esm2022/lib/base/classes/base-linked-projects.mjs +8 -5
  479. package/websql/esm2022/lib/base/classes/base-node-modules.mjs +495 -0
  480. package/websql/esm2022/lib/base/classes/base-npm-helpers.mjs +32 -430
  481. package/websql/esm2022/lib/base/classes/base-package-json.mjs +340 -0
  482. package/websql/esm2022/lib/base/classes/base-process-manager.mjs +285 -0
  483. package/websql/esm2022/lib/base/classes/base-project-resolver.mjs +2 -10
  484. package/websql/esm2022/lib/base/classes/base-project.mjs +82 -87
  485. package/websql/esm2022/lib/base/classes/base-quick-fixes.mjs +44 -1
  486. package/websql/esm2022/lib/base/classes/base-release-process.mjs +34 -36
  487. package/websql/esm2022/lib/base/classes/{base-github-pages.mjs → base-static-pages.mjs} +6 -6
  488. package/websql/esm2022/lib/base/classes/base-vscode.mjs +31 -1
  489. package/websql/esm2022/lib/base/classes/index.mjs +5 -1
  490. package/websql/esm2022/lib/base/commit-data.mjs +21 -4
  491. package/websql/esm2022/lib/base/core-project.mjs +3 -3
  492. package/websql/esm2022/lib/base/linked-project.mjs +4 -4
  493. package/websql/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +2 -4
  494. package/websql/esm2022/lib/base/translate.mjs +566 -0
  495. package/websql/esm2022/lib/helpers/helpers-array-obj.mjs +5 -10
  496. package/websql/esm2022/lib/helpers/helpers.mjs +12 -6
  497. package/websql/esm2022/lib/index.mjs +2 -4
  498. package/websql/esm2022/lib/models.mjs +173 -3
  499. package/websql/esm2022/lib/utils.mjs +402 -41
  500. package/websql/fesm2022/tnp-helpers.mjs +4744 -3032
  501. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  502. package/websql/lib/base/classes/base-bower-json.d.ts +35 -0
  503. package/websql/lib/base/classes/base-cli-worker.d.ts +2 -2
  504. package/websql/lib/base/classes/base-debounce-compiler-for-project.d.ts +5 -5
  505. package/websql/lib/base/classes/base-feature-for-project.d.ts +2 -1
  506. package/websql/lib/base/classes/base-git.d.ts +42 -5
  507. package/websql/lib/base/classes/base-json-file-reader.d.ts +72 -0
  508. package/websql/lib/base/classes/base-library-build.d.ts +8 -11
  509. package/websql/lib/base/classes/base-linked-projects.d.ts +1 -2
  510. package/websql/lib/base/classes/base-node-modules.d.ts +56 -0
  511. package/websql/lib/base/classes/base-npm-helpers.d.ts +29 -108
  512. package/websql/lib/base/classes/base-package-json.d.ts +107 -0
  513. package/websql/lib/base/classes/base-process-manager.d.ts +31 -0
  514. package/websql/lib/base/classes/base-project-resolver.d.ts +2 -2
  515. package/websql/lib/base/classes/base-project.d.ts +17 -18
  516. package/websql/lib/base/classes/base-quick-fixes.d.ts +3 -1
  517. package/websql/lib/base/classes/base-release-process.d.ts +15 -13
  518. package/websql/lib/base/classes/base-static-pages.d.ts +15 -0
  519. package/websql/lib/base/classes/base-vscode.d.ts +4 -0
  520. package/websql/lib/base/classes/index.d.ts +5 -1
  521. package/websql/lib/base/commit-data.d.ts +14 -1
  522. package/websql/lib/base/core-project.d.ts +1 -1
  523. package/websql/lib/base/linked-project.d.ts +1 -1
  524. package/websql/lib/base/tcp-udp-ports/ports.entity.d.ts +1 -1
  525. package/websql/lib/base/translate.d.ts +228 -0
  526. package/websql/lib/helpers/helpers-array-obj.d.ts +3 -0
  527. package/websql/lib/helpers/helpers.d.ts +12 -8
  528. package/websql/lib/index.d.ts +1 -3
  529. package/websql/lib/models.d.ts +68 -8
  530. package/websql/lib/utils.d.ts +72 -13
  531. package/browser/package.json +0 -25
  532. package/websql/package.json +0 -25
@@ -1,19 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseCliWorker = void 0;
4
- var tslib_1 = require("tslib");
5
- //#region imports
6
- var tnp_core_1 = require("tnp-core");
7
- var index_1 = require("../../index");
8
- var base_cli_worker_config_1 = require("./base-cli-worker-config");
4
+ const tnp_core_1 = require("tnp-core");
5
+ const index_1 = require("../../index");
6
+ const base_cli_worker_config_1 = require("./base-cli-worker-config");
9
7
  //#endregion
10
8
  //#region constants
11
- var WORKER_INIT_START_TIME_LIMIT = 25; // 15 seconds max to start worker
12
- var START_PORT_FOR_SERVICES = 3600;
9
+ const WORKER_INIT_START_TIME_LIMIT = 25; // 15 seconds max to start worker
10
+ const START_PORT_FOR_SERVICES = 3600;
13
11
  //#endregion
14
- var BaseCliWorker = /** @class */ (function () {
12
+ class BaseCliWorker {
13
+ serviceID;
14
+ startCommand;
15
+ serviceVersion;
16
+ SPECIAL_WORKER_READY_MESSAGE = '$$$ WORKER_READY $$$';
15
17
  //#region constructor
16
- function BaseCliWorker(
18
+ constructor(
17
19
  /**
18
20
  * unique id for service
19
21
  */
@@ -29,277 +31,183 @@ var BaseCliWorker = /** @class */ (function () {
29
31
  this.serviceID = serviceID;
30
32
  this.startCommand = startCommand;
31
33
  this.serviceVersion = serviceVersion;
32
- this.SPECIAL_WORKER_READY_MESSAGE = '$$$ WORKER_READY $$$';
33
34
  }
34
- Object.defineProperty(BaseCliWorker.prototype, "pathToProcessLocalInfoJson", {
35
+ //#endregion
36
+ //#region fields & getters
37
+ //#region fields & getters / path to process local info
38
+ get pathToProcessLocalInfoJson() {
39
+ //#region @backendFunc
40
+ // console.log('os.userInfo()', os.userInfo());
41
+ return (0, tnp_core_1.crossPlatformPath)([
42
+ tnp_core_1.os.userInfo().homedir,
43
+ `.taon`,
44
+ '__workers-service-process-info__',
45
+ `${this.serviceID}.json`,
46
+ ]);
35
47
  //#endregion
36
- //#region fields & getters
37
- //#region fields & getters / path to process local info
38
- get: function () {
39
- //#region @backendFunc
40
- // console.log('os.userInfo()', os.userInfo());
41
- return (0, tnp_core_1.crossPlatformPath)([
42
- tnp_core_1.os.userInfo().homedir,
43
- ".taon",
44
- '__workers-service-process-info__',
45
- "".concat(this.serviceID, ".json"),
46
- ]);
47
- //#endregion
48
- },
49
- enumerable: false,
50
- configurable: true
51
- });
52
- Object.defineProperty(BaseCliWorker.prototype, "processLocalInfoObj", {
48
+ }
49
+ //#endregion
50
+ //#region fields & getters / process local info json object
51
+ get processLocalInfoObj() {
52
+ //#region @backendFunc
53
+ const configJson = index_1.Helpers.readJson5(this.pathToProcessLocalInfoJson) || {};
54
+ if (tnp_core_1._.isObject(configJson)) {
55
+ return tnp_core_1._.merge(new base_cli_worker_config_1.BaseCliWorkerConfig(), configJson);
56
+ }
57
+ return new base_cli_worker_config_1.BaseCliWorkerConfig();
53
58
  //#endregion
54
- //#region fields & getters / process local info json object
55
- get: function () {
56
- //#region @backendFunc
57
- var configJson = index_1.Helpers.readJson5(this.pathToProcessLocalInfoJson) || {};
58
- if (tnp_core_1._.isObject(configJson)) {
59
- return tnp_core_1._.merge(new base_cli_worker_config_1.BaseCliWorkerConfig(), configJson);
60
- }
61
- return new base_cli_worker_config_1.BaseCliWorkerConfig();
62
- //#endregion
63
- },
64
- enumerable: false,
65
- configurable: true
66
- });
59
+ }
67
60
  //#endregion
68
61
  //#endregion
69
62
  //#region public methods
70
63
  //#region public methods / start if needs to be started
71
- BaseCliWorker.prototype.startDetachedIfNeedsToBeStarted = function (options) {
72
- return tslib_1.__awaiter(this, void 0, void 0, function () {
73
- var serviceIsHealthy;
74
- return tslib_1.__generator(this, function (_a) {
75
- switch (_a.label) {
76
- case 0:
77
- if (!this.processLocalInfoObj.isEmpty) return [3 /*break*/, 2];
78
- // not started ever yet
79
- return [4 /*yield*/, this.startDetached(options)];
80
- case 1:
81
- // not started ever yet
82
- _a.sent();
83
- return [2 /*return*/];
84
- case 2: return [4 /*yield*/, this.isServiceHealthy({
85
- healthCheckRequestTrys: 1, // just quick check
86
- })];
87
- case 3:
88
- serviceIsHealthy = _a.sent();
89
- if (!!serviceIsHealthy) return [3 /*break*/, 5];
90
- return [4 /*yield*/, this.startDetached(options)];
91
- case 4:
92
- _a.sent();
93
- return [2 /*return*/];
94
- case 5:
95
- index_1.Helpers.log("Service \"".concat(this.serviceID, "\" is already started/healthy..."));
96
- return [2 /*return*/];
97
- }
98
- });
64
+ async startDetachedIfNeedsToBeStarted(options) {
65
+ //#region @backendFunc
66
+ if (this.processLocalInfoObj.isEmpty) {
67
+ // not started ever yet
68
+ await this.startDetached(options);
69
+ return;
70
+ }
71
+ const serviceIsHealthy = await this.isServiceHealthy({
72
+ healthCheckRequestTrys: 1, // just quick check
99
73
  });
100
- };
74
+ if (!serviceIsHealthy) {
75
+ await this.startDetached(options);
76
+ return;
77
+ }
78
+ index_1.Helpers.log(`Service "${this.serviceID}" is already started/healthy...`);
79
+ //#endregion
80
+ }
101
81
  //#endregion
102
82
  //#region public methods / kill
103
83
  /**
104
84
  * stop if started
105
85
  */
106
- BaseCliWorker.prototype.kill = function (options) {
107
- return tslib_1.__awaiter(this, void 0, void 0, function () {
108
- var ctrl, error_1;
109
- return tslib_1.__generator(this, function (_a) {
110
- switch (_a.label) {
111
- case 0:
112
- //#region @backendFunc
113
- options = options || {};
114
- index_1.Helpers.log("Killing service \"".concat(this.serviceID, "\"..."));
115
- if (this.processLocalInfoObj.isEmpty) {
116
- index_1.Helpers.log("Service \"".concat(this.serviceID, "\" not started - nothing to kill..."));
117
- return [2 /*return*/];
118
- }
119
- return [4 /*yield*/, this.getControllerForRemoteConnection()];
120
- case 1:
121
- ctrl = _a.sent();
122
- _a.label = 2;
123
- case 2:
124
- _a.trys.push([2, 4, , 5]);
125
- if (!options.dontRemoveConfigFile) {
126
- index_1.Helpers.removeFileIfExists(this.pathToProcessLocalInfoJson);
127
- }
128
- return [4 /*yield*/, ctrl.baseCLiWorkerCommand_kill().received];
129
- case 3:
130
- _a.sent();
131
- index_1.Helpers.log("Service \"".concat(this.serviceID, "\" killed..."));
132
- return [3 /*break*/, 5];
133
- case 4:
134
- error_1 = _a.sent();
135
- index_1.Helpers.log(error_1);
136
- index_1.Helpers.log("Service \"".concat(this.serviceID, "\" not killed... "));
137
- return [3 /*break*/, 5];
138
- case 5: return [2 /*return*/];
139
- }
140
- });
141
- });
142
- };
86
+ async kill(options) {
87
+ //#region @backendFunc
88
+ options = options || {};
89
+ index_1.Helpers.log(`Killing service "${this.serviceID}"...`);
90
+ if (this.processLocalInfoObj.isEmpty) {
91
+ index_1.Helpers.log(`Service "${this.serviceID}" not started - nothing to kill...`);
92
+ return;
93
+ }
94
+ const ctrl = await this.getControllerForRemoteConnection();
95
+ try {
96
+ if (!options.dontRemoveConfigFile) {
97
+ index_1.Helpers.removeFileIfExists(this.pathToProcessLocalInfoJson);
98
+ }
99
+ await ctrl.baseCLiWorkerCommand_kill().received;
100
+ index_1.Helpers.log(`Service "${this.serviceID}" killed...`);
101
+ }
102
+ catch (error) {
103
+ index_1.Helpers.log(error);
104
+ index_1.Helpers.log(`Service "${this.serviceID}" not killed... `);
105
+ }
106
+ //#endregion
107
+ }
143
108
  //#endregion
144
109
  //#region public methods / restart
145
110
  /**
146
111
  * kill detached process and start again
147
112
  * @param options.detached - default true
148
113
  */
149
- BaseCliWorker.prototype.restart = function (options) {
150
- return tslib_1.__awaiter(this, void 0, void 0, function () {
151
- return tslib_1.__generator(this, function (_a) {
152
- switch (_a.label) {
153
- case 0:
154
- options = options || {};
155
- options.detached = tnp_core_1._.isUndefined(options.detached) ? true : false;
156
- return [4 /*yield*/, this.kill()];
157
- case 1:
158
- _a.sent();
159
- if (!options.detached) return [3 /*break*/, 3];
160
- index_1.Helpers.info("Restarting service \"".concat(this.serviceID, "\" in detached mode..."));
161
- return [4 /*yield*/, this.startDetached(options)];
162
- case 2:
163
- _a.sent();
164
- return [3 /*break*/, 5];
165
- case 3:
166
- index_1.Helpers.info("Restarting service \"".concat(this.serviceID, "\" in current process..."));
167
- return [4 /*yield*/, this.startNormallyInCurrentProcess()];
168
- case 4:
169
- _a.sent();
170
- _a.label = 5;
171
- case 5: return [2 /*return*/];
172
- }
173
- });
174
- });
175
- };
114
+ async restart(options) {
115
+ options = options || {};
116
+ options.detached = tnp_core_1._.isUndefined(options.detached) ? true : false;
117
+ await this.kill();
118
+ //longer because os is disposing process previous process
119
+ if (options.detached) {
120
+ index_1.Helpers.info(`Restarting service "${this.serviceID}" in detached mode...`);
121
+ await this.startDetached(options);
122
+ }
123
+ else {
124
+ index_1.Helpers.info(`Restarting service "${this.serviceID}" in current process...`);
125
+ await this.startNormallyInCurrentProcess();
126
+ }
127
+ }
176
128
  //#endregion
177
129
  //#region public methods / cli start
178
130
  /**
179
131
  * only for cli start
180
132
  * @param cliParams on from cli
181
133
  */
182
- BaseCliWorker.prototype.cliStartProcedure = function (cliParams) {
183
- return tslib_1.__awaiter(this, void 0, void 0, function () {
184
- var instance, detached;
185
- return tslib_1.__generator(this, function (_a) {
186
- switch (_a.label) {
187
- case 0:
188
- instance = this;
189
- detached = !!cliParams['detached'] || !!cliParams['detach'];
190
- if (!cliParams['restart']) return [3 /*break*/, 2];
191
- return [4 /*yield*/, instance.restart({
192
- detached: detached,
193
- })];
194
- case 1:
195
- _a.sent();
196
- process.exit(0);
197
- _a.label = 2;
198
- case 2:
199
- if (!cliParams['kill']) return [3 /*break*/, 4];
200
- return [4 /*yield*/, instance.kill()];
201
- case 3:
202
- _a.sent();
203
- process.exit(0);
204
- _a.label = 4;
205
- case 4:
206
- if (!detached) return [3 /*break*/, 6];
207
- return [4 /*yield*/, instance.startDetachedIfNeedsToBeStarted()];
208
- case 5:
209
- _a.sent();
210
- process.exit(0);
211
- return [3 /*break*/, 8];
212
- case 6: return [4 /*yield*/, instance.startNormallyInCurrentProcess()];
213
- case 7:
214
- _a.sent();
215
- _a.label = 8;
216
- case 8: return [2 /*return*/];
217
- }
134
+ async cliStartProcedure(cliParams) {
135
+ const instance = this;
136
+ const detached = !!cliParams['detached'] || !!cliParams['detach'];
137
+ //#region @backendFunc
138
+ if (cliParams['restart']) {
139
+ await instance.restart({
140
+ detached,
218
141
  });
219
- });
220
- };
142
+ process.exit(0);
143
+ }
144
+ if (cliParams['kill']) {
145
+ await instance.kill();
146
+ process.exit(0);
147
+ }
148
+ if (detached) {
149
+ await instance.startDetachedIfNeedsToBeStarted();
150
+ process.exit(0);
151
+ }
152
+ else {
153
+ await instance.startNormallyInCurrentProcess();
154
+ }
155
+ //#endregion
156
+ }
221
157
  //#endregion
222
158
  //#endregion
223
159
  //#region protected methods
224
160
  //#region protected methods / prevent external config change
225
- BaseCliWorker.prototype.preventExternalConfigChange = function () {
226
- var _this = this;
161
+ preventExternalConfigChange() {
227
162
  //#region @backendFunc
228
- index_1.Helpers.info("watching: ".concat(this.pathToProcessLocalInfoJson));
229
- var currentConfig = this.processLocalInfoObj;
230
- tnp_core_1.chokidar.watch(this.pathToProcessLocalInfoJson).on('change', function () {
231
- index_1.Helpers.log("Service data changed...");
232
- if (!_this.processLocalInfoObj.isEquals(currentConfig)) {
233
- index_1.Helpers.error("Service config data externally changed... killing service", false, true);
163
+ index_1.Helpers.info(`watching: ${this.pathToProcessLocalInfoJson}`);
164
+ const currentConfig = this.processLocalInfoObj;
165
+ tnp_core_1.chokidar.watch(this.pathToProcessLocalInfoJson).on('change', () => {
166
+ index_1.Helpers.log(`Service data changed...`);
167
+ if (!this.processLocalInfoObj.isEquals(currentConfig)) {
168
+ index_1.Helpers.error(`Service config data externally changed... killing service`, false, true);
234
169
  }
235
170
  });
236
171
  //#endregion
237
- };
172
+ }
238
173
  //#endregion
239
174
  //#region protected methods / prevent start if already started
240
- BaseCliWorker.prototype.preventStartIfAlreadyStarted = function () {
241
- return tslib_1.__awaiter(this, void 0, void 0, function () {
242
- var isHealthy, error_2;
243
- return tslib_1.__generator(this, function (_a) {
244
- switch (_a.label) {
245
- case 0:
246
- _a.trys.push([0, 2, , 3]);
247
- return [4 /*yield*/, this.isServiceHealthy({
248
- healthCheckRequestTrys: 2, // check only twice
249
- })];
250
- case 1:
251
- isHealthy = _a.sent();
252
- if (isHealthy) {
253
- index_1.Helpers.error("Service already started on port ".concat(this.processLocalInfoObj.port, " !"), false, true);
254
- }
255
- return [3 /*break*/, 3];
256
- case 2:
257
- error_2 = _a.sent();
258
- return [3 /*break*/, 3];
259
- case 3: return [2 /*return*/];
260
- }
175
+ async preventStartIfAlreadyStarted() {
176
+ //#region @backendFunc
177
+ try {
178
+ const isHealthy = await this.isServiceHealthy({
179
+ healthCheckRequestTrys: 2, // check only twice
261
180
  });
262
- });
263
- };
181
+ if (isHealthy) {
182
+ index_1.Helpers.error(`Service already started on port ${this.processLocalInfoObj.port} !`, false, true);
183
+ }
184
+ }
185
+ catch (error) { }
186
+ //#endregion
187
+ }
264
188
  //#endregion
265
189
  //#region protected methods / prevent start if already started
266
- BaseCliWorker.prototype.killWorkerWithLowerVersion = function () {
267
- return tslib_1.__awaiter(this, void 0, void 0, function () {
268
- var ctrl, req, isUpToDate, error_3;
269
- return tslib_1.__generator(this, function (_a) {
270
- switch (_a.label) {
271
- case 0:
272
- _a.trys.push([0, 6, , 7]);
273
- return [4 /*yield*/, this.getControllerForRemoteConnection()];
274
- case 1:
275
- ctrl = _a.sent();
276
- index_1.Helpers.log("Checking if current working version is up to date...");
277
- return [4 /*yield*/, ctrl.baseCLiWorkerCommand_hasUpToDateVersion(tnp_core_1._.merge(this.processLocalInfoObj, {
278
- version: this.serviceVersion,
279
- })).received];
280
- case 2:
281
- req = _a.sent();
282
- isUpToDate = req.body.booleanValue;
283
- if (!!isUpToDate) return [3 /*break*/, 5];
284
- index_1.Helpers.info("Killing service with lower version...");
285
- return [4 /*yield*/, this.kill({
286
- dontRemoveConfigFile: true,
287
- })];
288
- case 3:
289
- _a.sent();
290
- return [4 /*yield*/, index_1.Helpers.wait(1)];
291
- case 4:
292
- _a.sent();
293
- _a.label = 5;
294
- case 5: return [3 /*break*/, 7];
295
- case 6:
296
- error_3 = _a.sent();
297
- return [3 /*break*/, 7];
298
- case 7: return [2 /*return*/];
299
- }
300
- });
301
- });
302
- };
190
+ async killWorkerWithLowerVersion() {
191
+ //#region @backendFunc
192
+ try {
193
+ const ctrl = await this.getControllerForRemoteConnection();
194
+ index_1.Helpers.log(`Checking if current working version is up to date...`);
195
+ // console.log('this.processLocalInfoObj', this.processLocalInfoObj);
196
+ const req = await ctrl.baseCLiWorkerCommand_hasUpToDateVersion(tnp_core_1._.merge(this.processLocalInfoObj, {
197
+ version: this.serviceVersion,
198
+ })).received;
199
+ const isUpToDate = req.body.booleanValue;
200
+ if (!isUpToDate) {
201
+ index_1.Helpers.info(`Killing service with lower version...`);
202
+ await this.kill({
203
+ dontRemoveConfigFile: true,
204
+ });
205
+ await index_1.Helpers.wait(1);
206
+ }
207
+ }
208
+ catch (error) { }
209
+ //#endregion
210
+ }
303
211
  //#endregion
304
212
  //#region protected methods / is service healthy
305
213
  /**
@@ -307,433 +215,321 @@ var BaseCliWorker = /** @class */ (function () {
307
215
  * - infinite check when when detached process finished starting
308
216
  * - quick check if service is healthy / already started
309
217
  */
310
- BaseCliWorker.prototype.isServiceHealthy = function (options) {
311
- return tslib_1.__awaiter(this, void 0, void 0, function () {
312
- var healthCheckRequestTrys, i, workerIsStarting, isWaitingNotCheckingWhen, ctrl, req, isHealthy, error_4;
313
- return tslib_1.__generator(this, function (_a) {
314
- switch (_a.label) {
315
- case 0:
316
- //#region @backendFunc
317
- options = options || {};
318
- healthCheckRequestTrys = options.healthCheckRequestTrys || 1;
319
- i = 0;
320
- _a.label = 1;
321
- case 1:
322
- if (!true) return [3 /*break*/, 3];
323
- i++;
324
- index_1.Helpers.log("Checking if service \"".concat(this.serviceID, "\" is starting..."));
325
- workerIsStarting = !!this.processLocalInfoObj.startTimestamp;
326
- if (!workerIsStarting) {
327
- // initialized worker does not have startTimestamp
328
- return [3 /*break*/, 3];
329
- }
330
- if (i > WORKER_INIT_START_TIME_LIMIT) {
331
- return [2 /*return*/, false];
332
- }
333
- return [4 /*yield*/, index_1.Helpers.wait(1)];
334
- case 2:
335
- _a.sent();
336
- return [3 /*break*/, 1];
337
- case 3:
338
- i = 0;
339
- isWaitingNotCheckingWhen = 10;
340
- _a.label = 4;
341
- case 4:
342
- if (!true) return [3 /*break*/, 16];
343
- i++;
344
- _a.label = 5;
345
- case 5:
346
- _a.trys.push([5, 11, , 15]);
347
- // const isWaitingNotChecking = i >= isWaitingNotCheckingWhen;
348
- // TODO: check why this is may not work
349
- if (isWaitingNotCheckingWhen === i) {
350
- index_1.Helpers.info("Waiting for service \"".concat(this.serviceID, "\" to start..."));
351
- }
352
- else {
353
- index_1.Helpers.log("Checking if service \"".concat(this.serviceID, "\" is healthy..."));
354
- }
355
- return [4 /*yield*/, this.getControllerForRemoteConnection()];
356
- case 6:
357
- ctrl = _a.sent();
358
- index_1.Helpers.log("Sending is healthy request...");
359
- return [4 /*yield*/, ctrl.baseCLiWorkerCommand_isHealthy(this.processLocalInfoObj).received];
360
- case 7:
361
- req = _a.sent();
362
- isHealthy = req.body.booleanValue;
363
- // console.log('isHealthy', { isHealthy });
364
- if (isHealthy) {
365
- index_1.Helpers.log("Service \"".concat(this.serviceID, "\" is healthy (response is true)..."));
366
- }
367
- else {
368
- index_1.Helpers.log("Service \"".concat(this.serviceID, "\" is not healthy (response is false)..."));
369
- }
370
- if (!(isHealthy || i === healthCheckRequestTrys)) return [3 /*break*/, 8];
371
- return [2 /*return*/, isHealthy];
372
- case 8:
373
- index_1.Helpers.log('Trying again...');
374
- return [4 /*yield*/, index_1.Helpers.wait(1)];
375
- case 9:
376
- _a.sent();
377
- return [3 /*break*/, 4];
378
- case 10: return [3 /*break*/, 15];
379
- case 11:
380
- error_4 = _a.sent();
381
- if (i >= isWaitingNotCheckingWhen && (error_4 === null || error_4 === void 0 ? void 0 : error_4.message)) {
382
- console.error(error_4.message);
383
- }
384
- index_1.Helpers.log("Service \"".concat(this.serviceID, "\" is not healthy (can't check health)..."));
385
- if (!(i === healthCheckRequestTrys)) return [3 /*break*/, 12];
386
- return [2 /*return*/, false];
387
- case 12:
388
- index_1.Helpers.log('Trying again...');
389
- return [4 /*yield*/, index_1.Helpers.wait(1)];
390
- case 13:
391
- _a.sent();
392
- return [3 /*break*/, 4];
393
- case 14: return [3 /*break*/, 15];
394
- case 15: return [3 /*break*/, 4];
395
- case 16: return [2 /*return*/];
218
+ async isServiceHealthy(options) {
219
+ //#region @backendFunc
220
+ options = options || {};
221
+ const healthCheckRequestTrys = options.healthCheckRequestTrys || 1;
222
+ let i = 0; // 15 seconds to start worker
223
+ while (true) {
224
+ i++;
225
+ index_1.Helpers.log(`Checking if service "${this.serviceID}" is starting...`);
226
+ const workerIsStarting = !!this.processLocalInfoObj.startTimestamp;
227
+ if (!workerIsStarting) {
228
+ // initialized worker does not have startTimestamp
229
+ break;
230
+ }
231
+ if (i > WORKER_INIT_START_TIME_LIMIT) {
232
+ return false;
233
+ }
234
+ await index_1.Helpers.wait(1);
235
+ }
236
+ i = 0;
237
+ const isWaitingNotCheckingWhen = 10;
238
+ while (true) {
239
+ i++;
240
+ try {
241
+ // const isWaitingNotChecking = i >= isWaitingNotCheckingWhen;
242
+ // TODO: check why this is may not work
243
+ if (isWaitingNotCheckingWhen === i) {
244
+ index_1.Helpers.info(`Waiting for service "${this.serviceID}" to start...`);
396
245
  }
397
- });
398
- });
399
- };
246
+ else {
247
+ index_1.Helpers.log(`Checking if service "${this.serviceID}" is healthy...`);
248
+ }
249
+ const ctrl = await this.getControllerForRemoteConnection();
250
+ index_1.Helpers.log(`Sending is healthy request...`);
251
+ // console.log('this.processLocalInfoObj', this.processLocalInfoObj);
252
+ const req = await ctrl.baseCLiWorkerCommand_isHealthy(this.processLocalInfoObj).received;
253
+ const isHealthy = req.body.booleanValue;
254
+ // console.log('isHealthy', { isHealthy });
255
+ if (isHealthy) {
256
+ index_1.Helpers.log(`Service "${this.serviceID}" is healthy (response is true)...`);
257
+ }
258
+ else {
259
+ index_1.Helpers.log(`Service "${this.serviceID}" is not healthy (response is false)...`);
260
+ }
261
+ if (isHealthy || i === healthCheckRequestTrys) {
262
+ return isHealthy;
263
+ }
264
+ else {
265
+ index_1.Helpers.log('Trying again...');
266
+ await index_1.Helpers.wait(1);
267
+ continue;
268
+ }
269
+ }
270
+ catch (error) {
271
+ if (i >= isWaitingNotCheckingWhen && error?.message) {
272
+ console.error(error.message);
273
+ }
274
+ index_1.Helpers.log(`Service "${this.serviceID}" is not healthy (can't check health)...`);
275
+ if (i === healthCheckRequestTrys) {
276
+ return false;
277
+ }
278
+ else {
279
+ index_1.Helpers.log('Trying again...');
280
+ await index_1.Helpers.wait(1);
281
+ continue;
282
+ }
283
+ }
284
+ }
285
+ //#endregion
286
+ }
400
287
  //#endregion
401
288
  //#region protected methods / start detached
402
289
  /**
403
290
  * start if not started detached process
404
291
  */
405
- BaseCliWorker.prototype.startDetached = function (options) {
406
- return tslib_1.__awaiter(this, void 0, void 0, function () {
407
- var isServiceHealthy;
408
- return tslib_1.__generator(this, function (_a) {
409
- switch (_a.label) {
410
- case 0:
411
- //#region @backendFunc
412
- options = options || {};
413
- index_1.Helpers.log("Starting detached command in new terminal \"".concat(tnp_core_1.chalk.bold(this.startCommand), "\"..."));
414
- if (!options.useCurrentWindowForDetach) return [3 /*break*/, 2];
415
- return [4 /*yield*/, tnp_core_1.UtilsProcess.startAsyncChildProcessCommandUntil(this.startCommand, {
416
- untilOptions: {
417
- stdout: [this.SPECIAL_WORKER_READY_MESSAGE],
418
- stderr: [this.SPECIAL_WORKER_READY_MESSAGE],
419
- },
420
- })];
421
- case 1:
422
- _a.sent();
423
- return [3 /*break*/, 4];
424
- case 2: return [4 /*yield*/, tnp_core_1.UtilsProcess.startInNewTerminalWindow(this.startCommand)];
425
- case 3:
426
- _a.sent();
427
- _a.label = 4;
428
- case 4:
429
- index_1.Helpers.log("Starting detached service \"".concat(tnp_core_1.chalk.bold(this.serviceID), "\" - waiting until healthy..."));
430
- return [4 /*yield*/, this.isServiceHealthy({
431
- healthCheckRequestTrys: Infinity, // wait infinity until started
432
- })];
433
- case 5:
434
- isServiceHealthy = _a.sent();
435
- if (!isServiceHealthy) {
436
- index_1.Helpers.throw("Not able to start service \"".concat(this.serviceID, "\"..."));
437
- return [2 /*return*/];
438
- }
439
- index_1.Helpers.log("Healthy detached service \"".concat(tnp_core_1.chalk.bold(this.serviceID), "\" started."));
440
- return [2 /*return*/];
441
- }
292
+ async startDetached(options) {
293
+ //#region @backendFunc
294
+ options = options || {};
295
+ index_1.Helpers.log(`Starting detached command in new terminal "${tnp_core_1.chalk.bold(this.startCommand)}"...`);
296
+ if (options.useCurrentWindowForDetach) {
297
+ await tnp_core_1.UtilsProcess.startAsyncChildProcessCommandUntil(this.startCommand, {
298
+ untilOptions: {
299
+ stdout: [this.SPECIAL_WORKER_READY_MESSAGE],
300
+ stderr: [this.SPECIAL_WORKER_READY_MESSAGE],
301
+ },
442
302
  });
303
+ }
304
+ else {
305
+ await tnp_core_1.UtilsProcess.startInNewTerminalWindow(this.startCommand);
306
+ }
307
+ index_1.Helpers.log(`Starting detached service "${tnp_core_1.chalk.bold(this.serviceID)}" - waiting until healthy...`);
308
+ const isServiceHealthy = await this.isServiceHealthy({
309
+ healthCheckRequestTrys: Infinity, // wait infinity until started
443
310
  });
444
- };
311
+ if (!isServiceHealthy) {
312
+ index_1.Helpers.throw(`Not able to start service "${this.serviceID}"...`);
313
+ return;
314
+ }
315
+ index_1.Helpers.log(`Healthy detached service "${tnp_core_1.chalk.bold(this.serviceID)}" started.`);
316
+ //#endregion
317
+ }
445
318
  //#endregion
446
319
  //#region protected methods / text for header
447
- BaseCliWorker.prototype.headerText = function () {
448
- return tslib_1.__awaiter(this, void 0, void 0, function () {
449
- return tslib_1.__generator(this, function (_a) {
450
- return [2 /*return*/, tnp_core_1._.startCase(this.serviceID)];
451
- });
452
- });
453
- };
320
+ async headerText() {
321
+ return tnp_core_1._.startCase(this.serviceID);
322
+ }
454
323
  //#endregion
455
324
  //#region protected methods / text header style
456
- BaseCliWorker.prototype.textHeaderStyle = function () {
325
+ textHeaderStyle() {
457
326
  return 'block';
458
- };
327
+ }
459
328
  //#endregion
460
329
  //#region protected methods / header text align
461
- BaseCliWorker.prototype.headerTextAlign = function () {
330
+ headerTextAlign() {
462
331
  return 'left';
463
- };
332
+ }
464
333
  //#endregion
465
334
  //#region protected methods / header
466
335
  /**
467
336
  * override whole terminal header
468
337
  */
469
- BaseCliWorker.prototype.header = function () {
470
- return tslib_1.__awaiter(this, void 0, void 0, function () {
471
- var cfonts, output, _a, _b;
472
- return tslib_1.__generator(this, function (_c) {
473
- switch (_c.label) {
474
- case 0:
475
- cfonts = require('cfonts');
476
- _b = (_a = cfonts).render;
477
- return [4 /*yield*/, this.headerText()];
478
- case 1:
479
- output = _b.apply(_a, [_c.sent(), {
480
- font: this.textHeaderStyle(),
481
- align: this.headerTextAlign(),
482
- colors: ['system'],
483
- background: 'transparent',
484
- letterSpacing: 1,
485
- lineHeight: 1,
486
- space: true,
487
- maxLength: '0',
488
- gradient: false,
489
- independentGradient: false,
490
- transitionGradient: false,
491
- env: 'node',
492
- }]);
493
- console.log(output.string);
494
- return [2 /*return*/];
495
- }
496
- });
338
+ async header() {
339
+ //#region @backendFunc
340
+ const cfonts = require('cfonts');
341
+ const output = cfonts.render(await this.headerText(), {
342
+ font: this.textHeaderStyle(),
343
+ align: this.headerTextAlign(),
344
+ colors: ['system'],
345
+ background: 'transparent',
346
+ letterSpacing: 1,
347
+ lineHeight: 1,
348
+ space: true,
349
+ maxLength: '0',
350
+ gradient: false,
351
+ independentGradient: false,
352
+ transitionGradient: false,
353
+ env: 'node',
497
354
  });
498
- };
355
+ console.log(output.string);
356
+ //#endregion
357
+ }
499
358
  //#endregion
500
359
  //#region protected methods / info message below header
501
- BaseCliWorker.prototype.infoMessageBelowHeader = function () {
502
- return tslib_1.__awaiter(this, void 0, void 0, function () {
503
- var _a, _b;
504
- return tslib_1.__generator(this, function (_c) {
505
- //#region @backendFunc
506
- index_1.Helpers.info("\n\n Service ".concat(tnp_core_1.chalk.bold.red(this.serviceID)) +
507
- " (version: ".concat(this.serviceVersion, ") started..\n Check info here http://localhost:").concat(tnp_core_1.chalk.bold((_b = (_a = this.processLocalInfoObj) === null || _a === void 0 ? void 0 : _a.port) === null || _b === void 0 ? void 0 : _b.toString()), "/").concat('info', "\n\n "));
508
- return [2 /*return*/];
509
- });
510
- });
511
- };
512
- Object.defineProperty(BaseCliWorker.prototype, "backAction", {
513
- //#endregion
514
- //#region protected methods / get back action
515
- get: function () {
516
- return {
517
- back: {
518
- name: 'Back',
519
- },
520
- };
521
- },
522
- enumerable: false,
523
- configurable: true
524
- });
525
- Object.defineProperty(BaseCliWorker.prototype, "chooseAction", {
360
+ async infoMessageBelowHeader() {
361
+ //#region @backendFunc
362
+ index_1.Helpers.info(`
363
+
364
+ Service ${tnp_core_1.chalk.bold.red(this.serviceID)}` +
365
+ ` (version: ${this.serviceVersion}) started..
366
+ Check info here http://localhost:${tnp_core_1.chalk.bold(this.processLocalInfoObj?.port?.toString())}/${'info'}
367
+
368
+ `);
526
369
  //#endregion
527
- //#region protected methods / choose action
528
- get: function () {
529
- var _this = this;
530
- return {
531
- emptyAction: {
532
- name: ' -- choose any action below --',
533
- action: function () { return tslib_1.__awaiter(_this, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
534
- return [2 /*return*/];
535
- }); }); },
536
- },
537
- };
538
- },
539
- enumerable: false,
540
- configurable: true
541
- });
370
+ }
371
+ //#endregion
372
+ //#region protected methods / get back action
373
+ get backAction() {
374
+ return {
375
+ back: {
376
+ name: 'Back',
377
+ },
378
+ };
379
+ }
380
+ //#endregion
381
+ //#region protected methods / choose action
382
+ get chooseAction() {
383
+ return {
384
+ emptyAction: {
385
+ name: ' -- choose any action below --',
386
+ action: async () => { },
387
+ },
388
+ };
389
+ }
542
390
  //#endregion
543
391
  //#region protected methods / display special worker ready message
544
- BaseCliWorker.prototype.displaySpecialWorkerReadyMessage = function () {
392
+ displaySpecialWorkerReadyMessage() {
545
393
  console.log(this.SPECIAL_WORKER_READY_MESSAGE);
546
- };
394
+ }
547
395
  //#endregion
548
396
  //#region protected methods / worker terminal actions
549
- BaseCliWorker.prototype.getWorkerTerminalActions = function (options) {
550
- var _this = this;
397
+ getWorkerTerminalActions(options) {
551
398
  //#region @backendFunc
552
399
  options = options || {};
553
400
  options.chooseAction = tnp_core_1._.isBoolean(options.chooseAction)
554
401
  ? options.chooseAction
555
402
  : true;
556
- return tslib_1.__assign(tslib_1.__assign({}, (options.chooseAction ? this.chooseAction : {})), { openBrowser: {
403
+ return {
404
+ ...(options.chooseAction ? this.chooseAction : {}),
405
+ openBrowser: {
557
406
  name: 'Open browser with service info',
558
- action: function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
559
- var openInBrowser;
560
- return tslib_1.__generator(this, function (_a) {
561
- openInBrowser = require('open');
562
- openInBrowser("http://localhost:".concat(this.processLocalInfoObj.port, "/info"));
563
- return [2 /*return*/];
564
- });
565
- }); },
566
- }, exit: {
407
+ action: async () => {
408
+ const openInBrowser = require('open');
409
+ openInBrowser(`http://localhost:${this.processLocalInfoObj.port}/info`);
410
+ },
411
+ },
412
+ exit: {
567
413
  name: options.exitIsOnlyReturn
568
414
  ? '< Return to previous menu'
569
- : "Shut down service",
570
- action: function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
571
- return tslib_1.__generator(this, function (_a) {
572
- switch (_a.label) {
573
- case 0:
574
- if (options.exitIsOnlyReturn) {
575
- return [2 /*return*/];
576
- }
577
- return [4 /*yield*/, tnp_core_1.UtilsTerminal.confirm({
578
- defaultValue: false,
579
- })];
580
- case 1:
581
- if (_a.sent()) {
582
- process.exit(0);
583
- }
584
- return [2 /*return*/];
585
- }
586
- });
587
- }); },
588
- } });
415
+ : `Shut down service`,
416
+ action: async () => {
417
+ if (options.exitIsOnlyReturn) {
418
+ return true; // false will keep loop running
419
+ }
420
+ if (await tnp_core_1.UtilsTerminal.confirm({
421
+ defaultValue: false,
422
+ message: 'Are you sure you want to shut down service?',
423
+ })) {
424
+ await this.kill();
425
+ process.exit(0);
426
+ }
427
+ },
428
+ },
429
+ };
589
430
  //#endregion
590
- };
431
+ }
591
432
  //#endregion
592
433
  //#region protected methods / info screen
593
- BaseCliWorker.prototype.infoScreen = function (options) {
594
- return tslib_1.__awaiter(this, void 0, void 0, function () {
595
- var choices, choice, action;
596
- return tslib_1.__generator(this, function (_a) {
597
- switch (_a.label) {
598
- case 0:
599
- options = options || {};
600
- _a.label = 1;
601
- case 1:
602
- if (!true) return [3 /*break*/, 6];
603
- index_1.Helpers.clearConsole();
604
- return [4 /*yield*/, this.header()];
605
- case 2:
606
- _a.sent();
607
- return [4 /*yield*/, this.infoMessageBelowHeader()];
608
- case 3:
609
- _a.sent();
610
- choices = this.getWorkerTerminalActions(options);
611
- return [4 /*yield*/, tnp_core_1.UtilsTerminal.select({
612
- choices: choices,
613
- question: 'Choose action',
614
- })];
615
- case 4:
616
- choice = _a.sent();
617
- action = choices[choice].action;
618
- return [4 /*yield*/, action()];
619
- case 5:
620
- _a.sent();
621
- if (choice === 'exit') {
622
- return [3 /*break*/, 6];
623
- }
624
- return [3 /*break*/, 1];
625
- case 6: return [2 /*return*/];
626
- }
434
+ async infoScreen(options) {
435
+ options = options || {};
436
+ while (true) {
437
+ index_1.Helpers.clearConsole();
438
+ await this.header();
439
+ await this.infoMessageBelowHeader();
440
+ const choices = this.getWorkerTerminalActions(options);
441
+ const choice = await tnp_core_1.UtilsTerminal.select({
442
+ choices,
443
+ question: 'Choose action',
627
444
  });
628
- });
629
- };
445
+ const action = choices[choice].action;
446
+ const result = await action();
447
+ if (choice === 'exit' && result) {
448
+ break;
449
+ }
450
+ }
451
+ }
630
452
  //#endregion
631
453
  //#region protected methods / save process info
632
- BaseCliWorker.prototype.saveProcessInfo = function (processConfig) {
454
+ saveProcessInfo(processConfig) {
633
455
  //#region @backendFunc
634
456
  processConfig = processConfig || {};
635
457
  if (index_1.Helpers.exists(this.pathToProcessLocalInfoJson)) {
636
- var jsonConfig = index_1.Helpers.readJson(this.pathToProcessLocalInfoJson);
458
+ const jsonConfig = index_1.Helpers.readJson(this.pathToProcessLocalInfoJson);
637
459
  if (tnp_core_1._.isObject(jsonConfig) && Object.keys(jsonConfig).length > 0) {
638
460
  processConfig = tnp_core_1._.merge(jsonConfig, processConfig);
639
461
  }
640
462
  }
641
- index_1.Helpers.log("Saving process info to \"".concat(this.pathToProcessLocalInfoJson, "\"..."));
463
+ index_1.Helpers.log(`Saving process info to "${this.pathToProcessLocalInfoJson}"...`);
642
464
  index_1.Helpers.log(processConfig);
643
465
  index_1.Helpers.writeJson(this.pathToProcessLocalInfoJson, processConfig);
644
466
  //#endregion
645
- };
467
+ }
646
468
  //#endregion
647
469
  //#region protected methods / initialize worker
648
- BaseCliWorker.prototype.initializeWorkerMetadata = function () {
649
- return tslib_1.__awaiter(this, void 0, void 0, function () {
650
- var portControllerInstance, error_5;
651
- return tslib_1.__generator(this, function (_a) {
652
- switch (_a.label) {
653
- case 0:
654
- _a.trys.push([0, 3, , 4]);
655
- return [4 /*yield*/, this.getControllerForRemoteConnection()];
656
- case 1:
657
- portControllerInstance = _a.sent();
658
- return [4 /*yield*/, portControllerInstance.baseCLiWorkerCommand_initializeMetadata(this.serviceID, this.serviceVersion).received];
659
- case 2:
660
- _a.sent();
661
- this.saveProcessInfo({
662
- startTimestamp: null,
663
- });
664
- return [3 /*break*/, 4];
665
- case 3:
666
- error_5 = _a.sent();
667
- this.saveProcessInfo({
668
- startTimestamp: null,
669
- });
670
- index_1.Helpers.throw(error_5);
671
- return [3 /*break*/, 4];
672
- case 4: return [2 /*return*/];
673
- }
470
+ async initializeWorkerMetadata() {
471
+ //#region @backendFunc
472
+ try {
473
+ const portControllerInstance = await this.getControllerForRemoteConnection();
474
+ await portControllerInstance.baseCLiWorkerCommand_initializeMetadata(this.serviceID, this.serviceVersion).received;
475
+ this.saveProcessInfo({
476
+ startTimestamp: null,
674
477
  });
675
- });
676
- };
478
+ }
479
+ catch (error) {
480
+ this.saveProcessInfo({
481
+ startTimestamp: null,
482
+ });
483
+ index_1.Helpers.throw(error);
484
+ }
485
+ // process.on('SIGINT', () => {
486
+ // this.kill();
487
+ // });
488
+ //#endregion
489
+ }
677
490
  //#endregion
678
491
  //#region protected methods / wait for process port saved to disk
679
- BaseCliWorker.prototype.waitForProcessPortSavedToDisk = function () {
680
- return tslib_1.__awaiter(this, void 0, void 0, function () {
681
- var portForRemote, MAX_TRYS, i;
682
- return tslib_1.__generator(this, function (_a) {
683
- switch (_a.label) {
684
- case 0:
685
- portForRemote = this.processLocalInfoObj.port;
686
- MAX_TRYS = 10;
687
- i = 0;
688
- if (!!portForRemote) return [3 /*break*/, 5];
689
- _a.label = 1;
690
- case 1:
691
- if (!!portForRemote) return [3 /*break*/, 5];
692
- i++;
693
- portForRemote = this.processLocalInfoObj.port;
694
- if (!portForRemote) return [3 /*break*/, 2];
695
- return [3 /*break*/, 5];
696
- case 2:
697
- index_1.Helpers.log("Waiting for port to be available...");
698
- if (i > MAX_TRYS) {
699
- index_1.Helpers.throw("Can't get port for remote connection.." +
700
- " worker process did not start correctly");
701
- }
702
- return [4 /*yield*/, index_1.Helpers.wait(1)];
703
- case 3:
704
- _a.sent();
705
- _a.label = 4;
706
- case 4: return [3 /*break*/, 1];
707
- case 5: return [2 /*return*/];
492
+ async waitForProcessPortSavedToDisk() {
493
+ //#region @backendFunc
494
+ let portForRemote = this.processLocalInfoObj.port;
495
+ const MAX_TRYS = 10;
496
+ let i = 0;
497
+ if (!portForRemote) {
498
+ while (!portForRemote) {
499
+ i++;
500
+ portForRemote = this.processLocalInfoObj.port;
501
+ if (portForRemote) {
502
+ break;
708
503
  }
709
- });
710
- });
711
- };
504
+ else {
505
+ index_1.Helpers.log(`Waiting for port to be available...`);
506
+ if (i > MAX_TRYS) {
507
+ index_1.Helpers.throw(`Can't get port for remote connection..` +
508
+ ` worker process did not start correctly`);
509
+ }
510
+ await index_1.Helpers.wait(1);
511
+ }
512
+ }
513
+ }
514
+ //#endregion
515
+ }
712
516
  //#endregion
713
517
  //#region protected methods / get free port
714
- BaseCliWorker.prototype.getServicePort = function () {
715
- return tslib_1.__awaiter(this, void 0, void 0, function () {
716
- var port;
717
- return tslib_1.__generator(this, function (_a) {
718
- switch (_a.label) {
719
- case 0: return [4 /*yield*/, tnp_core_1.Utils.getFreePort({
720
- startFrom: START_PORT_FOR_SERVICES,
721
- })];
722
- case 1:
723
- port = _a.sent();
724
- this.saveProcessInfo({
725
- port: port,
726
- serviceID: this.serviceID,
727
- pid: process.pid,
728
- startTimestamp: Date.now(),
729
- version: this.serviceVersion,
730
- });
731
- return [2 /*return*/, port];
732
- }
733
- });
518
+ async getServicePort() {
519
+ //#region @backendFunc
520
+ const port = await tnp_core_1.Utils.getFreePort({
521
+ startFrom: START_PORT_FOR_SERVICES,
522
+ });
523
+ this.saveProcessInfo({
524
+ port,
525
+ serviceID: this.serviceID,
526
+ pid: process.pid,
527
+ startTimestamp: Date.now(),
528
+ version: this.serviceVersion,
734
529
  });
735
- };
736
- return BaseCliWorker;
737
- }());
530
+ return port;
531
+ //#endregion
532
+ }
533
+ }
738
534
  exports.BaseCliWorker = BaseCliWorker;
739
535
  //# sourceMappingURL=base-cli-worker.js.map