tnp-helpers 18.0.20 → 18.0.22

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