tnp-helpers 18.0.20 → 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 (521) hide show
  1. package/browser/esm2022/lib/base/classes/base-bower-json.mjs +14 -0
  2. package/browser/esm2022/lib/base/classes/base-cli-worker-config.mjs +1 -4
  3. package/browser/esm2022/lib/base/classes/base-cli-worker-controller.mjs +1 -1
  4. package/browser/esm2022/lib/base/classes/base-cli-worker.mjs +10 -2
  5. package/browser/esm2022/lib/base/classes/base-debounce-compiler-for-project.mjs +5 -5
  6. package/browser/esm2022/lib/base/classes/base-feature-for-project.mjs +4 -1
  7. package/browser/esm2022/lib/base/classes/base-git.mjs +229 -4
  8. package/browser/esm2022/lib/base/classes/base-json-file-reader.mjs +114 -0
  9. package/browser/esm2022/lib/base/classes/base-library-build.mjs +11 -7
  10. package/browser/esm2022/lib/base/classes/base-linked-projects.mjs +8 -5
  11. package/browser/esm2022/lib/base/classes/base-node-modules.mjs +495 -0
  12. package/browser/esm2022/lib/base/classes/base-npm-helpers.mjs +32 -429
  13. package/browser/esm2022/lib/base/classes/base-package-json.mjs +340 -0
  14. package/browser/esm2022/lib/base/classes/base-process-manager.mjs +285 -0
  15. package/browser/esm2022/lib/base/classes/base-project-resolver.mjs +2 -11
  16. package/browser/esm2022/lib/base/classes/base-project.mjs +76 -61
  17. package/browser/esm2022/lib/base/classes/base-quick-fixes.mjs +44 -1
  18. package/browser/esm2022/lib/base/classes/base-release-process.mjs +44 -11
  19. package/browser/esm2022/lib/base/classes/{base-github-pages.mjs → base-static-pages.mjs} +6 -6
  20. package/browser/esm2022/lib/base/classes/base-vscode.mjs +29 -1
  21. package/browser/esm2022/lib/base/classes/index.mjs +5 -1
  22. package/browser/esm2022/lib/base/commit-data.mjs +19 -1
  23. package/browser/esm2022/lib/base/core-project.mjs +3 -3
  24. package/browser/esm2022/lib/base/linked-project.mjs +4 -4
  25. package/browser/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +2 -4
  26. package/browser/esm2022/lib/base/translate.mjs +566 -0
  27. package/browser/esm2022/lib/helpers/helpers-array-obj.mjs +5 -10
  28. package/browser/esm2022/lib/helpers/helpers.mjs +12 -6
  29. package/browser/esm2022/lib/index.mjs +2 -1
  30. package/browser/esm2022/lib/models.mjs +173 -3
  31. package/browser/esm2022/lib/utils.mjs +402 -41
  32. package/browser/fesm2022/tnp-helpers.mjs +4619 -2888
  33. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  34. package/browser/lib/base/classes/base-bower-json.d.ts +35 -0
  35. package/browser/lib/base/classes/base-cli-worker.d.ts +1 -1
  36. package/browser/lib/base/classes/base-debounce-compiler-for-project.d.ts +5 -5
  37. package/browser/lib/base/classes/base-feature-for-project.d.ts +2 -1
  38. package/browser/lib/base/classes/base-git.d.ts +34 -5
  39. package/browser/lib/base/classes/base-json-file-reader.d.ts +72 -0
  40. package/browser/lib/base/classes/base-library-build.d.ts +5 -5
  41. package/browser/lib/base/classes/base-linked-projects.d.ts +1 -2
  42. package/browser/lib/base/classes/base-node-modules.d.ts +56 -0
  43. package/browser/lib/base/classes/base-npm-helpers.d.ts +29 -112
  44. package/browser/lib/base/classes/base-package-json.d.ts +107 -0
  45. package/browser/lib/base/classes/base-process-manager.d.ts +31 -0
  46. package/browser/lib/base/classes/base-project-resolver.d.ts +2 -2
  47. package/browser/lib/base/classes/base-project.d.ts +14 -16
  48. package/browser/lib/base/classes/base-quick-fixes.d.ts +3 -1
  49. package/browser/lib/base/classes/base-release-process.d.ts +8 -9
  50. package/browser/lib/base/classes/{base-github-pages.d.ts → base-static-pages.d.ts} +3 -3
  51. package/browser/lib/base/classes/base-vscode.d.ts +4 -0
  52. package/browser/lib/base/classes/index.d.ts +5 -1
  53. package/browser/lib/base/commit-data.d.ts +14 -1
  54. package/browser/lib/base/linked-project.d.ts +1 -1
  55. package/browser/lib/base/tcp-udp-ports/ports.entity.d.ts +1 -1
  56. package/browser/lib/base/translate.d.ts +228 -0
  57. package/browser/lib/helpers/helpers-array-obj.d.ts +3 -0
  58. package/browser/lib/helpers/helpers.d.ts +12 -8
  59. package/browser/lib/models.d.ts +68 -2
  60. package/browser/lib/utils.d.ts +72 -13
  61. package/client/esm2022/lib/base/classes/base-bower-json.mjs +14 -0
  62. package/client/esm2022/lib/base/classes/base-cli-worker-config.mjs +1 -4
  63. package/client/esm2022/lib/base/classes/base-cli-worker-controller.mjs +1 -1
  64. package/client/esm2022/lib/base/classes/base-cli-worker.mjs +10 -2
  65. package/client/esm2022/lib/base/classes/base-debounce-compiler-for-project.mjs +5 -5
  66. package/client/esm2022/lib/base/classes/base-feature-for-project.mjs +4 -1
  67. package/client/esm2022/lib/base/classes/base-git.mjs +229 -4
  68. package/client/esm2022/lib/base/classes/base-json-file-reader.mjs +114 -0
  69. package/client/esm2022/lib/base/classes/base-library-build.mjs +11 -7
  70. package/client/esm2022/lib/base/classes/base-linked-projects.mjs +8 -5
  71. package/client/esm2022/lib/base/classes/base-node-modules.mjs +495 -0
  72. package/client/esm2022/lib/base/classes/base-npm-helpers.mjs +32 -429
  73. package/client/esm2022/lib/base/classes/base-package-json.mjs +340 -0
  74. package/client/esm2022/lib/base/classes/base-process-manager.mjs +285 -0
  75. package/client/esm2022/lib/base/classes/base-project-resolver.mjs +2 -11
  76. package/client/esm2022/lib/base/classes/base-project.mjs +76 -61
  77. package/client/esm2022/lib/base/classes/base-quick-fixes.mjs +44 -1
  78. package/client/esm2022/lib/base/classes/base-release-process.mjs +44 -11
  79. package/client/esm2022/lib/base/classes/{base-github-pages.mjs → base-static-pages.mjs} +6 -6
  80. package/client/esm2022/lib/base/classes/base-vscode.mjs +29 -1
  81. package/client/esm2022/lib/base/classes/index.mjs +5 -1
  82. package/client/esm2022/lib/base/commit-data.mjs +19 -1
  83. package/client/esm2022/lib/base/core-project.mjs +3 -3
  84. package/client/esm2022/lib/base/linked-project.mjs +4 -4
  85. package/client/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +2 -4
  86. package/client/esm2022/lib/base/translate.mjs +566 -0
  87. package/client/esm2022/lib/helpers/helpers-array-obj.mjs +5 -10
  88. package/client/esm2022/lib/helpers/helpers.mjs +12 -6
  89. package/client/esm2022/lib/index.mjs +2 -1
  90. package/client/esm2022/lib/models.mjs +173 -3
  91. package/client/esm2022/lib/utils.mjs +402 -41
  92. package/client/fesm2022/tnp-helpers.mjs +4619 -2888
  93. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  94. package/client/lib/base/classes/base-bower-json.d.ts +35 -0
  95. package/client/lib/base/classes/base-cli-worker.d.ts +1 -1
  96. package/client/lib/base/classes/base-debounce-compiler-for-project.d.ts +5 -5
  97. package/client/lib/base/classes/base-feature-for-project.d.ts +2 -1
  98. package/client/lib/base/classes/base-git.d.ts +34 -5
  99. package/client/lib/base/classes/base-json-file-reader.d.ts +72 -0
  100. package/client/lib/base/classes/base-library-build.d.ts +5 -5
  101. package/client/lib/base/classes/base-linked-projects.d.ts +1 -2
  102. package/client/lib/base/classes/base-node-modules.d.ts +56 -0
  103. package/client/lib/base/classes/base-npm-helpers.d.ts +29 -112
  104. package/client/lib/base/classes/base-package-json.d.ts +107 -0
  105. package/client/lib/base/classes/base-process-manager.d.ts +31 -0
  106. package/client/lib/base/classes/base-project-resolver.d.ts +2 -2
  107. package/client/lib/base/classes/base-project.d.ts +14 -16
  108. package/client/lib/base/classes/base-quick-fixes.d.ts +3 -1
  109. package/client/lib/base/classes/base-release-process.d.ts +8 -9
  110. package/{websql/lib/base/classes/base-github-pages.d.ts → client/lib/base/classes/base-static-pages.d.ts} +3 -3
  111. package/client/lib/base/classes/base-vscode.d.ts +4 -0
  112. package/client/lib/base/classes/index.d.ts +5 -1
  113. package/client/lib/base/commit-data.d.ts +14 -1
  114. package/client/lib/base/linked-project.d.ts +1 -1
  115. package/client/lib/base/tcp-udp-ports/ports.entity.d.ts +1 -1
  116. package/client/lib/base/translate.d.ts +228 -0
  117. package/client/lib/helpers/helpers-array-obj.d.ts +3 -0
  118. package/client/lib/helpers/helpers.d.ts +12 -8
  119. package/client/lib/models.d.ts +68 -2
  120. package/client/lib/utils.d.ts +72 -13
  121. package/index.js +15 -2
  122. package/index.js.map +1 -1
  123. package/lib/base/base-cli-worker-config.d.ts +27 -0
  124. package/lib/base/base-cli-worker-config.js +53 -0
  125. package/lib/base/base-cli-worker-config.js.map +1 -0
  126. package/lib/base/base-cli-worker-controller.d.ts +15 -0
  127. package/lib/base/base-cli-worker-controller.js +154 -0
  128. package/lib/base/base-cli-worker-controller.js.map +1 -0
  129. package/lib/base/base-cli-worker.d.ts +82 -0
  130. package/lib/base/base-cli-worker.js +654 -0
  131. package/lib/base/base-cli-worker.js.map +1 -0
  132. package/lib/base/base-command-line.backend.d.ts +174 -0
  133. package/lib/base/base-command-line.backend.js +2221 -0
  134. package/lib/base/base-command-line.backend.js.map +1 -0
  135. package/lib/base/base-compiler-for-project.d.ts +7 -0
  136. package/lib/base/base-compiler-for-project.js +62 -0
  137. package/lib/base/base-compiler-for-project.js.map +1 -0
  138. package/lib/base/base-db.d.ts +12 -0
  139. package/lib/base/base-db.js +74 -0
  140. package/lib/base/base-db.js.map +1 -0
  141. package/lib/base/base-debounce-compiler-for-project.d.ts +28 -0
  142. package/lib/base/base-debounce-compiler-for-project.js +82 -0
  143. package/lib/base/base-debounce-compiler-for-project.js.map +1 -0
  144. package/lib/base/base-detached-service.d.ts +6 -0
  145. package/lib/base/base-detached-service.js +16 -0
  146. package/lib/base/base-detached-service.js.map +1 -0
  147. package/lib/base/base-feature-for-project.d.ts +5 -0
  148. package/lib/base/base-feature-for-project.js +11 -0
  149. package/lib/base/base-feature-for-project.js.map +1 -0
  150. package/lib/base/base-git.d.ts +148 -0
  151. package/lib/base/base-git.js +1202 -0
  152. package/lib/base/base-git.js.map +1 -0
  153. package/{client/lib/base/classes → lib/base}/base-github-pages.d.ts +4 -5
  154. package/lib/base/base-github-pages.js +173 -0
  155. package/lib/base/base-github-pages.js.map +1 -0
  156. package/lib/base/base-ignore-hide.d.ts +14 -0
  157. package/lib/base/base-ignore-hide.js +55 -0
  158. package/lib/base/base-ignore-hide.js.map +1 -0
  159. package/lib/base/base-library-build.d.ts +65 -0
  160. package/lib/base/base-library-build.js +717 -0
  161. package/lib/base/base-library-build.js.map +1 -0
  162. package/lib/base/base-linked-projects.d.ts +24 -0
  163. package/lib/base/base-linked-projects.js +408 -0
  164. package/lib/base/base-linked-projects.js.map +1 -0
  165. package/lib/base/base-npm-helpers.d.ts +128 -0
  166. package/lib/base/base-npm-helpers.js +774 -0
  167. package/lib/base/base-npm-helpers.js.map +1 -0
  168. package/lib/base/base-project-resolver.d.ts +41 -0
  169. package/lib/base/base-project-resolver.js +308 -0
  170. package/lib/base/base-project-resolver.js.map +1 -0
  171. package/lib/base/base-project.d.ts +244 -0
  172. package/lib/base/base-project.js +1223 -0
  173. package/lib/base/base-project.js.map +1 -0
  174. package/lib/base/base-quick-fixes.d.ts +6 -0
  175. package/lib/base/base-quick-fixes.js +31 -0
  176. package/lib/base/base-quick-fixes.js.map +1 -0
  177. package/lib/base/base-release-process.d.ts +69 -0
  178. package/lib/base/base-release-process.js +913 -0
  179. package/lib/base/base-release-process.js.map +1 -0
  180. package/lib/base/base-start-config.backend.d.ts +36 -0
  181. package/lib/base/base-start-config.backend.js +167 -0
  182. package/lib/base/base-start-config.backend.js.map +1 -0
  183. package/lib/base/base-vscode.d.ts +12 -0
  184. package/lib/base/base-vscode.js +139 -0
  185. package/lib/base/base-vscode.js.map +1 -0
  186. package/lib/base/classes/base-bower-json.d.ts +34 -0
  187. package/lib/base/classes/base-bower-json.js +19 -0
  188. package/lib/base/classes/base-bower-json.js.map +1 -0
  189. package/lib/base/classes/base-cli-worker-config.js +35 -24
  190. package/lib/base/classes/base-cli-worker-config.js.map +1 -1
  191. package/lib/base/classes/base-cli-worker-controller.js +98 -128
  192. package/lib/base/classes/base-cli-worker-controller.js.map +1 -1
  193. package/lib/base/classes/base-cli-worker.d.ts +1 -1
  194. package/lib/base/classes/base-cli-worker.js +402 -610
  195. package/lib/base/classes/base-cli-worker.js.map +1 -1
  196. package/lib/base/classes/base-command-line-feature.backend.d.ts +5 -9
  197. package/lib/base/classes/base-command-line-feature.backend.js +73 -132
  198. package/lib/base/classes/base-command-line-feature.backend.js.map +1 -1
  199. package/lib/base/classes/base-command-line.backend.d.ts +175 -0
  200. package/lib/base/classes/base-command-line.backend.js +2235 -0
  201. package/lib/base/classes/base-command-line.backend.js.map +1 -0
  202. package/lib/base/classes/base-compiler-for-project.js +27 -32
  203. package/lib/base/classes/base-compiler-for-project.js.map +1 -1
  204. package/lib/base/classes/base-db.js +43 -60
  205. package/lib/base/classes/base-db.js.map +1 -1
  206. package/lib/base/classes/base-debounce-compiler-for-project.d.ts +5 -5
  207. package/lib/base/classes/base-debounce-compiler-for-project.js +44 -70
  208. package/lib/base/classes/base-debounce-compiler-for-project.js.map +1 -1
  209. package/lib/base/classes/base-detached-service.js.map +1 -1
  210. package/lib/base/classes/base-feature-for-project.d.ts +2 -1
  211. package/lib/base/classes/base-feature-for-project.js +7 -4
  212. package/lib/base/classes/base-feature-for-project.js.map +1 -1
  213. package/lib/base/classes/base-git.d.ts +32 -3
  214. package/lib/base/classes/base-git.js +885 -975
  215. package/lib/base/classes/base-git.js.map +1 -1
  216. package/lib/base/classes/base-github-pages.js.map +1 -1
  217. package/lib/base/classes/base-global-command-line.backend.d.ts +7 -2
  218. package/lib/base/classes/base-global-command-line.backend.js +1055 -2021
  219. package/lib/base/classes/base-global-command-line.backend.js.map +1 -1
  220. package/lib/base/classes/base-ignore-hide.d.ts +2 -2
  221. package/lib/base/classes/base-ignore-hide.js +24 -28
  222. package/lib/base/classes/base-ignore-hide.js.map +1 -1
  223. package/lib/base/classes/base-json-file-reader.d.ts +71 -0
  224. package/lib/base/classes/base-json-file-reader.js +141 -0
  225. package/lib/base/classes/base-json-file-reader.js.map +1 -0
  226. package/lib/base/classes/base-library-build.d.ts +5 -6
  227. package/lib/base/classes/base-library-build.js +431 -653
  228. package/lib/base/classes/base-library-build.js.map +1 -1
  229. package/lib/base/classes/base-linked-projects.d.ts +1 -3
  230. package/lib/base/classes/base-linked-projects.js +200 -314
  231. package/lib/base/classes/base-linked-projects.js.map +1 -1
  232. package/lib/base/classes/base-node-modules.d.ts +55 -0
  233. package/lib/base/classes/base-node-modules.js +415 -0
  234. package/lib/base/classes/base-node-modules.js.map +1 -0
  235. package/lib/base/classes/base-npm-helpers.d.ts +29 -99
  236. package/lib/base/classes/base-npm-helpers.js +178 -737
  237. package/lib/base/classes/base-npm-helpers.js.map +1 -1
  238. package/lib/base/classes/base-package-json.d.ts +106 -0
  239. package/lib/base/classes/base-package-json.js +381 -0
  240. package/lib/base/classes/base-package-json.js.map +1 -0
  241. package/lib/base/classes/base-process-manager.d.ts +30 -0
  242. package/lib/base/classes/base-process-manager.js +269 -0
  243. package/lib/base/classes/base-process-manager.js.map +1 -0
  244. package/lib/base/classes/base-project-resolver.d.ts +2 -3
  245. package/lib/base/classes/base-project-resolver.js +102 -119
  246. package/lib/base/classes/base-project-resolver.js.map +1 -1
  247. package/lib/base/classes/base-project.d.ts +17 -15
  248. package/lib/base/classes/base-project.js +551 -733
  249. package/lib/base/classes/base-project.js.map +1 -1
  250. package/lib/base/classes/base-quick-fixes.d.ts +3 -1
  251. package/lib/base/classes/base-quick-fixes.js +45 -17
  252. package/lib/base/classes/base-quick-fixes.js.map +1 -1
  253. package/lib/base/classes/base-release-process.d.ts +8 -9
  254. package/lib/base/classes/base-release-process.js +482 -757
  255. package/lib/base/classes/base-release-process.js.map +1 -1
  256. package/lib/base/classes/base-start-config.backend.js +115 -99
  257. package/lib/base/classes/base-start-config.backend.js.map +1 -1
  258. package/lib/base/classes/base-static-pages.d.ts +14 -0
  259. package/lib/base/classes/base-static-pages.js +105 -0
  260. package/lib/base/classes/base-static-pages.js.map +1 -0
  261. package/lib/base/classes/base-vscode.d.ts +4 -0
  262. package/lib/base/classes/base-vscode.js +446 -426
  263. package/lib/base/classes/base-vscode.js.map +1 -1
  264. package/lib/base/classes/index copy.d.ts +22 -0
  265. package/lib/base/classes/index copy.js +28 -0
  266. package/lib/base/classes/index copy.js.map +1 -0
  267. package/lib/base/classes/index.d.ts +4 -0
  268. package/lib/base/classes/index.js +36 -19
  269. package/lib/base/classes/index.js.map +1 -1
  270. package/lib/base/command-line-feature.backend.d.ts +51 -0
  271. package/lib/base/command-line-feature.backend.js +206 -0
  272. package/lib/base/command-line-feature.backend.js.map +1 -0
  273. package/lib/base/commit-data.d.ts +14 -1
  274. package/lib/base/commit-data.js +408 -460
  275. package/lib/base/commit-data.js.map +1 -1
  276. package/lib/base/config-database.js +33 -61
  277. package/lib/base/config-database.js.map +1 -1
  278. package/lib/base/core-project.js +110 -146
  279. package/lib/base/core-project.js.map +1 -1
  280. package/lib/base/gh-temp-code.d.ts +1 -0
  281. package/lib/base/gh-temp-code.js +62 -104
  282. package/lib/base/gh-temp-code.js.map +1 -1
  283. package/lib/base/index-rebuilder.backend.d.ts +1 -0
  284. package/lib/base/index-rebuilder.backend.js.map +1 -1
  285. package/lib/base/index.js +20 -7
  286. package/lib/base/index.js.map +1 -1
  287. package/lib/base/linked-project.d.ts +1 -1
  288. package/lib/base/linked-project.js +59 -38
  289. package/lib/base/linked-project.js.map +1 -1
  290. package/lib/base/ports-worker.d.ts +32 -0
  291. package/lib/base/ports-worker.js +244 -0
  292. package/lib/base/ports-worker.js.map +1 -0
  293. package/lib/base/project-database.js +12 -22
  294. package/lib/base/project-database.js.map +1 -1
  295. package/lib/base/tcp-udp-ports/index.js +17 -4
  296. package/lib/base/tcp-udp-ports/index.js.map +1 -1
  297. package/lib/base/tcp-udp-ports/not-assignable-port.entity.d.ts +1 -0
  298. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js +2 -2
  299. package/lib/base/tcp-udp-ports/not-assignable-port.entity.js.map +1 -1
  300. package/lib/base/tcp-udp-ports/port.entity.d.ts +0 -0
  301. package/lib/base/tcp-udp-ports/port.entity.js +5 -0
  302. package/lib/base/tcp-udp-ports/port.entity.js.map +1 -0
  303. package/lib/base/tcp-udp-ports/ports.controller.js +195 -283
  304. package/lib/base/tcp-udp-ports/ports.controller.js.map +1 -1
  305. package/lib/base/tcp-udp-ports/ports.entity.d.ts +2 -2
  306. package/lib/base/tcp-udp-ports/ports.entity.js +74 -62
  307. package/lib/base/tcp-udp-ports/ports.entity.js.map +1 -1
  308. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.js +11 -14
  309. package/lib/base/tcp-udp-ports/tcp-udp-ports.context.js.map +1 -1
  310. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js +244 -427
  311. package/lib/base/tcp-udp-ports/tcp-upd-ports.worker.js.map +1 -1
  312. package/lib/base/tcp-upd-ports.worker.d.ts +13 -0
  313. package/lib/base/tcp-upd-ports.worker.js +99 -0
  314. package/lib/base/tcp-upd-ports.worker.js.map +1 -0
  315. package/lib/base/translate.d.ts +1 -1
  316. package/lib/base/translate.js +90 -119
  317. package/lib/base/translate.js.map +1 -1
  318. package/lib/build-info._auto-generated_.js.map +1 -1
  319. package/lib/helpers/for-backend/helpers-cli-tool.backend.js +109 -115
  320. package/lib/helpers/for-backend/helpers-cli-tool.backend.js.map +1 -1
  321. package/lib/helpers/for-backend/helpers-console-gui.js +55 -102
  322. package/lib/helpers/for-backend/helpers-console-gui.js.map +1 -1
  323. package/lib/helpers/for-backend/helpers-dependencies.backend.js +28 -45
  324. package/lib/helpers/for-backend/helpers-dependencies.backend.js.map +1 -1
  325. package/lib/helpers/for-backend/helpers-file-folders.backend.d.ts +2 -2
  326. package/lib/helpers/for-backend/helpers-file-folders.backend.js +277 -266
  327. package/lib/helpers/for-backend/helpers-file-folders.backend.js.map +1 -1
  328. package/lib/helpers/for-backend/helpers-git.backend.d.ts +28 -3
  329. package/lib/helpers/for-backend/helpers-git.backend.js +804 -864
  330. package/lib/helpers/for-backend/helpers-git.backend.js.map +1 -1
  331. package/lib/helpers/for-backend/helpers-network.backend.js +15 -18
  332. package/lib/helpers/for-backend/helpers-network.backend.js.map +1 -1
  333. package/lib/helpers/for-backend/helpers-npm.backend.js +5 -8
  334. package/lib/helpers/for-backend/helpers-npm.backend.js.map +1 -1
  335. package/lib/helpers/for-backend/helpers-path.backend.js +18 -26
  336. package/lib/helpers/for-backend/helpers-path.backend.js.map +1 -1
  337. package/lib/helpers/for-backend/helpers-process.backend.d.ts +2 -2
  338. package/lib/helpers/for-backend/helpers-process.backend.js +285 -363
  339. package/lib/helpers/for-backend/helpers-process.backend.js.map +1 -1
  340. package/lib/helpers/for-backend/helpers-system-terminal.backend.js +25 -42
  341. package/lib/helpers/for-backend/helpers-system-terminal.backend.js.map +1 -1
  342. package/lib/helpers/for-backend/helpers-vscode.backend.js +9 -12
  343. package/lib/helpers/for-backend/helpers-vscode.backend.js.map +1 -1
  344. package/lib/helpers/for-backend/ts-code/index.js +0 -2
  345. package/lib/helpers/for-backend/ts-code/index.js.map +1 -1
  346. package/lib/helpers/for-backend/ts-code/ts-code-extractor.d.ts +26 -0
  347. package/lib/helpers/for-backend/ts-code/ts-code-extractor.js +62 -0
  348. package/lib/helpers/for-backend/ts-code/ts-code-extractor.js.map +1 -0
  349. package/lib/helpers/for-backend/ts-code/ts-code-modifier.backend.d.ts +19 -0
  350. package/lib/helpers/for-backend/ts-code/ts-code-modifier.backend.js +81 -0
  351. package/lib/helpers/for-backend/ts-code/ts-code-modifier.backend.js.map +1 -0
  352. package/lib/helpers/for-backend/ts-code/ts-import-export-extractor.js +2 -2
  353. package/lib/helpers/for-backend/ts-code/ts-import-export-extractor.js.map +1 -1
  354. package/lib/helpers/for-browser/angular.helper.js +2 -2
  355. package/lib/helpers/for-browser/angular.helper.js.map +1 -1
  356. package/lib/helpers/for-browser/helpers-browser.js +27 -40
  357. package/lib/helpers/for-browser/helpers-browser.js.map +1 -1
  358. package/lib/helpers/helpers-array-obj.d.ts +3 -0
  359. package/lib/helpers/helpers-array-obj.js +49 -61
  360. package/lib/helpers/helpers-array-obj.js.map +1 -1
  361. package/lib/helpers/helpers-json5.backend.js +44 -55
  362. package/lib/helpers/helpers-json5.backend.js.map +1 -1
  363. package/lib/helpers/helpers-numbers.js +7 -10
  364. package/lib/helpers/helpers-numbers.js.map +1 -1
  365. package/lib/helpers/helpers-strings-regexes.js +40 -47
  366. package/lib/helpers/helpers-strings-regexes.js.map +1 -1
  367. package/lib/helpers/helpers-strings.js +38 -41
  368. package/lib/helpers/helpers-strings.js.map +1 -1
  369. package/lib/helpers/helpers.d.ts +12 -8
  370. package/lib/helpers/helpers.js +313 -393
  371. package/lib/helpers/helpers.js.map +1 -1
  372. package/lib/index._auto-generated_.d.ts +1 -0
  373. package/lib/index._auto-generated_.js.map +1 -1
  374. package/lib/index.d.ts +2 -1
  375. package/lib/index.js +21 -7
  376. package/lib/index.js.map +1 -1
  377. package/lib/lowdb/adapters/Memory.js +14 -20
  378. package/lib/lowdb/adapters/Memory.js.map +1 -1
  379. package/lib/lowdb/adapters/browser/LocalStorage.js +5 -8
  380. package/lib/lowdb/adapters/browser/LocalStorage.js.map +1 -1
  381. package/lib/lowdb/adapters/browser/SessionStorage.js +5 -8
  382. package/lib/lowdb/adapters/browser/SessionStorage.js.map +1 -1
  383. package/lib/lowdb/adapters/browser/WebStorage.js +10 -9
  384. package/lib/lowdb/adapters/browser/WebStorage.js.map +1 -1
  385. package/lib/lowdb/adapters/node/DataFile.js +29 -38
  386. package/lib/lowdb/adapters/node/DataFile.js.map +1 -1
  387. package/lib/lowdb/adapters/node/JSONFile.js +13 -18
  388. package/lib/lowdb/adapters/node/JSONFile.js.map +1 -1
  389. package/lib/lowdb/adapters/node/TextFile.js +36 -44
  390. package/lib/lowdb/adapters/node/TextFile.js.map +1 -1
  391. package/lib/lowdb/adapters/node/steno.js +72 -122
  392. package/lib/lowdb/adapters/node/steno.js.map +1 -1
  393. package/lib/lowdb/browser.js +17 -4
  394. package/lib/lowdb/browser.js.map +1 -1
  395. package/lib/lowdb/core/Low.js +30 -60
  396. package/lib/lowdb/core/Low.js.map +1 -1
  397. package/lib/lowdb/examples/browser.js.map +1 -1
  398. package/lib/lowdb/examples/cli.d.ts +1 -0
  399. package/lib/lowdb/examples/cli.js.map +1 -1
  400. package/lib/lowdb/examples/in-memory.d.ts +1 -0
  401. package/lib/lowdb/examples/in-memory.js.map +1 -1
  402. package/lib/lowdb/examples/server.d.ts +1 -0
  403. package/lib/lowdb/examples/server.js.map +1 -1
  404. package/lib/lowdb/index.js +16 -3
  405. package/lib/lowdb/index.js.map +1 -1
  406. package/lib/lowdb/node.js +18 -5
  407. package/lib/lowdb/node.js.map +1 -1
  408. package/lib/lowdb/presets/browser.js +7 -7
  409. package/lib/lowdb/presets/browser.js.map +1 -1
  410. package/lib/lowdb/presets/node.js +12 -23
  411. package/lib/lowdb/presets/node.js.map +1 -1
  412. package/lib/models.d.ts +68 -2
  413. package/lib/models.js +197 -3
  414. package/lib/models.js.map +1 -1
  415. package/lib/old/base-component.d.ts +1 -0
  416. package/lib/old/base-component.js +2 -2
  417. package/lib/old/base-component.js.map +1 -1
  418. package/lib/old/base-formly-component.d.ts +1 -0
  419. package/lib/old/base-formly-component.js +2 -2
  420. package/lib/old/base-formly-component.js.map +1 -1
  421. package/lib/old/condition-wait.d.ts +1 -0
  422. package/lib/old/condition-wait.js.map +1 -1
  423. package/lib/old/dual-component-ctrl.d.ts +1 -0
  424. package/lib/old/dual-component-ctrl.js +2 -2
  425. package/lib/old/dual-component-ctrl.js.map +1 -1
  426. package/lib/old/execute-command.d.ts +11 -0
  427. package/lib/old/execute-command.js +564 -0
  428. package/lib/old/execute-command.js.map +1 -0
  429. package/lib/old/helpers.d.ts +62 -0
  430. package/lib/old/helpers.js +279 -0
  431. package/lib/old/helpers.js.map +1 -0
  432. package/lib/old/models.d.ts +80 -0
  433. package/lib/old/models.js +57 -0
  434. package/lib/old/models.js.map +1 -0
  435. package/lib/utils.d.ts +72 -13
  436. package/lib/utils.js +502 -179
  437. package/lib/utils.js.map +1 -1
  438. package/lib/validators/validators-firedev.js +5 -5
  439. package/lib/validators/validators-firedev.js.map +1 -1
  440. package/lib/validators/validators-git.js +2 -2
  441. package/lib/validators/validators-git.js.map +1 -1
  442. package/lib/validators/validators-network.js +1 -1
  443. package/lib/validators/validators-network.js.map +1 -1
  444. package/lib/validators/validators.js +2 -2
  445. package/lib/validators/validators.js.map +1 -1
  446. package/migrations/1736198527297_init.js +39 -58
  447. package/migrations/1736198527297_init.js.map +1 -1
  448. package/migrations/1736199486472_addingNotAssignablePorts.js +42 -93
  449. package/migrations/1736199486472_addingNotAssignablePorts.js.map +1 -1
  450. package/migrations/1736454437350_addFreePorts.js +48 -100
  451. package/migrations/1736454437350_addFreePorts.js.map +1 -1
  452. package/migrations/index.js +15 -2
  453. package/migrations/index.js.map +1 -1
  454. package/migrations/migrations_index._auto-generated_.js +3 -3
  455. package/migrations/migrations_index._auto-generated_.js.map +1 -1
  456. package/package.json +14 -61
  457. package/src.d.ts +1 -1
  458. package/taon.jsonc +26 -41
  459. package/tmp-environment.json +8 -389
  460. package/websql/esm2022/lib/base/classes/base-bower-json.mjs +14 -0
  461. package/websql/esm2022/lib/base/classes/base-cli-worker-config.mjs +1 -4
  462. package/websql/esm2022/lib/base/classes/base-cli-worker-controller.mjs +1 -1
  463. package/websql/esm2022/lib/base/classes/base-cli-worker.mjs +10 -2
  464. package/websql/esm2022/lib/base/classes/base-debounce-compiler-for-project.mjs +5 -5
  465. package/websql/esm2022/lib/base/classes/base-feature-for-project.mjs +4 -1
  466. package/websql/esm2022/lib/base/classes/base-git.mjs +229 -4
  467. package/websql/esm2022/lib/base/classes/base-json-file-reader.mjs +114 -0
  468. package/websql/esm2022/lib/base/classes/base-library-build.mjs +11 -7
  469. package/websql/esm2022/lib/base/classes/base-linked-projects.mjs +8 -5
  470. package/websql/esm2022/lib/base/classes/base-node-modules.mjs +495 -0
  471. package/websql/esm2022/lib/base/classes/base-npm-helpers.mjs +32 -429
  472. package/websql/esm2022/lib/base/classes/base-package-json.mjs +340 -0
  473. package/websql/esm2022/lib/base/classes/base-process-manager.mjs +285 -0
  474. package/websql/esm2022/lib/base/classes/base-project-resolver.mjs +2 -10
  475. package/websql/esm2022/lib/base/classes/base-project.mjs +75 -61
  476. package/websql/esm2022/lib/base/classes/base-quick-fixes.mjs +44 -1
  477. package/websql/esm2022/lib/base/classes/base-release-process.mjs +44 -11
  478. package/websql/esm2022/lib/base/classes/{base-github-pages.mjs → base-static-pages.mjs} +6 -6
  479. package/websql/esm2022/lib/base/classes/base-vscode.mjs +29 -1
  480. package/websql/esm2022/lib/base/classes/index.mjs +5 -1
  481. package/websql/esm2022/lib/base/commit-data.mjs +19 -1
  482. package/websql/esm2022/lib/base/core-project.mjs +3 -3
  483. package/websql/esm2022/lib/base/linked-project.mjs +4 -4
  484. package/websql/esm2022/lib/base/tcp-udp-ports/tcp-udp-ports.context.mjs +2 -4
  485. package/websql/esm2022/lib/base/translate.mjs +566 -0
  486. package/websql/esm2022/lib/helpers/helpers-array-obj.mjs +5 -10
  487. package/websql/esm2022/lib/helpers/helpers.mjs +12 -6
  488. package/websql/esm2022/lib/index.mjs +2 -1
  489. package/websql/esm2022/lib/models.mjs +173 -3
  490. package/websql/esm2022/lib/utils.mjs +402 -41
  491. package/websql/fesm2022/tnp-helpers.mjs +4738 -3007
  492. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  493. package/websql/lib/base/classes/base-bower-json.d.ts +35 -0
  494. package/websql/lib/base/classes/base-cli-worker.d.ts +1 -1
  495. package/websql/lib/base/classes/base-debounce-compiler-for-project.d.ts +5 -5
  496. package/websql/lib/base/classes/base-feature-for-project.d.ts +2 -1
  497. package/websql/lib/base/classes/base-git.d.ts +34 -5
  498. package/websql/lib/base/classes/base-json-file-reader.d.ts +72 -0
  499. package/websql/lib/base/classes/base-library-build.d.ts +5 -5
  500. package/websql/lib/base/classes/base-linked-projects.d.ts +1 -2
  501. package/websql/lib/base/classes/base-node-modules.d.ts +56 -0
  502. package/websql/lib/base/classes/base-npm-helpers.d.ts +29 -110
  503. package/websql/lib/base/classes/base-package-json.d.ts +107 -0
  504. package/websql/lib/base/classes/base-process-manager.d.ts +31 -0
  505. package/websql/lib/base/classes/base-project-resolver.d.ts +2 -2
  506. package/websql/lib/base/classes/base-project.d.ts +14 -16
  507. package/websql/lib/base/classes/base-quick-fixes.d.ts +3 -1
  508. package/websql/lib/base/classes/base-release-process.d.ts +8 -9
  509. package/websql/lib/base/classes/base-static-pages.d.ts +15 -0
  510. package/websql/lib/base/classes/base-vscode.d.ts +4 -0
  511. package/websql/lib/base/classes/index.d.ts +5 -1
  512. package/websql/lib/base/commit-data.d.ts +14 -1
  513. package/websql/lib/base/linked-project.d.ts +1 -1
  514. package/websql/lib/base/tcp-udp-ports/ports.entity.d.ts +1 -1
  515. package/websql/lib/base/translate.d.ts +228 -0
  516. package/websql/lib/helpers/helpers-array-obj.d.ts +3 -0
  517. package/websql/lib/helpers/helpers.d.ts +12 -8
  518. package/websql/lib/models.d.ts +68 -2
  519. package/websql/lib/utils.d.ts +72 -13
  520. package/browser/package.json +0 -25
  521. package/websql/package.json +0 -25
@@ -1,840 +1,565 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseReleaseProcess = void 0;
4
- var tslib_1 = require("tslib");
4
+ //#region imports
5
+ const tnp_config_1 = require("tnp-config");
6
+ const tnp_core_1 = require("tnp-core");
7
+ const index_1 = require("../../index");
8
+ const commit_data_1 = require("../commit-data");
9
+ const base_feature_for_project_1 = require("./base-feature-for-project");
5
10
  //#endregion
6
- var index_1 = require("../../index");
7
- var base_feature_for_project_1 = require("./base-feature-for-project");
8
- var tnp_core_1 = require("tnp-core");
9
- var commit_data_1 = require("../commit-data");
10
- var tnp_config_1 = require("tnp-config");
11
- //#endregion
12
- var BaseReleaseProcess = /** @class */ (function (_super) {
13
- tslib_1.__extends(BaseReleaseProcess, _super);
14
- function BaseReleaseProcess() {
15
- var _this = _super.apply(this, tslib_1.__spreadArray([], tslib_1.__read(arguments), false)) || this;
16
- /**
17
- * Automatic release process of patch plus one version
18
- */
19
- _this.automaticRelease = false;
20
- _this.commitsForChangelog = [];
21
- return _this;
22
- //#endregion
23
- }
11
+ class BaseReleaseProcess extends base_feature_for_project_1.BaseFeatureForProject {
12
+ //#region fields
13
+ /**
14
+ * Automatic release process of patch plus one version
15
+ */
16
+ automaticRelease = false;
17
+ versionType;
18
+ preReleaseVersionTag;
19
+ lastChangesSummary;
20
+ newVersion;
21
+ commitsForChangelog = [];
24
22
  //#endregion
25
23
  //#region methods & getters / start release
26
- BaseReleaseProcess.prototype.startRelease = function (options) {
24
+ startRelease(options) {
27
25
  throw new Error('Method not implemented.');
28
- };
26
+ }
29
27
  //#endregion
30
28
  //#region methods & getters / get release words
31
- BaseReleaseProcess.prototype.getReleaseWords = function () {
29
+ getReleaseWords() {
32
30
  return ['release'];
33
- };
34
- //#endregion
35
- //#region methods & getters / reinstall node modules
36
- BaseReleaseProcess.prototype.reinstallNodeModules = function () {
37
- return tslib_1.__awaiter(this, void 0, void 0, function () {
38
- return tslib_1.__generator(this, function (_a) {
39
- switch (_a.label) {
40
- case 0:
41
- index_1.Helpers.taskStarted("Reinstalling node_modules to recreate package-lock.json");
42
- return [4 /*yield*/, this.project.npmHelpers.reinstallNodeModules()];
43
- case 1:
44
- _a.sent();
45
- index_1.Helpers.taskDone("Reinstalling node_modules to recreate package-lock.json");
46
- return [2 /*return*/];
47
- }
48
- });
49
- });
50
- };
31
+ }
51
32
  //#endregion
52
33
  //#region methods & getters / select changelog commits
53
- BaseReleaseProcess.prototype.selectChangelogCommits = function () {
54
- return tslib_1.__awaiter(this, void 0, void 0, function () {
55
- var data, useAllCommitsForChangelog, choices;
56
- return tslib_1.__generator(this, function (_a) {
57
- switch (_a.label) {
58
- case 0: return [4 /*yield*/, this.getCommitsUpToReleaseCommit()];
59
- case 1:
60
- data = _a.sent();
61
- index_1.Helpers.info("Last commits up to release commiut:\n" +
62
- data.map(function (d) { return "- ".concat(d.commitMessages); }).join('\n'));
63
- return [4 /*yield*/, index_1.Helpers.questionYesNo('Use all commits for changelog ?')];
64
- case 2:
65
- useAllCommitsForChangelog = _a.sent();
66
- if (useAllCommitsForChangelog) {
67
- return [2 /*return*/, data];
68
- }
69
- return [4 /*yield*/, index_1.Helpers.consoleGui.multiselect('Select commits to add to changelog', data.map(function (d) {
70
- var _a;
71
- return {
72
- name: d.commitMessages,
73
- value: (_a = d.index) === null || _a === void 0 ? void 0 : _a.toString(),
74
- };
75
- }))];
76
- case 3:
77
- choices = _a.sent();
78
- return [2 /*return*/, choices.map(function (v) {
79
- return data.find(function (d) { return d.index.toString() === v; });
80
- })];
81
- }
82
- });
34
+ async selectChangelogCommits() {
35
+ //#region @backendFunc
36
+ const data = await this.getCommitsUpToReleaseCommit();
37
+ index_1.Helpers.info(`Last commits up to release commiut:\n` +
38
+ data.map(d => `- ${d.commitMessages}`).join('\n'));
39
+ const useAllCommitsForChangelog = await index_1.Helpers.questionYesNo('Use all commits for changelog ?');
40
+ if (useAllCommitsForChangelog) {
41
+ return data;
42
+ }
43
+ const choices = await index_1.Helpers.consoleGui.multiselect('Select commits to add to changelog', data.map(d => {
44
+ return {
45
+ name: d.commitMessages,
46
+ value: d.index?.toString(),
47
+ };
48
+ }));
49
+ return choices.map(v => {
50
+ return data.find(d => d.index.toString() === v);
83
51
  });
84
- };
52
+ //#endregion
53
+ }
85
54
  //#endregion
86
55
  //#region methods & getters / get commits up to release commit
87
- BaseReleaseProcess.prototype.getCommitsUpToReleaseCommit = function () {
88
- return tslib_1.__awaiter(this, void 0, void 0, function () {
89
- var lastReleaseCommitData, commits, index, commitMessages;
90
- return tslib_1.__generator(this, function (_a) {
91
- switch (_a.label) {
92
- case 0: return [4 /*yield*/, this.getLastReleaseCommitData()];
93
- case 1:
94
- lastReleaseCommitData = _a.sent();
95
- if (!(lastReleaseCommitData.index !== -1)) return [3 /*break*/, 6];
96
- commits = [];
97
- index = 0;
98
- _a.label = 2;
99
- case 2:
100
- if (!(index < lastReleaseCommitData.index)) return [3 /*break*/, 5];
101
- return [4 /*yield*/, this.project.git.getCommitMessageByIndex(index)];
102
- case 3:
103
- commitMessages = _a.sent();
104
- commits.push({ commitMessages: commitMessages, index: index });
105
- _a.label = 4;
106
- case 4:
107
- index++;
108
- return [3 /*break*/, 2];
109
- case 5: return [2 /*return*/, commits];
110
- case 6: return [2 /*return*/, []];
111
- }
112
- });
113
- });
114
- };
56
+ async getCommitsUpToReleaseCommit() {
57
+ //#region @backendFunc
58
+ const lastReleaseCommitData = await this.getLastReleaseCommitData();
59
+ // console.log({ lastReleaseCommitData });
60
+ if (lastReleaseCommitData.index !== -1) {
61
+ const commits = [];
62
+ for (let index = 0; index < lastReleaseCommitData.index; index++) {
63
+ const commitMessages = await this.project.git.getCommitMessageByIndex(index);
64
+ commits.push({ commitMessages, index });
65
+ }
66
+ return commits;
67
+ }
68
+ return [];
69
+ //#endregion
70
+ }
115
71
  //#endregion
116
72
  //#region methods & getters / publish to npm
117
- BaseReleaseProcess.prototype.publishToNpm = function () {
118
- return tslib_1.__awaiter(this, void 0, void 0, function () {
119
- var editor, error_1;
120
- return tslib_1.__generator(this, function (_a) {
121
- switch (_a.label) {
122
- case 0:
123
- if (!!this.automaticRelease) return [3 /*break*/, 7];
124
- return [4 /*yield*/, index_1.Helpers.questionYesNo("Publish packages to npm (yes) ? ..or it's just a version bump (no)")];
125
- case 1:
126
- if (!(_a.sent())) {
127
- return [2 /*return*/, true];
128
- }
129
- return [4 /*yield*/, index_1.Helpers.questionYesNo("Preview compiled code before publish ?")];
130
- case 2:
131
- if (!_a.sent()) return [3 /*break*/, 7];
132
- _a.label = 3;
133
- case 3:
134
- _a.trys.push([3, 5, , 6]);
135
- return [4 /*yield*/, this.project.ins.configDb.getCodeEditor()];
136
- case 4:
137
- editor = _a.sent();
138
- this.project.run("cd dist && ".concat(editor, " ."), { output: true }).sync();
139
- return [3 /*break*/, 6];
140
- case 5:
141
- error_1 = _a.sent();
142
- return [3 /*break*/, 6];
143
- case 6:
144
- index_1.Helpers.pressKeyOrWait("Press any key to continue");
145
- _a.label = 7;
146
- case 7: return [4 /*yield*/, index_1.Helpers.questionYesNo("Publish ".concat(this.newVersion, " to npm ?"))];
147
- case 8:
148
- if (!(_a.sent())) {
149
- return [2 /*return*/, false];
150
- }
151
- return [4 /*yield*/, this.project.publish()];
152
- case 9:
153
- _a.sent();
154
- return [2 /*return*/, true];
73
+ /**
74
+ * @returns true if publish , faslse if just version bump
75
+ */
76
+ async publishToNpm(cwdForCode = this.project.pathFor('dist'), automaticRelease = this.automaticRelease) {
77
+ //#region @backendFunc
78
+ if (!automaticRelease) {
79
+ if (await tnp_core_1.UtilsTerminal.confirm({
80
+ message: `Do you wanna check compiled version before publishing ?`,
81
+ defaultValue: true,
82
+ })) {
83
+ try {
84
+ const editor = await this.project.ins.configDb.getCodeEditor();
85
+ index_1.Helpers.run(`${editor} .`, {
86
+ output: true,
87
+ cwd: cwdForCode,
88
+ }).sync();
155
89
  }
156
- });
157
- });
158
- };
90
+ catch (error) { }
91
+ }
92
+ while (true) {
93
+ const publishOpt = {
94
+ select: {
95
+ name: '< select option below >',
96
+ },
97
+ bump: {
98
+ name: 'Just bump version',
99
+ },
100
+ publish: {
101
+ name: 'Publish to npm',
102
+ },
103
+ };
104
+ const selected = await tnp_core_1.UtilsTerminal.select({
105
+ question: `Select publish option`,
106
+ choices: publishOpt,
107
+ });
108
+ if (selected === 'bump') {
109
+ return true;
110
+ }
111
+ if (selected === 'publish') {
112
+ break;
113
+ }
114
+ }
115
+ }
116
+ await this.project.publish();
117
+ return true;
118
+ //#endregion
119
+ }
159
120
  //#endregion
160
121
  //#region methods & getters / test after publish
161
- BaseReleaseProcess.prototype.testAfterPublish = function () {
162
- return tslib_1.__awaiter(this, void 0, void 0, function () {
163
- return tslib_1.__generator(this, function (_a) {
164
- switch (_a.label) {
165
- case 0:
166
- if (!!this.automaticRelease) return [3 /*break*/, 3];
167
- return [4 /*yield*/, index_1.Helpers.questionYesNo("Do you want to run test after fresh install (and before release commit ?) ?")];
168
- case 1:
169
- if (!_a.sent()) return [3 /*break*/, 3];
170
- return [4 /*yield*/, this.testLibraries()];
171
- case 2:
172
- if (!(_a.sent())) {
173
- index_1.Helpers.pressKeyOrWait("Test failed.. starting release again.. press any key to continue");
174
- return [2 /*return*/, false];
175
- }
176
- _a.label = 3;
177
- case 3: return [2 /*return*/, true];
122
+ async testAfterPublish() {
123
+ //#region @backendFunc
124
+ if (!this.automaticRelease) {
125
+ if (await index_1.Helpers.questionYesNo(`Do you want to run test after fresh install (and before release commit ?) ?`)) {
126
+ if (!(await this.testLibraries())) {
127
+ index_1.Helpers.pressKeyOrWait(`Test failed.. starting release again.. press any key to continue`);
128
+ return false;
178
129
  }
179
- });
180
- });
181
- };
130
+ }
131
+ }
132
+ return true;
133
+ //#endregion
134
+ }
182
135
  //#endregion
183
136
  //#region methods & getters / test before publish
184
- BaseReleaseProcess.prototype.testBeforePublish = function () {
185
- return tslib_1.__awaiter(this, void 0, void 0, function () {
186
- return tslib_1.__generator(this, function (_a) {
187
- switch (_a.label) {
188
- case 0:
189
- if (!!this.automaticRelease) return [3 /*break*/, 3];
190
- return [4 /*yield*/, index_1.Helpers.questionYesNo("Do you want to run test before npm publish ?")];
191
- case 1:
192
- if (!_a.sent()) return [3 /*break*/, 3];
193
- return [4 /*yield*/, this.testLibraries()];
194
- case 2:
195
- if (!(_a.sent())) {
196
- index_1.Helpers.pressKeyOrWait("Test failed.. starting release again.. press any key to continue");
197
- return [2 /*return*/, false];
198
- }
199
- _a.label = 3;
200
- case 3: return [2 /*return*/, true];
137
+ async testBeforePublish() {
138
+ //#region @backendFunc
139
+ if (!this.automaticRelease) {
140
+ if (await index_1.Helpers.questionYesNo(`Do you want to run test before npm publish ?`)) {
141
+ if (!(await this.testLibraries())) {
142
+ index_1.Helpers.pressKeyOrWait(`Test failed.. starting release again.. press any key to continue`);
143
+ return false;
201
144
  }
202
- });
203
- });
204
- };
145
+ }
146
+ }
147
+ return true;
148
+ //#endregion
149
+ }
205
150
  //#endregion
206
151
  //#region methods & getters / commit and push
207
- BaseReleaseProcess.prototype.commitAndPush = function () {
208
- return tslib_1.__awaiter(this, void 0, void 0, function () {
209
- var releaseCommitMessage, lastCommitMessage, jiraNumbers, args;
210
- return tslib_1.__generator(this, function (_a) {
211
- switch (_a.label) {
212
- case 0:
213
- releaseCommitMessage = this.releaseCommitTemplate();
214
- return [4 /*yield*/, this.project.git.penultimateCommitMessage()];
215
- case 1:
216
- lastCommitMessage = _a.sent();
217
- jiraNumbers = commit_data_1.CommitData.extractAndOrderJiraNumbers(lastCommitMessage);
218
- args = [jiraNumbers.join(' ') + ' ' + releaseCommitMessage];
219
- // console.log({ jiraNumbers, args, lastCommitMessage });
220
- return [4 /*yield*/, this.project.git.pushProcess({
221
- typeofCommit: 'release',
222
- askToConfirmPush: true,
223
- askToConfirmBranchChange: true,
224
- askToConfirmCommit: true,
225
- skipLint: true,
226
- args: args,
227
- exitCallBack: function () {
228
- process.exit(1);
229
- },
230
- })];
231
- case 2:
232
- // console.log({ jiraNumbers, args, lastCommitMessage });
233
- _a.sent();
234
- return [2 /*return*/];
235
- }
236
- });
152
+ async commitAndPush() {
153
+ //#region @backendFunc
154
+ const releaseCommitMessage = this.releaseCommitTemplate();
155
+ const lastCommitMessage = await this.project.git.penultimateCommitMessage();
156
+ const jiraNumbers = commit_data_1.CommitData.extractAndOrderJiraNumbers(lastCommitMessage);
157
+ const args = [jiraNumbers.join(' ') + ' ' + releaseCommitMessage];
158
+ // console.log({ jiraNumbers, args, lastCommitMessage });
159
+ await this.project.git.pushProcess({
160
+ typeofCommit: 'release',
161
+ askToConfirmPush: true,
162
+ askToConfirmBranchChange: true,
163
+ askToConfirmCommit: true,
164
+ skipLint: true,
165
+ args,
166
+ exitCallBack: () => {
167
+ process.exit(1);
168
+ },
237
169
  });
238
- };
170
+ //#endregion
171
+ }
239
172
  //#endregion
240
173
  //#region methods & getters / release commit template
241
- BaseReleaseProcess.prototype.releaseCommitTemplate = function () {
242
- return "Release v".concat(this.newVersion, " + changelog.md update");
243
- };
174
+ releaseCommitTemplate() {
175
+ return `Release v${this.newVersion} + changelog.md update`;
176
+ }
244
177
  //#endregion
245
178
  //#region methods & getters / test libraries
246
- BaseReleaseProcess.prototype.testLibraries = function () {
247
- return tslib_1.__awaiter(this, void 0, void 0, function () {
248
- return tslib_1.__generator(this, function (_a) {
249
- try {
250
- this.project.run('npm run test', { output: true }).sync();
251
- return [2 /*return*/, true];
252
- }
253
- catch (error) {
254
- index_1.Helpers.info("Test failed, you can run test manually");
255
- return [2 /*return*/, false];
256
- }
257
- return [2 /*return*/];
258
- });
259
- });
260
- };
179
+ async testLibraries() {
180
+ try {
181
+ this.project.run('npm run test', { output: true }).sync();
182
+ return true;
183
+ }
184
+ catch (error) {
185
+ index_1.Helpers.info(`Test failed, you can run test manually`);
186
+ return false;
187
+ }
188
+ }
261
189
  //#endregion
262
190
  //#region methods & getters / build all libraries
263
- BaseReleaseProcess.prototype.buildAllLibraries = function () {
264
- return tslib_1.__awaiter(this, void 0, void 0, function () {
265
- return tslib_1.__generator(this, function (_a) {
266
- switch (_a.label) {
267
- case 0: return [4 /*yield*/, this.project.libraryBuild.buildLibraries({
268
- watch: false,
269
- releaseBuild: true,
270
- })];
271
- case 1:
272
- _a.sent();
273
- return [2 /*return*/];
274
- }
275
- });
191
+ async buildAllLibraries() {
192
+ await this.project.libraryBuild.buildLibraries({
193
+ watch: false,
194
+ releaseBuild: true,
276
195
  });
277
- };
196
+ }
278
197
  //#endregion
279
198
  //#region methods & getters / reset release files
280
- BaseReleaseProcess.prototype.resetReleaseFiles = function () {
281
- return tslib_1.__awaiter(this, void 0, void 0, function () {
282
- var _a, _b, projToBump;
283
- var e_1, _c;
284
- return tslib_1.__generator(this, function (_d) {
285
- //#region @backendFunc
286
- this.project.git.restoreLastVersion(this.changeLogPath);
287
- try {
288
- for (_a = tslib_1.__values(this.toBumpProjects), _b = _a.next(); !_b.done; _b = _a.next()) {
289
- projToBump = _b.value;
290
- projToBump.git.restoreLastVersion(tnp_config_1.config.file.package_json);
291
- projToBump.git.restoreLastVersion(tnp_config_1.config.file.package_lock_json);
292
- }
293
- }
294
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
295
- finally {
296
- try {
297
- if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
298
- }
299
- finally { if (e_1) throw e_1.error; }
300
- }
301
- return [2 /*return*/];
302
- });
303
- });
304
- };
305
- Object.defineProperty(BaseReleaseProcess.prototype, "toBumpProjects", {
199
+ async resetReleaseFiles() {
200
+ //#region @backendFunc
201
+ this.project.git.restoreLastVersion(this.changeLogPath);
202
+ for (const projToBump of this.toBumpProjects) {
203
+ projToBump.git.restoreLastVersion(tnp_config_1.config.file.package_json);
204
+ projToBump.git.restoreLastVersion(tnp_config_1.config.file.package_lock_json);
205
+ }
306
206
  //#endregion
307
- //#region methods & getters / to bump projects
308
- get: function () {
309
- var toBumpProjects = tslib_1.__spreadArray([
310
- this.project
311
- ], tslib_1.__read(this.project.libraryBuild.libraries), false);
312
- return toBumpProjects;
313
- },
314
- enumerable: false,
315
- configurable: true
316
- });
207
+ }
208
+ //#endregion
209
+ //#region methods & getters / to bump projects
210
+ get toBumpProjects() {
211
+ const toBumpProjects = [
212
+ this.project,
213
+ ...this.project.libraryBuild.libraries,
214
+ ];
215
+ return toBumpProjects;
216
+ }
317
217
  //#endregion
318
218
  //#region methods & getters / bump new version everywhere
319
- BaseReleaseProcess.prototype.bumpNewVersionEverywhere = function () {
320
- return tslib_1.__awaiter(this, void 0, void 0, function () {
321
- var allLibrariesNames, _a, _b, projToBump, allLibrariesNames_1, allLibrariesNames_1_1, libName;
322
- var e_2, _c, e_3, _d;
323
- return tslib_1.__generator(this, function (_e) {
324
- allLibrariesNames = this.project.libraryBuild.libraries.map(function (l) { return l.name; });
325
- try {
326
- for (_a = tslib_1.__values(this.toBumpProjects), _b = _a.next(); !_b.done; _b = _a.next()) {
327
- projToBump = _b.value;
328
- projToBump.npmHelpers.version = this.newVersion;
329
- try {
330
- for (allLibrariesNames_1 = (e_3 = void 0, tslib_1.__values(allLibrariesNames)), allLibrariesNames_1_1 = allLibrariesNames_1.next(); !allLibrariesNames_1_1.done; allLibrariesNames_1_1 = allLibrariesNames_1.next()) {
331
- libName = allLibrariesNames_1_1.value;
332
- projToBump.npmHelpers.updateDependency({
333
- packageName: libName,
334
- version: (this.project.location === projToBump.location ? '' : '^') +
335
- this.newVersion,
336
- });
337
- }
338
- }
339
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
340
- finally {
341
- try {
342
- if (allLibrariesNames_1_1 && !allLibrariesNames_1_1.done && (_d = allLibrariesNames_1.return)) _d.call(allLibrariesNames_1);
343
- }
344
- finally { if (e_3) throw e_3.error; }
345
- }
346
- }
347
- }
348
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
349
- finally {
350
- try {
351
- if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
352
- }
353
- finally { if (e_2) throw e_2.error; }
354
- }
355
- return [2 /*return*/];
356
- });
357
- });
358
- };
219
+ async bumpNewVersionEverywhere() {
220
+ //#region @backendFunc
221
+ const allLibrariesNames = this.project.libraryBuild.libraries.map(l => l.name);
222
+ for (const projToBump of this.toBumpProjects) {
223
+ projToBump.packageJson.setVersion(this.newVersion);
224
+ for (const libName of allLibrariesNames) {
225
+ projToBump.packageJson.updateDependency({
226
+ packageName: libName,
227
+ version: (this.project.location === projToBump.location ? '' : '^') +
228
+ this.newVersion,
229
+ });
230
+ }
231
+ }
232
+ //#endregion
233
+ }
359
234
  //#endregion
360
235
  //#region methods & getters / confirm release type
361
- BaseReleaseProcess.prototype.confirmNewVersion = function () {
362
- return tslib_1.__awaiter(this, void 0, void 0, function () {
363
- var newVersion, originalNewVersion, confirm_1;
364
- return tslib_1.__generator(this, function (_a) {
365
- switch (_a.label) {
366
- case 0:
367
- //#region @backendFunc
368
- if (this.automaticRelease) {
369
- return [2 /*return*/];
370
- }
371
- newVersion = this.newVersion;
372
- if (!this.newVersion) {
373
- newVersion = this.project.npmHelpers.versionWithPatchPlusOne;
374
- if (this.versionType === 'minor') {
375
- newVersion =
376
- this.project.npmHelpers.versionWithMinorPlusOneAndPatchZero;
377
- }
378
- if (this.versionType === 'major') {
379
- newVersion =
380
- this.project.npmHelpers
381
- .versionWithMajorPlusOneAndMinorZeroAndPatchZero;
382
- }
383
- }
384
- originalNewVersion = newVersion;
385
- _a.label = 1;
386
- case 1:
387
- if (!true) return [3 /*break*/, 6];
388
- index_1.Helpers.info("New version will be: ".concat(newVersion));
389
- return [4 /*yield*/, index_1.Helpers.questionYesNo('Do you want to continue? (no -> edit version manually) ')];
390
- case 2:
391
- confirm_1 = _a.sent();
392
- if (!confirm_1) return [3 /*break*/, 3];
393
- return [3 /*break*/, 6];
394
- case 3: return [4 /*yield*/, index_1.Helpers.consoleGui.input({
395
- question: 'Provide proper new version and press enter',
396
- defaultValue: originalNewVersion,
397
- validate: function (value) {
398
- var regexForValidationNpmVersionWithPossiblePreRelease = /^(\d+\.\d+\.\d+)(\-[a-zA-Z0-9]+)?$/;
399
- return regexForValidationNpmVersionWithPossiblePreRelease.test(value);
400
- },
401
- })];
402
- case 4:
403
- newVersion = _a.sent();
404
- _a.label = 5;
405
- case 5: return [3 /*break*/, 1];
406
- case 6:
407
- this.newVersion = newVersion;
408
- return [2 /*return*/];
409
- }
410
- });
411
- });
412
- };
236
+ async confirmNewVersion() {
237
+ //#region @backendFunc
238
+ if (this.automaticRelease) {
239
+ return;
240
+ }
241
+ let newVersion = this.newVersion;
242
+ if (!this.newVersion) {
243
+ newVersion = this.project.packageJson.versionWithPatchPlusOne;
244
+ if (this.versionType === 'minor') {
245
+ newVersion =
246
+ this.project.packageJson.versionWithMinorPlusOneAndPatchZero;
247
+ }
248
+ if (this.versionType === 'major') {
249
+ newVersion =
250
+ this.project.packageJson
251
+ .versionWithMajorPlusOneAndMinorZeroAndPatchZero;
252
+ }
253
+ }
254
+ const originalNewVersion = newVersion;
255
+ while (true) {
256
+ index_1.Helpers.info(`New version will be: ${newVersion}`);
257
+ const confirm = await index_1.Helpers.questionYesNo('Do you want to continue? (no -> edit version manually) ');
258
+ if (confirm) {
259
+ break;
260
+ }
261
+ else {
262
+ newVersion = await index_1.Helpers.consoleGui.input({
263
+ question: 'Provide proper new version and press enter',
264
+ defaultValue: originalNewVersion,
265
+ validate(value) {
266
+ const regexForValidationNpmVersionWithPossiblePreRelease = /^(\d+\.\d+\.\d+)(\-[a-zA-Z0-9]+)?$/;
267
+ return regexForValidationNpmVersionWithPossiblePreRelease.test(value);
268
+ },
269
+ });
270
+ }
271
+ }
272
+ this.newVersion = newVersion;
273
+ //#endregion
274
+ }
413
275
  //#endregion
414
276
  //#region methods & getters / select release type
415
- BaseReleaseProcess.prototype.selectReleaseType = function () {
416
- return tslib_1.__awaiter(this, void 0, void 0, function () {
417
- var options, selected;
418
- return tslib_1.__generator(this, function (_a) {
419
- switch (_a.label) {
420
- case 0:
421
- //#region @backendFunc
422
- if (this.automaticRelease) {
423
- return [2 /*return*/, 'patch'];
424
- }
425
- options = [
426
- {
427
- name: "Patch release (v".concat(this.project.npmHelpers.versionWithPatchPlusOne, ")"),
428
- value: 'patch',
429
- },
430
- {
431
- name: "Minor release (v".concat(this.project.npmHelpers.versionWithMinorPlusOneAndPatchZero, ")"),
432
- value: 'minor',
433
- },
434
- {
435
- name: "Major release (v".concat(this.project.npmHelpers.versionWithMajorPlusOneAndMinorZeroAndPatchZero, ")"),
436
- value: 'major',
437
- },
438
- ];
439
- return [4 /*yield*/, index_1.Helpers.consoleGui.select('Select release type', options)];
440
- case 1:
441
- selected = _a.sent();
442
- return [2 /*return*/, selected];
443
- }
444
- });
445
- });
446
- };
277
+ async selectReleaseType(versionToUseResolveFn) {
278
+ //#region @backendFunc
279
+ if (this.automaticRelease) {
280
+ return 'patch';
281
+ }
282
+ const options = [
283
+ {
284
+ name: `Patch release (v${versionToUseResolveFn
285
+ ? versionToUseResolveFn('patch')
286
+ : this.project.packageJson.versionWithPatchPlusOne})`,
287
+ value: 'patch',
288
+ },
289
+ {
290
+ name: `Minor release (v${versionToUseResolveFn
291
+ ? versionToUseResolveFn('minor')
292
+ : this.project.packageJson.versionWithMinorPlusOneAndPatchZero})`,
293
+ value: 'minor',
294
+ },
295
+ {
296
+ name: `Major release (v${versionToUseResolveFn
297
+ ? versionToUseResolveFn('major')
298
+ : this.project.packageJson
299
+ .versionWithMajorPlusOneAndMinorZeroAndPatchZero})`,
300
+ value: 'major',
301
+ },
302
+ ];
303
+ const selected = await index_1.Helpers.consoleGui.select('Select release type', options);
304
+ return selected;
305
+ //#endregion
306
+ }
447
307
  //#endregion
448
308
  //#region methods & getters / commit message in changelog transform fn
449
- BaseReleaseProcess.prototype.commitMessageInChangelogTransformFn = function (message) {
450
- return tslib_1.__awaiter(this, void 0, void 0, function () {
451
- return tslib_1.__generator(this, function (_a) {
452
- return [2 /*return*/, message];
453
- });
454
- });
455
- };
309
+ async commitMessageInChangelogTransformFn(message) {
310
+ return message;
311
+ }
456
312
  //#endregion
457
313
  //#region methods & getters / calculate item
458
- BaseReleaseProcess.prototype.getChangelogContentToAppend = function (askForEveryItem) {
459
- return tslib_1.__awaiter(this, void 0, void 0, function () {
460
- var newChangeLogContentToAdd, _a, _b, commit, template, e_4_1, thingsToAddToChangeLog;
461
- var e_4, _c;
462
- return tslib_1.__generator(this, function (_d) {
463
- switch (_d.label) {
464
- case 0:
465
- newChangeLogContentToAdd = '';
466
- _d.label = 1;
467
- case 1:
468
- _d.trys.push([1, 6, 7, 8]);
469
- _a = tslib_1.__values(this.commitsForChangelog), _b = _a.next();
470
- _d.label = 2;
471
- case 2:
472
- if (!!_b.done) return [3 /*break*/, 5];
473
- commit = _b.value;
474
- return [4 /*yield*/, this.changelogItemTemplate(commit.index, askForEveryItem)];
475
- case 3:
476
- template = (_d.sent()) +
477
- '\n';
478
- newChangeLogContentToAdd += template;
479
- _d.label = 4;
480
- case 4:
481
- _b = _a.next();
482
- return [3 /*break*/, 2];
483
- case 5: return [3 /*break*/, 8];
484
- case 6:
485
- e_4_1 = _d.sent();
486
- e_4 = { error: e_4_1 };
487
- return [3 /*break*/, 8];
488
- case 7:
489
- try {
490
- if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
491
- }
492
- finally { if (e_4) throw e_4.error; }
493
- return [7 /*endfinally*/];
494
- case 8:
495
- thingsToAddToChangeLog = "".concat(newChangeLogContentToAdd
496
- ? "".concat(this.changeLogKeyWord(), " ").concat(this.newVersion, " ") +
497
- "(".concat((0, tnp_core_1.dateformat)(new Date(), 'yyyy-mm-dd'), ")\n") +
498
- "----------------------------------\n" +
499
- "".concat(newChangeLogContentToAdd.trim() + '\n', "\n")
500
- : '');
501
- return [2 /*return*/, thingsToAddToChangeLog];
502
- }
503
- });
504
- });
505
- };
314
+ async getChangelogContentToAppend(askForEveryItem) {
315
+ //#region @backendFunc
316
+ let newChangeLogContentToAdd = '';
317
+ for (const commit of this.commitsForChangelog) {
318
+ const template = (await this.changelogItemTemplate(commit.index, askForEveryItem)) +
319
+ '\n';
320
+ newChangeLogContentToAdd += template;
321
+ }
322
+ const thingsToAddToChangeLog = `${newChangeLogContentToAdd
323
+ ? `${this.changeLogKeyWord()} ${this.newVersion} ` +
324
+ `(${(0, tnp_core_1.dateformat)(new Date(), 'yyyy-mm-dd')})\n` +
325
+ `----------------------------------\n` +
326
+ `${newChangeLogContentToAdd.trim() + '\n'}\n`
327
+ : ''}`;
328
+ return thingsToAddToChangeLog;
329
+ //#endregion
330
+ }
506
331
  //#endregion
507
332
  //#region methods & getters / update changelog.md from commits
508
333
  /**
509
334
  * TODO extend this to all commits from last release
510
335
  */
511
- BaseReleaseProcess.prototype.updateChangeLogFromCommits = function () {
512
- return tslib_1.__awaiter(this, void 0, void 0, function () {
513
- var askForEveryItem, thingsToAddToChangeLog, changeLogNewContent;
514
- return tslib_1.__generator(this, function (_a) {
515
- switch (_a.label) {
516
- case 0:
517
- askForEveryItem = false;
518
- _a.label = 1;
519
- case 1:
520
- if (!true) return [3 /*break*/, 4];
521
- return [4 /*yield*/, this.getChangelogContentToAppend(askForEveryItem)];
522
- case 2:
523
- thingsToAddToChangeLog = _a.sent();
524
- console.log("New things for changelog.md:\n".concat(tnp_core_1.chalk.gray.bold(thingsToAddToChangeLog)));
525
- return [4 /*yield*/, index_1.Helpers.questionYesNo('Accept this new things in changelog (if no -> edit mode) ?')];
526
- case 3:
527
- if (!(_a.sent())) {
528
- askForEveryItem = true;
529
- return [3 /*break*/, 1];
530
- }
531
- changeLogNewContent = thingsToAddToChangeLog + "".concat(this.changelogContent.trim(), "\n");
532
- this.project.writeFile(this.changeLogPath, changeLogNewContent);
533
- return [3 /*break*/, 4];
534
- case 4: return [2 /*return*/];
535
- }
536
- });
537
- });
538
- };
336
+ async updateChangeLogFromCommits() {
337
+ //#region @backendFunc
338
+ let askForEveryItem = false;
339
+ while (true) {
340
+ let thingsToAddToChangeLog = await this.getChangelogContentToAppend(askForEveryItem);
341
+ console.log(`New things for changelog.md:\n${tnp_core_1.chalk.gray.bold(thingsToAddToChangeLog)}`);
342
+ if (!(await index_1.Helpers.questionYesNo('Accept this new things in changelog (if no -> edit mode) ?'))) {
343
+ askForEveryItem = true;
344
+ continue;
345
+ }
346
+ const changeLogNewContent = thingsToAddToChangeLog + `${this.changelogContent.trim()}\n`;
347
+ this.project.writeFile(this.changeLogPath, changeLogNewContent);
348
+ break;
349
+ }
350
+ //#endregion
351
+ }
539
352
  //#endregion
540
353
  //#region methods & getters / extract changed libraries in last commit
541
- BaseReleaseProcess.prototype.extractChangedLibrariesInCommit = function (hashOrIndex) {
542
- return tslib_1.__awaiter(this, void 0, void 0, function () {
543
- var hash, index, useHash, lastChanges, _a, libraries;
544
- var _this = this;
545
- return tslib_1.__generator(this, function (_b) {
546
- switch (_b.label) {
547
- case 0:
548
- hash = tnp_core_1._.isString(hashOrIndex) ? hashOrIndex : void 0;
549
- index = tnp_core_1._.isNumber(hashOrIndex) ? hashOrIndex : void 0;
550
- useHash = !!hash;
551
- if (!useHash) return [3 /*break*/, 2];
552
- return [4 /*yield*/, this.project.git.getChangedFilesInCommitByHash(hash)];
553
- case 1:
554
- _a = _b.sent();
555
- return [3 /*break*/, 4];
556
- case 2: return [4 /*yield*/, this.project.git.getChangedFilesInCommitByIndex(index)];
557
- case 3:
558
- _a = _b.sent();
559
- _b.label = 4;
560
- case 4:
561
- lastChanges = _a;
562
- libraries = this.project.libraryBuild.libraries.filter(function (l) {
563
- var libraryRelativePath = l.location.replace(_this.project.location + '/', '');
564
- return lastChanges.some(function (c) { return c.includes(libraryRelativePath); });
565
- });
566
- return [2 /*return*/, libraries.map(function (l) { return l.name; }).join(', ')];
567
- }
568
- });
354
+ async extractChangedLibrariesInCommit(hashOrIndex) {
355
+ //#region @backendFunc
356
+ const hash = tnp_core_1._.isString(hashOrIndex) ? hashOrIndex : void 0;
357
+ const index = tnp_core_1._.isNumber(hashOrIndex) ? hashOrIndex : void 0;
358
+ const useHash = !!hash;
359
+ const lastChanges = useHash
360
+ ? await this.project.git.getChangedFilesInCommitByHash(hash)
361
+ : await this.project.git.getChangedFilesInCommitByIndex(index);
362
+ const libraries = this.project.libraryBuild.libraries.filter(l => {
363
+ const libraryRelativePath = l.location.replace(this.project.location + '/', '');
364
+ return lastChanges.some(c => c.includes(libraryRelativePath));
569
365
  });
570
- };
366
+ return libraries.map(l => l.name).join(', ');
367
+ //#endregion
368
+ }
571
369
  //#endregion
572
370
  //#region methods & getters / change log item template
573
- BaseReleaseProcess.prototype.changelogItemTemplate = function (hashOrIndex_1) {
574
- return tslib_1.__awaiter(this, arguments, void 0, function (hashOrIndex, confirmEveryItem) {
575
- var hash, index, useHash, commitMessage, _a, jiraNumbers, message, extractedLibraries, translatedMessage, _b, _c, result, itemIsOK, confirm_2;
576
- if (confirmEveryItem === void 0) { confirmEveryItem = false; }
577
- return tslib_1.__generator(this, function (_d) {
578
- switch (_d.label) {
579
- case 0:
580
- hash = tnp_core_1._.isString(hashOrIndex) ? hashOrIndex : void 0;
581
- index = tnp_core_1._.isNumber(hashOrIndex) ? hashOrIndex : void 0;
582
- useHash = !!hash;
583
- if (!useHash) return [3 /*break*/, 2];
584
- return [4 /*yield*/, this.project.git.getCommitMessageByHash(hash)];
585
- case 1:
586
- _a = _d.sent();
587
- return [3 /*break*/, 4];
588
- case 2: return [4 /*yield*/, this.project.git.getCommitMessageByIndex(index)];
589
- case 3:
590
- _a = _d.sent();
591
- _d.label = 4;
592
- case 4:
593
- commitMessage = _a;
594
- jiraNumbers = commit_data_1.CommitData.extractAndOrderJiraNumbers(commitMessage);
595
- message = commit_data_1.CommitData.cleanMessageFromJiraNumTeamIdEtc(commitMessage);
596
- return [4 /*yield*/, this.extractChangedLibrariesInCommit(hashOrIndex)];
597
- case 5:
598
- extractedLibraries = _d.sent();
599
- _c = (_b = tnp_core_1._).upperFirst;
600
- return [4 /*yield*/, this.commitMessageInChangelogTransformFn(message.replace(/\-/g, '').replace(/\:/g, ''))];
601
- case 6:
602
- translatedMessage = _c.apply(_b, [_d.sent()]);
603
- result = ("* [".concat(tnp_core_1._.last(jiraNumbers), "] - ") +
604
- "".concat(extractedLibraries ? extractedLibraries + ' - ' : '') +
605
- " ".concat(translatedMessage))
606
- .replace(/\- \-/g, ' - ')
607
- .replace(/\ \ /g, ' ');
608
- if (!confirmEveryItem) return [3 /*break*/, 9];
609
- console.log("Confirm changelog new item ".concat(tnp_core_1.chalk.gray("(from \"".concat(commitMessage, "\")")), ":\n") +
610
- "\n".concat(tnp_core_1.chalk.italic(result), "\n"));
611
- return [4 /*yield*/, index_1.Helpers.questionYesNo('Is this item OK ?')];
612
- case 7:
613
- itemIsOK = _d.sent();
614
- if (!!itemIsOK) return [3 /*break*/, 9];
615
- return [4 /*yield*/, index_1.Helpers.consoleGui.input({
616
- question: 'Provide proper changelog item or press enter to confirm',
617
- defaultValue: result,
618
- // required: false,
619
- })];
620
- case 8:
621
- confirm_2 = _d.sent();
622
- result = confirm_2;
623
- _d.label = 9;
624
- case 9:
625
- // replace double spaces
626
- result = result.replace(/\ \ /g, ' ');
627
- result = result.replace(/\ \ /g, ' ');
628
- result = result.replace(/\ \ /g, ' ');
629
- return [2 /*return*/, result];
630
- }
631
- });
632
- });
633
- };
371
+ async changelogItemTemplate(hashOrIndex, confirmEveryItem = false) {
372
+ //#region @backendFunc
373
+ const hash = tnp_core_1._.isString(hashOrIndex) ? hashOrIndex : void 0;
374
+ const index = tnp_core_1._.isNumber(hashOrIndex) ? hashOrIndex : void 0;
375
+ const useHash = !!hash;
376
+ const commitMessage = useHash
377
+ ? await this.project.git.getCommitMessageByHash(hash)
378
+ : await this.project.git.getCommitMessageByIndex(index);
379
+ const jiraNumbers = commit_data_1.CommitData.extractAndOrderJiraNumbers(commitMessage);
380
+ const message = commit_data_1.CommitData.cleanMessageFromJiraNumTeamIdEtc(commitMessage);
381
+ // console.log({ data, commit });
382
+ const extractedLibraries = await this.extractChangedLibrariesInCommit(hashOrIndex);
383
+ const translatedMessage = tnp_core_1._.upperFirst(await this.commitMessageInChangelogTransformFn(message.replace(/\-/g, '').replace(/\:/g, '')));
384
+ let result = (`* [${tnp_core_1._.last(jiraNumbers)}] - ` +
385
+ `${extractedLibraries ? extractedLibraries + ' - ' : ''}` +
386
+ ` ${translatedMessage}`)
387
+ .replace(/\- \-/g, ' - ')
388
+ .replace(/\ \ /g, ' ');
389
+ if (confirmEveryItem) {
390
+ console.log(`Confirm changelog new item ${tnp_core_1.chalk.gray(`(from "${commitMessage}")`)}:\n` + `\n${tnp_core_1.chalk.italic(result)}\n`);
391
+ const itemIsOK = await index_1.Helpers.questionYesNo('Is this item OK ?');
392
+ if (!itemIsOK) {
393
+ const confirm = await index_1.Helpers.consoleGui.input({
394
+ question: 'Provide proper changelog item or press enter to confirm',
395
+ defaultValue: result,
396
+ // required: false,
397
+ });
398
+ result = confirm;
399
+ }
400
+ }
401
+ // replace double spaces
402
+ result = result.replace(/\ \ /g, ' ');
403
+ result = result.replace(/\ \ /g, ' ');
404
+ result = result.replace(/\ \ /g, ' ');
405
+ return result;
406
+ //#endregion
407
+ }
634
408
  //#endregion
635
409
  //#region methods & getters / generate last changes summary
636
- BaseReleaseProcess.prototype.generateLastChangesSummary = function () {
637
- return tslib_1.__awaiter(this, void 0, void 0, function () {
638
- var lastReleaseCommitData, hasLastReleaseCommit, lastReleaseCommitMsg, _a, _b, _c, _d;
639
- return tslib_1.__generator(this, function (_e) {
640
- switch (_e.label) {
641
- case 0: return [4 /*yield*/, this.getLastReleaseCommitData()];
642
- case 1:
643
- lastReleaseCommitData = _e.sent();
644
- hasLastReleaseCommit = lastReleaseCommitData.index !== -1;
645
- lastReleaseCommitMsg = !hasLastReleaseCommit
646
- ? '< nothing release yet >'
647
- : lastReleaseCommitData.lastReleaseCommitMsg;
648
- _c = (_b = "".concat(tnp_core_1.chalk.bold.gray('Last changelog.md notes summary'), ":\n")).concat;
649
- return [4 /*yield*/, this.getLastPackageVersionChangesFromChnagelog()];
650
- case 2:
651
- _d = (_a = _c.apply(_b, [_e.sent(), "\n\n"]).concat(tnp_core_1.chalk.bold.gray(hasLastReleaseCommit ? 'Last commits up to release commit' : 'Last 3 commits'), ":\n")).concat;
652
- return [4 /*yield*/, this.getLastChangesFromCommits({
653
- maxMessagesToCheck: hasLastReleaseCommit ? Number.POSITIVE_INFINITY : 3,
654
- stopOnCommitMessage: hasLastReleaseCommit
655
- ? lastReleaseCommitData.lastReleaseCommitMsg
656
- : '',
657
- })];
658
- case 3: return [2 /*return*/, _d.apply(_a, [_e.sent(), "\n "])];
659
- }
660
- });
661
- });
662
- };
410
+ async generateLastChangesSummary() {
411
+ const lastReleaseCommitData = await this.getLastReleaseCommitData();
412
+ const hasLastReleaseCommit = lastReleaseCommitData.index !== -1;
413
+ const lastReleaseCommitMsg = !hasLastReleaseCommit
414
+ ? '< nothing release yet >'
415
+ : lastReleaseCommitData.lastReleaseCommitMsg;
416
+ return `${tnp_core_1.chalk.bold.gray('Last changelog.md notes summary')}:
417
+ ${await this.getLastPackageVersionChangesFromChnagelog()}
418
+
419
+ ${tnp_core_1.chalk.bold.gray(hasLastReleaseCommit ? 'Last commits up to release commit' : 'Last 3 commits')}:
420
+ ${await this.getLastChangesFromCommits({
421
+ maxMessagesToCheck: hasLastReleaseCommit ? Number.POSITIVE_INFINITY : 3,
422
+ stopOnCommitMessage: hasLastReleaseCommit
423
+ ? lastReleaseCommitData.lastReleaseCommitMsg
424
+ : '',
425
+ })}
426
+ `;
427
+ }
663
428
  //#endregion
664
429
  //#region methods & getters / get last changes from commits
665
- BaseReleaseProcess.prototype.getLastChangesFromCommits = function () {
666
- return tslib_1.__awaiter(this, arguments, void 0, function (_a) {
667
- var index, commits, commitMessage;
668
- var _b = _a === void 0 ? {} : _a, _c = _b.maxMessagesToCheck, maxMessagesToCheck = _c === void 0 ? 3 : _c, _d = _b.stopOnCommitMessage, stopOnCommitMessage = _d === void 0 ? '' : _d;
669
- return tslib_1.__generator(this, function (_e) {
670
- switch (_e.label) {
671
- case 0:
672
- index = 0;
673
- commits = [];
674
- _e.label = 1;
675
- case 1:
676
- if (!true) return [3 /*break*/, 3];
677
- return [4 /*yield*/, this.project.git.getCommitMessageByIndex(index)];
678
- case 2:
679
- commitMessage = _e.sent();
680
- commits.push(commitMessage);
681
- ++index;
682
- if (!!(stopOnCommitMessage || '').trim() &&
683
- commitMessage.includes(stopOnCommitMessage)) {
684
- return [3 /*break*/, 3];
685
- }
686
- if (index > maxMessagesToCheck) {
687
- return [3 /*break*/, 3];
688
- }
689
- return [3 /*break*/, 1];
690
- case 3: return [2 /*return*/, commits
691
- .map(function (c) { return tnp_core_1.chalk.italic(c); })
692
- .map(function (c, index) { return "".concat(index + 1, ". ").concat(c); })
693
- .join('\n')];
694
- }
695
- });
696
- });
697
- };
430
+ async getLastChangesFromCommits({ maxMessagesToCheck = 3, stopOnCommitMessage = '', } = {}) {
431
+ //#region @backendFunc
432
+ let index = 0;
433
+ const commits = [];
434
+ while (true) {
435
+ const commitMessage = await this.project.git.getCommitMessageByIndex(index);
436
+ commits.push(commitMessage);
437
+ ++index;
438
+ if (!!(stopOnCommitMessage || '').trim() &&
439
+ commitMessage.includes(stopOnCommitMessage)) {
440
+ break;
441
+ }
442
+ if (index > maxMessagesToCheck) {
443
+ break;
444
+ }
445
+ }
446
+ return commits
447
+ .map(c => tnp_core_1.chalk.italic(c))
448
+ .map((c, index) => `${index + 1}. ${c}`)
449
+ .join('\n');
450
+ //#endregion
451
+ }
698
452
  //#endregion
699
453
  //#region methods & getters / get last release commit data
700
- BaseReleaseProcess.prototype.getLastReleaseCommitData = function () {
701
- return tslib_1.__awaiter(this, void 0, void 0, function () {
702
- var index, maxMessages, _loop_1, this_1, state_1;
703
- return tslib_1.__generator(this, function (_a) {
704
- switch (_a.label) {
705
- case 0:
706
- index = 0;
707
- maxMessages = 50;
708
- _loop_1 = function () {
709
- var commitMessage, npmVersionRegex, match;
710
- return tslib_1.__generator(this, function (_b) {
711
- switch (_b.label) {
712
- case 0: return [4 /*yield*/, this_1.project.git.getCommitMessageByIndex(index)];
713
- case 1:
714
- commitMessage = _b.sent();
715
- npmVersionRegex = /\d+\.\d+\.\d+/;
716
- // console.log('commitMessage', { index, commitMessage });
717
- if (this_1.getReleaseWords().some(function (r) {
718
- return commitMessage.toLowerCase().includes(r);
719
- })) {
720
- match = commitMessage.match(npmVersionRegex);
721
- if (match) {
722
- 2;
723
- return [2 /*return*/, { value: { lastReleaseCommitMsg: commitMessage, index: index } }];
724
- }
725
- }
726
- ++index;
727
- if (index > maxMessages) {
728
- return [2 /*return*/, "break"];
729
- }
730
- return [2 /*return*/];
731
- }
732
- });
733
- };
734
- this_1 = this;
735
- _a.label = 1;
736
- case 1:
737
- if (!true) return [3 /*break*/, 3];
738
- return [5 /*yield**/, _loop_1()];
739
- case 2:
740
- state_1 = _a.sent();
741
- if (typeof state_1 === "object")
742
- return [2 /*return*/, state_1.value];
743
- if (state_1 === "break")
744
- return [3 /*break*/, 3];
745
- return [3 /*break*/, 1];
746
- case 3: return [2 /*return*/, { lastReleaseCommitMsg: '', index: -1 }];
454
+ async getLastReleaseCommitData() {
455
+ //#region @backendFunc
456
+ let index = 0;
457
+ const maxMessages = 50;
458
+ while (true) {
459
+ const commitMessage = await this.project.git.getCommitMessageByIndex(index);
460
+ const npmVersionRegex = /\d+\.\d+\.\d+/;
461
+ // console.log('commitMessage', { index, commitMessage });
462
+ if (this.getReleaseWords().some(r => commitMessage.toLowerCase().includes(r))) {
463
+ // console.log('FOUNDED', { commitMessage });
464
+ const match = commitMessage.match(npmVersionRegex);
465
+ if (match) {
466
+ 2;
467
+ return { lastReleaseCommitMsg: commitMessage, index };
747
468
  }
748
- });
749
- });
750
- };
469
+ }
470
+ ++index;
471
+ if (index > maxMessages) {
472
+ break;
473
+ }
474
+ }
475
+ return { lastReleaseCommitMsg: '', index: -1 };
476
+ //#endregion
477
+ }
751
478
  //#endregion
752
479
  //#region methods & getters / get last changes from changelog
753
- BaseReleaseProcess.prototype.getLastPackageVersionChangesFromChnagelog = function () {
754
- return tslib_1.__awaiter(this, void 0, void 0, function () {
755
- var changelogData, validToShow, lastRelease;
756
- var _this = this;
757
- return tslib_1.__generator(this, function (_a) {
758
- //#region @backendFunc
759
- if (!this.project.hasFile(this.changeLogPath)) {
760
- return [2 /*return*/, "< project doesn't use CHANGELOG.md yet >"];
761
- }
762
- changelogData = this.getChnagelogData();
763
- if (changelogData.length === 0) {
764
- return [2 /*return*/, "< no changelog data >"];
765
- }
766
- validToShow = [];
767
- while (true) {
768
- lastRelease = changelogData.shift();
769
- if (lastRelease.version === this.project.npmHelpers.version) {
770
- validToShow.push(lastRelease);
771
- }
772
- else {
773
- break;
774
- }
775
- }
776
- return [2 /*return*/, validToShow
777
- .map(function (cd) {
778
- return ("".concat(_this.changeLogKeyWord(), " ").concat(cd.version, " (").concat(cd.date, "):") +
779
- "\n".concat(cd.changes.join('\n')));
780
- })
781
- .join('\n')];
782
- });
783
- });
784
- };
785
- Object.defineProperty(BaseReleaseProcess.prototype, "changeLogPath", {
480
+ async getLastPackageVersionChangesFromChnagelog() {
481
+ //#region @backendFunc
482
+ if (!this.project.hasFile(this.changeLogPath)) {
483
+ return `< project doesn't use CHANGELOG.md yet >`;
484
+ }
485
+ const changelogData = this.getChnagelogData();
486
+ if (changelogData.length === 0) {
487
+ return `< no changelog data >`;
488
+ }
489
+ const validToShow = [];
490
+ while (true) {
491
+ const lastRelease = changelogData.shift();
492
+ if (lastRelease.version === this.project.packageJson.version) {
493
+ validToShow.push(lastRelease);
494
+ }
495
+ else {
496
+ break;
497
+ }
498
+ }
499
+ return validToShow
500
+ .map(cd => {
501
+ return (`${this.changeLogKeyWord()} ${cd.version} (${cd.date}):` +
502
+ `\n${cd.changes.join('\n')}`);
503
+ })
504
+ .join('\n');
505
+ // const changelogData = this.getChnagelogData();
506
+ // return changelogData.slice(0, 3).map(cd => {
507
+ // return `${chalk.bold(cd.version)} (${cd.date}):`
508
+ // // return `${chalk.bold(cd.version)} (${cd.date}):
509
+ // }).join('\n');
510
+ // const changelog = this.project.readFile(this.changeLogPath) || '';
511
+ // const splited = changelog
512
+ // .split('\n')
513
+ // .slice(0, 5)
514
+ // .filter(l => !!l.trim())
515
+ // .map(l => chalk.italic(l));
516
+ // return splited.join('\n').trim();
786
517
  //#endregion
787
- //#region methods & getters / get changelog path
788
- get: function () {
789
- //#region @backendFunc
790
- return this.project.hasFile('changelog.md')
791
- ? 'changelog.md'
792
- : 'CHANGELOG.md';
793
- //#endregion
794
- },
795
- enumerable: false,
796
- configurable: true
797
- });
798
- Object.defineProperty(BaseReleaseProcess.prototype, "changelogContent", {
518
+ }
519
+ //#endregion
520
+ //#region methods & getters / get changelog path
521
+ get changeLogPath() {
522
+ //#region @backendFunc
523
+ return this.project.hasFile('changelog.md')
524
+ ? 'changelog.md'
525
+ : 'CHANGELOG.md';
799
526
  //#endregion
800
- //#region methods & getters / get changelog content
801
- get: function () {
802
- return this.project.readFile(this.changeLogPath) || '';
803
- },
804
- enumerable: false,
805
- configurable: true
806
- });
527
+ }
528
+ //#endregion
529
+ //#region methods & getters / get changelog content
530
+ get changelogContent() {
531
+ return this.project.readFile(this.changeLogPath) || '';
532
+ }
807
533
  //#endregion
808
534
  //#region methods & getters / change log key word
809
- BaseReleaseProcess.prototype.changeLogKeyWord = function () {
535
+ changeLogKeyWord() {
810
536
  return 'Changes in version';
811
- };
537
+ }
812
538
  //#endregion
813
539
  //#region methods & getters / get changelog data
814
- BaseReleaseProcess.prototype.getChnagelogData = function () {
540
+ getChnagelogData() {
815
541
  //#region @backendFunc
816
- var changelogData = [];
817
- var keyword = this.changeLogKeyWord();
818
- var regex = new RegExp("".concat(keyword, " (\\d+\\.\\d+\\.\\d+) \\((\\d{4}-\\d{2}-\\d{2})\\)\\s*[-]+\\s*([\\s\\S]*?)(?=").concat(keyword, " \\d+\\.\\d+\\.\\d+ \\(|$)"), 'g');
819
- var match;
542
+ const changelogData = [];
543
+ const keyword = this.changeLogKeyWord();
544
+ const regex = new RegExp(`${keyword} (\\d+\\.\\d+\\.\\d+) \\((\\d{4}-\\d{2}-\\d{2})\\)\\s*[-]+\\s*([\\s\\S]*?)(?=${keyword} \\d+\\.\\d+\\.\\d+ \\(|$)`, 'g');
545
+ let match;
820
546
  while ((match = regex.exec(this.changelogContent)) !== null) {
821
- var version = match[1];
822
- var date = match[2];
823
- var changesText = match[3].trim();
824
- var changes = changesText
547
+ const version = match[1];
548
+ const date = match[2];
549
+ const changesText = match[3].trim();
550
+ const changes = changesText
825
551
  .split('\n')
826
- .map(function (line) { return line.trim(); })
827
- .filter(function (line) { return line; });
552
+ .map(line => line.trim())
553
+ .filter(line => line);
828
554
  changelogData.push({
829
- changes: changes,
830
- version: version,
831
- date: date,
555
+ changes,
556
+ version,
557
+ date,
832
558
  });
833
559
  }
834
560
  return changelogData;
835
561
  //#endregion
836
- };
837
- return BaseReleaseProcess;
838
- }(base_feature_for_project_1.BaseFeatureForProject));
562
+ }
563
+ }
839
564
  exports.BaseReleaseProcess = BaseReleaseProcess;
840
565
  //# sourceMappingURL=base-release-process.js.map