tnp-helpers 16.444.16 → 16.444.19

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 (99) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/esm2022/lib/base/base-git.mjs +620 -0
  3. package/browser/esm2022/lib/base/base-library-build.mjs +380 -0
  4. package/browser/esm2022/lib/base/base-linked-projects.mjs +291 -0
  5. package/browser/esm2022/lib/base/base-npm-helpers.mjs +324 -0
  6. package/browser/esm2022/lib/base/base-project-resolver.mjs +56 -2
  7. package/browser/esm2022/lib/base/base-project.mjs +183 -1483
  8. package/browser/esm2022/lib/base/core-project.mjs +5 -3
  9. package/browser/esm2022/lib/base/index.mjs +5 -1
  10. package/browser/esm2022/lib/models.mjs +2 -1
  11. package/browser/fesm2022/tnp-helpers.mjs +1112 -749
  12. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  13. package/browser/lib/base/base-git.d.ts +115 -0
  14. package/browser/lib/base/base-library-build.d.ts +46 -0
  15. package/browser/lib/base/base-linked-projects.d.ts +23 -0
  16. package/browser/lib/base/base-npm-helpers.d.ts +79 -0
  17. package/browser/lib/base/base-project-resolver.d.ts +2 -1
  18. package/browser/lib/base/base-project.d.ts +12 -205
  19. package/browser/lib/base/core-project.d.ts +12 -3
  20. package/browser/lib/base/index.d.ts +4 -0
  21. package/browser/lib/models.d.ts +12 -4
  22. package/client/esm2022/lib/base/base-git.mjs +620 -0
  23. package/client/esm2022/lib/base/base-library-build.mjs +380 -0
  24. package/client/esm2022/lib/base/base-linked-projects.mjs +291 -0
  25. package/client/esm2022/lib/base/base-npm-helpers.mjs +324 -0
  26. package/client/esm2022/lib/base/base-project-resolver.mjs +56 -2
  27. package/client/esm2022/lib/base/base-project.mjs +183 -1483
  28. package/client/esm2022/lib/base/core-project.mjs +5 -3
  29. package/client/esm2022/lib/base/index.mjs +5 -1
  30. package/client/esm2022/lib/models.mjs +2 -1
  31. package/client/fesm2022/tnp-helpers.mjs +1112 -749
  32. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  33. package/client/lib/base/base-git.d.ts +115 -0
  34. package/client/lib/base/base-library-build.d.ts +46 -0
  35. package/client/lib/base/base-linked-projects.d.ts +23 -0
  36. package/client/lib/base/base-npm-helpers.d.ts +79 -0
  37. package/client/lib/base/base-project-resolver.d.ts +2 -1
  38. package/client/lib/base/base-project.d.ts +12 -205
  39. package/client/lib/base/core-project.d.ts +12 -3
  40. package/client/lib/base/index.d.ts +4 -0
  41. package/client/lib/models.d.ts +12 -4
  42. package/client/package.json +21 -21
  43. package/lib/base/base-command-line.backend.d.ts +5 -0
  44. package/lib/base/base-command-line.backend.js +70 -15
  45. package/lib/base/base-command-line.backend.js.map +1 -1
  46. package/lib/base/base-git.d.ts +121 -0
  47. package/lib/base/base-git.js +862 -0
  48. package/lib/base/base-git.js.map +1 -0
  49. package/lib/base/base-library-build.d.ts +56 -0
  50. package/lib/base/base-library-build.js +443 -0
  51. package/lib/base/base-library-build.js.map +1 -0
  52. package/lib/base/base-linked-projects.d.ts +23 -0
  53. package/lib/base/base-linked-projects.js +391 -0
  54. package/lib/base/base-linked-projects.js.map +1 -0
  55. package/lib/base/base-npm-helpers.d.ts +78 -0
  56. package/lib/base/base-npm-helpers.js +404 -0
  57. package/lib/base/base-npm-helpers.js.map +1 -0
  58. package/lib/base/base-project-resolver.d.ts +2 -1
  59. package/lib/base/base-project-resolver.js +39 -4
  60. package/lib/base/base-project-resolver.js.map +1 -1
  61. package/lib/base/base-project.d.ts +14 -214
  62. package/lib/base/base-project.js +106 -1740
  63. package/lib/base/base-project.js.map +1 -1
  64. package/lib/base/core-project.d.ts +12 -3
  65. package/lib/base/core-project.js +8 -4
  66. package/lib/base/core-project.js.map +1 -1
  67. package/lib/base/index.d.ts +4 -0
  68. package/lib/base/index.js +4 -0
  69. package/lib/base/index.js.map +1 -1
  70. package/lib/helpers/for-backend/helpers-git.backend.d.ts +3 -1
  71. package/lib/helpers/for-backend/helpers-git.backend.js +74 -2
  72. package/lib/helpers/for-backend/helpers-git.backend.js.map +1 -1
  73. package/lib/helpers/for-browser/angular.helper.js +3 -3
  74. package/lib/models.d.ts +12 -4
  75. package/lib/old/base-component.js +3 -3
  76. package/lib/old/base-formly-component.js +3 -3
  77. package/lib/old/dual-component-ctrl.js +3 -3
  78. package/package.json +4 -4
  79. package/tmp-environment.json +25 -25
  80. package/websql/esm2022/lib/base/base-git.mjs +620 -0
  81. package/websql/esm2022/lib/base/base-library-build.mjs +380 -0
  82. package/websql/esm2022/lib/base/base-linked-projects.mjs +291 -0
  83. package/websql/esm2022/lib/base/base-npm-helpers.mjs +324 -0
  84. package/websql/esm2022/lib/base/base-project-resolver.mjs +50 -2
  85. package/websql/esm2022/lib/base/base-project.mjs +236 -1536
  86. package/websql/esm2022/lib/base/core-project.mjs +5 -3
  87. package/websql/esm2022/lib/base/index.mjs +5 -1
  88. package/websql/esm2022/lib/models.mjs +2 -1
  89. package/websql/fesm2022/tnp-helpers.mjs +1112 -754
  90. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  91. package/websql/lib/base/base-git.d.ts +115 -0
  92. package/websql/lib/base/base-library-build.d.ts +46 -0
  93. package/websql/lib/base/base-linked-projects.d.ts +23 -0
  94. package/websql/lib/base/base-npm-helpers.d.ts +79 -0
  95. package/websql/lib/base/base-project-resolver.d.ts +2 -1
  96. package/websql/lib/base/base-project.d.ts +9 -205
  97. package/websql/lib/base/core-project.d.ts +12 -3
  98. package/websql/lib/base/index.d.ts +4 -0
  99. package/websql/lib/models.d.ts +12 -4
@@ -2,20 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseProject = exports.ChildProcess = void 0;
4
4
  var tslib_1 = require("tslib");
5
- var tnp_cli_1 = require("tnp-cli");
6
5
  var tnp_core_1 = require("tnp-core");
7
- var tnp_config_1 = require("tnp-config");
6
+ var child_process_1 = require("child_process");
7
+ Object.defineProperty(exports, "ChildProcess", { enumerable: true, get: function () { return child_process_1.ChildProcess; } });
8
+ var tnp_cli_1 = require("tnp-cli");
8
9
  var tnp_core_2 = require("tnp-core");
10
+ var tnp_core_3 = require("tnp-core");
9
11
  var index_1 = require("../index");
10
12
  var base_project_resolver_1 = require("./base-project-resolver");
11
- //#region @backend
12
- var translate_1 = require("./translate");
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
- var tsfmt = require("typescript-formatter");
18
- //#endregion
19
13
  //#endregion
20
14
  var takenPorts = [];
21
15
  var BaseProject = exports.BaseProject = /** @class */ (function () {
@@ -39,114 +33,17 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
39
33
  this.toString = function () {
40
34
  return "".concat(_this.name, "=>").concat(_this.location);
41
35
  };
42
- }
43
- //#endregion
44
- //#region static / sort group of projects
45
- BaseProject.sortGroupOfProject = function (projects, resoveDepsArray, projNameToCompare) {
46
- var visited = {};
47
- var stack = {};
48
- var result = [];
49
- var visit = function (project) {
50
- if (stack[projNameToCompare(project)]) {
51
- // Circular dependency detected
52
- index_1.Helpers.error("Circular dependency detected involving project: ".concat(projNameToCompare(project)));
53
- }
54
- if (!visited[projNameToCompare(project)]) {
55
- visited[projNameToCompare(project)] = true;
56
- stack[projNameToCompare(project)] = true;
57
- var depsResolved = resoveDepsArray(project);
58
- depsResolved.forEach(function (dependency) {
59
- var dependentProject = projects.find(function (p) {
60
- // console.log(`comparing :"${projNameToCompare(p)}" and "${dependency}"`)
61
- return projNameToCompare(p) === dependency;
62
- });
63
- if (dependentProject) {
64
- visit(dependentProject);
65
- }
66
- });
67
- stack[projNameToCompare(project)] = false;
68
- result.push(project);
69
- }
70
- };
71
- projects.forEach(function (project) { return visit(project); });
72
- return result;
73
- // return result.reverse(); // Reverse the result to get the correct order
74
- };
75
- Object.defineProperty(BaseProject.prototype, "embeddedProject", {
36
+ //#region @backend
37
+ // @ts-ignore
38
+ this.libraryBuild = new (require('./base-library-build')
39
+ .BaseLibraryBuild)(this);
40
+ this.npmHelpers = new (require('./base-npm-helpers')
41
+ .BaseNpmHelpers)(this);
42
+ this.linkedProjects = new (require('./base-linked-projects')
43
+ .BaseLinkedProjects)(this);
44
+ this.git = new (require('./base-git').BaseGit)(this);
76
45
  //#endregion
77
- get: function () {
78
- var _this = this;
79
- var _a;
80
- var cacheKey = 'embeddedProject' + tnp_core_2._.kebabCase(this.location);
81
- if (!tnp_core_2._.isUndefined(this.globalCache[cacheKey])) {
82
- return this.globalCache[cacheKey];
83
- }
84
- // Helpers.taskStarted(`Detecting embedded project for ${this.location}`); // TODO it is slow
85
- var nearsetProj = this.ins.nearestTo((0, tnp_core_1.crossPlatformPath)([this.location, '..']));
86
- var linkedPorj = (_a = nearsetProj === null || nearsetProj === void 0 ? void 0 : nearsetProj.linkedProjects) === null || _a === void 0 ? void 0 : _a.find(function (l) {
87
- return (_this.location ===
88
- (0, tnp_core_1.crossPlatformPath)([nearsetProj.location, l.relativeClonePath]));
89
- });
90
- if (!linkedPorj || !linkedPorj.internalRealtiveProjectPath) {
91
- return;
92
- }
93
- var pathToEmbededProj = (0, tnp_core_1.crossPlatformPath)([
94
- nearsetProj.location,
95
- linkedPorj.relativeClonePath,
96
- linkedPorj.internalRealtiveProjectPath || '',
97
- ]);
98
- var embdedresult = this.ins.From(pathToEmbededProj);
99
- // Helpers.taskDone(`Embedded project detected for ${this.location}`);
100
- this.globalCache[cacheKey] = embdedresult;
101
- return this.globalCache[cacheKey];
102
- },
103
- enumerable: false,
104
- configurable: true
105
- });
106
- Object.defineProperty(BaseProject.prototype, "projectsDbLocation", {
107
- get: function () {
108
- //#region @backendFunc
109
- return this.ins.projectsDb.projectsDbLocation;
110
- //#endregion
111
- },
112
- enumerable: false,
113
- configurable: true
114
- });
115
- //#region static / save location to db
116
- BaseProject.prototype.saveLocationToDB = function () {
117
- return tslib_1.__awaiter(this, void 0, void 0, function () {
118
- var db, existed, error_1;
119
- var _this = this;
120
- return tslib_1.__generator(this, function (_a) {
121
- switch (_a.label) {
122
- case 0: return [4 /*yield*/, this.ins.projectsDb.useDB()];
123
- case 1:
124
- db = _a.sent();
125
- existed = db.data.projects.find(function (f) { return f.location === _this.location; });
126
- if (!!existed) return [3 /*break*/, 5];
127
- _a.label = 2;
128
- case 2:
129
- _a.trys.push([2, 4, , 5]);
130
- return [4 /*yield*/, db.update(function (data) {
131
- if (data.projects.length > 50) {
132
- data.projects.shift();
133
- }
134
- data.projects.push({
135
- location: _this.location,
136
- });
137
- })];
138
- case 3:
139
- _a.sent();
140
- return [3 /*break*/, 5];
141
- case 4:
142
- error_1 = _a.sent();
143
- index_1.Helpers.warn("Cannot save location to db");
144
- return [3 /*break*/, 5];
145
- case 5: return [2 /*return*/];
146
- }
147
- });
148
- });
149
- };
46
+ }
150
47
  Object.defineProperty(BaseProject.prototype, "globalCache", {
151
48
  get: function () {
152
49
  return BaseProject.cache;
@@ -154,59 +51,6 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
154
51
  enumerable: false,
155
52
  configurable: true
156
53
  });
157
- //#endregion
158
- //#region methods & getters / save all linked projects to db
159
- BaseProject.prototype.saveAllLinkedProjectsToDB = function () {
160
- return tslib_1.__awaiter(this, void 0, void 0, function () {
161
- var proj, _a, _b, link, linkedPorj, e_1_1;
162
- var e_1, _c;
163
- return tslib_1.__generator(this, function (_d) {
164
- switch (_d.label) {
165
- case 0:
166
- proj = this;
167
- return [4 /*yield*/, proj.saveLocationToDB()];
168
- case 1:
169
- _d.sent();
170
- _d.label = 2;
171
- case 2:
172
- _d.trys.push([2, 8, 9, 10]);
173
- _a = tslib_1.__values(proj.linkedProjects), _b = _a.next();
174
- _d.label = 3;
175
- case 3:
176
- if (!!_b.done) return [3 /*break*/, 7];
177
- link = _b.value;
178
- linkedPorj = this.ins.From([
179
- proj.location,
180
- link.relativeClonePath,
181
- link.internalRealtiveProjectPath || '',
182
- ]);
183
- if (!linkedPorj) return [3 /*break*/, 5];
184
- return [4 /*yield*/, linkedPorj.saveLocationToDB()];
185
- case 4:
186
- _d.sent();
187
- return [3 /*break*/, 6];
188
- case 5:
189
- index_1.Helpers.warn("Folder ".concat(link.relativeClonePath, " is missing projects..."));
190
- _d.label = 6;
191
- case 6:
192
- _b = _a.next();
193
- return [3 /*break*/, 3];
194
- case 7: return [3 /*break*/, 10];
195
- case 8:
196
- e_1_1 = _d.sent();
197
- e_1 = { error: e_1_1 };
198
- return [3 /*break*/, 10];
199
- case 9:
200
- try {
201
- if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
202
- }
203
- finally { if (e_1) throw e_1.error; }
204
- return [7 /*endfinally*/];
205
- case 10: return [2 /*return*/];
206
- }
207
- });
208
- });
209
- };
210
54
  Object.defineProperty(BaseProject.prototype, "isMonorepo", {
211
55
  //#endregion
212
56
  //#region methods & getters / is monorepo
@@ -219,7 +63,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
219
63
  //#endregion
220
64
  //#region getters & methods / order core projects
221
65
  BaseProject.prototype.orderCoreProjects = function (coreProjects) {
222
- var e_2, _a, e_3, _b, e_4, _c;
66
+ var e_1, _a, e_2, _b, e_3, _c;
223
67
  var projectMap = new Map();
224
68
  try {
225
69
  // Initialize the project map
@@ -228,12 +72,12 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
228
72
  projectMap.set(project, []);
229
73
  }
230
74
  }
231
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
75
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
232
76
  finally {
233
77
  try {
234
78
  if (coreProjects_1_1 && !coreProjects_1_1.done && (_a = coreProjects_1.return)) _a.call(coreProjects_1);
235
79
  }
236
- finally { if (e_2) throw e_2.error; }
80
+ finally { if (e_1) throw e_1.error; }
237
81
  }
238
82
  try {
239
83
  // Populate the project map with dependencies
@@ -245,17 +89,17 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
245
89
  projectMap.get(project.extends).push(project);
246
90
  }
247
91
  }
248
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
92
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
249
93
  finally {
250
94
  try {
251
95
  if (coreProjects_2_1 && !coreProjects_2_1.done && (_b = coreProjects_2.return)) _b.call(coreProjects_2);
252
96
  }
253
- finally { if (e_3) throw e_3.error; }
97
+ finally { if (e_2) throw e_2.error; }
254
98
  }
255
99
  var orderedProjects = [];
256
100
  var visited = new Set();
257
101
  var visit = function (project) {
258
- var e_5, _a;
102
+ var e_4, _a;
259
103
  if (!visited.has(project)) {
260
104
  visited.add(project);
261
105
  var dependencies = projectMap.get(project);
@@ -266,12 +110,12 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
266
110
  visit(dep);
267
111
  }
268
112
  }
269
- catch (e_5_1) { e_5 = { error: e_5_1 }; }
113
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
270
114
  finally {
271
115
  try {
272
116
  if (dependencies_1_1 && !dependencies_1_1.done && (_a = dependencies_1.return)) _a.call(dependencies_1);
273
117
  }
274
- finally { if (e_5) throw e_5.error; }
118
+ finally { if (e_4) throw e_4.error; }
275
119
  }
276
120
  }
277
121
  orderedProjects.push(project);
@@ -284,12 +128,12 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
284
128
  visit(project);
285
129
  }
286
130
  }
287
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
131
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
288
132
  finally {
289
133
  try {
290
134
  if (coreProjects_3_1 && !coreProjects_3_1.done && (_c = coreProjects_3.return)) _c.call(coreProjects_3);
291
135
  }
292
- finally { if (e_4) throw e_4.error; }
136
+ finally { if (e_3) throw e_3.error; }
293
137
  }
294
138
  return orderedProjects.reverse();
295
139
  };
@@ -298,7 +142,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
298
142
  //#region methods & getters / core
299
143
  get: function () {
300
144
  var _this = this;
301
- if (!tnp_core_2._.isUndefined(this.cache['core'])) {
145
+ if (!tnp_core_3._.isUndefined(this.cache['core'])) {
302
146
  return this.cache['core'];
303
147
  }
304
148
  // Helpers.taskStarted(`Detecting core project for ${this.genericName}`);
@@ -308,166 +152,19 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
308
152
  coreProjects = this.orderCoreProjects(coreProjects);
309
153
  // Helpers.taskDone(`Core project detected for ${this.genericName}`);
310
154
  // console.log('CoreProject.coreProjects', CoreProject.coreProjects.map(c => c.name));
311
- this.cache['core'] = tnp_core_2._.first(coreProjects);
155
+ this.cache['core'] = tnp_core_3._.first(coreProjects);
312
156
  return this.cache['core'];
313
157
  },
314
158
  enumerable: false,
315
159
  configurable: true
316
160
  });
317
- //#endregion
318
- //#region methods & getters / add linked project
319
- BaseProject.prototype.addLinkedProject = function (linkedProj) {
320
- var linkedProject = tnp_core_2._.isString(linkedProj)
321
- ? index_1.LinkedProject.fromName(linkedProj)
322
- : linkedProj;
323
- //#region @backendFunc
324
- var linkedProjectsConfig = this.getLinkedProjectsConfig();
325
- linkedProjectsConfig.projects.push(index_1.LinkedProject.from(linkedProject));
326
- this.setLinkedProjectsConfig(linkedProjectsConfig);
327
- //#endregion
328
- };
329
- //#endregion
330
- //#region methods & getters / add linked projects
331
- BaseProject.prototype.addLinkedProjects = function (linkedProjs) {
332
- var e_6, _a;
333
- try {
334
- //#region @backendFunc
335
- for (var linkedProjs_1 = tslib_1.__values(linkedProjs), linkedProjs_1_1 = linkedProjs_1.next(); !linkedProjs_1_1.done; linkedProjs_1_1 = linkedProjs_1.next()) {
336
- var linkedProj = linkedProjs_1_1.value;
337
- this.addLinkedProject(linkedProj);
338
- }
339
- }
340
- catch (e_6_1) { e_6 = { error: e_6_1 }; }
341
- finally {
342
- try {
343
- if (linkedProjs_1_1 && !linkedProjs_1_1.done && (_a = linkedProjs_1.return)) _a.call(linkedProjs_1);
344
- }
345
- finally { if (e_6) throw e_6.error; }
346
- }
347
- //#endregion
348
- };
349
- //#endregion
350
- //#region methods & getters / set linked projects config
351
- BaseProject.prototype.setLinkedProjectsConfig = function (linkedPorjectsConfig) {
352
- //#region @backendFunc
353
- if (!index_1.Helpers.exists(this.linkedProjectsConfigPath)) {
354
- return;
355
- }
356
- var orgContent = index_1.Helpers.readFile(this.linkedProjectsConfigPath);
357
- linkedPorjectsConfig = index_1.LinkedPorjectsConfig.from(linkedPorjectsConfig);
358
- var writer = json5Write.load(orgContent);
359
- writer.write(linkedPorjectsConfig);
360
- var newContent = writer.toSource({
361
- quote: 'double',
362
- trailingComma: true,
363
- quotaKey: true,
364
- });
365
- index_1.Helpers.writeFile(this.linkedProjectsConfigPath, newContent);
366
- try {
367
- tsfmt.processFiles([this.linkedProjectsConfigPath], {
368
- verbose: false,
369
- replace: true,
370
- verify: false,
371
- // tsconfig: true,
372
- // tslint: true,
373
- editorconfig: true,
374
- tsfmt: true,
375
- });
376
- }
377
- catch (error) {
378
- // console.log('ts formatting error',error)
379
- }
380
- //#endregion
381
- };
382
- Object.defineProperty(BaseProject.prototype, "linkedProjectsConfigPath", {
383
- //#endregion
384
- //#region methods & getters / get linked projects config path
385
- get: function () {
386
- return this.pathFor(tnp_config_1.config.file.linked_projects_json);
387
- },
388
- enumerable: false,
389
- configurable: true
390
- });
391
- //#endregion
392
- //#region methods & getters / recreate linked projects config
393
- BaseProject.prototype.recreateLinkedProjectsConfig = function () {
394
- //#region @backendFunc
395
- if (!index_1.Helpers.exists(this.linkedProjectsConfigPath) &&
396
- index_1.Helpers.exists(this.pathFor(tnp_config_1.config.file.firedev_jsonc))) {
397
- index_1.Helpers.writeJson(this.linkedProjectsConfigPath, index_1.LinkedPorjectsConfig.from({ projects: [] }));
398
- }
399
- //#endregion
400
- };
401
- //#endregion
402
- //#region methods & getters / get linked projects config
403
- BaseProject.prototype.getLinkedProjectsConfig = function () {
404
- //#region @backendFunc
405
- this.recreateLinkedProjectsConfig();
406
- var existedConfig = index_1.Helpers.readJson(this.pathFor(tnp_config_1.config.file.linked_projects_json), {}, true);
407
- var orgExistedConfig = tnp_core_2._.cloneDeep(existedConfig);
408
- // console.log({ existedConfig });
409
- var linkedPorjectsConfig = index_1.LinkedPorjectsConfig.from(existedConfig);
410
- var currentRemoteUrl = this.git.originURL;
411
- var currentBranch = this.git.currentBranchName;
412
- linkedPorjectsConfig.projects = (linkedPorjectsConfig.projects || []).map(function (projOrProjName) {
413
- if (tnp_core_2._.isString(projOrProjName)) {
414
- return index_1.LinkedProject.fromName(projOrProjName, currentRemoteUrl, currentBranch);
415
- }
416
- if (!projOrProjName.relativeClonePath) {
417
- projOrProjName.relativeClonePath = tnp_core_1.path
418
- .basename(projOrProjName.remoteUrl())
419
- .replace('.git', '');
420
- }
421
- projOrProjName = index_1.LinkedProject.from(projOrProjName);
422
- if (!projOrProjName.remoteUrl()) {
423
- projOrProjName.repoUrl = currentRemoteUrl.replace(tnp_core_1.path.basename(currentRemoteUrl), "".concat(projOrProjName.relativeClonePath, ".git"));
424
- }
425
- return projOrProjName;
426
- });
427
- // console.log({ linkedPorjectsConfig })
428
- // @ts-ignore
429
- linkedPorjectsConfig.projects = index_1.Helpers.uniqArray(linkedPorjectsConfig.projects, 'relativeClonePath');
430
- if (!tnp_core_2._.isEqual(orgExistedConfig, linkedPorjectsConfig)) {
431
- this.setLinkedProjectsConfig(linkedPorjectsConfig);
432
- }
433
- return linkedPorjectsConfig;
434
- //#endregion
435
- };
436
- Object.defineProperty(BaseProject.prototype, "linkedProjects", {
437
- //#endregion
438
- //#region methods & getters / linked projects
439
- get: function () {
440
- return this.getLinkedProjectsConfig().projects || [];
441
- },
442
- enumerable: false,
443
- configurable: true
444
- });
445
- Object.defineProperty(BaseProject.prototype, "detectedLinkedProjects", {
446
- //#endregion
447
- //#region methods & getters / detected linked projects
448
- get: function () {
449
- var detectedLinkedProjects = index_1.LinkedProject.detect(this.location, true);
450
- return detectedLinkedProjects;
451
- },
452
- enumerable: false,
453
- configurable: true
454
- });
455
- Object.defineProperty(BaseProject.prototype, "linkedProjectsPrefix", {
456
- //#endregion
457
- //#region methods & getters / linked projects prefix
458
- get: function () {
459
- return this.getLinkedProjectsConfig().prefix;
460
- },
461
- enumerable: false,
462
- configurable: true
463
- });
464
161
  Object.defineProperty(BaseProject.prototype, "linkedProjectsExisted", {
465
162
  //#endregion
466
163
  //#region getters & methods / link project exited
467
164
  get: function () {
468
165
  var _this = this;
469
166
  //#region @backendFunc
470
- return this.linkedProjects
167
+ return this.linkedProjects.linkedProjects
471
168
  .map(function (f) {
472
169
  var proj = _this.ins.From(_this.pathFor(f.relativeClonePath));
473
170
  return proj;
@@ -479,98 +176,13 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
479
176
  configurable: true
480
177
  });
481
178
  //#endregion
482
- //#region getters & methods / reset linked projects only to core branches
483
- BaseProject.prototype.resetLinkedProjectsOnlyToCoreBranches = function () {
484
- return false;
485
- };
486
- //#endregion
487
- //#region getters & methods / get unexisted projects
488
- BaseProject.prototype.cloneUnexistedLinkedProjects = function (actionType, cloneChildren) {
489
- if (cloneChildren === void 0) { cloneChildren = false; }
490
- return tslib_1.__awaiter(this, void 0, void 0, function () {
491
- var detectedLinkedProjects, projectsThatShouldBeLinked, _a, projectsThatShouldBeLinked_1, projectsThatShouldBeLinked_1_1, linkedProj, childProjLocaiton, childProj, e_7_1;
492
- var e_7, _b;
493
- return tslib_1.__generator(this, function (_c) {
494
- switch (_c.label) {
495
- case 0:
496
- //#region @backendFunc
497
- if (actionType === 'push' &&
498
- this.automaticallyAddAllChnagesWhenPushingToGit()) {
499
- return [2 /*return*/];
500
- }
501
- detectedLinkedProjects = this.detectedLinkedProjects;
502
- projectsThatShouldBeLinked = this.linkedProjects
503
- .map(function (linkedProj) {
504
- return detectedLinkedProjects.find(function (f) { return f.relativeClonePath === linkedProj.relativeClonePath; })
505
- ? void 0
506
- : linkedProj;
507
- })
508
- .filter(function (f) { return !!f; });
509
- if (!(projectsThatShouldBeLinked.length > 0)) return [3 /*break*/, 11];
510
- index_1.Helpers.info("\n\n".concat(projectsThatShouldBeLinked
511
- .map(function (p, index) {
512
- return "- ".concat(index + 1, ". ").concat(tnp_core_3.chalk.bold(p.relativeClonePath), " ").concat(p.remoteUrl(), " {").concat(p.purpose ? " purpose: ".concat(p.purpose, " }") : '');
513
- })
514
- .join('\n'), "\n\n "));
515
- if (!!this.isMonorepo) return [3 /*break*/, 11];
516
- _a = cloneChildren;
517
- if (_a) return [3 /*break*/, 2];
518
- return [4 /*yield*/, index_1.Helpers.questionYesNo("Do you want to clone above (missing) linked projects ?")];
519
- case 1:
520
- _a = (_c.sent());
521
- _c.label = 2;
522
- case 2:
523
- if (!_a) return [3 /*break*/, 11];
524
- _c.label = 3;
525
- case 3:
526
- _c.trys.push([3, 9, 10, 11]);
527
- projectsThatShouldBeLinked_1 = tslib_1.__values(projectsThatShouldBeLinked), projectsThatShouldBeLinked_1_1 = projectsThatShouldBeLinked_1.next();
528
- _c.label = 4;
529
- case 4:
530
- if (!!projectsThatShouldBeLinked_1_1.done) return [3 /*break*/, 8];
531
- linkedProj = projectsThatShouldBeLinked_1_1.value;
532
- // console.log({linkedProj})
533
- index_1.Helpers.info("Cloning unexisted project from url ".concat(tnp_core_3.chalk.bold(linkedProj.remoteUrl()), " to ").concat(linkedProj.relativeClonePath));
534
- return [4 /*yield*/, this.git.clone(linkedProj.remoteUrl(), linkedProj.relativeClonePath, linkedProj.deafultBranch)];
535
- case 5:
536
- _c.sent();
537
- childProjLocaiton = this.pathFor([
538
- linkedProj.relativeClonePath,
539
- linkedProj.internalRealtiveProjectPath,
540
- ]);
541
- childProj = this.ins.From(childProjLocaiton);
542
- if (!childProj) return [3 /*break*/, 7];
543
- return [4 /*yield*/, childProj.saveLocationToDB()];
544
- case 6:
545
- _c.sent();
546
- _c.label = 7;
547
- case 7:
548
- projectsThatShouldBeLinked_1_1 = projectsThatShouldBeLinked_1.next();
549
- return [3 /*break*/, 4];
550
- case 8: return [3 /*break*/, 11];
551
- case 9:
552
- e_7_1 = _c.sent();
553
- e_7 = { error: e_7_1 };
554
- return [3 /*break*/, 11];
555
- case 10:
556
- try {
557
- if (projectsThatShouldBeLinked_1_1 && !projectsThatShouldBeLinked_1_1.done && (_b = projectsThatShouldBeLinked_1.return)) _b.call(projectsThatShouldBeLinked_1);
558
- }
559
- finally { if (e_7) throw e_7.error; }
560
- return [7 /*endfinally*/];
561
- case 11: return [2 /*return*/];
562
- }
563
- });
564
- });
565
- };
566
- //#endregion
567
- //#region methods & getters / set type
179
+ //#region methods & getters / set type
568
180
  BaseProject.prototype.setType = function (type) {
569
181
  // @ts-ignore
570
182
  this.type = type;
571
183
  };
572
184
  //#endregion
573
- //#region methods & getters / type is
185
+ //#region methods & getters / type is
574
186
  BaseProject.prototype.typeIs = function () {
575
187
  var types = [];
576
188
  for (var _i = 0; _i < arguments.length; _i++) {
@@ -579,7 +191,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
579
191
  return this.type && types.includes(this.type);
580
192
  };
581
193
  //#endregion
582
- //#region methods & getters / type is not
194
+ //#region methods & getters / type is not
583
195
  BaseProject.prototype.typeIsNot = function () {
584
196
  var types = [];
585
197
  for (var _i = 0; _i < arguments.length; _i++) {
@@ -589,13 +201,13 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
589
201
  };
590
202
  Object.defineProperty(BaseProject.prototype, "basename", {
591
203
  //#endregion
592
- //#region methods & getters / basename
204
+ //#region methods & getters / basename
593
205
  /**
594
206
  * project folder basename
595
207
  */
596
208
  get: function () {
597
209
  //#region @websqlFunc
598
- return tnp_core_1.path.basename(this.location);
210
+ return tnp_core_2.path.basename(this.location);
599
211
  //#endregion
600
212
  },
601
213
  enumerable: false,
@@ -603,13 +215,13 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
603
215
  });
604
216
  Object.defineProperty(BaseProject.prototype, "name", {
605
217
  //#endregion
606
- //#region methods & getters / name
218
+ //#region methods & getters / name
607
219
  /**
608
220
  * name from package.json
609
221
  */
610
222
  get: function () {
611
223
  var _a;
612
- return ((_a = this.packageJSON) === null || _a === void 0 ? void 0 : _a.name) || this.nameFromPomXML;
224
+ return ((_a = this.npmHelpers) === null || _a === void 0 ? void 0 : _a.name) || this.nameFromPomXML;
613
225
  },
614
226
  enumerable: false,
615
227
  configurable: true
@@ -626,164 +238,19 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
626
238
  enumerable: false,
627
239
  configurable: true
628
240
  });
629
- Object.defineProperty(BaseProject.prototype, "version", {
630
- //#endregion
631
- //#region methods & getters / version
632
- /**
633
- * version from package.json -> property version
634
- */
635
- get: function () {
636
- var _a;
637
- return (_a = this.packageJSON) === null || _a === void 0 ? void 0 : _a.version;
638
- },
639
- enumerable: false,
640
- configurable: true
641
- });
642
- Object.defineProperty(BaseProject.prototype, "majorVersion", {
643
- //#endregion
644
- //#region methods & getters / major version
645
- /**
646
- * Major Version from package.json
647
- */
648
- // @ts-ignore
649
- get: function () {
650
- //#region @backendFunc
651
- return Number(tnp_core_2._.first((this.version || '').split('.')));
652
- //#endregion
653
- },
654
- enumerable: false,
655
- configurable: true
656
- });
657
- Object.defineProperty(BaseProject.prototype, "minorVersion", {
658
- //#endregion
659
- //#region methods & getters / minor version
660
- /**
661
- * Minor Version from package.json
662
- */
663
- // @ts-ignore
664
- get: function () {
665
- var _a;
666
- //#region @backendFunc
667
- var __ = (_a = tslib_1.__read((this.version || '').split('.') || [void 0, void 0], 2), _a[0]), minor = _a[1];
668
- return Number(minor);
669
- //#endregion
670
- },
671
- enumerable: false,
672
- configurable: true
673
- });
674
- //#endregion
675
- /**
676
- * @deprecated
677
- */
678
- BaseProject.prototype.bumpPatchVersion = function () {
679
- return tslib_1.__awaiter(this, void 0, void 0, function () {
680
- var packageJson, version, versionComponents, major, minor, patch, preRelease, newPatch, newVersion;
681
- return tslib_1.__generator(this, function (_a) {
682
- packageJson = this.readJson(tnp_config_1.config.file.package_json);
683
- version = packageJson === null || packageJson === void 0 ? void 0 : packageJson.version;
684
- if (!version) {
685
- return [2 /*return*/];
686
- }
687
- versionComponents = version.match(/^(\d+)\.(\d+)\.(\d+)(-.+)?$/);
688
- major = versionComponents[1];
689
- minor = versionComponents[2];
690
- patch = versionComponents[3];
691
- preRelease = versionComponents[4] || '';
692
- newPatch = parseInt(patch, 10) + 1;
693
- newVersion = "".concat(major, ".").concat(minor, ".").concat(newPatch).concat(preRelease);
694
- // Update the version in the package.json object
695
- packageJson.version = newVersion;
696
- // Write the updated package.json back to disk
697
- this.writeJson(tnp_config_1.config.file.package_json, packageJson);
698
- return [2 /*return*/];
699
- });
700
- });
701
- };
702
- Object.defineProperty(BaseProject.prototype, "versionPathAsNumber", {
703
- //#region methods & getters / get version path as number
704
- get: function () {
705
- //#region @backendFunc
706
- var ver = this.version.split('.');
707
- var res = Number(tnp_core_2._.last(ver));
708
- return isNaN(res) ? 0 : res;
709
- //#endregion
710
- },
711
- enumerable: false,
712
- configurable: true
713
- });
714
- Object.defineProperty(BaseProject.prototype, "dependencies", {
715
- //#endregion
716
- //#region methods & getters / dependencies
717
- /**
718
- * npm dependencies from package.json
719
- */
720
- get: function () {
721
- return (this.packageJSON ? this.packageJSON.dependencies : {}) || {};
722
- },
723
- enumerable: false,
724
- configurable: true
725
- });
726
- Object.defineProperty(BaseProject.prototype, "peerDependencies", {
727
- //#endregion
728
- //#region methods & getters / peer dependencies
729
- /**
730
- * peerDependencies dependencies
731
- */
732
- get: function () {
733
- return (this.packageJSON ? this.packageJSON.peerDependencies : {}) || {};
734
- },
735
- enumerable: false,
736
- configurable: true
737
- });
738
- Object.defineProperty(BaseProject.prototype, "devDependencies", {
739
- //#endregion
740
- //#region methods & getters / dev dependencies
741
- /**
742
- * devDependencies dependencies
743
- */
744
- get: function () {
745
- return (this.packageJSON ? this.packageJSON.devDependencies : {}) || {};
746
- },
747
- enumerable: false,
748
- configurable: true
749
- });
750
- Object.defineProperty(BaseProject.prototype, "resolutions", {
751
- //#endregion
752
- //#region methods & getters / resolutions dependencies
753
- /**
754
- * resolutions dependencies
755
- */
756
- get: function () {
757
- return (this.packageJSON ? this.packageJSON['resolutions'] : {}) || {};
758
- },
759
- enumerable: false,
760
- configurable: true
761
- });
762
- Object.defineProperty(BaseProject.prototype, "allDependencies", {
763
- //#endregion
764
- //#region methods & getters / all dependencies
765
- /**
766
- * object with all deps from package json
767
- */
768
- get: function () {
769
- 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));
770
- },
771
- enumerable: false,
772
- configurable: true
773
- });
774
241
  //#endregion
775
- //#region methods & getters / get folder for possible project chhildrens
242
+ //#region methods & getters / get folder for possible project chhildrens
776
243
  BaseProject.prototype.getFoldersForPossibleProjectChildren = function () {
777
244
  //#region @backendFunc
778
- var isDirectory = function (source) { return tnp_core_3.fse.lstatSync(source).isDirectory(); };
245
+ var isDirectory = function (source) { return tnp_core_1.fse.lstatSync(source).isDirectory(); };
779
246
  var getDirectories = function (source) {
780
- return tnp_core_3.fse
247
+ return tnp_core_1.fse
781
248
  .readdirSync(source)
782
- .map(function (name) { return tnp_core_1.path.join(source, name); })
249
+ .map(function (name) { return tnp_core_2.path.join(source, name); })
783
250
  .filter(isDirectory);
784
251
  };
785
252
  var subdirectories = getDirectories(this.location).filter(function (f) {
786
- var folderName = tnp_core_1.path.basename(f);
253
+ var folderName = tnp_core_2.path.basename(f);
787
254
  return index_1.Helpers.checkIfNameAllowedForFiredevProj(folderName);
788
255
  });
789
256
  // if (this.isTnp' && fse.existsSync(path.join(this.location, '../firedev-projects'))) {
@@ -813,7 +280,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
813
280
  };
814
281
  Object.defineProperty(BaseProject.prototype, "children", {
815
282
  //#endregion
816
- //#region methods & getters / children
283
+ //#region methods & getters / children
817
284
  /**
818
285
  * alias to getAllChildren
819
286
  */
@@ -826,7 +293,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
826
293
  configurable: true
827
294
  });
828
295
  //#endregion
829
- //#region methods & getters / get child
296
+ //#region methods & getters / get child
830
297
  BaseProject.prototype.getChildBy = function (nameOrBasename, errors) {
831
298
  if (errors === void 0) { errors = true; }
832
299
  //#region @websqlFunc
@@ -839,13 +306,13 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
839
306
  };
840
307
  Object.defineProperty(BaseProject.prototype, "parent", {
841
308
  //#endregion
842
- //#region methods & getters / parent
309
+ //#region methods & getters / parent
843
310
  get: function () {
844
311
  //#region @websqlFunc
845
- if (!tnp_core_2._.isString(this.location) || this.location.trim() === '') {
312
+ if (!tnp_core_3._.isString(this.location) || this.location.trim() === '') {
846
313
  return void 0;
847
314
  }
848
- return this.ins.From(tnp_core_1.path.join(this.location, '..'));
315
+ return this.ins.From(tnp_core_2.path.join(this.location, '..'));
849
316
  //#endregion
850
317
  },
851
318
  enumerable: false,
@@ -853,13 +320,13 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
853
320
  });
854
321
  Object.defineProperty(BaseProject.prototype, "grandpa", {
855
322
  //#endregion
856
- //#region methods & getters / grandpa
323
+ //#region methods & getters / grandpa
857
324
  get: function () {
858
325
  //#region @websqlFunc
859
- if (!tnp_core_2._.isString(this.location) || this.location.trim() === '') {
326
+ if (!tnp_core_3._.isString(this.location) || this.location.trim() === '') {
860
327
  return void 0;
861
328
  }
862
- var grandpa = this.ins.From(tnp_core_1.path.join(this.location, '..', '..'));
329
+ var grandpa = this.ins.From(tnp_core_2.path.join(this.location, '..', '..'));
863
330
  return grandpa;
864
331
  //#endregion
865
332
  },
@@ -868,7 +335,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
868
335
  });
869
336
  Object.defineProperty(BaseProject.prototype, "genericName", {
870
337
  //#endregion
871
- //#region methods & getters / generic name
338
+ //#region methods & getters / generic name
872
339
  get: function () {
873
340
  //#region @websqlFunc
874
341
  var parent = this.parent;
@@ -878,8 +345,8 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
878
345
  return [
879
346
  // (secondNearest && secondNearest !== nearest) ? (secondNearest.name || secondNearest.basename) : void 0,
880
347
  // nerestProj,
881
- parent ? tnp_core_1.path.basename(tnp_core_1.path.dirname(parent.location)) : void 0,
882
- parent ? parent.basename : tnp_core_1.path.basename(this.location),
348
+ parent ? tnp_core_2.path.basename(tnp_core_2.path.dirname(parent.location)) : void 0,
349
+ parent ? parent.basename : tnp_core_2.path.basename(this.location),
883
350
  this.basename,
884
351
  //#region @backend
885
352
  "(".concat(tnp_cli_1.CLI.chalk.bold.underline(this.name), ")"),
@@ -895,51 +362,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
895
362
  configurable: true
896
363
  });
897
364
  //#endregion
898
- //#region methods & getters / delete node_modules
899
- BaseProject.prototype.deleteNodeModules = function () {
900
- this.remove(tnp_config_1.config.folder.node_modules);
901
- };
902
- //#endregion
903
- //#region methods & getters /reinstall node modules
904
- BaseProject.prototype.reinstalNodeModules = function (options) {
905
- //#region @backendFunc
906
- index_1.Helpers.taskStarted("Reinstalling node modules for ".concat(this.genericName));
907
- this.deleteNodeModules();
908
- index_1.Helpers.run("".concat((options === null || options === void 0 ? void 0 : options.useYarn) ? 'yarn' : 'npm', " install ").concat((options === null || options === void 0 ? void 0 : options.force) ? '--force' : ''), { cwd: this.location }).sync();
909
- index_1.Helpers.taskDone("Reinstalled node modules for ".concat(this.genericName));
910
- //#endregion
911
- };
912
- //#endregion
913
- //#region methods & getters / make sure node modules installed
914
- BaseProject.prototype.makeSureNodeModulesInstalled = function (options) {
915
- return tslib_1.__awaiter(this, void 0, void 0, function () {
916
- return tslib_1.__generator(this, function (_a) {
917
- if (this.nodeModulesEmpty()) {
918
- this.reinstalNodeModules(options);
919
- }
920
- return [2 /*return*/];
921
- });
922
- });
923
- };
924
- //#endregion
925
- //#region methods & getters / prefer yarn over npm
926
- BaseProject.prototype.preferYarnOverNpm = function () {
927
- return false;
928
- };
929
- //#endregion
930
- //#region methods & getters / node modules empty
931
- /**
932
- *
933
- * @returns true if node_modules folder is empty
934
- */
935
- BaseProject.prototype.nodeModulesEmpty = function () {
936
- //#region @backendFunc
937
- return (!this.hasFolder(tnp_config_1.config.folder.node_modules) ||
938
- tnp_core_3.fse.readdirSync(this.pathFor(tnp_config_1.config.folder.node_modules)).length === 0);
939
- //#endregion
940
- };
941
- //#endregion
942
- //#region methods & getters / path exits
365
+ //#region methods & getters / path exits
943
366
  /**
944
367
  * same has project.hasFile();
945
368
  */
@@ -947,7 +370,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
947
370
  return this.hasFile(relativePath);
948
371
  };
949
372
  //#endregion
950
- //#region methods & getters / has file
373
+ //#region methods & getters / has file
951
374
  /**
952
375
  * same as project.pathExists();
953
376
  */
@@ -959,21 +382,21 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
959
382
  BaseProject.prototype.hasFolder = function (relativePath) {
960
383
  //#region @backendFunc
961
384
  return (index_1.Helpers.exists(this.pathFor(relativePath)) &&
962
- tnp_core_3.fse.lstatSync(this.pathFor(relativePath)).isDirectory());
385
+ tnp_core_1.fse.lstatSync(this.pathFor(relativePath)).isDirectory());
963
386
  //#endregion
964
387
  };
965
388
  //#endregion
966
- //#region methods & getters / contains file
389
+ //#region methods & getters / contains file
967
390
  /**
968
391
  * same as project.pathhasFileExists();
969
392
  * but with path.resolve
970
393
  */
971
394
  BaseProject.prototype.containsFile = function (fileRelativeToProjectPath) {
972
- var fullPath = tnp_core_1.path.resolve(tnp_core_1.path.join(this.location, fileRelativeToProjectPath));
395
+ var fullPath = tnp_core_2.path.resolve(tnp_core_2.path.join(this.location, fileRelativeToProjectPath));
973
396
  return index_1.Helpers.exists(fullPath);
974
397
  };
975
398
  //#endregion
976
- //#region methods & getters / path for
399
+ //#region methods & getters / path for
977
400
  /**
978
401
  * absolute path:
979
402
  * concated project location with relative path
@@ -983,24 +406,24 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
983
406
  if (Array.isArray(relativePath)) {
984
407
  relativePath = relativePath.join('/');
985
408
  }
986
- if (tnp_core_1.path.isAbsolute(relativePath)) {
409
+ if (tnp_core_2.path.isAbsolute(relativePath)) {
987
410
  index_1.Helpers.error("Cannot join relative path with absolute: ".concat(relativePath));
988
411
  }
989
- return (0, tnp_core_1.crossPlatformPath)(tnp_core_1.path.join(this.location, relativePath));
412
+ return (0, tnp_core_2.crossPlatformPath)(tnp_core_2.path.join(this.location, relativePath));
990
413
  //#endregion
991
414
  };
992
415
  //#endregion
993
- //#region methods & getters / write json
416
+ //#region methods & getters / write json
994
417
  BaseProject.prototype.writeJson = function (relativePath, json) {
995
418
  //#region @backendFunc
996
- if (tnp_core_1.path.isAbsolute(relativePath)) {
419
+ if (tnp_core_2.path.isAbsolute(relativePath)) {
997
420
  index_1.Helpers.error("Cannot join relative path with absolute: ".concat(relativePath));
998
421
  }
999
- index_1.Helpers.writeJson((0, tnp_core_1.crossPlatformPath)([this.location, relativePath]), json);
422
+ index_1.Helpers.writeJson((0, tnp_core_2.crossPlatformPath)([this.location, relativePath]), json);
1000
423
  //#endregion
1001
424
  };
1002
425
  //#endregion
1003
- //#region methods & getters / run
426
+ //#region methods & getters / run
1004
427
  /**
1005
428
  * @deprecated us execute instead
1006
429
  * use output from or more preciese crafted api
@@ -1008,9 +431,9 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1008
431
  BaseProject.prototype.run = function (command, options) {
1009
432
  var opt;
1010
433
  //#region @backend
1011
- options = tnp_core_2._.cloneDeep(options) || {};
434
+ options = tnp_core_3._.cloneDeep(options) || {};
1012
435
  index_1.Helpers.log("command: ".concat(command));
1013
- if (tnp_core_2._.isUndefined(options.showCommand)) {
436
+ if (tnp_core_3._.isUndefined(options.showCommand)) {
1014
437
  options.showCommand = false;
1015
438
  }
1016
439
  opt = options;
@@ -1027,7 +450,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1027
450
  return index_1.Helpers.run(command, opt);
1028
451
  };
1029
452
  //#endregion
1030
- //#region methods & getters / execute
453
+ //#region methods & getters / execute
1031
454
  /**
1032
455
  * same as run but async
1033
456
  */
@@ -1038,8 +461,9 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1038
461
  switch (_a.label) {
1039
462
  case 0:
1040
463
  //#region @backendFunc
1041
- if (tnp_core_2._.isUndefined(options.showCommand)) {
1042
- options.showCommand = false;
464
+ options = options || {};
465
+ if (tnp_core_3._.isUndefined(options.showCommand)) {
466
+ options.showCommand = true;
1043
467
  }
1044
468
  if (!options) {
1045
469
  options = {};
@@ -1058,7 +482,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1058
482
  });
1059
483
  };
1060
484
  //#endregion
1061
- //#region methods & getters / try run sync command
485
+ //#region methods & getters / try run sync command
1062
486
  /**
1063
487
  * try run but continue when it fails
1064
488
  * @param command
@@ -1078,7 +502,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1078
502
  //#endregion
1079
503
  };
1080
504
  //#endregion
1081
- //#region methods & getters / output from command
505
+ //#region methods & getters / output from command
1082
506
  BaseProject.prototype.outputFrom = function (command,
1083
507
  //#region @backend
1084
508
  options) {
@@ -1087,31 +511,31 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1087
511
  //#endregion
1088
512
  };
1089
513
  //#endregion
1090
- //#region methods & getters / remove file
514
+ //#region methods & getters / remove file
1091
515
  BaseProject.prototype.removeFile = function (fileRelativeToProjectPath) {
1092
516
  //#region @backendFunc
1093
- var fullPath = tnp_core_1.path.resolve(tnp_core_1.path.join(this.location, fileRelativeToProjectPath));
517
+ var fullPath = tnp_core_2.path.resolve(tnp_core_2.path.join(this.location, fileRelativeToProjectPath));
1094
518
  return index_1.Helpers.removeFileIfExists(fullPath);
1095
519
  //#endregion
1096
520
  };
1097
521
  //#endregion
1098
- //#region methods & getters / read file
522
+ //#region methods & getters / read file
1099
523
  BaseProject.prototype.readFile = function (fileRelativeToProjectPath) {
1100
524
  //#region @backendFunc
1101
- var fullPath = tnp_core_1.path.resolve(tnp_core_1.path.join(this.location, fileRelativeToProjectPath));
525
+ var fullPath = tnp_core_2.path.resolve(tnp_core_2.path.join(this.location, fileRelativeToProjectPath));
1102
526
  return index_1.Helpers.readFile(fullPath);
1103
527
  //#endregion
1104
528
  };
1105
529
  //#endregion
1106
- //#region methods & getters / read file
530
+ //#region methods & getters / read file
1107
531
  BaseProject.prototype.readJson = function (fileRelativeToProjectPath) {
1108
532
  //#region @backendFunc
1109
- var fullPath = tnp_core_1.path.resolve(tnp_core_1.path.join(this.location, fileRelativeToProjectPath));
533
+ var fullPath = tnp_core_2.path.resolve(tnp_core_2.path.join(this.location, fileRelativeToProjectPath));
1110
534
  return index_1.Helpers.readJson5(fullPath);
1111
535
  //#endregion
1112
536
  };
1113
537
  //#endregion
1114
- //#region methods & getters / remove (fiel or folder)
538
+ //#region methods & getters / remove (fiel or folder)
1115
539
  BaseProject.prototype.remove = function (relativePath, exactPath) {
1116
540
  if (exactPath === void 0) { exactPath = true; }
1117
541
  //#region @backend
@@ -1120,41 +544,17 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1120
544
  //#endregion
1121
545
  };
1122
546
  //#endregion
1123
- //#region methods & getters / remove folder by relative path
547
+ //#region methods & getters / remove folder by relative path
1124
548
  BaseProject.prototype.removeFolderByRelativePath = function (relativePathToFolder) {
1125
549
  //#region @backend
1126
550
  relativePathToFolder = relativePathToFolder.replace(/^\//, '');
1127
551
  var location = this.location;
1128
- var p = tnp_core_1.path.join(location, relativePathToFolder);
552
+ var p = tnp_core_2.path.join(location, relativePathToFolder);
1129
553
  index_1.Helpers.remove(p, true);
1130
554
  //#endregion
1131
555
  };
1132
556
  //#endregion
1133
- //#region methods & getters / link node_modules to other project
1134
- BaseProject.prototype.linkNodeModulesTo = function (proj) {
1135
- //#region @backendFunc
1136
- var source = this.pathFor(tnp_config_1.config.folder.node_modules);
1137
- var dest = proj.pathFor(tnp_config_1.config.folder.node_modules);
1138
- index_1.Helpers.remove(dest, true);
1139
- index_1.Helpers.createSymLink(source, dest);
1140
- //#endregion
1141
- };
1142
- //#endregion
1143
- //#region methods & getters / reinstall node_modules
1144
- BaseProject.prototype.reinstallNodeModules = function (forcerRemoveNodeModules) {
1145
- if (forcerRemoveNodeModules === void 0) { forcerRemoveNodeModules = false; }
1146
- //#region @backendFunc
1147
- index_1.Helpers.taskStarted("Reinstalling node_modules in ".concat(this.genericName));
1148
- var source = this.pathFor(tnp_config_1.config.folder.node_modules);
1149
- if (forcerRemoveNodeModules) {
1150
- index_1.Helpers.remove(source, true);
1151
- }
1152
- this.run('yarn install --ignore-engines').sync();
1153
- index_1.Helpers.taskDone("Reinstalling done for ".concat(this.genericName));
1154
- //#endregion
1155
- };
1156
- //#endregion
1157
- //#region methods & getters / assign free port to project instance
557
+ //#region methods & getters / assign free port to project instance
1158
558
  BaseProject.prototype.assignFreePort = function (startFrom, howManyFreePortsAfterThatPort) {
1159
559
  if (startFrom === void 0) { startFrom = 4200; }
1160
560
  if (howManyFreePortsAfterThatPort === void 0) { howManyFreePortsAfterThatPort = 0; }
@@ -1164,7 +564,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1164
564
  switch (_a.label) {
1165
565
  case 0:
1166
566
  //#region @backendFunc
1167
- if (tnp_core_2._.isNumber(this.port) && this.port >= startFrom) {
567
+ if (tnp_core_3._.isNumber(this.port) && this.port >= startFrom) {
1168
568
  return [2 /*return*/, startFrom];
1169
569
  }
1170
570
  max = 2000;
@@ -1178,7 +578,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1178
578
  _a.label = 2;
1179
579
  case 2:
1180
580
  _a.trys.push([2, 4, , 5]);
1181
- return [4 /*yield*/, tnp_core_3.portfinder.getPortPromise({ port: startFrom })];
581
+ return [4 /*yield*/, tnp_core_1.portfinder.getPortPromise({ port: startFrom })];
1182
582
  case 3:
1183
583
  port = _a.sent();
1184
584
  takenPorts.push(port);
@@ -1202,14 +602,14 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1202
602
  });
1203
603
  };
1204
604
  //#endregion
1205
- //#region methods & getters / remove project from disk/memory
605
+ //#region methods & getters / remove project from disk/memory
1206
606
  BaseProject.prototype.removeItself = function () {
1207
607
  //#region @backend
1208
608
  this.ins.remove(this);
1209
609
  //#endregion
1210
610
  };
1211
611
  //#endregion
1212
- //#region methods & getters / define property
612
+ //#region methods & getters / define property
1213
613
  /**
1214
614
  * Purpose: not initializing all classes at the beginning
1215
615
  * Only for BaseFeatureForProject class
@@ -1232,7 +632,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1232
632
  }
1233
633
  }
1234
634
  else {
1235
- index_1.Helpers.warn("[firedev-helpers] Cannot create dynamic instance of class \"".concat(tnp_core_2._.kebabCase(prefixedName.replace('__', '')), "\"."));
635
+ index_1.Helpers.warn("[firedev-helpers] Cannot create dynamic instance of class \"".concat(tnp_core_3._.kebabCase(prefixedName.replace('__', '')), "\"."));
1236
636
  }
1237
637
  // }
1238
638
  }
@@ -1245,7 +645,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1245
645
  //#endregion
1246
646
  };
1247
647
  //#endregion
1248
- //#region methods & getters / filter only copy
648
+ //#region methods & getters / filter only copy
1249
649
  /**
1250
650
  * fs.copy option filter function for copying only selected folders from project
1251
651
  */
@@ -1255,7 +655,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1255
655
  //#endregion
1256
656
  };
1257
657
  //#endregion
1258
- //#region methods & getters / filter don't copy
658
+ //#region methods & getters / filter don't copy
1259
659
  /**
1260
660
  * fs.copy option filter function for copying only not selected folders from project
1261
661
  */
@@ -1265,7 +665,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1265
665
  //#endregion
1266
666
  };
1267
667
  //#endregion
1268
- //#region methods & getters / get default develop Branch
668
+ //#region methods & getters / get default develop Branch
1269
669
  /**
1270
670
  * general default development branch for all kinds of projects
1271
671
  */
@@ -1273,7 +673,7 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1273
673
  return 'develop';
1274
674
  };
1275
675
  //#endregion
1276
- //#region methods & getters / get main branches
676
+ //#region methods & getters / get main branches
1277
677
  /**
1278
678
  * main/default hardcoded branches
1279
679
  */
@@ -1281,29 +681,29 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1281
681
  return ['master', 'develop', 'stage', 'prod', 'test'];
1282
682
  };
1283
683
  //#endregion
1284
- //#region methods & getters / is using aciton commit
684
+ //#region methods & getters / is using aciton commit
1285
685
  BaseProject.prototype.isUnsingActionCommit = function () {
1286
686
  return false;
1287
687
  };
1288
688
  //#endregion
1289
- //#region methods & getters / reset process
689
+ //#region methods & getters / reset process
1290
690
  BaseProject.prototype.resetProcess = function (overrideBranch, recrusive) {
1291
691
  var _a;
1292
692
  if (recrusive === void 0) { recrusive = false; }
1293
693
  return tslib_1.__awaiter(this, void 0, void 0, function () {
1294
- var branchToReset, _b, _c, linked, child, e_8_1;
1295
- var e_8, _d;
694
+ var branchToReset, _b, _c, linked, child, e_5_1;
695
+ var e_5, _d;
1296
696
  return tslib_1.__generator(this, function (_e) {
1297
697
  switch (_e.label) {
1298
698
  case 0:
1299
699
  //#region @backend
1300
700
  // console.log(`CORE PROJECT BRANCH ${this.name}: ${this.core?.branch}, overrideBranch: ${overrideBranch}`)
1301
701
  index_1.Helpers.taskStarted("\n\n Starting reset process for ".concat(this.name || this.basename, "\n\n "));
1302
- this._beforeAnyActionOnGitRoot();
702
+ this.git._beforeAnyActionOnGitRoot();
1303
703
  branchToReset = overrideBranch || ((_a = this.core) === null || _a === void 0 ? void 0 : _a.branch) || this.getDefaultDevelopmentBranch();
1304
704
  index_1.Helpers.info("fetch data in ".concat(this.genericName));
1305
705
  this.git.fetch();
1306
- if (!!this.getLinkedProjectsConfig().resetOnlyChildren) return [3 /*break*/, 3];
706
+ if (!!this.linkedProjects.getLinkedProjectsConfig().resetOnlyChildren) return [3 /*break*/, 3];
1307
707
  index_1.Helpers.logInfo("reseting hard in ".concat(this.genericName));
1308
708
  this.git.resetHard();
1309
709
  index_1.Helpers.logInfo("checking out branch \"".concat(branchToReset, "\" in ").concat(this.genericName));
@@ -1316,18 +716,18 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1316
716
  return [4 /*yield*/, this.struct()];
1317
717
  case 2:
1318
718
  _e.sent();
1319
- index_1.Helpers.taskDone("RESET DONE BRANCH: ".concat(tnp_core_3.chalk.bold(branchToReset), " in ").concat(this.genericName));
719
+ index_1.Helpers.taskDone("RESET DONE BRANCH: ".concat(tnp_core_1.chalk.bold(branchToReset), " in ").concat(this.genericName));
1320
720
  _e.label = 3;
1321
721
  case 3:
1322
722
  _e.trys.push([3, 8, 9, 10]);
1323
- _b = tslib_1.__values(this.linkedProjects), _c = _b.next();
723
+ _b = tslib_1.__values(this.linkedProjects.linkedProjects), _c = _b.next();
1324
724
  _e.label = 4;
1325
725
  case 4:
1326
726
  if (!!_c.done) return [3 /*break*/, 7];
1327
727
  linked = _c.value;
1328
728
  child = this.ins.From(this.pathFor([linked.relativeClonePath]));
1329
729
  if (!child) return [3 /*break*/, 6];
1330
- return [4 /*yield*/, child.resetProcess(child.resetLinkedProjectsOnlyToCoreBranches()
730
+ return [4 /*yield*/, child.resetProcess(child.linkedProjects.resetLinkedProjectsOnlyToCoreBranches()
1331
731
  ? void 0
1332
732
  : branchToReset, true)];
1333
733
  case 5:
@@ -1338,14 +738,14 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1338
738
  return [3 /*break*/, 4];
1339
739
  case 7: return [3 /*break*/, 10];
1340
740
  case 8:
1341
- e_8_1 = _e.sent();
1342
- e_8 = { error: e_8_1 };
741
+ e_5_1 = _e.sent();
742
+ e_5 = { error: e_5_1 };
1343
743
  return [3 /*break*/, 10];
1344
744
  case 9:
1345
745
  try {
1346
746
  if (_c && !_c.done && (_d = _b.return)) _d.call(_b);
1347
747
  }
1348
- finally { if (e_8) throw e_8.error; }
748
+ finally { if (e_5) throw e_5.error; }
1349
749
  return [7 /*endfinally*/];
1350
750
  case 10: return [2 /*return*/];
1351
751
  }
@@ -1353,338 +753,21 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1353
753
  });
1354
754
  };
1355
755
  //#endregion
1356
- //#region methods & getters / push process
1357
- BaseProject.prototype.pullProcess = function (cloneChildren) {
1358
- if (cloneChildren === void 0) { cloneChildren = false; }
1359
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1360
- var uncommitedChanges, location, childrenRepos, childrenRepos_1, childrenRepos_1_1, child, e_9_1;
1361
- var e_9, _a;
1362
- return tslib_1.__generator(this, function (_b) {
1363
- switch (_b.label) {
1364
- case 0:
1365
- //#region @backendFunc
1366
- return [4 /*yield*/, this._beforePullProcessAction(cloneChildren)];
1367
- case 1:
1368
- //#region @backendFunc
1369
- _b.sent();
1370
- uncommitedChanges = this.git.thereAreSomeUncommitedChange;
1371
- if (uncommitedChanges) {
1372
- index_1.Helpers.warn("Stashing uncommit changes... in ".concat(this.genericName));
1373
- try {
1374
- this.git.stageAllFiles();
1375
- }
1376
- catch (error) { }
1377
- try {
1378
- this.git.stash();
1379
- }
1380
- catch (error) { }
1381
- }
1382
- return [4 /*yield*/, this.git.pullCurrentBranch({ askToRetry: true })];
1383
- case 2:
1384
- _b.sent();
1385
- location = this.location;
1386
- this.ins.unload(this);
1387
- this.ins.add(this.ins.From(location));
1388
- return [4 /*yield*/, this.saveLocationToDB()];
1389
- case 3:
1390
- _b.sent();
1391
- if (!(this.automaticallyAddAllChnagesWhenPushingToGit() || cloneChildren)) return [3 /*break*/, 11];
1392
- childrenRepos = this.children.filter(function (f) { return f.git.isInsideGitRepo && f.git.isGitRoot; });
1393
- _b.label = 4;
1394
- case 4:
1395
- _b.trys.push([4, 9, 10, 11]);
1396
- childrenRepos_1 = tslib_1.__values(childrenRepos), childrenRepos_1_1 = childrenRepos_1.next();
1397
- _b.label = 5;
1398
- case 5:
1399
- if (!!childrenRepos_1_1.done) return [3 /*break*/, 8];
1400
- child = childrenRepos_1_1.value;
1401
- return [4 /*yield*/, child.pullProcess()];
1402
- case 6:
1403
- _b.sent();
1404
- _b.label = 7;
1405
- case 7:
1406
- childrenRepos_1_1 = childrenRepos_1.next();
1407
- return [3 /*break*/, 5];
1408
- case 8: return [3 /*break*/, 11];
1409
- case 9:
1410
- e_9_1 = _b.sent();
1411
- e_9 = { error: e_9_1 };
1412
- return [3 /*break*/, 11];
1413
- case 10:
1414
- try {
1415
- if (childrenRepos_1_1 && !childrenRepos_1_1.done && (_a = childrenRepos_1.return)) _a.call(childrenRepos_1);
1416
- }
1417
- finally { if (e_9) throw e_9.error; }
1418
- return [7 /*endfinally*/];
1419
- case 11: return [4 /*yield*/, this.saveAllLinkedProjectsToDB()];
1420
- case 12:
1421
- _b.sent();
1422
- return [2 /*return*/];
1423
- }
1424
- });
1425
- });
1426
- };
1427
- //#endregion
1428
- //#region methods & getters / push process
1429
- BaseProject.prototype.pushProcess = function (options) {
1430
- var _a, _b;
1431
- if (options === void 0) { options = {}; }
1432
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1433
- var force, typeofCommit, forcePushNoQuestion, origin, exitCallBack, args, commitMessageRequired, skipChildren, commitData, error_2, childrenRepos, childrenRepos_2, childrenRepos_2_1, child, e_10_1;
1434
- var _c, _d, _e, e_10, _f;
1435
- var _this = this;
1436
- return tslib_1.__generator(this, function (_g) {
1437
- switch (_g.label) {
1438
- case 0:
1439
- force = (_c = options.force, _c === void 0 ? false : _c), typeofCommit = options.typeofCommit, forcePushNoQuestion = options.forcePushNoQuestion, origin = (_d = options.origin, _d === void 0 ? 'origin' : _d), exitCallBack = options.exitCallBack, args = (_e = options.args, _e === void 0 ? [] : _e), commitMessageRequired = options.commitMessageRequired, skipChildren = options.skipChildren;
1440
- return [4 /*yield*/, this._beforePushProcessAction()];
1441
- case 1:
1442
- _g.sent();
1443
- return [4 /*yield*/, this.saveLocationToDB()];
1444
- case 2:
1445
- _g.sent();
1446
- return [4 /*yield*/, this._getCommitMessage(typeofCommit, args, commitMessageRequired)];
1447
- case 3:
1448
- commitData = _g.sent();
1449
- if (!this.automaticallyAddAllChnagesWhenPushingToGit()) {
1450
- if ((_a = commitData.commitMessage) === null || _a === void 0 ? void 0 : _a.split(':').map(function (p) { return p.trim(); }).every(function (p) { return p === _this.git.currentBranchName; })) {
1451
- // QUICK_FIX
1452
- index_1.Helpers.error("\n\n Please provide more specific commit message than branch name\n\n\n ", false, true);
1453
- }
1454
- }
1455
- _g.label = 4;
1456
- case 4:
1457
- if (!true) return [3 /*break*/, 10];
1458
- _g.label = 5;
1459
- case 5:
1460
- _g.trys.push([5, 7, , 9]);
1461
- return [4 /*yield*/, this.lint()];
1462
- case 6:
1463
- _g.sent();
1464
- return [3 /*break*/, 10];
1465
- case 7:
1466
- error_2 = _g.sent();
1467
- index_1.Helpers.warn('Fix your code...');
1468
- return [4 /*yield*/, index_1.Helpers.consoleGui.question.yesNo('Try again lint before commit ?')];
1469
- case 8:
1470
- if (!(_g.sent())) {
1471
- return [3 /*break*/, 10];
1472
- }
1473
- return [3 /*break*/, 9];
1474
- case 9: return [3 /*break*/, 4];
1475
- case 10:
1476
- if (!!commitData.isActionCommit) return [3 /*break*/, 14];
1477
- index_1.Helpers.info("\n\n PROJECT: ".concat(this.genericName, "\n\n Current commit:\n - message to include {").concat(commitData.commitMessage, "}\n - branch to checkout {").concat(commitData.branchName, "}\n "));
1478
- if (!(this.git.lastCommitMessage() === commitData.commitMessage)) return [3 /*break*/, 12];
1479
- return [4 /*yield*/, index_1.Helpers.questionYesNo('Soft reset last commit with same message ?')];
1480
- case 11:
1481
- if (_g.sent()) {
1482
- this.git.resetSoftHEAD(1);
1483
- }
1484
- _g.label = 12;
1485
- case 12: return [4 /*yield*/, index_1.Helpers.questionYesNo('Commit and push this ?')];
1486
- case 13:
1487
- if (!(_g.sent())) {
1488
- exitCallBack();
1489
- }
1490
- _g.label = 14;
1491
- case 14:
1492
- if (this.automaticallyAddAllChnagesWhenPushingToGit()) {
1493
- // my project
1494
- this.git.stageAllFiles();
1495
- }
1496
- if (this.useGitBranchesAsMetadataForCommits()) {
1497
- index_1.Helpers.info('Checkingout branches (if needed)...');
1498
- if (((_b = this.git.currentBranchName) === null || _b === void 0 ? void 0 : _b.trim()) !== commitData.branchName) {
1499
- try {
1500
- this.git.checkout(commitData.branchName, {
1501
- createBranchIfNotExists: true,
1502
- });
1503
- }
1504
- catch (error) {
1505
- index_1.Helpers.error('Please modyfiy you commit message or delete branch,');
1506
- }
1507
- }
1508
- }
1509
- try {
1510
- this.git.commit(commitData.commitMessage);
1511
- }
1512
- catch (error) {
1513
- index_1.Helpers.warn("Not commiting anything... ");
1514
- }
1515
- return [4 /*yield*/, this.git.pushCurrentBranch({
1516
- force: force,
1517
- origin: origin,
1518
- forcePushNoQuestion: forcePushNoQuestion,
1519
- askToRetry: true,
1520
- })];
1521
- case 15:
1522
- _g.sent();
1523
- if (!(this.automaticallyAddAllChnagesWhenPushingToGit() && !skipChildren)) return [3 /*break*/, 23];
1524
- if (this.getLinkedProjectsConfig().skipRecrusivePush) {
1525
- index_1.Helpers.warn("Skipping recrusive (children) push for ".concat(this.genericName));
1526
- return [2 /*return*/];
1527
- }
1528
- childrenRepos = this.children.filter(function (f) { return f.git.isInsideGitRepo && f.git.isGitRoot; });
1529
- _g.label = 16;
1530
- case 16:
1531
- _g.trys.push([16, 21, 22, 23]);
1532
- childrenRepos_2 = tslib_1.__values(childrenRepos), childrenRepos_2_1 = childrenRepos_2.next();
1533
- _g.label = 17;
1534
- case 17:
1535
- if (!!childrenRepos_2_1.done) return [3 /*break*/, 20];
1536
- child = childrenRepos_2_1.value;
1537
- return [4 /*yield*/, child.pushProcess(options)];
1538
- case 18:
1539
- _g.sent();
1540
- _g.label = 19;
1541
- case 19:
1542
- childrenRepos_2_1 = childrenRepos_2.next();
1543
- return [3 /*break*/, 17];
1544
- case 20: return [3 /*break*/, 23];
1545
- case 21:
1546
- e_10_1 = _g.sent();
1547
- e_10 = { error: e_10_1 };
1548
- return [3 /*break*/, 23];
1549
- case 22:
1550
- try {
1551
- if (childrenRepos_2_1 && !childrenRepos_2_1.done && (_f = childrenRepos_2.return)) _f.call(childrenRepos_2);
1552
- }
1553
- finally { if (e_10) throw e_10.error; }
1554
- return [7 /*endfinally*/];
1555
- case 23: return [4 /*yield*/, this.saveAllLinkedProjectsToDB()];
1556
- case 24:
1557
- _g.sent();
1558
- return [2 /*return*/];
1559
- }
1560
- });
1561
- });
1562
- };
1563
- //#endregion
1564
- //#region methods & getters / before any action on git root
1565
- BaseProject.prototype._beforeAnyActionOnGitRoot = function () {
1566
- //#region @backendFunc
1567
- if (!this.git.isInsideGitRepo) {
1568
- 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);
1569
- }
1570
- if (!this.git.isGitRoot) {
1571
- 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);
1572
- }
1573
- //#endregion
1574
- };
1575
- //#endregion
1576
- //#region before push action
1577
- BaseProject.prototype._beforePushProcessAction = function () {
1578
- var _a;
1579
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1580
- return tslib_1.__generator(this, function (_b) {
1581
- switch (_b.label) {
1582
- case 0:
1583
- //#region @backendFunc
1584
- this._beforeAnyActionOnGitRoot();
1585
- if (!(this.git.isInsideGitRepo &&
1586
- this.git.isGitRoot &&
1587
- !((_a = this.git.currentBranchName) === null || _a === void 0 ? void 0 : _a.trim()))) return [3 /*break*/, 2];
1588
- return [4 /*yield*/, index_1.Helpers.consoleGui.question.yesNo('Repository is empty...Commit "master" branch and commit all as "first commit" ?')];
1589
- case 1:
1590
- if (_b.sent()) {
1591
- this.git.checkout('master');
1592
- this.git.stageAllFiles();
1593
- this.git.commit('first commit ');
1594
- }
1595
- _b.label = 2;
1596
- case 2: return [4 /*yield*/, this.cloneUnexistedLinkedProjects('push')];
1597
- case 3:
1598
- _b.sent();
1599
- return [2 /*return*/];
1600
- }
1601
- });
1602
- });
1603
- };
1604
- //#endregion
1605
- //#region before push action
1606
- BaseProject.prototype._beforePullProcessAction = function (cloneChildren) {
1607
- if (cloneChildren === void 0) { cloneChildren = false; }
1608
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1609
- return tslib_1.__generator(this, function (_a) {
1610
- switch (_a.label) {
1611
- case 0:
1612
- //#region @backendFunc
1613
- this._beforeAnyActionOnGitRoot();
1614
- return [4 /*yield*/, this.cloneUnexistedLinkedProjects('pull', cloneChildren)];
1615
- case 1:
1616
- _a.sent();
1617
- return [2 /*return*/];
1618
- }
1619
- });
1620
- });
1621
- };
1622
- //#endregion
1623
- //#region resovle commit message
1624
- BaseProject.prototype._getCommitMessage = function (typeofCommit, args, commitMessageRequired) {
1625
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1626
- var commitData, argsCommitData, commitDataBranch, argsCommitData, from, to, _a, _b, _c;
1627
- var _d;
1628
- return tslib_1.__generator(this, function (_e) {
1629
- switch (_e.label) {
1630
- case 0:
1631
- if (!this.useGitBranchesWhenCommitingAndPushing()) return [3 /*break*/, 5];
1632
- return [4 /*yield*/, index_1.CommitData.getFromArgs(args, typeofCommit)];
1633
- case 1:
1634
- argsCommitData = _e.sent();
1635
- if (!argsCommitData.message) return [3 /*break*/, 2];
1636
- commitData = argsCommitData;
1637
- return [3 /*break*/, 4];
1638
- case 2: return [4 /*yield*/, index_1.CommitData.getFromBranch(this.git.currentBranchName)];
1639
- case 3:
1640
- commitDataBranch = _e.sent();
1641
- commitData = commitDataBranch;
1642
- _e.label = 4;
1643
- case 4: return [3 /*break*/, 7];
1644
- case 5: return [4 /*yield*/, index_1.CommitData.getFromArgs(args, typeofCommit)];
1645
- case 6:
1646
- argsCommitData = _e.sent();
1647
- // console.log({ argsCommitData })
1648
- // console.log(argsCommitData)
1649
- if (!argsCommitData.message && commitMessageRequired) {
1650
- index_1.Helpers.error('Please provide message in argument', false, true);
1651
- }
1652
- if (!argsCommitData.message) {
1653
- argsCommitData.message = index_1.Helpers.git.ACTION_MSG_RESET_GIT_HARD_COMMIT;
1654
- }
1655
- commitData = argsCommitData;
1656
- _e.label = 7;
1657
- case 7:
1658
- if (!(commitData.message !== index_1.Helpers.git.ACTION_MSG_RESET_GIT_HARD_COMMIT)) return [3 /*break*/, 9];
1659
- from = (_d = this.transalteGitCommitFromArgs(), _d.from), to = _d.to;
1660
- if (!(from && to)) return [3 /*break*/, 9];
1661
- _a = commitData;
1662
- _c = (_b = tnp_core_2._).kebabCase;
1663
- return [4 /*yield*/, (0, translate_1.translate)(commitData.message, { from: from, to: to })];
1664
- case 8:
1665
- _a.message = _c.apply(_b, [_e.sent()]);
1666
- _e.label = 9;
1667
- case 9: return [2 /*return*/, commitData];
1668
- }
1669
- });
1670
- });
1671
- };
1672
- //#endregion
1673
- //#region methods & getters / link project to
756
+ //#region methods & getters / link project to
1674
757
  BaseProject.prototype.linkTo = function (destPackageLocation) {
1675
758
  //#region @backend
1676
759
  index_1.Helpers.createSymLink(this.location, destPackageLocation);
1677
760
  //#endregion
1678
761
  };
1679
762
  //#endregion
1680
- //#region methods & getters / write file
763
+ //#region methods & getters / write file
1681
764
  BaseProject.prototype.writeFile = function (relativePath, content) {
1682
765
  //#region @backend
1683
766
  index_1.Helpers.writeFile([this.location, relativePath], content);
1684
767
  //#endregion
1685
768
  };
1686
769
  //#endregion
1687
- //#region getters & methods / ru command and get string
770
+ //#region getters & methods / run command and get string
1688
771
  BaseProject.prototype.runCommandGetString = function (command) {
1689
772
  //#region @backendFunc
1690
773
  return index_1.Helpers.commnadOutputAsString(command, this.location, {
@@ -1692,332 +775,6 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
1692
775
  });
1693
776
  //#endregion
1694
777
  };
1695
- Object.defineProperty(BaseProject.prototype, "git", {
1696
- //#endregion
1697
- //#region getters & methods / git
1698
- get: function () {
1699
- var self = this;
1700
- return {
1701
- unstageAllFiles: function () {
1702
- //#region @backendFunc
1703
- index_1.Helpers.git.unstageAllFiles(self.location);
1704
- //#endregion
1705
- },
1706
- revertFileChanges: function (fileReletivePath) {
1707
- //#region @backendFunc
1708
- index_1.Helpers.git.revertFileChanges(self.location, fileReletivePath);
1709
- //#endregion
1710
- },
1711
- clone: function (url, destinationFolderName, branchName) {
1712
- if (destinationFolderName === void 0) { destinationFolderName = ''; }
1713
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1714
- var clondeFolderpath, error_3;
1715
- return tslib_1.__generator(this, function (_a) {
1716
- switch (_a.label) {
1717
- case 0:
1718
- clondeFolderpath = index_1.Helpers.git.clone({
1719
- cwd: self.location,
1720
- url: url,
1721
- destinationFolderName: destinationFolderName,
1722
- });
1723
- if (!branchName) return [3 /*break*/, 4];
1724
- _a.label = 1;
1725
- case 1:
1726
- _a.trys.push([1, 3, , 4]);
1727
- index_1.Helpers.git.checkout(clondeFolderpath, branchName);
1728
- return [4 /*yield*/, index_1.Helpers.git.pullCurrentBranch(clondeFolderpath, {
1729
- askToRetry: true,
1730
- })];
1731
- case 2:
1732
- _a.sent();
1733
- return [3 /*break*/, 4];
1734
- case 3:
1735
- error_3 = _a.sent();
1736
- return [3 /*break*/, 4];
1737
- case 4: return [2 /*return*/, (0, tnp_core_1.crossPlatformPath)([
1738
- clondeFolderpath,
1739
- destinationFolderName || '',
1740
- ]).replace(/\/$/g, '')];
1741
- }
1742
- });
1743
- });
1744
- },
1745
- restoreLastVersion: function (localFilePath) {
1746
- //#region @backendFunc
1747
- return index_1.Helpers.git.restoreLastVersion(self.location, localFilePath);
1748
- //#endregion
1749
- },
1750
- stageAllFiles: function () {
1751
- //#region @backendFunc
1752
- index_1.Helpers.git.stageAllFiles(self.location);
1753
- //#endregion
1754
- },
1755
- stash: function (optinos) {
1756
- //#region @backendFunc
1757
- index_1.Helpers.git.stash(self.location, optinos);
1758
- //#endregion
1759
- },
1760
- stashApply: function () {
1761
- //#region @backendFunc
1762
- index_1.Helpers.git.stashApply(self.location);
1763
- //#endregion
1764
- },
1765
- fetch: function () {
1766
- //#region @backendFunc
1767
- index_1.Helpers.git.fetch(self.location);
1768
- //#endregion
1769
- },
1770
- resetFiles: function () {
1771
- var _a;
1772
- var relativePathes = [];
1773
- for (var _i = 0; _i < arguments.length; _i++) {
1774
- relativePathes[_i] = arguments[_i];
1775
- }
1776
- //#region @backendFunc
1777
- return (_a = index_1.Helpers.git).resetFiles.apply(_a, tslib_1.__spreadArray([self.location], tslib_1.__read(relativePathes), false));
1778
- //#endregion
1779
- },
1780
- get isInsideGitRepo() {
1781
- //#region @backendFunc
1782
- return index_1.Helpers.git.isInsideGitRepo(self.location);
1783
- //#endregion
1784
- },
1785
- get isGitRoot() {
1786
- //#region @backendFunc
1787
- return index_1.Helpers.git.isGitRoot(self.location);
1788
- //#endregion
1789
- },
1790
- get originURL() {
1791
- //#region @backendFunc
1792
- return index_1.Helpers.git.getOriginURL(self.location);
1793
- //#endregion
1794
- },
1795
- commit: function (commitMessage) {
1796
- //#region @backendFunc
1797
- return index_1.Helpers.git.commit(self.location, commitMessage);
1798
- //#endregion
1799
- },
1800
- /**
1801
- * alias to stage all and commit
1802
- */
1803
- addAndCommit: function (commitMessage) {
1804
- //#region @backendFunc
1805
- return index_1.Helpers.git.stageAllAndCommit(self.location, commitMessage);
1806
- //#endregion
1807
- },
1808
- stageAllAndCommit: function (commitMessage) {
1809
- //#region @backendFunc
1810
- return index_1.Helpers.git.stageAllAndCommit(self.location, commitMessage);
1811
- //#endregion
1812
- },
1813
- pushCurrentBranch: function (options) {
1814
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1815
- return tslib_1.__generator(this, function (_a) {
1816
- switch (_a.label) {
1817
- case 0: return [4 /*yield*/, index_1.Helpers.git.pushCurrentBranch(self.location, options)];
1818
- case 1:
1819
- //#region @backendFunc
1820
- return [2 /*return*/, _a.sent()];
1821
- }
1822
- });
1823
- });
1824
- },
1825
- get allOrigins() {
1826
- //#region @backendFunc
1827
- return index_1.Helpers.git.allOrigins(self.location);
1828
- //#endregion
1829
- },
1830
- get uncommitedFiles() {
1831
- //#region @backendFunc
1832
- return index_1.Helpers.git.uncommitedFiles(self.location);
1833
- //#endregion
1834
- },
1835
- get thereAreSomeUncommitedChange() {
1836
- //#region @backendFunc
1837
- return index_1.Helpers.git.checkIfthereAreSomeUncommitedChange(self.location);
1838
- //#endregion
1839
- },
1840
- thereAreSomeUncommitedChangeExcept: function (filesList) {
1841
- if (filesList === void 0) { filesList = []; }
1842
- //#region @backendFunc
1843
- return index_1.Helpers.git.thereAreSomeUncommitedChangeExcept(filesList, self.location);
1844
- //#endregion
1845
- },
1846
- meltActionCommits: function (soft) {
1847
- if (soft === void 0) { soft = false; }
1848
- //#region @backend
1849
- return index_1.Helpers.git.meltActionCommits(self.location, soft);
1850
- //#endregion
1851
- },
1852
- pullCurrentBranch: function (options) {
1853
- return tslib_1.__awaiter(this, void 0, void 0, function () {
1854
- return tslib_1.__generator(this, function (_a) {
1855
- switch (_a.label) {
1856
- case 0:
1857
- //#region @backendFunc
1858
- return [4 /*yield*/, index_1.Helpers.git.pullCurrentBranch(self.location, tslib_1.__assign({}, options))];
1859
- case 1:
1860
- //#region @backendFunc
1861
- _a.sent();
1862
- return [2 /*return*/];
1863
- }
1864
- });
1865
- });
1866
- },
1867
- get currentBranchName() {
1868
- //#region @backendFunc
1869
- return index_1.Helpers.git.currentBranchName(self.location);
1870
- //#endregion
1871
- },
1872
- get listOfCurrentGitChanges() {
1873
- //#region @backendFunc
1874
- return index_1.Helpers.git.getListOfCurrentGitChanges(self.location);
1875
- //#endregion
1876
- },
1877
- getBranchesNamesBy: function (pattern) {
1878
- //#region @backendFunc
1879
- return index_1.Helpers.git.getBranchesNames(self.location, pattern);
1880
- //#endregion
1881
- },
1882
- resetSoftHEAD: function (HEAD) {
1883
- if (HEAD === void 0) { HEAD = 1; }
1884
- //#region @backendFunc
1885
- index_1.Helpers.git.resetSoftHEAD(self.location, HEAD);
1886
- //#endregion
1887
- },
1888
- resetHard: function (options) {
1889
- //#region @backendFunc
1890
- index_1.Helpers.git.resetHard(self.location, options);
1891
- //#endregion
1892
- },
1893
- countComits: function () {
1894
- //#region @backendFunc
1895
- return index_1.Helpers.git.countCommits(self.location);
1896
- //#endregion
1897
- },
1898
- hasAnyCommits: function () {
1899
- //#region @backendFunc
1900
- return index_1.Helpers.git.hasAnyCommits(self.location);
1901
- //#endregion
1902
- },
1903
- get isInMergeProcess() {
1904
- //#region @backendFunc
1905
- return index_1.Helpers.git.isInMergeProcess(self.location);
1906
- //#endregion
1907
- },
1908
- lastCommitDate: function () {
1909
- //#region @backendFunc
1910
- return index_1.Helpers.git.lastCommitDate(self.location);
1911
- //#endregion
1912
- },
1913
- lastCommitHash: function () {
1914
- //#region @backendFunc
1915
- return index_1.Helpers.git.lastCommitHash(self.location);
1916
- //#endregion
1917
- },
1918
- lastCommitMessage: function () {
1919
- //#region @backendFunc
1920
- return index_1.Helpers.git.lastCommitMessage(self.location);
1921
- //#endregion
1922
- },
1923
- penultimageCommitHash: function () {
1924
- //#region @backendFunc
1925
- return index_1.Helpers.git.penultimageCommitHash(self.location);
1926
- //#endregion
1927
- },
1928
- checkTagExists: function (tag) {
1929
- //#region @backendFunc
1930
- return index_1.Helpers.git.checkTagExists(tag, self.location);
1931
- //#endregion
1932
- },
1933
- checkout: function (branchName, options) {
1934
- //#region @backendFunc
1935
- return index_1.Helpers.git.checkout(self.location, branchName, options);
1936
- //#endregion
1937
- },
1938
- checkoutFromTo: function (checkoutFromBranch, branch, origin) {
1939
- if (origin === void 0) { origin = 'origin'; }
1940
- //#region @backendFunc
1941
- return index_1.Helpers.git.checkoutFromTo(checkoutFromBranch, branch, origin, self.location);
1942
- //#endregion
1943
- },
1944
- /**
1945
- *
1946
- * @param majorVersion example: v1, v2 etc.
1947
- * @returns tag name
1948
- */
1949
- lastTagNameForMajorVersion: function (majorVersion) {
1950
- //#region @backendFunc
1951
- return index_1.Helpers.git.lastTagNameForMajorVersion(self.location, majorVersion);
1952
- //#endregion
1953
- },
1954
- lastTagHash: function () {
1955
- //#region @backendFunc
1956
- return index_1.Helpers.git.lastTagHash(self.location);
1957
- //#endregion
1958
- },
1959
- get remoteOriginUrl() {
1960
- //#region @backendFunc
1961
- return index_1.Helpers.git.getOriginURL(self.location);
1962
- //#endregion
1963
- },
1964
- get lastTagVersionName() {
1965
- //#region @backendFunc
1966
- return index_1.Helpers.git.lastTagVersionName(self.location) || '';
1967
- //#endregion
1968
- },
1969
- get stagedFiles() {
1970
- //#region @backendFunc
1971
- return index_1.Helpers.git.stagedFiles(self.location);
1972
- //#endregion
1973
- },
1974
- /**
1975
- * TODO does this make any sense
1976
- */
1977
- renameOrigin: function (newNameOrUlr) {
1978
- //#region @backendFunc
1979
- if (!newNameOrUlr.endsWith('.git')) {
1980
- newNameOrUlr = newNameOrUlr + '.git';
1981
- }
1982
- var oldOrigin = self.git.originURL;
1983
- if (!newNameOrUlr.startsWith('git@') &&
1984
- !newNameOrUlr.startsWith('https://')) {
1985
- newNameOrUlr = oldOrigin.replace(tnp_core_1.path.basename(oldOrigin), newNameOrUlr);
1986
- }
1987
- try {
1988
- self.run("git remote rm origin").sync();
1989
- }
1990
- catch (error) { }
1991
- try {
1992
- self.run("git remote add origin ".concat(newNameOrUlr)).sync();
1993
- index_1.Helpers.info("Origin changed:\n from: ".concat(oldOrigin, "\n to: ").concat(newNameOrUlr, "\n"));
1994
- }
1995
- catch (e) {
1996
- index_1.Helpers.error("Not able to change origin.. reverting to old", true, true);
1997
- self.run("git remote add origin ".concat(oldOrigin)).sync();
1998
- }
1999
- //#endregion
2000
- },
2001
- };
2002
- },
2003
- enumerable: false,
2004
- configurable: true
2005
- });
2006
- //#endregion
2007
- //#region getters & methods / check if loggin in to npm
2008
- BaseProject.prototype.checkIfLogginInToNpm = function () {
2009
- //#region @backendFunc
2010
- // if (!this.canBePublishToNpmRegistry) {
2011
- // return;
2012
- // }
2013
- try {
2014
- this.run('npm whoami').sync();
2015
- }
2016
- catch (e) {
2017
- index_1.Helpers.error("Please login in to npm.", false, true);
2018
- }
2019
- //#endregion
2020
- };
2021
778
  Object.defineProperty(BaseProject.prototype, "parentsNames", {
2022
779
  //#endregion
2023
780
  //#region getters & methods / find partners names
@@ -2140,403 +897,12 @@ var BaseProject = exports.BaseProject = /** @class */ (function () {
2140
897
  var proj;
2141
898
  return tslib_1.__generator(this, function (_d) {
2142
899
  proj = this;
2143
- 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 core project name: '").concat((_a = proj === null || proj === void 0 ? void 0 : proj.core) === null || _a === void 0 ? void 0 : _a.name, "'\n embedded project: ").concat(((_b = proj === null || proj === void 0 ? void 0 : proj.embeddedProject) === null || _b === void 0 ? void 0 : _b.genericName) || '< none >', "\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") +
2144
- "\nlinked porject prefix: \"".concat(this.linkedProjectsPrefix, "\"\n\nlinked projects from json (").concat(((_c = this.linkedProjects) === null || _c === void 0 ? void 0 : _c.length) || 0, "):\n").concat((this.linkedProjects || []).map(function (c) { return '- ' + c.relativeClonePath; }).join('\n'), "\n\n "));
900
+ 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 core project name: '").concat((_a = proj === null || proj === void 0 ? void 0 : proj.core) === null || _a === void 0 ? void 0 : _a.name, "'\n embedded project: ").concat(((_b = proj === null || proj === void 0 ? void 0 : proj.linkedProjects.embeddedProject) === null || _b === void 0 ? void 0 : _b.genericName) || '< none >', "\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") +
901
+ "\nlinked porject prefix: \"".concat(this.linkedProjects.linkedProjectsPrefix, "\"\n\nlinked projects from json (").concat(((_c = this.linkedProjects.linkedProjects) === null || _c === void 0 ? void 0 : _c.length) || 0, "):\n").concat((this.linkedProjects.linkedProjects || []).map(function (c) { return '- ' + c.relativeClonePath; }).join('\n'), "\n\n "));
2145
902
  return [2 /*return*/];
2146
903
  });
2147
904
  });
2148
905
  };
2149
- //#endregion
2150
- //#region getters & methods / translate git commit from args
2151
- /**
2152
- * By default no translation of commit
2153
- */
2154
- BaseProject.prototype.transalteGitCommitFromArgs = function () {
2155
- return { from: void 0, to: void 0 };
2156
- };
2157
- //#endregion
2158
- //#region getters & methods / us git branches when commiting and pushing
2159
- /**
2160
- * By defult true.. when commit branches will not function.
2161
- * (false is better for simple projects)
2162
- */
2163
- BaseProject.prototype.useGitBranchesWhenCommitingAndPushing = function () {
2164
- return true;
2165
- };
2166
- //#endregion
2167
- //#region getters & methods / automatically add all changes when pushing to git
2168
- /**
2169
- * usefull when pushing in project with childrens as git repos
2170
- */
2171
- BaseProject.prototype.automaticallyAddAllChnagesWhenPushingToGit = function () {
2172
- return false;
2173
- };
2174
- //#endregion
2175
- //#region getters & methods / use git branches as metadata for commits
2176
- /**
2177
- * usefull when pushing in project with childrens as git repos
2178
- */
2179
- BaseProject.prototype.useGitBranchesAsMetadataForCommits = function () {
2180
- return true;
2181
- };
2182
- Object.defineProperty(BaseProject.prototype, "libraries", {
2183
- //#endregion
2184
- //#region getters & methods / angular libraries
2185
- /**
2186
- * angular libraries from angular.json
2187
- */
2188
- get: function () {
2189
- var _this = this;
2190
- var _a;
2191
- //#region @backendFunc
2192
- if (!this.pathExists(tnp_config_1.config.file.angular_json)) {
2193
- return [];
2194
- }
2195
- 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) ||
2196
- {}).filter(function (f) { return f.projectType === 'library'; });
2197
- var libraries = projects.map(function (c) {
2198
- return _this.ins.From(tnp_core_1.path.join(_this.location, c.root));
2199
- });
2200
- return libraries;
2201
- //#endregion
2202
- },
2203
- enumerable: false,
2204
- configurable: true
2205
- });
2206
- Object.defineProperty(BaseProject.prototype, "sortedLibrariesByDeps", {
2207
- //#endregion
2208
- //#region getters & methods / sorted libraries by deps
2209
- get: function () {
2210
- //#region @backendFunc
2211
- var libs = this.libraries;
2212
- var sorted = BaseProject.sortGroupOfProject(libs, function (proj) {
2213
- if (!tnp_core_2._.isUndefined(proj.cache['deps'])) {
2214
- return proj.cache['deps'];
2215
- }
2216
- var uiJsonPath = proj.pathFor('ui-module.json');
2217
- if (index_1.Helpers.exists(uiJsonPath)) {
2218
- var uiModuleJson = index_1.Helpers.readJson(uiJsonPath);
2219
- var allLibs = (uiModuleJson.dependencies || []);
2220
- proj.cache['deps'] = allLibs.filter(function (f) { return !tnp_core_2._.isUndefined(libs.find(function (c) { return c.basename === f; })); });
2221
- }
2222
- else {
2223
- var allLibs = Object.keys(proj.allDependencies);
2224
- proj.cache['deps'] = allLibs.filter(function (f) { return !tnp_core_2._.isUndefined(libs.find(function (c) { return c.name === f; })); });
2225
- }
2226
- // console.log(`${proj.name} => all libs`, proj.cache['deps'])
2227
- return proj.cache['deps'];
2228
- }, function (proj) {
2229
- if (!tnp_core_2._.isUndefined(proj.cache['nameToCompare'])) {
2230
- // console.log(`CACHE ${proj.basename} => name: ` + proj.cache['nameToCompare'])
2231
- return proj.cache['nameToCompare'];
2232
- }
2233
- proj.cache['nameToCompare'] = index_1.Helpers.exists(proj.pathFor('ui-module.json'))
2234
- ? proj.basename
2235
- : proj.name;
2236
- return proj.cache['nameToCompare'];
2237
- });
2238
- return sorted;
2239
- //#endregion
2240
- },
2241
- enumerable: false,
2242
- configurable: true
2243
- });
2244
- //#endregion
2245
- //#region getters & methods / get sorted libraries by deps for build
2246
- BaseProject.prototype.getSortedLibrariesByDepsForBuild = function (libs, dontSugestBuildAll) {
2247
- var _a;
2248
- if (dontSugestBuildAll === void 0) { dontSugestBuildAll = false; }
2249
- return tslib_1.__awaiter(this, void 0, void 0, function () {
2250
- var buildAll, lastSelectedJsonFile, lastSelected, selected, selectedLibs, selected;
2251
- return tslib_1.__generator(this, function (_b) {
2252
- switch (_b.label) {
2253
- case 0:
2254
- buildAll = false;
2255
- lastSelectedJsonFile = 'tmp-last-selected.json';
2256
- lastSelected = ((_a = index_1.Helpers.readJson(this.pathFor(lastSelectedJsonFile))) === null || _a === void 0 ? void 0 : _a.lastSelected) || [];
2257
- if (!(tnp_core_2._.isArray(lastSelected) && lastSelected.length > 0)) return [3 /*break*/, 2];
2258
- selected = lastSelected.map(function (c) { return libs.find(function (l) { return l.basename == c; }); });
2259
- 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 "));
2260
- return [4 /*yield*/, index_1.Helpers.consoleGui.question.yesNo("Continue build with last selected ?")];
2261
- case 1:
2262
- if (_b.sent()) {
2263
- libs = selected;
2264
- return [2 /*return*/, libs];
2265
- }
2266
- _b.label = 2;
2267
- case 2:
2268
- if (!(libs.length < 6 && !dontSugestBuildAll)) return [3 /*break*/, 4];
2269
- return [4 /*yield*/, index_1.Helpers.consoleGui.question.yesNo('Should all libraries be included in build ?')];
2270
- case 3:
2271
- buildAll = _b.sent();
2272
- _b.label = 4;
2273
- case 4:
2274
- if (buildAll) {
2275
- return [2 /*return*/, libs];
2276
- }
2277
- _b.label = 5;
2278
- case 5:
2279
- if (!true) return [3 /*break*/, 8];
2280
- return [4 /*yield*/, index_1.Helpers.consoleGui.multiselect("Select libraries to build ", libs.map(function (c) {
2281
- return { name: c.name, value: c.name, selected: true };
2282
- }), true)];
2283
- case 6:
2284
- selectedLibs = _b.sent();
2285
- selected = selectedLibs.map(function (c) { return libs.find(function (l) { return l.name == c; }); });
2286
- 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 "));
2287
- return [4 /*yield*/, index_1.Helpers.consoleGui.question.yesNo("Continue build with ".concat(selected.length, " selected ?"))];
2288
- case 7:
2289
- if (_b.sent()) {
2290
- libs = selected;
2291
- return [3 /*break*/, 8];
2292
- }
2293
- return [3 /*break*/, 5];
2294
- case 8:
2295
- index_1.Helpers.writeJson(this.pathFor(lastSelectedJsonFile), {
2296
- lastSelected: libs.map(function (c) { return c.basename; }),
2297
- });
2298
- return [2 /*return*/, libs];
2299
- }
2300
- });
2301
- });
2302
- };
2303
- Object.defineProperty(BaseProject.prototype, "getLibraryBuildSuccessComamnd", {
2304
- //#endregion
2305
- //#region getters & methods / get library build success command
2306
- get: function () {
2307
- //#region @backendFunc
2308
- var isAngularLib = index_1.Helpers.exists(this.pathFor('ng-package.json'));
2309
- if (isAngularLib) {
2310
- return "Trace: Build complete";
2311
- }
2312
- else {
2313
- return "Found 0 errors. Watching for file change";
2314
- }
2315
- //#endregion
2316
- },
2317
- enumerable: false,
2318
- configurable: true
2319
- });
2320
- //#endregion
2321
- //#region getters & methods / build libraries
2322
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
2323
- BaseProject.prototype.buildLibraries = function (_a) {
2324
- 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, onlySelectedLibs = _b.onlySelectedLibs;
2325
- return tslib_1.__awaiter(this, void 0, void 0, function () {
2326
- var allLibs, allLibsToBuild, libsToWatch, _e, locationsForNodeModules, _loop_1, this_1, _f, _g, _h, index, lib, _loop_2, _j, _k, _l, index, lib, e_11_1;
2327
- var e_12, _m, e_11, _o;
2328
- var _this = this;
2329
- return tslib_1.__generator(this, function (_p) {
2330
- switch (_p.label) {
2331
- case 0:
2332
- //#region @backend
2333
- return [4 /*yield*/, this.saveAllLinkedProjectsToDB()];
2334
- case 1:
2335
- //#region @backend
2336
- _p.sent();
2337
- if (!strategy) {
2338
- strategy = 'link';
2339
- }
2340
- allLibs = this.libraries;
2341
- allLibsToBuild = this.sortedLibrariesByDeps.filter(function (f) {
2342
- if (!onlySelectedLibs) {
2343
- return true;
2344
- }
2345
- var nameMatchesPattern = onlySelectedLibs.find(function (c) { return f.name.includes(c); });
2346
- var basenameMatchesPattern = onlySelectedLibs.find(function (c) {
2347
- return f.basename.includes(c);
2348
- });
2349
- return nameMatchesPattern || basenameMatchesPattern;
2350
- });
2351
- if (!(allLibsToBuild.length == 1)) return [3 /*break*/, 2];
2352
- _e = [tnp_core_2._.first(allLibsToBuild)];
2353
- return [3 /*break*/, 4];
2354
- case 2: return [4 /*yield*/, this.getSortedLibrariesByDepsForBuild(allLibsToBuild, allLibs.length != allLibsToBuild.length)];
2355
- case 3:
2356
- _e = _p.sent();
2357
- _p.label = 4;
2358
- case 4:
2359
- libsToWatch = _e;
2360
- locationsForNodeModules = [
2361
- this.location,
2362
- // this.parent.location,
2363
- // ...this.parent.children.map(c => c.location),
2364
- ].map(function (l) { return (0, tnp_core_1.crossPlatformPath)([l, tnp_config_1.config.folder.node_modules]); });
2365
- return [4 /*yield*/, this.makeSureNodeModulesInstalled()];
2366
- case 5:
2367
- _p.sent();
2368
- _loop_1 = function (index, lib) {
2369
- index_1.Helpers.info("Building (".concat(index + 1, "/").concat(allLibs.length, ") ").concat(lib.basename, " (").concat(tnp_core_3.chalk.bold(lib.name), ")"));
2370
- if (strategy === 'link') {
2371
- (function () {
2372
- var e_13, _a;
2373
- var sourceDist = _this.pathFor([tnp_config_1.config.folder.dist, lib.basename]);
2374
- try {
2375
- for (var locationsForNodeModules_1 = (e_13 = void 0, tslib_1.__values(locationsForNodeModules)), locationsForNodeModules_1_1 = locationsForNodeModules_1.next(); !locationsForNodeModules_1_1.done; locationsForNodeModules_1_1 = locationsForNodeModules_1.next()) {
2376
- var node_modules = locationsForNodeModules_1_1.value;
2377
- var dest = (0, tnp_core_1.crossPlatformPath)([node_modules, lib.name]);
2378
- if (!index_1.Helpers.isSymlinkFileExitedOrUnexisted(dest)) {
2379
- index_1.Helpers.remove(dest);
2380
- }
2381
- console.log('linking from ', sourceDist);
2382
- console.log('linking to ', dest);
2383
- // Helpers.remove(dest);
2384
- index_1.Helpers.createSymLink(sourceDist, dest, {
2385
- continueWhenExistedFolderDoesntExists: true,
2386
- });
2387
- }
2388
- }
2389
- catch (e_13_1) { e_13 = { error: e_13_1 }; }
2390
- finally {
2391
- try {
2392
- if (locationsForNodeModules_1_1 && !locationsForNodeModules_1_1.done && (_a = locationsForNodeModules_1.return)) _a.call(locationsForNodeModules_1);
2393
- }
2394
- finally { if (e_13) throw e_13.error; }
2395
- }
2396
- if (rebuild || !index_1.Helpers.exists(sourceDist)) {
2397
- index_1.Helpers.info("Compiling ".concat(lib.name, " ..."));
2398
- _this.run(lib.getLibraryBuildComamnd({ watch: false }), {
2399
- output: true,
2400
- }).sync();
2401
- }
2402
- })();
2403
- (function () {
2404
- var sourceDist = _this.pathFor([tnp_config_1.config.folder.dist, lib.basename]);
2405
- var dest = _this.pathFor([tnp_config_1.config.folder.node_modules, lib.name]);
2406
- if (!index_1.Helpers.isSymlinkFileExitedOrUnexisted(dest)) {
2407
- index_1.Helpers.remove(dest);
2408
- }
2409
- index_1.Helpers.createSymLink(sourceDist, dest, {
2410
- continueWhenExistedFolderDoesntExists: true,
2411
- });
2412
- })();
2413
- }
2414
- else if (strategy === 'copy') {
2415
- var sourceDist = this_1.pathFor([tnp_config_1.config.folder.dist, lib.basename]);
2416
- var dest = this_1.pathFor([tnp_config_1.config.folder.node_modules, lib.name]);
2417
- if (rebuild || !index_1.Helpers.exists(sourceDist)) {
2418
- index_1.Helpers.info("Compiling ".concat(lib.name, " ..."));
2419
- this_1.run(lib.getLibraryBuildComamnd({ watch: false }), {
2420
- output: true,
2421
- }).sync();
2422
- }
2423
- if (index_1.Helpers.isSymlinkFileExitedOrUnexisted(dest)) {
2424
- index_1.Helpers.remove(dest);
2425
- }
2426
- index_1.Helpers.copy(sourceDist, dest);
2427
- }
2428
- };
2429
- this_1 = this;
2430
- try {
2431
- for (_f = tslib_1.__values(this.sortedLibrariesByDeps.entries()), _g = _f.next(); !_g.done; _g = _f.next()) {
2432
- _h = tslib_1.__read(_g.value, 2), index = _h[0], lib = _h[1];
2433
- _loop_1(index, lib);
2434
- }
2435
- }
2436
- catch (e_12_1) { e_12 = { error: e_12_1 }; }
2437
- finally {
2438
- try {
2439
- if (_g && !_g.done && (_m = _f.return)) _m.call(_f);
2440
- }
2441
- finally { if (e_12) throw e_12.error; }
2442
- }
2443
- if (!watch) return [3 /*break*/, 14];
2444
- _loop_2 = function (index, lib) {
2445
- return tslib_1.__generator(this, function (_q) {
2446
- switch (_q.label) {
2447
- case 0:
2448
- index_1.Helpers.info("Building for watch (".concat(index + 1, "/").concat(libsToWatch.length, ") ").concat(lib.basename, " (").concat(tnp_core_3.chalk.bold(lib.name), ")"));
2449
- return [4 /*yield*/, (function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
2450
- var _this = this;
2451
- return tslib_1.__generator(this, function (_a) {
2452
- switch (_a.label) {
2453
- case 0: return [4 /*yield*/, this.run(lib.getLibraryBuildComamnd({ watch: true }), {
2454
- output: true,
2455
- }).unitlOutputContains(lib.getLibraryBuildSuccessComamnd, [], 0, function () {
2456
- var sourceDist = _this.pathFor([
2457
- tnp_config_1.config.folder.dist,
2458
- lib.basename,
2459
- ]);
2460
- var dest = _this.pathFor([tnp_config_1.config.folder.node_modules, lib.name]);
2461
- index_1.Helpers.copy(sourceDist, dest);
2462
- console.log("Sync done for ".concat(lib.basename, " to ").concat(lib.name));
2463
- })];
2464
- case 1:
2465
- _a.sent();
2466
- return [2 /*return*/];
2467
- }
2468
- });
2469
- }); })()];
2470
- case 1:
2471
- _q.sent();
2472
- return [2 /*return*/];
2473
- }
2474
- });
2475
- };
2476
- _p.label = 6;
2477
- case 6:
2478
- _p.trys.push([6, 11, 12, 13]);
2479
- _j = tslib_1.__values(libsToWatch.entries()), _k = _j.next();
2480
- _p.label = 7;
2481
- case 7:
2482
- if (!!_k.done) return [3 /*break*/, 10];
2483
- _l = tslib_1.__read(_k.value, 2), index = _l[0], lib = _l[1];
2484
- return [5 /*yield**/, _loop_2(index, lib)];
2485
- case 8:
2486
- _p.sent();
2487
- _p.label = 9;
2488
- case 9:
2489
- _k = _j.next();
2490
- return [3 /*break*/, 7];
2491
- case 10: return [3 /*break*/, 13];
2492
- case 11:
2493
- e_11_1 = _p.sent();
2494
- e_11 = { error: e_11_1 };
2495
- return [3 /*break*/, 13];
2496
- case 12:
2497
- try {
2498
- if (_k && !_k.done && (_o = _j.return)) _o.call(_j);
2499
- }
2500
- finally { if (e_11) throw e_11.error; }
2501
- return [7 /*endfinally*/];
2502
- case 13:
2503
- // await this.__indexRebuilder.startAndWatch({ taskName: 'index rebuild watch' });
2504
- index_1.Helpers.success('BUILD DONE.. watching..');
2505
- return [3 /*break*/, 15];
2506
- case 14:
2507
- // await this.__indexRebuilder.start({ taskName: 'index rebuild watch' });
2508
- index_1.Helpers.success('BUILD DONE');
2509
- _p.label = 15;
2510
- case 15: return [2 /*return*/];
2511
- }
2512
- });
2513
- });
2514
- };
2515
- //#endregion
2516
- //#region getters & methods / get library build success command
2517
- BaseProject.prototype.getLibraryBuildComamnd = function (options) {
2518
- //#region @backendFunc
2519
- var watch = options.watch;
2520
- var isAngularLib = index_1.Helpers.exists(this.pathFor('ng-package.json')) ||
2521
- index_1.Helpers.exists(this.pathFor('tsconfig.app.json'));
2522
- if (isAngularLib) {
2523
- return "npm-run ng build ".concat(this.basename, " ").concat(watch ? '--watch' : '');
2524
- }
2525
- else {
2526
- return "npm-run tsc -p libraries/".concat(this.basename, "/tsconfig.lib.json ").concat(watch ? '--watch' : '', " --preserveWatchOutput");
2527
- }
2528
- //#endregion
2529
- };
2530
- //#endregion
2531
- //#region getters & methods / start npm task
2532
- BaseProject.prototype.startNpmTask = function (taskName, additionalArguments) {
2533
- if (tnp_core_2._.isObject(additionalArguments)) {
2534
- additionalArguments = Object.keys(additionalArguments)
2535
- .map(function (k) { return "--".concat(k, " ").concat(additionalArguments[k]); })
2536
- .join(' ');
2537
- }
2538
- return this.run("npm run ".concat(taskName, " ").concat(additionalArguments ? ' -- ' + additionalArguments : ''), { output: true });
2539
- };
2540
906
  //#region static
2541
907
  //#region static / instance of resovle
2542
908
  BaseProject.ins = new base_project_resolver_1.BaseProjectResolver(BaseProject);