tnp-helpers 18.0.22 → 18.0.24

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