tnp-helpers 16.100.7 → 16.100.9

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 (181) 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/base-db.mjs +48 -0
  4. package/browser/esm2022/lib/base/base-project-resolver.mjs +14 -1
  5. package/browser/esm2022/lib/base/base-project.mjs +111 -7
  6. package/browser/esm2022/lib/base/config-database.mjs +42 -0
  7. package/browser/esm2022/lib/base/core-project.mjs +7 -27
  8. package/browser/esm2022/lib/base/linked-project.mjs +2 -1
  9. package/browser/esm2022/lib/base/project-database.mjs +18 -0
  10. package/browser/esm2022/lib/helpers/helpers-array-obj.mjs +1 -1
  11. package/browser/esm2022/lib/index.mjs +2 -1
  12. package/browser/esm2022/lib/lowdb/adapters/Memory.mjs +26 -0
  13. package/browser/esm2022/lib/lowdb/core/Low.mjs +49 -0
  14. package/browser/esm2022/lib/lowdb/index.mjs +4 -0
  15. package/browser/esm2022/lib/models.mjs +3 -0
  16. package/browser/fesm2022/tnp-helpers.mjs +233 -30
  17. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  18. package/browser/lib/base/base-db.d.ts +12 -0
  19. package/browser/lib/base/base-project-resolver.d.ts +8 -0
  20. package/browser/lib/base/base-project.d.ts +10 -17
  21. package/browser/lib/base/config-database.d.ts +15 -0
  22. package/browser/lib/base/core-project.d.ts +4 -14
  23. package/browser/lib/base/project-database.d.ts +13 -0
  24. package/browser/lib/index.d.ts +2 -1
  25. package/browser/lib/lowdb/adapters/Memory.d.ts +12 -0
  26. package/browser/lib/lowdb/core/Low.d.ts +25 -0
  27. package/browser/lib/lowdb/index.d.ts +3 -0
  28. package/browser/lib/models.d.ts +17 -0
  29. package/client/README.md +24 -24
  30. package/client/esm2022/lib/base/base-db.mjs +48 -0
  31. package/client/esm2022/lib/base/base-project-resolver.mjs +14 -1
  32. package/client/esm2022/lib/base/base-project.mjs +111 -7
  33. package/client/esm2022/lib/base/config-database.mjs +42 -0
  34. package/client/esm2022/lib/base/core-project.mjs +7 -27
  35. package/client/esm2022/lib/base/linked-project.mjs +2 -1
  36. package/client/esm2022/lib/base/project-database.mjs +18 -0
  37. package/client/esm2022/lib/helpers/helpers-array-obj.mjs +1 -1
  38. package/client/esm2022/lib/index.mjs +2 -1
  39. package/client/esm2022/lib/lowdb/adapters/Memory.mjs +26 -0
  40. package/client/esm2022/lib/lowdb/core/Low.mjs +49 -0
  41. package/client/esm2022/lib/lowdb/index.mjs +4 -0
  42. package/client/esm2022/lib/models.mjs +3 -0
  43. package/client/fesm2022/tnp-helpers.mjs +233 -30
  44. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  45. package/client/lib/base/base-db.d.ts +12 -0
  46. package/client/lib/base/base-project-resolver.d.ts +8 -0
  47. package/client/lib/base/base-project.d.ts +10 -17
  48. package/client/lib/base/config-database.d.ts +15 -0
  49. package/client/lib/base/core-project.d.ts +4 -14
  50. package/client/lib/base/project-database.d.ts +13 -0
  51. package/client/lib/index.d.ts +2 -1
  52. package/client/lib/lowdb/adapters/Memory.d.ts +12 -0
  53. package/client/lib/lowdb/core/Low.d.ts +25 -0
  54. package/client/lib/lowdb/index.d.ts +3 -0
  55. package/client/lib/models.d.ts +17 -0
  56. package/client/package.json +33 -32
  57. package/firedev.jsonc +61 -60
  58. package/lib/base/base-command-line.backend.d.ts +4 -0
  59. package/lib/base/base-command-line.backend.js +129 -20
  60. package/lib/base/base-command-line.backend.js.map +1 -1
  61. package/lib/base/base-db.d.ts +12 -0
  62. package/lib/base/base-db.js +74 -0
  63. package/lib/base/base-db.js.map +1 -0
  64. package/lib/base/base-project-resolver.d.ts +9 -1
  65. package/lib/base/base-project-resolver.js +12 -5
  66. package/lib/base/base-project-resolver.js.map +1 -1
  67. package/lib/base/base-project.d.ts +15 -23
  68. package/lib/base/base-project.js +412 -265
  69. package/lib/base/base-project.js.map +1 -1
  70. package/lib/base/base-start-config.backend.js +1 -1
  71. package/lib/base/base-start-config.backend.js.map +1 -1
  72. package/lib/base/command-line-feature.backend.d.ts +3 -1
  73. package/lib/base/command-line-feature.backend.js +2 -1
  74. package/lib/base/command-line-feature.backend.js.map +1 -1
  75. package/lib/base/config-database.d.ts +14 -0
  76. package/lib/base/config-database.js +74 -0
  77. package/lib/base/config-database.js.map +1 -0
  78. package/lib/base/core-project.d.ts +3 -13
  79. package/lib/base/core-project.js +5 -34
  80. package/lib/base/core-project.js.map +1 -1
  81. package/lib/base/linked-project.js.map +1 -1
  82. package/lib/base/project-database.d.ts +14 -0
  83. package/lib/base/project-database.js +31 -0
  84. package/lib/base/project-database.js.map +1 -0
  85. package/lib/helpers/for-backend/helpers-git.backend.js +1 -1
  86. package/lib/helpers/for-backend/helpers-git.backend.js.map +1 -1
  87. package/lib/helpers/for-browser/angular.helper.js +3 -3
  88. package/lib/helpers/helpers-array-obj.js +1 -0
  89. package/lib/helpers/helpers-array-obj.js.map +1 -1
  90. package/lib/index.d.ts +2 -1
  91. package/lib/index.js +1 -0
  92. package/lib/index.js.map +1 -1
  93. package/lib/lowdb/adapters/Memory.d.ts +11 -0
  94. package/lib/lowdb/adapters/Memory.js +31 -0
  95. package/lib/lowdb/adapters/Memory.js.map +1 -0
  96. package/lib/lowdb/adapters/browser/LocalStorage.d.ts +4 -0
  97. package/lib/lowdb/adapters/browser/LocalStorage.js +14 -0
  98. package/lib/lowdb/adapters/browser/LocalStorage.js.map +1 -0
  99. package/lib/lowdb/adapters/browser/SessionStorage.d.ts +4 -0
  100. package/lib/lowdb/adapters/browser/SessionStorage.js +14 -0
  101. package/lib/lowdb/adapters/browser/SessionStorage.js.map +1 -0
  102. package/lib/lowdb/adapters/browser/WebStorage.d.ts +8 -0
  103. package/lib/lowdb/adapters/browser/WebStorage.js +22 -0
  104. package/lib/lowdb/adapters/browser/WebStorage.js.map +1 -0
  105. package/lib/lowdb/adapters/node/DataFile.d.ts +26 -0
  106. package/lib/lowdb/adapters/node/DataFile.js +60 -0
  107. package/lib/lowdb/adapters/node/DataFile.js.map +1 -0
  108. package/lib/lowdb/adapters/node/JSONFile.d.ts +9 -0
  109. package/lib/lowdb/adapters/node/JSONFile.js +28 -0
  110. package/lib/lowdb/adapters/node/JSONFile.js.map +1 -0
  111. package/lib/lowdb/adapters/node/TextFile.d.ts +18 -0
  112. package/lib/lowdb/adapters/node/TextFile.js +68 -0
  113. package/lib/lowdb/adapters/node/TextFile.js.map +1 -0
  114. package/lib/lowdb/adapters/node/steno.d.ts +13 -0
  115. package/lib/lowdb/adapters/node/steno.js +141 -0
  116. package/lib/lowdb/adapters/node/steno.js.map +1 -0
  117. package/lib/lowdb/browser.d.ts +3 -0
  118. package/lib/lowdb/browser.js +7 -0
  119. package/lib/lowdb/browser.js.map +1 -0
  120. package/lib/lowdb/core/Low.d.ts +24 -0
  121. package/lib/lowdb/core/Low.js +86 -0
  122. package/lib/lowdb/core/Low.js.map +1 -0
  123. package/lib/lowdb/examples/browser.d.ts +1 -0
  124. package/lib/lowdb/examples/browser.js +10 -0
  125. package/lib/lowdb/examples/browser.js.map +1 -0
  126. package/lib/lowdb/examples/cli.d.ts +1 -0
  127. package/lib/lowdb/examples/cli.js +11 -0
  128. package/lib/lowdb/examples/cli.js.map +1 -0
  129. package/lib/lowdb/examples/in-memory.d.ts +8 -0
  130. package/lib/lowdb/examples/in-memory.js +14 -0
  131. package/lib/lowdb/examples/in-memory.js.map +1 -0
  132. package/lib/lowdb/examples/server.d.ts +0 -0
  133. package/lib/lowdb/examples/server.js +36 -0
  134. package/lib/lowdb/examples/server.js.map +1 -0
  135. package/lib/lowdb/index.d.ts +2 -0
  136. package/lib/lowdb/index.js +6 -0
  137. package/lib/lowdb/index.js.map +1 -0
  138. package/lib/lowdb/node.d.ts +4 -0
  139. package/lib/lowdb/node.js +8 -0
  140. package/lib/lowdb/node.js.map +1 -0
  141. package/lib/lowdb/presets/browser.d.ts +3 -0
  142. package/lib/lowdb/presets/browser.js +21 -0
  143. package/lib/lowdb/presets/browser.js.map +1 -0
  144. package/lib/lowdb/presets/node.d.ts +5 -0
  145. package/lib/lowdb/presets/node.js +36 -0
  146. package/lib/lowdb/presets/node.js.map +1 -0
  147. package/lib/models.d.ts +16 -0
  148. package/lib/models.js +0 -3
  149. package/lib/models.js.map +1 -1
  150. package/lib/old/base-component.js +3 -3
  151. package/lib/old/base-formly-component.js +3 -3
  152. package/lib/old/dual-component-ctrl.js +3 -3
  153. package/package.json +7 -5
  154. package/tmp-environment.json +37 -36
  155. package/websql/README.md +24 -24
  156. package/websql/esm2022/lib/base/base-db.mjs +48 -0
  157. package/websql/esm2022/lib/base/base-project-resolver.mjs +14 -4
  158. package/websql/esm2022/lib/base/base-project.mjs +111 -7
  159. package/websql/esm2022/lib/base/config-database.mjs +42 -0
  160. package/websql/esm2022/lib/base/core-project.mjs +7 -27
  161. package/websql/esm2022/lib/base/linked-project.mjs +2 -1
  162. package/websql/esm2022/lib/base/project-database.mjs +18 -0
  163. package/websql/esm2022/lib/helpers/helpers-array-obj.mjs +1 -1
  164. package/websql/esm2022/lib/index.mjs +2 -1
  165. package/websql/esm2022/lib/lowdb/adapters/Memory.mjs +26 -0
  166. package/websql/esm2022/lib/lowdb/core/Low.mjs +49 -0
  167. package/websql/esm2022/lib/lowdb/index.mjs +4 -0
  168. package/websql/esm2022/lib/models.mjs +3 -0
  169. package/websql/fesm2022/tnp-helpers.mjs +229 -29
  170. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  171. package/websql/lib/base/base-db.d.ts +12 -0
  172. package/websql/lib/base/base-project-resolver.d.ts +8 -0
  173. package/websql/lib/base/base-project.d.ts +10 -17
  174. package/websql/lib/base/config-database.d.ts +15 -0
  175. package/websql/lib/base/core-project.d.ts +4 -14
  176. package/websql/lib/base/project-database.d.ts +13 -0
  177. package/websql/lib/index.d.ts +2 -1
  178. package/websql/lib/lowdb/adapters/Memory.d.ts +12 -0
  179. package/websql/lib/lowdb/core/Low.d.ts +25 -0
  180. package/websql/lib/lowdb/index.d.ts +3 -0
  181. package/websql/lib/models.d.ts +17 -0
@@ -2,19 +2,19 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseProject = exports.ChildProcess = void 0;
4
4
  var tslib_1 = require("tslib");
5
- //#region @backend
6
- var json5Write = require("json10-writer");
7
- var tnp_core_1 = require("tnp-core");
8
- var child_process_1 = require("child_process");
9
- Object.defineProperty(exports, "ChildProcess", { enumerable: true, get: function () { return child_process_1.ChildProcess; } });
10
- //#endregion
11
5
  var tnp_cli_1 = require("tnp-cli");
12
- var tnp_core_2 = require("tnp-core");
6
+ var tnp_core_1 = require("tnp-core");
13
7
  var tnp_config_1 = require("tnp-config");
14
- var tnp_core_3 = require("tnp-core");
8
+ var tnp_core_2 = require("tnp-core");
15
9
  var index_1 = require("../index");
16
10
  var base_project_resolver_1 = require("./base-project-resolver");
17
11
  var translate_1 = require("./translate");
12
+ //#region @backend
13
+ var json5Write = require("json10-writer");
14
+ var tnp_core_3 = require("tnp-core");
15
+ var child_process_1 = require("child_process");
16
+ Object.defineProperty(exports, "ChildProcess", { enumerable: true, get: function () { return child_process_1.ChildProcess; } });
17
+ //#endregion
18
18
  //#endregion
19
19
  var takenPorts = [];
20
20
  var BaseProject = exports.BaseProject = /** @class */ (function () {
@@ -71,18 +71,154 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
71
71
  return result;
72
72
  // return result.reverse(); // Reverse the result to get the correct order
73
73
  };
74
+ Object.defineProperty(BaseProject.prototype, "embeddedProject", {
75
+ //#endregion
76
+ get: function () {
77
+ var _this = this;
78
+ var nearsetProj = this.ins.nearestTo((0, tnp_core_1.crossPlatformPath)([this.location, '..']));
79
+ var linkedPorj = nearsetProj.linkedProjects.find(function (l) {
80
+ return _this.location === (0, tnp_core_1.crossPlatformPath)([nearsetProj.location, l.relativeClonePath]);
81
+ });
82
+ if (!linkedPorj) {
83
+ return;
84
+ }
85
+ var pathToEmbededProj = (0, tnp_core_1.crossPlatformPath)([nearsetProj.location, linkedPorj.relativeClonePath, linkedPorj.internalRealtiveProjectPath || '']);
86
+ var embdedresult = this.ins.From(pathToEmbededProj);
87
+ return embdedresult;
88
+ },
89
+ enumerable: false,
90
+ configurable: true
91
+ });
92
+ Object.defineProperty(BaseProject.prototype, "projectsDbLocation", {
93
+ get: function () {
94
+ //#region @backendFunc
95
+ return this.ins.projectsDb.projectsDbLocation;
96
+ //#endregion
97
+ },
98
+ enumerable: false,
99
+ configurable: true
100
+ });
101
+ //#region static / save location to db
102
+ BaseProject.prototype.saveLocationToDB = function () {
103
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
104
+ var db, existed, error_1;
105
+ var _this = this;
106
+ return tslib_1.__generator(this, function (_a) {
107
+ switch (_a.label) {
108
+ case 0: return [4 /*yield*/, this.ins.projectsDb.useDB()];
109
+ case 1:
110
+ db = _a.sent();
111
+ existed = db.data.projects.find(function (f) { return f.location === _this.location; });
112
+ if (!!existed) return [3 /*break*/, 5];
113
+ _a.label = 2;
114
+ case 2:
115
+ _a.trys.push([2, 4, , 5]);
116
+ return [4 /*yield*/, db.update(function (data) {
117
+ if (data.projects.length > 50) {
118
+ data.projects.shift();
119
+ }
120
+ data.projects.push({
121
+ location: _this.location,
122
+ });
123
+ })];
124
+ case 3:
125
+ _a.sent();
126
+ return [3 /*break*/, 5];
127
+ case 4:
128
+ error_1 = _a.sent();
129
+ index_1.Helpers.warn("Cannot save location to db");
130
+ return [3 /*break*/, 5];
131
+ case 5: return [2 /*return*/];
132
+ }
133
+ });
134
+ });
135
+ };
74
136
  //#endregion
75
137
  //#region methods & getters
138
+ BaseProject.prototype.saveAllLinkedProjectsToDB = function () {
139
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
140
+ var proj, _a, _b, link, linkedPorj, e_1_1;
141
+ var e_1, _c;
142
+ return tslib_1.__generator(this, function (_d) {
143
+ switch (_d.label) {
144
+ case 0:
145
+ proj = this;
146
+ return [4 /*yield*/, proj.saveLocationToDB()];
147
+ case 1:
148
+ _d.sent();
149
+ _d.label = 2;
150
+ case 2:
151
+ _d.trys.push([2, 8, 9, 10]);
152
+ _a = tslib_1.__values(proj.linkedProjects), _b = _a.next();
153
+ _d.label = 3;
154
+ case 3:
155
+ if (!!_b.done) return [3 /*break*/, 7];
156
+ link = _b.value;
157
+ linkedPorj = this.ins.From([proj.location, link.relativeClonePath, link.internalRealtiveProjectPath || '']);
158
+ if (!linkedPorj) return [3 /*break*/, 5];
159
+ return [4 /*yield*/, linkedPorj.saveLocationToDB()];
160
+ case 4:
161
+ _d.sent();
162
+ return [3 /*break*/, 6];
163
+ case 5:
164
+ index_1.Helpers.warn("Folder ".concat(link.relativeClonePath, " is missing projects..."));
165
+ _d.label = 6;
166
+ case 6:
167
+ _b = _a.next();
168
+ return [3 /*break*/, 3];
169
+ case 7: return [3 /*break*/, 10];
170
+ case 8:
171
+ e_1_1 = _d.sent();
172
+ e_1 = { error: e_1_1 };
173
+ return [3 /*break*/, 10];
174
+ case 9:
175
+ try {
176
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
177
+ }
178
+ finally { if (e_1) throw e_1.error; }
179
+ return [7 /*endfinally*/];
180
+ case 10: return [2 /*return*/];
181
+ }
182
+ });
183
+ });
184
+ };
185
+ Object.defineProperty(BaseProject.prototype, "isMonorepo", {
186
+ //#region methods & getters / is monorepo
187
+ get: function () {
188
+ return false;
189
+ },
190
+ enumerable: false,
191
+ configurable: true
192
+ });
193
+ Object.defineProperty(BaseProject.prototype, "core", {
194
+ //#endregion
195
+ //#region getters & methods / core
196
+ get: function () {
197
+ var _this = this;
198
+ if (this.cache['core']) {
199
+ return this.cache['core'];
200
+ }
201
+ var coreProject = index_1.CoreProject.coreProjects.find(function (p) { return p.recognizedFn(_this); });
202
+ this.cache['core'] = coreProject;
203
+ return coreProject;
204
+ },
205
+ enumerable: false,
206
+ configurable: true
207
+ });
208
+ //#endregion
209
+ //#region methods & getters / add linked project
76
210
  BaseProject.prototype.addLinkedProject = function (linkedProj) {
77
- var linkedProject = tnp_core_3._.isString(linkedProj) ? index_1.LinkedProject.fromName(linkedProj) : linkedProj;
211
+ var linkedProject = tnp_core_2._.isString(linkedProj) ? index_1.LinkedProject.fromName(linkedProj) : linkedProj;
78
212
  //#region @backendFunc
79
213
  var linkedProjectsConfig = this.getLinkedProjectsConfig();
80
214
  linkedProjectsConfig.projects.push(index_1.LinkedProject.from(linkedProject));
81
215
  this.setLinkedProjectsConfig(linkedProjectsConfig);
82
216
  //#endregion
83
217
  };
218
+ //#endregion
219
+ //#region methods & getters / add linked projects
84
220
  BaseProject.prototype.addLinkedProjects = function (linkedProjs) {
85
- var e_1, _a;
221
+ var e_2, _a;
86
222
  try {
87
223
  //#region @backendFunc
88
224
  for (var linkedProjs_1 = tslib_1.__values(linkedProjs), linkedProjs_1_1 = linkedProjs_1.next(); !linkedProjs_1_1.done; linkedProjs_1_1 = linkedProjs_1.next()) {
@@ -90,15 +226,17 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
90
226
  this.addLinkedProject(linkedProj);
91
227
  }
92
228
  }
93
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
229
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
94
230
  finally {
95
231
  try {
96
232
  if (linkedProjs_1_1 && !linkedProjs_1_1.done && (_a = linkedProjs_1.return)) _a.call(linkedProjs_1);
97
233
  }
98
- finally { if (e_1) throw e_1.error; }
234
+ finally { if (e_2) throw e_2.error; }
99
235
  }
100
236
  //#endregion
101
237
  };
238
+ //#endregion
239
+ //#region methods & getters / set linked projects config
102
240
  BaseProject.prototype.setLinkedProjectsConfig = function (linkedPorjectsConfig) {
103
241
  //#region @backendFunc
104
242
  linkedPorjectsConfig = index_1.LinkedPorjectsConfig.from(linkedPorjectsConfig);
@@ -112,12 +250,16 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
112
250
  //#endregion
113
251
  };
114
252
  Object.defineProperty(BaseProject.prototype, "linkedProjectsConfigPath", {
253
+ //#endregion
254
+ //#region methods & getters / get linked projects config path
115
255
  get: function () {
116
256
  return this.pathFor(tnp_config_1.config.file.linked_projects_json);
117
257
  },
118
258
  enumerable: false,
119
259
  configurable: true
120
260
  });
261
+ //#endregion
262
+ //#region methods & getters / recreate linked projects config
121
263
  BaseProject.prototype.recreateLinkedProjectsConfig = function () {
122
264
  //#region @backendFunc
123
265
  if (!index_1.Helpers.exists(this.linkedProjectsConfigPath)) {
@@ -125,37 +267,40 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
125
267
  }
126
268
  //#endregion
127
269
  };
270
+ //#endregion
271
+ //#region methods & getters / get linked projects config
128
272
  BaseProject.prototype.getLinkedProjectsConfig = function () {
129
273
  //#region @backendFunc
130
274
  this.recreateLinkedProjectsConfig();
131
275
  var existedConfig = index_1.Helpers.readJson(this.pathFor(tnp_config_1.config.file.linked_projects_json), {}, true);
132
- var orgExistedConfig = tnp_core_3._.cloneDeep(existedConfig);
276
+ var orgExistedConfig = tnp_core_2._.cloneDeep(existedConfig);
133
277
  // console.log({ existedConfig });
134
278
  var linkedPorjectsConfig = index_1.LinkedPorjectsConfig.from(existedConfig);
135
279
  var currentRemoteUrl = this.git.originURL;
136
280
  var currentBranch = this.git.currentBranchName;
137
281
  linkedPorjectsConfig.projects = (linkedPorjectsConfig.projects || []).map(function (projOrProjName) {
138
- if (tnp_core_3._.isString(projOrProjName)) {
282
+ if (tnp_core_2._.isString(projOrProjName)) {
139
283
  return index_1.LinkedProject.fromName(projOrProjName, currentRemoteUrl, currentBranch);
140
284
  }
141
285
  if (!projOrProjName.relativeClonePath) {
142
- projOrProjName.relativeClonePath = tnp_core_2.path.basename(projOrProjName.remoteUrl()).replace('.git', '');
286
+ projOrProjName.relativeClonePath = tnp_core_1.path.basename(projOrProjName.remoteUrl()).replace('.git', '');
143
287
  }
144
288
  projOrProjName = index_1.LinkedProject.from(projOrProjName);
145
289
  if (!projOrProjName.remoteUrl()) {
146
- projOrProjName.repoUrl = currentRemoteUrl.replace(tnp_core_2.path.basename(currentRemoteUrl), "".concat(projOrProjName.relativeClonePath, ".git"));
290
+ projOrProjName.repoUrl = currentRemoteUrl.replace(tnp_core_1.path.basename(currentRemoteUrl), "".concat(projOrProjName.relativeClonePath, ".git"));
147
291
  }
148
292
  return projOrProjName;
149
293
  });
150
294
  // console.log({ linkedPorjectsConfig })
151
295
  linkedPorjectsConfig.projects = index_1.Helpers.uniqArray(linkedPorjectsConfig.projects, 'relativeClonePath');
152
- if (!tnp_core_3._.isEqual(orgExistedConfig, linkedPorjectsConfig)) {
296
+ if (!tnp_core_2._.isEqual(orgExistedConfig, linkedPorjectsConfig)) {
153
297
  this.setLinkedProjectsConfig(linkedPorjectsConfig);
154
298
  }
155
299
  return linkedPorjectsConfig;
156
300
  //#endregion
157
301
  };
158
302
  Object.defineProperty(BaseProject.prototype, "linkedProjects", {
303
+ //#endregion
159
304
  //#region methods & getters / linked projects
160
305
  get: function () {
161
306
  return this.getLinkedProjectsConfig().projects || [];
@@ -165,6 +310,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
165
310
  });
166
311
  Object.defineProperty(BaseProject.prototype, "detectedLinkedProjects", {
167
312
  //#endregion
313
+ //#region methods & getters / detected linked projects
168
314
  get: function () {
169
315
  var detectedLinkedProjects = index_1.LinkedProject.detect(this.location, true);
170
316
  return detectedLinkedProjects;
@@ -173,6 +319,8 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
173
319
  configurable: true
174
320
  });
175
321
  Object.defineProperty(BaseProject.prototype, "linkedProjectsPrefix", {
322
+ //#endregion
323
+ //#region methods & getters / linked projects prefix
176
324
  get: function () {
177
325
  return this.getLinkedProjectsConfig().prefix;
178
326
  },
@@ -180,6 +328,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
180
328
  configurable: true
181
329
  });
182
330
  Object.defineProperty(BaseProject.prototype, "linkedProjectsExisted", {
331
+ //#endregion
183
332
  //#region getters & methods / link project exited
184
333
  get: function () {
185
334
  var _this = this;
@@ -196,112 +345,78 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
196
345
  configurable: true
197
346
  });
198
347
  //#endregion
348
+ //#region getters & methods / reset linked projects only to core branches
349
+ BaseProject.prototype.resetLinkedProjectsOnlyToCoreBranches = function () {
350
+ return false;
351
+ };
352
+ //#endregion
199
353
  //#region getters & methods / get unexisted projects
200
354
  BaseProject.prototype.cloneUnexistedLinkedProjects = function (actionType, cloneChildren) {
201
355
  if (cloneChildren === void 0) { cloneChildren = false; }
202
356
  return tslib_1.__awaiter(this, void 0, void 0, function () {
203
- var detectedLinkedProjects, _loop_1, this_1, detectedLinkedProjects_1, detectedLinkedProjects_1_1, detectedLinkedProject, e_2_1, projectsThatShouldBeLinked, _a, projectsThatShouldBeLinked_1, projectsThatShouldBeLinked_1_1, linkedProj, e_3_1;
204
- var e_2, _b, e_3, _c;
205
- return tslib_1.__generator(this, function (_d) {
206
- switch (_d.label) {
357
+ var detectedLinkedProjects, projectsThatShouldBeLinked, _a, projectsThatShouldBeLinked_1, projectsThatShouldBeLinked_1_1, linkedProj, childProjLocaiton, childProj, e_3_1;
358
+ var e_3, _b;
359
+ return tslib_1.__generator(this, function (_c) {
360
+ switch (_c.label) {
207
361
  case 0:
208
362
  //#region @backendFunc
209
363
  if (actionType === 'push' && this.automaticallyAddAllChnagesWhenPushingToGit()) {
210
364
  return [2 /*return*/];
211
365
  }
212
- index_1.Helpers.taskStarted("Checking linked projects in ".concat(this.genericName));
213
366
  detectedLinkedProjects = this.detectedLinkedProjects;
214
- _loop_1 = function (detectedLinkedProject) {
215
- return tslib_1.__generator(this, function (_e) {
216
- switch (_e.label) {
217
- case 0:
218
- if (this_1.linkedProjects.find(function (f) { return f.relativeClonePath === detectedLinkedProject.relativeClonePath; })) {
219
- return [2 /*return*/, "continue"];
220
- }
221
- return [4 /*yield*/, index_1.Helpers.questionYesNo("Do you want to remove unexisted linked project ".concat(detectedLinkedProject.relativeClonePath, " ?"))];
222
- case 1:
223
- if (_e.sent()) {
224
- index_1.Helpers.taskStarted("Removing unexisted project ".concat(detectedLinkedProject.relativeClonePath));
225
- index_1.Helpers.removeFolderIfExists(this_1.pathFor(detectedLinkedProject.relativeClonePath));
226
- index_1.Helpers.taskDone("Removed unexisted project ".concat(detectedLinkedProject.relativeClonePath));
227
- }
228
- return [2 /*return*/];
229
- }
230
- });
231
- };
232
- this_1 = this;
233
- _d.label = 1;
234
- case 1:
235
- _d.trys.push([1, 6, 7, 8]);
236
- detectedLinkedProjects_1 = tslib_1.__values(detectedLinkedProjects), detectedLinkedProjects_1_1 = detectedLinkedProjects_1.next();
237
- _d.label = 2;
238
- case 2:
239
- if (!!detectedLinkedProjects_1_1.done) return [3 /*break*/, 5];
240
- detectedLinkedProject = detectedLinkedProjects_1_1.value;
241
- return [5 /*yield**/, _loop_1(detectedLinkedProject)];
242
- case 3:
243
- _d.sent();
244
- _d.label = 4;
245
- case 4:
246
- detectedLinkedProjects_1_1 = detectedLinkedProjects_1.next();
247
- return [3 /*break*/, 2];
248
- case 5: return [3 /*break*/, 8];
249
- case 6:
250
- e_2_1 = _d.sent();
251
- e_2 = { error: e_2_1 };
252
- return [3 /*break*/, 8];
253
- case 7:
254
- try {
255
- if (detectedLinkedProjects_1_1 && !detectedLinkedProjects_1_1.done && (_b = detectedLinkedProjects_1.return)) _b.call(detectedLinkedProjects_1);
256
- }
257
- finally { if (e_2) throw e_2.error; }
258
- return [7 /*endfinally*/];
259
- case 8:
260
- index_1.Helpers.taskDone("Checking linked projects done in ".concat(this.genericName));
261
367
  projectsThatShouldBeLinked = this.linkedProjects
262
368
  .map(function (linkedProj) {
263
369
  return detectedLinkedProjects.find(function (f) { return f.relativeClonePath === linkedProj.relativeClonePath; }) ? void 0 : linkedProj;
264
- }).filter(function (f) { return !!f; });
265
- if (!(projectsThatShouldBeLinked.length > 0)) return [3 /*break*/, 18];
370
+ })
371
+ .filter(function (f) { return !!f; });
372
+ if (!(projectsThatShouldBeLinked.length > 0)) return [3 /*break*/, 11];
266
373
  index_1.Helpers.info("\n\n".concat(projectsThatShouldBeLinked.map(function (p, index) {
267
- return "- ".concat(index + 1, ". ").concat(tnp_core_1.chalk.bold(p.relativeClonePath), " ").concat(p.remoteUrl(), " {").concat(p.purpose ? " purpose: ".concat(p.purpose, " }") : '');
374
+ return "- ".concat(index + 1, ". ").concat(tnp_core_3.chalk.bold(p.relativeClonePath), " ").concat(p.remoteUrl(), " {").concat(p.purpose ? " purpose: ".concat(p.purpose, " }") : '');
268
375
  }).join('\n'), "\n\n "));
376
+ if (!!this.isMonorepo) return [3 /*break*/, 11];
269
377
  _a = cloneChildren;
270
- if (_a) return [3 /*break*/, 10];
378
+ if (_a) return [3 /*break*/, 2];
271
379
  return [4 /*yield*/, index_1.Helpers.questionYesNo("Do you want to clone above (missing) linked projects ?")];
272
- case 9:
273
- _a = (_d.sent());
274
- _d.label = 10;
275
- case 10:
276
- if (!_a) return [3 /*break*/, 18];
277
- _d.label = 11;
278
- case 11:
279
- _d.trys.push([11, 16, 17, 18]);
380
+ case 1:
381
+ _a = (_c.sent());
382
+ _c.label = 2;
383
+ case 2:
384
+ if (!_a) return [3 /*break*/, 11];
385
+ _c.label = 3;
386
+ case 3:
387
+ _c.trys.push([3, 9, 10, 11]);
280
388
  projectsThatShouldBeLinked_1 = tslib_1.__values(projectsThatShouldBeLinked), projectsThatShouldBeLinked_1_1 = projectsThatShouldBeLinked_1.next();
281
- _d.label = 12;
282
- case 12:
283
- if (!!projectsThatShouldBeLinked_1_1.done) return [3 /*break*/, 15];
389
+ _c.label = 4;
390
+ case 4:
391
+ if (!!projectsThatShouldBeLinked_1_1.done) return [3 /*break*/, 8];
284
392
  linkedProj = projectsThatShouldBeLinked_1_1.value;
285
- index_1.Helpers.info("Cloning unexisted project from url ".concat(tnp_core_1.chalk.bold(linkedProj.remoteUrl()), " to ").concat(linkedProj.relativeClonePath));
393
+ // console.log({linkedProj})
394
+ index_1.Helpers.info("Cloning unexisted project from url ".concat(tnp_core_3.chalk.bold(linkedProj.remoteUrl()), " to ").concat(linkedProj.relativeClonePath));
286
395
  return [4 /*yield*/, this.git.clone(linkedProj.remoteUrl(), linkedProj.relativeClonePath, linkedProj.deafultBranch)];
287
- case 13:
288
- _d.sent();
289
- _d.label = 14;
290
- case 14:
396
+ case 5:
397
+ _c.sent();
398
+ childProjLocaiton = this.pathFor([linkedProj.relativeClonePath, linkedProj.internalRealtiveProjectPath]);
399
+ childProj = this.ins.From(childProjLocaiton);
400
+ if (!childProj) return [3 /*break*/, 7];
401
+ return [4 /*yield*/, childProj.saveLocationToDB()];
402
+ case 6:
403
+ _c.sent();
404
+ _c.label = 7;
405
+ case 7:
291
406
  projectsThatShouldBeLinked_1_1 = projectsThatShouldBeLinked_1.next();
292
- return [3 /*break*/, 12];
293
- case 15: return [3 /*break*/, 18];
294
- case 16:
295
- e_3_1 = _d.sent();
407
+ return [3 /*break*/, 4];
408
+ case 8: return [3 /*break*/, 11];
409
+ case 9:
410
+ e_3_1 = _c.sent();
296
411
  e_3 = { error: e_3_1 };
297
- return [3 /*break*/, 18];
298
- case 17:
412
+ return [3 /*break*/, 11];
413
+ case 10:
299
414
  try {
300
- if (projectsThatShouldBeLinked_1_1 && !projectsThatShouldBeLinked_1_1.done && (_c = projectsThatShouldBeLinked_1.return)) _c.call(projectsThatShouldBeLinked_1);
415
+ if (projectsThatShouldBeLinked_1_1 && !projectsThatShouldBeLinked_1_1.done && (_b = projectsThatShouldBeLinked_1.return)) _b.call(projectsThatShouldBeLinked_1);
301
416
  }
302
417
  finally { if (e_3) throw e_3.error; }
303
418
  return [7 /*endfinally*/];
304
- case 18: return [2 /*return*/];
419
+ case 11: return [2 /*return*/];
305
420
  }
306
421
  });
307
422
  });
@@ -338,7 +453,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
338
453
  */
339
454
  get: function () {
340
455
  //#region @websqlFunc
341
- return tnp_core_2.path.basename(this.location);
456
+ return tnp_core_1.path.basename(this.location);
342
457
  //#endregion
343
458
  },
344
459
  enumerable: false,
@@ -379,7 +494,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
379
494
  // @ts-ignore
380
495
  get: function () {
381
496
  //#region @backendFunc
382
- return Number(tnp_core_3._.first((this.version || '').split('.')));
497
+ return Number(tnp_core_2._.first((this.version || '').split('.')));
383
498
  //#endregion
384
499
  },
385
500
  enumerable: false,
@@ -408,7 +523,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
408
523
  get: function () {
409
524
  //#region @backendFunc
410
525
  var ver = this.version.split('.');
411
- var res = Number(tnp_core_3._.last(ver));
526
+ var res = Number(tnp_core_2._.last(ver));
412
527
  return isNaN(res) ? 0 : res;
413
528
  //#endregion
414
529
  },
@@ -470,7 +585,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
470
585
  * object with all deps from package json
471
586
  */
472
587
  get: function () {
473
- return tnp_core_3._.merge(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, this.devDependencies), this.peerDependencies), this.dependencies), this.resolutions));
588
+ return tnp_core_2._.merge(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, this.devDependencies), this.peerDependencies), this.dependencies), this.resolutions));
474
589
  },
475
590
  enumerable: false,
476
591
  configurable: true
@@ -479,13 +594,13 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
479
594
  //#region methods & getters / get folder for possible project chhildrens
480
595
  BaseProject.prototype.getFoldersForPossibleProjectChildren = function () {
481
596
  //#region @backendFunc
482
- var isDirectory = function (source) { return tnp_core_1.fse.lstatSync(source).isDirectory(); };
597
+ var isDirectory = function (source) { return tnp_core_3.fse.lstatSync(source).isDirectory(); };
483
598
  var getDirectories = function (source) {
484
- return tnp_core_1.fse.readdirSync(source).map(function (name) { return tnp_core_2.path.join(source, name); }).filter(isDirectory);
599
+ return tnp_core_3.fse.readdirSync(source).map(function (name) { return tnp_core_1.path.join(source, name); }).filter(isDirectory);
485
600
  };
486
601
  var subdirectories = getDirectories(this.location)
487
602
  .filter(function (f) {
488
- var folderName = tnp_core_2.path.basename(f);
603
+ var folderName = tnp_core_1.path.basename(f);
489
604
  return index_1.Helpers.checkIfNameAllowedForFiredevProj(folderName);
490
605
  });
491
606
  // if (this.isTnp' && fse.existsSync(path.join(this.location, '../firedev-projects'))) {
@@ -544,10 +659,10 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
544
659
  //#region methods & getters / parent
545
660
  get: function () {
546
661
  //#region @websqlFunc
547
- if (!tnp_core_3._.isString(this.location) || this.location.trim() === '') {
662
+ if (!tnp_core_2._.isString(this.location) || this.location.trim() === '') {
548
663
  return void 0;
549
664
  }
550
- return this.ins.From(tnp_core_2.path.join(this.location, '..'));
665
+ return this.ins.From(tnp_core_1.path.join(this.location, '..'));
551
666
  //#endregion
552
667
  },
553
668
  enumerable: false,
@@ -558,10 +673,10 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
558
673
  //#region methods & getters / grandpa
559
674
  get: function () {
560
675
  //#region @websqlFunc
561
- if (!tnp_core_3._.isString(this.location) || this.location.trim() === '') {
676
+ if (!tnp_core_2._.isString(this.location) || this.location.trim() === '') {
562
677
  return void 0;
563
678
  }
564
- var grandpa = this.ins.From(tnp_core_2.path.join(this.location, '..', '..'));
679
+ var grandpa = this.ins.From(tnp_core_1.path.join(this.location, '..', '..'));
565
680
  return grandpa;
566
681
  //#endregion
567
682
  },
@@ -575,11 +690,12 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
575
690
  //#region @websqlFunc
576
691
  var parent = this.parent;
577
692
  return [
578
- parent ? tnp_core_2.path.basename(tnp_core_2.path.dirname(parent.location)) : void 0,
579
- parent ? parent.basename : tnp_core_2.path.basename(this.location),
693
+ parent ? tnp_core_1.path.basename(tnp_core_1.path.dirname(parent.location)) : void 0,
694
+ parent ? parent.basename : tnp_core_1.path.basename(this.location),
580
695
  this.basename,
581
696
  //#region @backend
582
- "(".concat(tnp_cli_1.CLI.chalk.bold(this.name), ")"),
697
+ "(".concat(tnp_cli_1.CLI.chalk.bold.underline(this.name), ")"),
698
+ "(type=".concat(tnp_cli_1.CLI.chalk.italic.bold(this.type), ")"),
583
699
  //#endregion
584
700
  ]
585
701
  .filter(function (f) { return !!f; })
@@ -612,7 +728,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
612
728
  * but with path.resolve
613
729
  */
614
730
  BaseProject.prototype.containsFile = function (fileRelativeToProjectPath) {
615
- var fullPath = tnp_core_2.path.resolve(tnp_core_2.path.join(this.location, fileRelativeToProjectPath));
731
+ var fullPath = tnp_core_1.path.resolve(tnp_core_1.path.join(this.location, fileRelativeToProjectPath));
616
732
  return index_1.Helpers.exists(fullPath);
617
733
  };
618
734
  //#endregion
@@ -626,20 +742,20 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
626
742
  if (Array.isArray(relativePath)) {
627
743
  relativePath = relativePath.join('/');
628
744
  }
629
- if (tnp_core_2.path.isAbsolute(relativePath)) {
745
+ if (tnp_core_1.path.isAbsolute(relativePath)) {
630
746
  index_1.Helpers.error("Cannot join relative path with absolute: ".concat(relativePath));
631
747
  }
632
- return (0, tnp_core_2.crossPlatformPath)(tnp_core_2.path.join(this.location, relativePath));
748
+ return (0, tnp_core_1.crossPlatformPath)(tnp_core_1.path.join(this.location, relativePath));
633
749
  //#endregion
634
750
  };
635
751
  //#endregion
636
752
  //#region methods & getters / write json
637
753
  BaseProject.prototype.writeJson = function (relativePath, json) {
638
754
  //#region @backendFunc
639
- if (tnp_core_2.path.isAbsolute(relativePath)) {
755
+ if (tnp_core_1.path.isAbsolute(relativePath)) {
640
756
  index_1.Helpers.error("Cannot join relative path with absolute: ".concat(relativePath));
641
757
  }
642
- index_1.Helpers.writeJson((0, tnp_core_2.crossPlatformPath)([this.location, relativePath]), json);
758
+ index_1.Helpers.writeJson((0, tnp_core_1.crossPlatformPath)([this.location, relativePath]), json);
643
759
  //#endregion
644
760
  };
645
761
  //#endregion
@@ -650,9 +766,9 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
650
766
  */
651
767
  BaseProject.prototype.run = function (command, options) {
652
768
  //#region @backendFunc
653
- options = tnp_core_3._.cloneDeep(options) || {};
769
+ options = tnp_core_2._.cloneDeep(options) || {};
654
770
  index_1.Helpers.log("command: ".concat(command));
655
- if (tnp_core_3._.isUndefined(options.showCommand)) {
771
+ if (tnp_core_2._.isUndefined(options.showCommand)) {
656
772
  options.showCommand = false;
657
773
  }
658
774
  var opt = options;
@@ -680,7 +796,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
680
796
  switch (_a.label) {
681
797
  case 0:
682
798
  //#region @backendFunc
683
- if (tnp_core_3._.isUndefined(options.showCommand)) {
799
+ if (tnp_core_2._.isUndefined(options.showCommand)) {
684
800
  options.showCommand = false;
685
801
  }
686
802
  if (!options) {
@@ -736,11 +852,19 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
736
852
  //#region methods & getters / remove file
737
853
  BaseProject.prototype.removeFile = function (fileRelativeToProjectPath) {
738
854
  //#region @backendFunc
739
- var fullPath = tnp_core_2.path.resolve(tnp_core_2.path.join(this.location, fileRelativeToProjectPath));
855
+ var fullPath = tnp_core_1.path.resolve(tnp_core_1.path.join(this.location, fileRelativeToProjectPath));
740
856
  return index_1.Helpers.removeFileIfExists(fullPath);
741
857
  //#endregion
742
858
  };
743
859
  //#endregion
860
+ //#region methods & getters / read file
861
+ BaseProject.prototype.readFile = function (fileRelativeToProjectPath) {
862
+ //#region @backendFunc
863
+ var fullPath = tnp_core_1.path.resolve(tnp_core_1.path.join(this.location, fileRelativeToProjectPath));
864
+ return index_1.Helpers.readFile(fullPath);
865
+ //#endregion
866
+ };
867
+ //#endregion
744
868
  //#region methods & getters / remove (fiel or folder)
745
869
  BaseProject.prototype.remove = function (relativePath, exactPath) {
746
870
  if (exactPath === void 0) { exactPath = true; }
@@ -755,7 +879,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
755
879
  //#region @backend
756
880
  relativePathToFolder = relativePathToFolder.replace(/^\//, '');
757
881
  var location = this.location;
758
- var p = tnp_core_2.path.join(location, relativePathToFolder);
882
+ var p = tnp_core_1.path.join(location, relativePathToFolder);
759
883
  index_1.Helpers.remove(p, true);
760
884
  //#endregion
761
885
  };
@@ -794,7 +918,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
794
918
  switch (_a.label) {
795
919
  case 0:
796
920
  //#region @backendFunc
797
- if (tnp_core_3._.isNumber(this.port) && this.port >= startFrom) {
921
+ if (tnp_core_2._.isNumber(this.port) && this.port >= startFrom) {
798
922
  return [2 /*return*/, startFrom];
799
923
  }
800
924
  max = 2000;
@@ -808,7 +932,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
808
932
  _a.label = 2;
809
933
  case 2:
810
934
  _a.trys.push([2, 4, , 5]);
811
- return [4 /*yield*/, tnp_core_1.portfinder.getPortPromise({ port: startFrom })];
935
+ return [4 /*yield*/, tnp_core_3.portfinder.getPortPromise({ port: startFrom })];
812
936
  case 3:
813
937
  port = _a.sent();
814
938
  takenPorts.push(port);
@@ -862,7 +986,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
862
986
  }
863
987
  }
864
988
  else {
865
- index_1.Helpers.warn("[firedev-helpers] Cannot create dynamic instance of class \"".concat(tnp_core_3._.kebabCase(prefixedName.replace('__', '')), "\"."));
989
+ index_1.Helpers.warn("[firedev-helpers] Cannot create dynamic instance of class \"".concat(tnp_core_2._.kebabCase(prefixedName.replace('__', '')), "\"."));
866
990
  }
867
991
  // }
868
992
  }
@@ -915,57 +1039,63 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
915
1039
  //#endregion
916
1040
  //#region methods & getters / reset process
917
1041
  BaseProject.prototype.resetProcess = function (overrideBranch, recrusive) {
1042
+ var _a;
918
1043
  if (recrusive === void 0) { recrusive = false; }
919
1044
  return tslib_1.__awaiter(this, void 0, void 0, function () {
920
- var defaultBranch, childrenRepos, childrenRepos_1, childrenRepos_1_1, child, e_4_1;
921
- var e_4, _a;
922
- return tslib_1.__generator(this, function (_b) {
923
- switch (_b.label) {
1045
+ var branchToReset, _b, _c, linked, child, e_4_1;
1046
+ var e_4, _d;
1047
+ return tslib_1.__generator(this, function (_e) {
1048
+ switch (_e.label) {
924
1049
  case 0:
925
1050
  //#region @backend
1051
+ // console.log(`CORE PROJECT BRANCH ${this.name}: ${this.core?.branch}, overrideBranch: ${overrideBranch}`)
926
1052
  index_1.Helpers.taskStarted("Starting reset process for ".concat(this.genericName));
927
1053
  this._beforeAnyActionOnGitRoot();
928
- defaultBranch = overrideBranch
1054
+ branchToReset = overrideBranch
929
1055
  ? overrideBranch : this.getDefaultDevelopmentBranch();
1056
+ if (this.resetLinkedProjectsOnlyToCoreBranches() && ((_a = this.core) === null || _a === void 0 ? void 0 : _a.branch)) {
1057
+ branchToReset = this.core.branch;
1058
+ }
930
1059
  index_1.Helpers.info("fetch data in ".concat(this.genericName));
931
1060
  this.git.fetch();
932
1061
  index_1.Helpers.logInfo("reseting hard in ".concat(this.genericName));
933
1062
  this.git.resetHard();
934
- index_1.Helpers.logInfo("checking out branch \"".concat(defaultBranch, "\" in ").concat(this.genericName));
935
- this.git.checkout(defaultBranch);
1063
+ index_1.Helpers.logInfo("checking out branch \"".concat(branchToReset, "\" in ").concat(this.genericName));
1064
+ this.git.checkout(branchToReset);
936
1065
  index_1.Helpers.logInfo("pulling current branch in ".concat(this.genericName));
937
1066
  return [4 /*yield*/, this.git.pullCurrentBranch({ askToRetry: true })];
938
1067
  case 1:
939
- _b.sent();
1068
+ _e.sent();
940
1069
  index_1.Helpers.logInfo("initing (struct) in ".concat(this.genericName));
941
1070
  return [4 /*yield*/, this.struct()];
942
1071
  case 2:
943
- _b.sent();
944
- index_1.Helpers.taskDone("RESET DONE BRANCH: ".concat(tnp_core_1.chalk.bold(defaultBranch), " in ").concat(this.genericName));
945
- childrenRepos = this.children.filter(function (f) { return f.git.isInsideGitRepo && f.git.isGitRoot; });
946
- _b.label = 3;
1072
+ _e.sent();
1073
+ index_1.Helpers.taskDone("RESET DONE BRANCH: ".concat(tnp_core_3.chalk.bold(branchToReset), " in ").concat(this.genericName));
1074
+ _e.label = 3;
947
1075
  case 3:
948
- _b.trys.push([3, 8, 9, 10]);
949
- childrenRepos_1 = tslib_1.__values(childrenRepos), childrenRepos_1_1 = childrenRepos_1.next();
950
- _b.label = 4;
1076
+ _e.trys.push([3, 8, 9, 10]);
1077
+ _b = tslib_1.__values(this.linkedProjects), _c = _b.next();
1078
+ _e.label = 4;
951
1079
  case 4:
952
- if (!!childrenRepos_1_1.done) return [3 /*break*/, 7];
953
- child = childrenRepos_1_1.value;
954
- return [4 /*yield*/, child.resetProcess(overrideBranch, true)];
1080
+ if (!!_c.done) return [3 /*break*/, 7];
1081
+ linked = _c.value;
1082
+ child = this.ins.From(this.pathFor([linked.relativeClonePath]));
1083
+ if (!child) return [3 /*break*/, 6];
1084
+ return [4 /*yield*/, child.resetProcess(child.resetLinkedProjectsOnlyToCoreBranches() ? void 0 : branchToReset, true)];
955
1085
  case 5:
956
- _b.sent();
957
- _b.label = 6;
1086
+ _e.sent();
1087
+ _e.label = 6;
958
1088
  case 6:
959
- childrenRepos_1_1 = childrenRepos_1.next();
1089
+ _c = _b.next();
960
1090
  return [3 /*break*/, 4];
961
1091
  case 7: return [3 /*break*/, 10];
962
1092
  case 8:
963
- e_4_1 = _b.sent();
1093
+ e_4_1 = _e.sent();
964
1094
  e_4 = { error: e_4_1 };
965
1095
  return [3 /*break*/, 10];
966
1096
  case 9:
967
1097
  try {
968
- if (childrenRepos_1_1 && !childrenRepos_1_1.done && (_a = childrenRepos_1.return)) _a.call(childrenRepos_1);
1098
+ if (_c && !_c.done && (_d = _b.return)) _d.call(_b);
969
1099
  }
970
1100
  finally { if (e_4) throw e_4.error; }
971
1101
  return [7 /*endfinally*/];
@@ -979,7 +1109,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
979
1109
  BaseProject.prototype.pullProcess = function (cloneChildren) {
980
1110
  if (cloneChildren === void 0) { cloneChildren = false; }
981
1111
  return tslib_1.__awaiter(this, void 0, void 0, function () {
982
- var uncommitedChanges, location, childrenRepos, childrenRepos_2, childrenRepos_2_1, child, e_5_1;
1112
+ var uncommitedChanges, location, childrenRepos, childrenRepos_1, childrenRepos_1_1, child, e_5_1;
983
1113
  var e_5, _a;
984
1114
  return tslib_1.__generator(this, function (_b) {
985
1115
  switch (_b.label) {
@@ -1008,35 +1138,41 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1008
1138
  location = this.location;
1009
1139
  this.ins.unload(this);
1010
1140
  this.ins.add(this.ins.From(location));
1011
- if (!(this.automaticallyAddAllChnagesWhenPushingToGit() || cloneChildren)) return [3 /*break*/, 10];
1012
- childrenRepos = this.children.filter(function (f) { return f.git.isInsideGitRepo && f.git.isGitRoot; });
1013
- _b.label = 3;
1141
+ return [4 /*yield*/, this.saveLocationToDB()];
1014
1142
  case 3:
1015
- _b.trys.push([3, 8, 9, 10]);
1016
- childrenRepos_2 = tslib_1.__values(childrenRepos), childrenRepos_2_1 = childrenRepos_2.next();
1143
+ _b.sent();
1144
+ if (!(this.automaticallyAddAllChnagesWhenPushingToGit() || cloneChildren)) return [3 /*break*/, 11];
1145
+ childrenRepos = this.children.filter(function (f) { return f.git.isInsideGitRepo && f.git.isGitRoot; });
1017
1146
  _b.label = 4;
1018
1147
  case 4:
1019
- if (!!childrenRepos_2_1.done) return [3 /*break*/, 7];
1020
- child = childrenRepos_2_1.value;
1021
- return [4 /*yield*/, child.pullProcess()];
1148
+ _b.trys.push([4, 9, 10, 11]);
1149
+ childrenRepos_1 = tslib_1.__values(childrenRepos), childrenRepos_1_1 = childrenRepos_1.next();
1150
+ _b.label = 5;
1022
1151
  case 5:
1023
- _b.sent();
1024
- _b.label = 6;
1152
+ if (!!childrenRepos_1_1.done) return [3 /*break*/, 8];
1153
+ child = childrenRepos_1_1.value;
1154
+ return [4 /*yield*/, child.pullProcess()];
1025
1155
  case 6:
1026
- childrenRepos_2_1 = childrenRepos_2.next();
1027
- return [3 /*break*/, 4];
1028
- case 7: return [3 /*break*/, 10];
1029
- case 8:
1156
+ _b.sent();
1157
+ _b.label = 7;
1158
+ case 7:
1159
+ childrenRepos_1_1 = childrenRepos_1.next();
1160
+ return [3 /*break*/, 5];
1161
+ case 8: return [3 /*break*/, 11];
1162
+ case 9:
1030
1163
  e_5_1 = _b.sent();
1031
1164
  e_5 = { error: e_5_1 };
1032
- return [3 /*break*/, 10];
1033
- case 9:
1165
+ return [3 /*break*/, 11];
1166
+ case 10:
1034
1167
  try {
1035
- if (childrenRepos_2_1 && !childrenRepos_2_1.done && (_a = childrenRepos_2.return)) _a.call(childrenRepos_2);
1168
+ if (childrenRepos_1_1 && !childrenRepos_1_1.done && (_a = childrenRepos_1.return)) _a.call(childrenRepos_1);
1036
1169
  }
1037
1170
  finally { if (e_5) throw e_5.error; }
1038
1171
  return [7 /*endfinally*/];
1039
- case 10: return [2 /*return*/];
1172
+ case 11: return [4 /*yield*/, this.saveAllLinkedProjectsToDB()];
1173
+ case 12:
1174
+ _b.sent();
1175
+ return [2 /*return*/];
1040
1176
  }
1041
1177
  });
1042
1178
  });
@@ -1047,7 +1183,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1047
1183
  var _a;
1048
1184
  if (options === void 0) { options = {}; }
1049
1185
  return tslib_1.__awaiter(this, void 0, void 0, function () {
1050
- var force, typeofCommit, forcePushNoQuestion, origin, exitCallBack, args, commitMessageRequired, commitData, error_1, childrenRepos, childrenRepos_3, childrenRepos_3_1, child, e_6_1;
1186
+ var force, typeofCommit, forcePushNoQuestion, origin, exitCallBack, args, commitMessageRequired, commitData, error_2, childrenRepos, childrenRepos_2, childrenRepos_2_1, child, e_6_1;
1051
1187
  var _b, _c, _d, e_6, _e;
1052
1188
  return tslib_1.__generator(this, function (_f) {
1053
1189
  switch (_f.label) {
@@ -1056,46 +1192,49 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1056
1192
  return [4 /*yield*/, this._beforePushProcessAction()];
1057
1193
  case 1:
1058
1194
  _f.sent();
1059
- return [4 /*yield*/, this._getCommitMessage(typeofCommit, args, commitMessageRequired)];
1195
+ return [4 /*yield*/, this.saveLocationToDB()];
1060
1196
  case 2:
1061
- commitData = _f.sent();
1062
- _f.label = 3;
1197
+ _f.sent();
1198
+ return [4 /*yield*/, this._getCommitMessage(typeofCommit, args, commitMessageRequired)];
1063
1199
  case 3:
1064
- if (!true) return [3 /*break*/, 9];
1200
+ commitData = _f.sent();
1065
1201
  _f.label = 4;
1066
1202
  case 4:
1067
- _f.trys.push([4, 6, , 8]);
1068
- return [4 /*yield*/, this.lint()];
1203
+ if (!true) return [3 /*break*/, 10];
1204
+ _f.label = 5;
1069
1205
  case 5:
1070
- _f.sent();
1071
- return [3 /*break*/, 9];
1206
+ _f.trys.push([5, 7, , 9]);
1207
+ return [4 /*yield*/, this.lint()];
1072
1208
  case 6:
1073
- error_1 = _f.sent();
1209
+ _f.sent();
1210
+ return [3 /*break*/, 10];
1211
+ case 7:
1212
+ error_2 = _f.sent();
1074
1213
  index_1.Helpers.warn('Fix your code...');
1075
1214
  return [4 /*yield*/, index_1.Helpers.consoleGui.question.yesNo('Try again lint ? .. (or just skip it)')];
1076
- case 7:
1215
+ case 8:
1077
1216
  if (!(_f.sent())) {
1078
- return [3 /*break*/, 9];
1217
+ return [3 /*break*/, 10];
1079
1218
  }
1080
- return [3 /*break*/, 8];
1081
- case 8: return [3 /*break*/, 3];
1082
- case 9:
1083
- if (!!commitData.isActionCommit) return [3 /*break*/, 13];
1219
+ return [3 /*break*/, 9];
1220
+ case 9: return [3 /*break*/, 4];
1221
+ case 10:
1222
+ if (!!commitData.isActionCommit) return [3 /*break*/, 14];
1084
1223
  index_1.Helpers.info("Current commit:\n - message to include {".concat(commitData.commitMessage, "}\n - branch to checkout {").concat(commitData.branchName, "}\n "));
1085
- if (!(this.git.lastCommitMessage() === commitData.commitMessage)) return [3 /*break*/, 11];
1224
+ if (!(this.git.lastCommitMessage() === commitData.commitMessage)) return [3 /*break*/, 12];
1086
1225
  return [4 /*yield*/, index_1.Helpers.questionYesNo('Soft reset last commit with same message ?')];
1087
- case 10:
1226
+ case 11:
1088
1227
  if (_f.sent()) {
1089
1228
  this.git.resetSoftHEAD(1);
1090
1229
  }
1091
- _f.label = 11;
1092
- case 11: return [4 /*yield*/, index_1.Helpers.questionYesNo('Commit and push this ?')];
1093
- case 12:
1230
+ _f.label = 12;
1231
+ case 12: return [4 /*yield*/, index_1.Helpers.questionYesNo('Commit and push this ?')];
1232
+ case 13:
1094
1233
  if (!(_f.sent())) {
1095
1234
  exitCallBack();
1096
1235
  }
1097
- _f.label = 13;
1098
- case 13:
1236
+ _f.label = 14;
1237
+ case 14:
1099
1238
  if (this.automaticallyAddAllChnagesWhenPushingToGit()) { // my project
1100
1239
  this.git.stageAllFiles();
1101
1240
  }
@@ -1117,41 +1256,44 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1117
1256
  index_1.Helpers.warn("Not commiting anything... ");
1118
1257
  }
1119
1258
  return [4 /*yield*/, this.git.pushCurrentBranch({ force: force, origin: origin, forcePushNoQuestion: forcePushNoQuestion, askToRetry: true })];
1120
- case 14:
1259
+ case 15:
1121
1260
  _f.sent();
1122
- if (!this.automaticallyAddAllChnagesWhenPushingToGit()) return [3 /*break*/, 22];
1261
+ if (!this.automaticallyAddAllChnagesWhenPushingToGit()) return [3 /*break*/, 23];
1123
1262
  if (this.getLinkedProjectsConfig().skipRecrusivePush) {
1124
1263
  index_1.Helpers.warn("Skipping recrusive (children) push for ".concat(this.genericName));
1125
1264
  return [2 /*return*/];
1126
1265
  }
1127
1266
  childrenRepos = this.children.filter(function (f) { return f.git.isInsideGitRepo && f.git.isGitRoot; });
1128
- _f.label = 15;
1129
- case 15:
1130
- _f.trys.push([15, 20, 21, 22]);
1131
- childrenRepos_3 = tslib_1.__values(childrenRepos), childrenRepos_3_1 = childrenRepos_3.next();
1132
1267
  _f.label = 16;
1133
1268
  case 16:
1134
- if (!!childrenRepos_3_1.done) return [3 /*break*/, 19];
1135
- child = childrenRepos_3_1.value;
1136
- return [4 /*yield*/, child.pushProcess(options)];
1269
+ _f.trys.push([16, 21, 22, 23]);
1270
+ childrenRepos_2 = tslib_1.__values(childrenRepos), childrenRepos_2_1 = childrenRepos_2.next();
1271
+ _f.label = 17;
1137
1272
  case 17:
1138
- _f.sent();
1139
- _f.label = 18;
1273
+ if (!!childrenRepos_2_1.done) return [3 /*break*/, 20];
1274
+ child = childrenRepos_2_1.value;
1275
+ return [4 /*yield*/, child.pushProcess(options)];
1140
1276
  case 18:
1141
- childrenRepos_3_1 = childrenRepos_3.next();
1142
- return [3 /*break*/, 16];
1143
- case 19: return [3 /*break*/, 22];
1144
- case 20:
1277
+ _f.sent();
1278
+ _f.label = 19;
1279
+ case 19:
1280
+ childrenRepos_2_1 = childrenRepos_2.next();
1281
+ return [3 /*break*/, 17];
1282
+ case 20: return [3 /*break*/, 23];
1283
+ case 21:
1145
1284
  e_6_1 = _f.sent();
1146
1285
  e_6 = { error: e_6_1 };
1147
- return [3 /*break*/, 22];
1148
- case 21:
1286
+ return [3 /*break*/, 23];
1287
+ case 22:
1149
1288
  try {
1150
- if (childrenRepos_3_1 && !childrenRepos_3_1.done && (_e = childrenRepos_3.return)) _e.call(childrenRepos_3);
1289
+ if (childrenRepos_2_1 && !childrenRepos_2_1.done && (_e = childrenRepos_2.return)) _e.call(childrenRepos_2);
1151
1290
  }
1152
1291
  finally { if (e_6) throw e_6.error; }
1153
1292
  return [7 /*endfinally*/];
1154
- case 22: return [2 /*return*/];
1293
+ case 23: return [4 /*yield*/, this.saveAllLinkedProjectsToDB()];
1294
+ case 24:
1295
+ _f.sent();
1296
+ return [2 /*return*/];
1155
1297
  }
1156
1298
  });
1157
1299
  });
@@ -1161,10 +1303,10 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1161
1303
  BaseProject.prototype._beforeAnyActionOnGitRoot = function () {
1162
1304
  //#region @backendFunc
1163
1305
  if (!this.git.isInsideGitRepo) {
1164
- index_1.Helpers.error("Project ".concat(tnp_core_1.chalk.bold(this.name), " is not a git repository\n locaiton: ").concat(this.location), false, true);
1306
+ index_1.Helpers.error("Project ".concat(tnp_core_3.chalk.bold(this.name), " is not a git repository\n locaiton: ").concat(this.location), false, true);
1165
1307
  }
1166
1308
  if (!this.git.isGitRoot) {
1167
- index_1.Helpers.error("Project ".concat(tnp_core_1.chalk.bold(this.name), " is not a git root\n locaiton: ").concat(this.location), false, true);
1309
+ index_1.Helpers.error("Project ".concat(tnp_core_3.chalk.bold(this.name), " is not a git root\n locaiton: ").concat(this.location), false, true);
1168
1310
  }
1169
1311
  //#endregion
1170
1312
  };
@@ -1253,7 +1395,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1253
1395
  from = (_d = this.transalteGitCommitFromArgs(), _d.from), to = _d.to;
1254
1396
  if (!(from && to)) return [3 /*break*/, 9];
1255
1397
  _a = commitData;
1256
- _c = (_b = tnp_core_3._).kebabCase;
1398
+ _c = (_b = tnp_core_2._).kebabCase;
1257
1399
  return [4 /*yield*/, (0, translate_1.translate)(commitData.message, { from: from, to: to })];
1258
1400
  case 8:
1259
1401
  _a.message = _c.apply(_b, [_e.sent()]);
@@ -1303,7 +1445,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1303
1445
  clone: function (url, destinationFolderName, branchName) {
1304
1446
  if (destinationFolderName === void 0) { destinationFolderName = ''; }
1305
1447
  return tslib_1.__awaiter(this, void 0, void 0, function () {
1306
- var clondeFolderpath, error_2;
1448
+ var clondeFolderpath, error_3;
1307
1449
  return tslib_1.__generator(this, function (_a) {
1308
1450
  switch (_a.label) {
1309
1451
  case 0:
@@ -1318,9 +1460,9 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1318
1460
  _a.sent();
1319
1461
  return [3 /*break*/, 4];
1320
1462
  case 3:
1321
- error_2 = _a.sent();
1463
+ error_3 = _a.sent();
1322
1464
  return [3 /*break*/, 4];
1323
- case 4: return [2 /*return*/];
1465
+ case 4: return [2 /*return*/, (0, tnp_core_1.crossPlatformPath)([clondeFolderpath, destinationFolderName || '']).replace(/\/$/g, '')];
1324
1466
  }
1325
1467
  });
1326
1468
  });
@@ -1564,7 +1706,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1564
1706
  }
1565
1707
  var oldOrigin = self.git.originURL;
1566
1708
  if (!newNameOrUlr.startsWith('git@') && !newNameOrUlr.startsWith('https://')) {
1567
- newNameOrUlr = oldOrigin.replace(tnp_core_2.path.basename(oldOrigin), newNameOrUlr);
1709
+ newNameOrUlr = oldOrigin.replace(tnp_core_1.path.basename(oldOrigin), newNameOrUlr);
1568
1710
  }
1569
1711
  try {
1570
1712
  self.run("git remote rm origin").sync();
@@ -1718,12 +1860,13 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1718
1860
  * get info about porject
1719
1861
  */
1720
1862
  BaseProject.prototype.info = function () {
1721
- var _a, _b;
1863
+ var _a;
1722
1864
  return tslib_1.__awaiter(this, void 0, void 0, function () {
1723
1865
  var proj;
1724
- return tslib_1.__generator(this, function (_c) {
1866
+ return tslib_1.__generator(this, function (_b) {
1725
1867
  proj = this;
1726
- index_1.Helpers.info("\n\n name: ".concat(proj === null || proj === void 0 ? void 0 : proj.name, "\n type: ").concat(proj === null || proj === void 0 ? void 0 : proj.type, "\n children (").concat(proj === null || proj === void 0 ? void 0 : proj.children.length, "): ").concat((!proj || !proj.children.length) ? '< none >' : '', "\n").concat(proj === null || proj === void 0 ? void 0 : proj.children.map(function (c) { return '+' + c.genericName; }).join('\n'), "\n\nlinked porject prefix: \"").concat(this.linkedProjectsPrefix, "\"\n\nlinked projects from json (").concat(((_a = this.linkedProjects) === null || _a === void 0 ? void 0 : _a.length) || 0, "):\n").concat((this.linkedProjects || []).map(function (c) { return '- ' + c.relativeClonePath; }).join('\n'), "\n\nlinked projects detected (").concat(((_b = this.detectedLinkedProjects) === null || _b === void 0 ? void 0 : _b.length) || 0, "):\n").concat((this.detectedLinkedProjects || []).map(function (c) { return '- ' + c.relativeClonePath; }).join('\n'), "\n\n "));
1868
+ index_1.Helpers.info("\n\n name: ".concat(proj === null || proj === void 0 ? void 0 : proj.name, "\n type: ").concat(proj === null || proj === void 0 ? void 0 : proj.type, "\n children (").concat(proj === null || proj === void 0 ? void 0 : proj.children.length, "): ").concat((!proj || !proj.children.length) ? '< none >' : '', "\n").concat(proj === null || proj === void 0 ? void 0 : proj.children.map(function (c) { return '+' + c.genericName; }).join('\n'), "\n") +
1869
+ "\nlinked porject prefix: \"".concat(this.linkedProjectsPrefix, "\"\n\nlinked projects from json (").concat(((_a = this.linkedProjects) === null || _a === void 0 ? void 0 : _a.length) || 0, "):\n").concat((this.linkedProjects || []).map(function (c) { return '- ' + c.relativeClonePath; }).join('\n'), "\n\n "));
1727
1870
  return [2 /*return*/];
1728
1871
  });
1729
1872
  });
@@ -1771,12 +1914,12 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1771
1914
  var _this = this;
1772
1915
  var _a;
1773
1916
  //#region @backendFunc
1774
- if (!this.pathExists('angular.json')) {
1917
+ if (!this.pathExists(tnp_config_1.config.file.angular_json)) {
1775
1918
  return [];
1776
1919
  }
1777
- var projects = Object.values((_a = index_1.Helpers.readJson(this.pathFor('angular.json'))) === null || _a === void 0 ? void 0 : _a.projects)
1920
+ var projects = Object.values((_a = index_1.Helpers.readJson(this.pathFor(tnp_config_1.config.file.angular_json))) === null || _a === void 0 ? void 0 : _a.projects)
1778
1921
  .filter(function (f) { return f.projectType === 'library'; });
1779
- var libraries = projects.map(function (c) { return _this.ins.From(tnp_core_2.path.join(_this.location, c.root)); });
1922
+ var libraries = projects.map(function (c) { return _this.ins.From(tnp_core_1.path.join(_this.location, c.root)); });
1780
1923
  return libraries;
1781
1924
  //#endregion
1782
1925
  },
@@ -1790,23 +1933,23 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1790
1933
  //#region @backendFunc
1791
1934
  var libs = this.libraries;
1792
1935
  var sorted = BaseProject.sortGroupOfProject(libs, function (proj) {
1793
- if (!tnp_core_3._.isUndefined(proj.cache['deps'])) {
1936
+ if (!tnp_core_2._.isUndefined(proj.cache['deps'])) {
1794
1937
  return proj.cache['deps'];
1795
1938
  }
1796
1939
  var uiJsonPath = proj.pathFor('ui-module.json');
1797
1940
  if (index_1.Helpers.exists(uiJsonPath)) {
1798
1941
  var uiModuleJson = index_1.Helpers.readJson(uiJsonPath);
1799
1942
  var allLibs = (uiModuleJson.dependencies || []);
1800
- proj.cache['deps'] = allLibs.filter(function (f) { return !tnp_core_3._.isUndefined(libs.find(function (c) { return c.basename === f; })); });
1943
+ proj.cache['deps'] = allLibs.filter(function (f) { return !tnp_core_2._.isUndefined(libs.find(function (c) { return c.basename === f; })); });
1801
1944
  }
1802
1945
  else {
1803
1946
  var allLibs = Object.keys(proj.allDependencies);
1804
- proj.cache['deps'] = allLibs.filter(function (f) { return !tnp_core_3._.isUndefined(libs.find(function (c) { return c.name === f; })); });
1947
+ proj.cache['deps'] = allLibs.filter(function (f) { return !tnp_core_2._.isUndefined(libs.find(function (c) { return c.name === f; })); });
1805
1948
  }
1806
1949
  // console.log(`${proj.name} => all libs`, proj.cache['deps'])
1807
1950
  return proj.cache['deps'];
1808
1951
  }, function (proj) {
1809
- if (!tnp_core_3._.isUndefined(proj.cache['nameToCompare'])) {
1952
+ if (!tnp_core_2._.isUndefined(proj.cache['nameToCompare'])) {
1810
1953
  // console.log(`CACHE ${proj.basename} => name: ` + proj.cache['nameToCompare'])
1811
1954
  return proj.cache['nameToCompare'];
1812
1955
  }
@@ -1832,9 +1975,9 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1832
1975
  buildAll = false;
1833
1976
  lastSelectedJsonFile = 'tmp-last-selected.json';
1834
1977
  lastSelected = ((_a = index_1.Helpers.readJson(this.pathFor(lastSelectedJsonFile))) === null || _a === void 0 ? void 0 : _a.lastSelected) || [];
1835
- if (!(tnp_core_3._.isArray(lastSelected) && lastSelected.length > 0)) return [3 /*break*/, 2];
1978
+ if (!(tnp_core_2._.isArray(lastSelected) && lastSelected.length > 0)) return [3 /*break*/, 2];
1836
1979
  selected = lastSelected.map(function (c) { return libs.find(function (l) { return l.basename == c; }); });
1837
- index_1.Helpers.info("\nLast selected libs\n\n".concat(selected.map(function (c, i) { return "".concat(i + 1, ". ").concat(c.basename, " ").concat(tnp_core_1.chalk.bold(c.name)); }).join('\n'), "\n\n "));
1980
+ index_1.Helpers.info("\nLast selected libs\n\n".concat(selected.map(function (c, i) { return "".concat(i + 1, ". ").concat(c.basename, " ").concat(tnp_core_3.chalk.bold(c.name)); }).join('\n'), "\n\n "));
1838
1981
  return [4 /*yield*/, index_1.Helpers.consoleGui.question.yesNo("Continue build with last selected ?")];
1839
1982
  case 1:
1840
1983
  if (_b.sent()) {
@@ -1861,7 +2004,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1861
2004
  case 6:
1862
2005
  selectedLibs = _b.sent();
1863
2006
  selected = selectedLibs.map(function (c) { return libs.find(function (l) { return l.name == c; }); });
1864
- index_1.Helpers.info("\n\n".concat(selected.map(function (c, i) { return "".concat(i + 1, ". ").concat(c.basename, " ").concat(tnp_core_1.chalk.bold(c.name)); }).join('\n'), "\n\n "));
2007
+ index_1.Helpers.info("\n\n".concat(selected.map(function (c, i) { return "".concat(i + 1, ". ").concat(c.basename, " ").concat(tnp_core_3.chalk.bold(c.name)); }).join('\n'), "\n\n "));
1865
2008
  return [4 /*yield*/, index_1.Helpers.consoleGui.question.yesNo("Continue build with ".concat(selected.length, " selected ?"))];
1866
2009
  case 7:
1867
2010
  if (_b.sent()) {
@@ -1898,34 +2041,38 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1898
2041
  BaseProject.prototype.buildLibraries = function (_a) {
1899
2042
  var _b = _a === void 0 ? {} : _a, _c = _b.rebuild, rebuild = _c === void 0 ? false : _c, _d = _b.watch, watch = _d === void 0 ? false : _d, strategy = _b.strategy;
1900
2043
  return tslib_1.__awaiter(this, void 0, void 0, function () {
1901
- var libsToWatch, locationsForNodeModules, libs, _loop_2, this_2, _e, _f, _g, index, lib, _loop_3, _h, _j, _k, index, lib, e_7_1;
2044
+ var libsToWatch, locationsForNodeModules, libs, _loop_1, this_1, _e, _f, _g, index, lib, _loop_2, _h, _j, _k, index, lib, e_7_1;
1902
2045
  var e_8, _l, e_7, _m;
1903
2046
  var _this = this;
1904
2047
  return tslib_1.__generator(this, function (_o) {
1905
2048
  switch (_o.label) {
1906
- case 0:
2049
+ case 0:
2050
+ //#region @backend
2051
+ return [4 /*yield*/, this.saveAllLinkedProjectsToDB()];
2052
+ case 1:
1907
2053
  //#region @backend
2054
+ _o.sent();
1908
2055
  if (!strategy) {
1909
2056
  strategy = 'link';
1910
2057
  }
1911
2058
  libsToWatch = [];
1912
- if (!watch) return [3 /*break*/, 2];
2059
+ if (!watch) return [3 /*break*/, 3];
1913
2060
  return [4 /*yield*/, this.getSortedLibrariesByDepsForBuild()];
1914
- case 1:
1915
- libsToWatch = (_o.sent());
1916
- _o.label = 2;
1917
2061
  case 2:
2062
+ libsToWatch = (_o.sent());
2063
+ _o.label = 3;
2064
+ case 3:
1918
2065
  locationsForNodeModules = [
1919
2066
  this.location,
1920
2067
  // this.parent.location,
1921
2068
  // ...this.parent.children.map(c => c.location),
1922
- ].map(function (l) { return (0, tnp_core_2.crossPlatformPath)([l, tnp_config_1.config.folder.node_modules]); });
2069
+ ].map(function (l) { return (0, tnp_core_1.crossPlatformPath)([l, tnp_config_1.config.folder.node_modules]); });
1923
2070
  if (!index_1.Helpers.exists(this.pathFor(tnp_config_1.config.folder.node_modules))) {
1924
2071
  this.run('yarn install', { output: true }).sync();
1925
2072
  }
1926
2073
  libs = this.libraries;
1927
- _loop_2 = function (index, lib) {
1928
- index_1.Helpers.info("Building (".concat(index + 1, "/").concat(libs.length, ") ").concat(lib.basename, " (").concat(tnp_core_1.chalk.bold(lib.name), ")"));
2074
+ _loop_1 = function (index, lib) {
2075
+ index_1.Helpers.info("Building (".concat(index + 1, "/").concat(libs.length, ") ").concat(lib.basename, " (").concat(tnp_core_3.chalk.bold(lib.name), ")"));
1929
2076
  if (strategy === 'link') {
1930
2077
  (function () {
1931
2078
  var e_9, _a;
@@ -1933,7 +2080,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1933
2080
  try {
1934
2081
  for (var locationsForNodeModules_1 = (e_9 = void 0, tslib_1.__values(locationsForNodeModules)), locationsForNodeModules_1_1 = locationsForNodeModules_1.next(); !locationsForNodeModules_1_1.done; locationsForNodeModules_1_1 = locationsForNodeModules_1.next()) {
1935
2082
  var node_modules = locationsForNodeModules_1_1.value;
1936
- var dest = (0, tnp_core_2.crossPlatformPath)([node_modules, lib.name]);
2083
+ var dest = (0, tnp_core_1.crossPlatformPath)([node_modules, lib.name]);
1937
2084
  if (!index_1.Helpers.isSymlinkFileExitedOrUnexisted(dest)) {
1938
2085
  index_1.Helpers.remove(dest);
1939
2086
  }
@@ -1965,11 +2112,11 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1965
2112
  })();
1966
2113
  }
1967
2114
  else if (strategy === 'copy') {
1968
- var sourceDist = this_2.pathFor([tnp_config_1.config.folder.dist, lib.basename]);
1969
- var dest = this_2.pathFor([tnp_config_1.config.folder.node_modules, lib.name]);
2115
+ var sourceDist = this_1.pathFor([tnp_config_1.config.folder.dist, lib.basename]);
2116
+ var dest = this_1.pathFor([tnp_config_1.config.folder.node_modules, lib.name]);
1970
2117
  if (rebuild || !index_1.Helpers.exists(sourceDist)) {
1971
2118
  index_1.Helpers.info("Compiling ".concat(lib.name, " ..."));
1972
- this_2.run(lib.getLibraryBuildComamnd({ watch: false }), { output: true }).sync();
2119
+ this_1.run(lib.getLibraryBuildComamnd({ watch: false }), { output: true }).sync();
1973
2120
  }
1974
2121
  if (index_1.Helpers.isSymlinkFileExitedOrUnexisted(dest)) {
1975
2122
  index_1.Helpers.remove(dest);
@@ -1977,11 +2124,11 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1977
2124
  index_1.Helpers.copy(sourceDist, dest);
1978
2125
  }
1979
2126
  };
1980
- this_2 = this;
2127
+ this_1 = this;
1981
2128
  try {
1982
2129
  for (_e = tslib_1.__values(this.sortedLibrariesByDeps.entries()), _f = _e.next(); !_f.done; _f = _e.next()) {
1983
2130
  _g = tslib_1.__read(_f.value, 2), index = _g[0], lib = _g[1];
1984
- _loop_2(index, lib);
2131
+ _loop_1(index, lib);
1985
2132
  }
1986
2133
  }
1987
2134
  catch (e_8_1) { e_8 = { error: e_8_1 }; }
@@ -1991,12 +2138,12 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1991
2138
  }
1992
2139
  finally { if (e_8) throw e_8.error; }
1993
2140
  }
1994
- if (!watch) return [3 /*break*/, 11];
1995
- _loop_3 = function (index, lib) {
2141
+ if (!watch) return [3 /*break*/, 12];
2142
+ _loop_2 = function (index, lib) {
1996
2143
  return tslib_1.__generator(this, function (_p) {
1997
2144
  switch (_p.label) {
1998
2145
  case 0:
1999
- index_1.Helpers.info("Building for watch (".concat(index + 1, "/").concat(libs.length, ") ").concat(lib.basename, " (").concat(tnp_core_1.chalk.bold(lib.name), ")"));
2146
+ index_1.Helpers.info("Building for watch (".concat(index + 1, "/").concat(libs.length, ") ").concat(lib.basename, " (").concat(tnp_core_3.chalk.bold(lib.name), ")"));
2000
2147
  return [4 /*yield*/, (function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
2001
2148
  var _this = this;
2002
2149
  return tslib_1.__generator(this, function (_a) {
@@ -2020,41 +2167,41 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
2020
2167
  }
2021
2168
  });
2022
2169
  };
2023
- _o.label = 3;
2024
- case 3:
2025
- _o.trys.push([3, 8, 9, 10]);
2026
- _h = tslib_1.__values(libsToWatch.entries()), _j = _h.next();
2027
2170
  _o.label = 4;
2028
2171
  case 4:
2029
- if (!!_j.done) return [3 /*break*/, 7];
2030
- _k = tslib_1.__read(_j.value, 2), index = _k[0], lib = _k[1];
2031
- return [5 /*yield**/, _loop_3(index, lib)];
2172
+ _o.trys.push([4, 9, 10, 11]);
2173
+ _h = tslib_1.__values(libsToWatch.entries()), _j = _h.next();
2174
+ _o.label = 5;
2032
2175
  case 5:
2033
- _o.sent();
2034
- _o.label = 6;
2176
+ if (!!_j.done) return [3 /*break*/, 8];
2177
+ _k = tslib_1.__read(_j.value, 2), index = _k[0], lib = _k[1];
2178
+ return [5 /*yield**/, _loop_2(index, lib)];
2035
2179
  case 6:
2180
+ _o.sent();
2181
+ _o.label = 7;
2182
+ case 7:
2036
2183
  _j = _h.next();
2037
- return [3 /*break*/, 4];
2038
- case 7: return [3 /*break*/, 10];
2039
- case 8:
2184
+ return [3 /*break*/, 5];
2185
+ case 8: return [3 /*break*/, 11];
2186
+ case 9:
2040
2187
  e_7_1 = _o.sent();
2041
2188
  e_7 = { error: e_7_1 };
2042
- return [3 /*break*/, 10];
2043
- case 9:
2189
+ return [3 /*break*/, 11];
2190
+ case 10:
2044
2191
  try {
2045
2192
  if (_j && !_j.done && (_m = _h.return)) _m.call(_h);
2046
2193
  }
2047
2194
  finally { if (e_7) throw e_7.error; }
2048
2195
  return [7 /*endfinally*/];
2049
- case 10:
2196
+ case 11:
2050
2197
  // await this.__indexRebuilder.startAndWatch({ taskName: 'index rebuild watch' });
2051
2198
  index_1.Helpers.success('BUILD DONE.. watching..');
2052
- return [3 /*break*/, 12];
2053
- case 11:
2199
+ return [3 /*break*/, 13];
2200
+ case 12:
2054
2201
  // await this.__indexRebuilder.start({ taskName: 'index rebuild watch' });
2055
2202
  index_1.Helpers.success('BUILD DONE');
2056
- _o.label = 12;
2057
- case 12: return [2 /*return*/];
2203
+ _o.label = 13;
2204
+ case 13: return [2 /*return*/];
2058
2205
  }
2059
2206
  });
2060
2207
  });