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
@@ -0,0 +1,391 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseLinkedProjects = exports.ChildProcess = void 0;
4
+ var tslib_1 = require("tslib");
5
+ //#region import
6
+ //#region @backend
7
+ var child_process_1 = require("child_process");
8
+ Object.defineProperty(exports, "ChildProcess", { enumerable: true, get: function () { return child_process_1.ChildProcess; } });
9
+ var tsfmt = require("typescript-formatter");
10
+ //#endregion
11
+ var tnp_core_1 = require("tnp-core");
12
+ var index_1 = require("../index");
13
+ var base_feature_for_project_1 = require("./base-feature-for-project");
14
+ var json5Write = require("json10-writer");
15
+ var tnp_config_1 = require("tnp-config");
16
+ //#endregion
17
+ var BaseLinkedProjects = /** @class */ (function (_super) {
18
+ tslib_1.__extends(BaseLinkedProjects, _super);
19
+ function BaseLinkedProjects() {
20
+ var _this = _super !== null && _super.apply(this, arguments) || this;
21
+ _this.cache = {};
22
+ return _this;
23
+ //#endregion
24
+ }
25
+ Object.defineProperty(BaseLinkedProjects.prototype, "embeddedProject", {
26
+ //#region methods & getters / embedded project
27
+ get: function () {
28
+ var _this = this;
29
+ var _a;
30
+ var cacheKey = 'embeddedProject' + tnp_core_1._.kebabCase(this.project.location);
31
+ if (!tnp_core_1._.isUndefined(this.cache[cacheKey])) {
32
+ return this.cache[cacheKey];
33
+ }
34
+ // Helpers.taskStarted(`Detecting embedded project for ${this.location}`); // TODO it is slow
35
+ var nearsetProj = this.project.ins.nearestTo((0, tnp_core_1.crossPlatformPath)([this.project.location, '..']));
36
+ var linkedPorj = (_a = nearsetProj === null || nearsetProj === void 0 ? void 0 : nearsetProj.linkedProjects) === null || _a === void 0 ? void 0 : _a.linkedProjects.find(function (l) {
37
+ return (_this.project.location ===
38
+ (0, tnp_core_1.crossPlatformPath)([nearsetProj.location, l.relativeClonePath]));
39
+ });
40
+ if (!linkedPorj || !linkedPorj.internalRealtiveProjectPath) {
41
+ return;
42
+ }
43
+ var pathToEmbededProj = (0, tnp_core_1.crossPlatformPath)([
44
+ nearsetProj.location,
45
+ linkedPorj.relativeClonePath,
46
+ linkedPorj.internalRealtiveProjectPath || '',
47
+ ]);
48
+ var embdedresult = this.project.ins.From(pathToEmbededProj);
49
+ // Helpers.taskDone(`Embedded project detected for ${this.location}`);
50
+ this.cache[cacheKey] = embdedresult;
51
+ return this.cache[cacheKey];
52
+ },
53
+ enumerable: false,
54
+ configurable: true
55
+ });
56
+ Object.defineProperty(BaseLinkedProjects.prototype, "projectsDbLocation", {
57
+ //#endregion
58
+ //#region methods & getters / projects db location
59
+ get: function () {
60
+ //#region @backendFunc
61
+ return this.project.ins.projectsDb.projectsDbLocation;
62
+ //#endregion
63
+ },
64
+ enumerable: false,
65
+ configurable: true
66
+ });
67
+ //#endregion
68
+ //#region methods & getters / save location to db
69
+ BaseLinkedProjects.prototype.saveLocationToDB = function () {
70
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
71
+ var db, existed, error_1;
72
+ var _this = this;
73
+ return tslib_1.__generator(this, function (_a) {
74
+ switch (_a.label) {
75
+ case 0: return [4 /*yield*/, this.project.ins.projectsDb.useDB()];
76
+ case 1:
77
+ db = _a.sent();
78
+ existed = db.data.projects.find(function (f) { return f.location === _this.project.location; });
79
+ if (!!existed) return [3 /*break*/, 5];
80
+ _a.label = 2;
81
+ case 2:
82
+ _a.trys.push([2, 4, , 5]);
83
+ return [4 /*yield*/, db.update(function (data) {
84
+ if (data.projects.length > 50) {
85
+ data.projects.shift();
86
+ }
87
+ data.projects.push({
88
+ location: _this.project.location,
89
+ });
90
+ })];
91
+ case 3:
92
+ _a.sent();
93
+ return [3 /*break*/, 5];
94
+ case 4:
95
+ error_1 = _a.sent();
96
+ index_1.Helpers.warn("Cannot save location to db");
97
+ return [3 /*break*/, 5];
98
+ case 5: return [2 /*return*/];
99
+ }
100
+ });
101
+ });
102
+ };
103
+ //#endregion
104
+ //#region methods & getters / save all linked projects to db
105
+ BaseLinkedProjects.prototype.saveAllLinkedProjectsToDB = function () {
106
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
107
+ var proj, _a, _b, link, linkedPorj, e_1_1;
108
+ var e_1, _c;
109
+ return tslib_1.__generator(this, function (_d) {
110
+ switch (_d.label) {
111
+ case 0:
112
+ proj = this.project;
113
+ return [4 /*yield*/, proj.linkedProjects.saveLocationToDB()];
114
+ case 1:
115
+ _d.sent();
116
+ _d.label = 2;
117
+ case 2:
118
+ _d.trys.push([2, 8, 9, 10]);
119
+ _a = tslib_1.__values(proj.linkedProjects.linkedProjects), _b = _a.next();
120
+ _d.label = 3;
121
+ case 3:
122
+ if (!!_b.done) return [3 /*break*/, 7];
123
+ link = _b.value;
124
+ linkedPorj = this.project.ins.From([
125
+ proj.location,
126
+ link.relativeClonePath,
127
+ link.internalRealtiveProjectPath || '',
128
+ ]);
129
+ if (!linkedPorj) return [3 /*break*/, 5];
130
+ return [4 /*yield*/, linkedPorj.linkedProjects.saveLocationToDB()];
131
+ case 4:
132
+ _d.sent();
133
+ return [3 /*break*/, 6];
134
+ case 5:
135
+ index_1.Helpers.warn("Folder ".concat(link.relativeClonePath, " is missing projects..."));
136
+ _d.label = 6;
137
+ case 6:
138
+ _b = _a.next();
139
+ return [3 /*break*/, 3];
140
+ case 7: return [3 /*break*/, 10];
141
+ case 8:
142
+ e_1_1 = _d.sent();
143
+ e_1 = { error: e_1_1 };
144
+ return [3 /*break*/, 10];
145
+ case 9:
146
+ try {
147
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
148
+ }
149
+ finally { if (e_1) throw e_1.error; }
150
+ return [7 /*endfinally*/];
151
+ case 10: return [2 /*return*/];
152
+ }
153
+ });
154
+ });
155
+ };
156
+ //#endregion
157
+ //#region methods & getters / add linked project
158
+ BaseLinkedProjects.prototype.addLinkedProject = function (linkedProj) {
159
+ var linkedProject = tnp_core_1._.isString(linkedProj)
160
+ ? index_1.LinkedProject.fromName(linkedProj)
161
+ : linkedProj;
162
+ //#region @backendFunc
163
+ var linkedProjectsConfig = this.getLinkedProjectsConfig();
164
+ linkedProjectsConfig.projects.push(index_1.LinkedProject.from(linkedProject));
165
+ this.setLinkedProjectsConfig(linkedProjectsConfig);
166
+ //#endregion
167
+ };
168
+ //#endregion
169
+ //#region methods & getters / add linked projects
170
+ BaseLinkedProjects.prototype.addLinkedProjects = function (linkedProjs) {
171
+ var e_2, _a;
172
+ try {
173
+ //#region @backendFunc
174
+ for (var linkedProjs_1 = tslib_1.__values(linkedProjs), linkedProjs_1_1 = linkedProjs_1.next(); !linkedProjs_1_1.done; linkedProjs_1_1 = linkedProjs_1.next()) {
175
+ var linkedProj = linkedProjs_1_1.value;
176
+ this.addLinkedProject(linkedProj);
177
+ }
178
+ }
179
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
180
+ finally {
181
+ try {
182
+ if (linkedProjs_1_1 && !linkedProjs_1_1.done && (_a = linkedProjs_1.return)) _a.call(linkedProjs_1);
183
+ }
184
+ finally { if (e_2) throw e_2.error; }
185
+ }
186
+ //#endregion
187
+ };
188
+ //#endregion
189
+ //#region methods & getters / set linked projects config
190
+ BaseLinkedProjects.prototype.setLinkedProjectsConfig = function (linkedPorjectsConfig) {
191
+ //#region @backendFunc
192
+ if (!index_1.Helpers.exists(this.linkedProjectsConfigPath)) {
193
+ return;
194
+ }
195
+ var orgContent = index_1.Helpers.readFile(this.linkedProjectsConfigPath);
196
+ linkedPorjectsConfig = index_1.LinkedPorjectsConfig.from(linkedPorjectsConfig);
197
+ var writer = json5Write.load(orgContent);
198
+ writer.write(linkedPorjectsConfig);
199
+ var newContent = writer.toSource({
200
+ quote: 'double',
201
+ trailingComma: true,
202
+ quotaKey: true,
203
+ });
204
+ index_1.Helpers.writeFile(this.linkedProjectsConfigPath, newContent);
205
+ try {
206
+ tsfmt.processFiles([this.linkedProjectsConfigPath], {
207
+ verbose: false,
208
+ replace: true,
209
+ verify: false,
210
+ // tsconfig: true,
211
+ // tslint: true,
212
+ editorconfig: true,
213
+ tsfmt: true,
214
+ });
215
+ }
216
+ catch (error) {
217
+ // console.log('ts formatting error',error)
218
+ }
219
+ //#endregion
220
+ };
221
+ Object.defineProperty(BaseLinkedProjects.prototype, "linkedProjectsConfigPath", {
222
+ //#endregion
223
+ //#region methods & getters / get linked projects config path
224
+ get: function () {
225
+ return this.project.pathFor(tnp_config_1.config.file.linked_projects_json);
226
+ },
227
+ enumerable: false,
228
+ configurable: true
229
+ });
230
+ //#endregion
231
+ //#region methods & getters / recreate linked projects config
232
+ BaseLinkedProjects.prototype.recreateLinkedProjectsConfig = function () {
233
+ //#region @backendFunc
234
+ if (!index_1.Helpers.exists(this.linkedProjectsConfigPath) &&
235
+ index_1.Helpers.exists(this.project.pathFor(tnp_config_1.config.file.firedev_jsonc))) {
236
+ index_1.Helpers.writeJson(this.linkedProjectsConfigPath, index_1.LinkedPorjectsConfig.from({ projects: [] }));
237
+ }
238
+ //#endregion
239
+ };
240
+ //#endregion
241
+ //#region methods & getters / get linked projects config
242
+ BaseLinkedProjects.prototype.getLinkedProjectsConfig = function () {
243
+ //#region @backendFunc
244
+ this.recreateLinkedProjectsConfig();
245
+ var existedConfig = index_1.Helpers.readJson(this.project.pathFor(tnp_config_1.config.file.linked_projects_json), {}, true);
246
+ var orgExistedConfig = tnp_core_1._.cloneDeep(existedConfig);
247
+ // console.log({ existedConfig });
248
+ var linkedPorjectsConfig = index_1.LinkedPorjectsConfig.from(existedConfig);
249
+ var currentRemoteUrl = this.project.git.originURL;
250
+ var currentBranch = this.project.git.currentBranchName;
251
+ linkedPorjectsConfig.projects = (linkedPorjectsConfig.projects || []).map(function (projOrProjName) {
252
+ if (tnp_core_1._.isString(projOrProjName)) {
253
+ return index_1.LinkedProject.fromName(projOrProjName, currentRemoteUrl, currentBranch);
254
+ }
255
+ if (!projOrProjName.relativeClonePath) {
256
+ projOrProjName.relativeClonePath = tnp_core_1.path
257
+ .basename(projOrProjName.remoteUrl())
258
+ .replace('.git', '');
259
+ }
260
+ projOrProjName = index_1.LinkedProject.from(projOrProjName);
261
+ if (!projOrProjName.remoteUrl()) {
262
+ projOrProjName.repoUrl = currentRemoteUrl.replace(tnp_core_1.path.basename(currentRemoteUrl), "".concat(projOrProjName.relativeClonePath, ".git"));
263
+ }
264
+ return projOrProjName;
265
+ });
266
+ // console.log({ linkedPorjectsConfig })
267
+ // @ts-ignore
268
+ linkedPorjectsConfig.projects = index_1.Helpers.uniqArray(linkedPorjectsConfig.projects, 'relativeClonePath');
269
+ if (!tnp_core_1._.isEqual(orgExistedConfig, linkedPorjectsConfig)) {
270
+ this.setLinkedProjectsConfig(linkedPorjectsConfig);
271
+ }
272
+ return linkedPorjectsConfig;
273
+ //#endregion
274
+ };
275
+ Object.defineProperty(BaseLinkedProjects.prototype, "linkedProjects", {
276
+ //#endregion
277
+ //#region methods & getters / linked projects
278
+ get: function () {
279
+ return this.getLinkedProjectsConfig().projects || [];
280
+ },
281
+ enumerable: false,
282
+ configurable: true
283
+ });
284
+ Object.defineProperty(BaseLinkedProjects.prototype, "detectedLinkedProjects", {
285
+ //#endregion
286
+ //#region methods & getters / detected linked projects
287
+ get: function () {
288
+ var detectedLinkedProjects = index_1.LinkedProject.detect(this.project.location, true);
289
+ return detectedLinkedProjects;
290
+ },
291
+ enumerable: false,
292
+ configurable: true
293
+ });
294
+ Object.defineProperty(BaseLinkedProjects.prototype, "linkedProjectsPrefix", {
295
+ //#endregion
296
+ //#region methods & getters / linked projects prefix
297
+ get: function () {
298
+ return this.getLinkedProjectsConfig().prefix;
299
+ },
300
+ enumerable: false,
301
+ configurable: true
302
+ });
303
+ //#endregion
304
+ //#region getters & methods / reset linked projects only to core branches
305
+ BaseLinkedProjects.prototype.resetLinkedProjectsOnlyToCoreBranches = function () {
306
+ return false;
307
+ };
308
+ //#endregion
309
+ //#region getters & methods / get unexisted projects
310
+ BaseLinkedProjects.prototype.cloneUnexistedLinkedProjects = function (actionType, cloneChildren) {
311
+ if (cloneChildren === void 0) { cloneChildren = false; }
312
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
313
+ var detectedLinkedProjects, projectsThatShouldBeLinked, _a, projectsThatShouldBeLinked_1, projectsThatShouldBeLinked_1_1, linkedProj, childProjLocaiton, childProj, e_3_1;
314
+ var e_3, _b;
315
+ return tslib_1.__generator(this, function (_c) {
316
+ switch (_c.label) {
317
+ case 0:
318
+ //#region @backendFunc
319
+ if (actionType === 'push' &&
320
+ this.project.git.automaticallyAddAllChnagesWhenPushingToGit()) {
321
+ return [2 /*return*/];
322
+ }
323
+ detectedLinkedProjects = this.detectedLinkedProjects;
324
+ projectsThatShouldBeLinked = this.linkedProjects
325
+ .map(function (linkedProj) {
326
+ return detectedLinkedProjects.find(function (f) { return f.relativeClonePath === linkedProj.relativeClonePath; })
327
+ ? void 0
328
+ : linkedProj;
329
+ })
330
+ .filter(function (f) { return !!f; });
331
+ if (!(projectsThatShouldBeLinked.length > 0)) return [3 /*break*/, 11];
332
+ index_1.Helpers.info("\n\n".concat(projectsThatShouldBeLinked
333
+ .map(function (p, index) {
334
+ return "- ".concat(index + 1, ". ").concat(tnp_core_1.chalk.bold(p.relativeClonePath), " ").concat(p.remoteUrl(), " {").concat(p.purpose ? " purpose: ".concat(p.purpose, " }") : '');
335
+ })
336
+ .join('\n'), "\n\n "));
337
+ if (!!this.project.isMonorepo) return [3 /*break*/, 11];
338
+ _a = cloneChildren;
339
+ if (_a) return [3 /*break*/, 2];
340
+ return [4 /*yield*/, index_1.Helpers.questionYesNo("Do you want to clone above (missing) linked projects ?")];
341
+ case 1:
342
+ _a = (_c.sent());
343
+ _c.label = 2;
344
+ case 2:
345
+ if (!_a) return [3 /*break*/, 11];
346
+ _c.label = 3;
347
+ case 3:
348
+ _c.trys.push([3, 9, 10, 11]);
349
+ projectsThatShouldBeLinked_1 = tslib_1.__values(projectsThatShouldBeLinked), projectsThatShouldBeLinked_1_1 = projectsThatShouldBeLinked_1.next();
350
+ _c.label = 4;
351
+ case 4:
352
+ if (!!projectsThatShouldBeLinked_1_1.done) return [3 /*break*/, 8];
353
+ linkedProj = projectsThatShouldBeLinked_1_1.value;
354
+ // console.log({linkedProj})
355
+ index_1.Helpers.info("Cloning unexisted project from url ".concat(tnp_core_1.chalk.bold(linkedProj.remoteUrl()), " to ").concat(linkedProj.relativeClonePath));
356
+ return [4 /*yield*/, this.project.git.clone(linkedProj.remoteUrl(), linkedProj.relativeClonePath, linkedProj.deafultBranch)];
357
+ case 5:
358
+ _c.sent();
359
+ childProjLocaiton = this.project.pathFor([
360
+ linkedProj.relativeClonePath,
361
+ linkedProj.internalRealtiveProjectPath,
362
+ ]);
363
+ childProj = this.project.ins.From(childProjLocaiton);
364
+ if (!childProj) return [3 /*break*/, 7];
365
+ return [4 /*yield*/, childProj.saveLocationToDB()];
366
+ case 6:
367
+ _c.sent();
368
+ _c.label = 7;
369
+ case 7:
370
+ projectsThatShouldBeLinked_1_1 = projectsThatShouldBeLinked_1.next();
371
+ return [3 /*break*/, 4];
372
+ case 8: return [3 /*break*/, 11];
373
+ case 9:
374
+ e_3_1 = _c.sent();
375
+ e_3 = { error: e_3_1 };
376
+ return [3 /*break*/, 11];
377
+ case 10:
378
+ try {
379
+ if (projectsThatShouldBeLinked_1_1 && !projectsThatShouldBeLinked_1_1.done && (_b = projectsThatShouldBeLinked_1.return)) _b.call(projectsThatShouldBeLinked_1);
380
+ }
381
+ finally { if (e_3) throw e_3.error; }
382
+ return [7 /*endfinally*/];
383
+ case 11: return [2 /*return*/];
384
+ }
385
+ });
386
+ });
387
+ };
388
+ return BaseLinkedProjects;
389
+ }(base_feature_for_project_1.BaseFeatureForProject));
390
+ exports.BaseLinkedProjects = BaseLinkedProjects;
391
+ //# sourceMappingURL=base-linked-projects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-linked-projects.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ /// <reference types="node" />
2
+ import { BaseFeatureForProject } from './base-feature-for-project';
3
+ import type { BaseProject } from './base-project';
4
+ import { PackageJson } from 'type-fest';
5
+ import { CoreModels } from 'tnp-core/src';
6
+ export declare class BaseNpmHelpers<PROJCET extends BaseProject = any> extends BaseFeatureForProject {
7
+ private packageJSON;
8
+ constructor(project: PROJCET);
9
+ get name(): string;
10
+ /**
11
+ * version from package.json -> property version
12
+ */
13
+ get version(): string;
14
+ /**
15
+ * Major Version from package.json
16
+ */
17
+ get majorVersion(): number;
18
+ /**
19
+ * Minor Version from package.json
20
+ */
21
+ get minorVersion(): number;
22
+ /**
23
+ * @deprecated
24
+ */
25
+ bumpPatchVersion(): Promise<void>;
26
+ get versionPathAsNumber(): number;
27
+ /**
28
+ * npm dependencies from package.json
29
+ */
30
+ get dependencies(): PackageJson.Dependency;
31
+ /**
32
+ * peerDependencies dependencies
33
+ */
34
+ get peerDependencies(): PackageJson.Dependency;
35
+ /**
36
+ * devDependencies dependencies
37
+ */
38
+ get devDependencies(): PackageJson.Dependency;
39
+ /**
40
+ * resolutions dependencies
41
+ */
42
+ get resolutions(): PackageJson.Dependency;
43
+ /**
44
+ * @returns object witl all deps from current project package json
45
+ */
46
+ get allDependencies(): {
47
+ [packageName: string]: string;
48
+ };
49
+ /**
50
+ * @returns object witl all deps from package json
51
+ */
52
+ allDepsFromPackageJson(packageJson: PackageJson): any;
53
+ checkIfLogginInToNpm(): void;
54
+ linkNodeModulesTo(proj: Partial<BaseProject>): void;
55
+ preferYarnOverNpm(): boolean;
56
+ makeSureNodeModulesInstalled(options?: {
57
+ useYarn?: boolean;
58
+ force?: boolean;
59
+ }): Promise<void>;
60
+ deleteNodeModules(): void;
61
+ reinstallNodeModules(forcerRemoveNodeModules?: boolean): Promise<void>;
62
+ reinstalNodeModules(options?: {
63
+ useYarn?: boolean;
64
+ force?: boolean;
65
+ }): void;
66
+ /**
67
+ * @returns true if node_modules folder is empty
68
+ */
69
+ get emptyNodeModules(): boolean;
70
+ resetPackageLockJson(): Promise<void>;
71
+ startNpmTask(taskName: string, additionalArguments?: string | object): {
72
+ sync(): string;
73
+ async(detach?: boolean, mockFun?: (stdoutCallback: (dataForStdout: any) => any, stdErrcCallback: (dataForStder: any) => any, shouldProcesBeDead?: () => boolean) => number | Promise<number>): import("child_process").ChildProcess;
74
+ asyncAsPromise(): Promise<void>;
75
+ unitlOutputContains(stdoutMsg: string | string[], stderMsg?: string | string[], timeout?: number, stdoutOutputContainsCallback?: () => any): Promise<any>;
76
+ };
77
+ prepareCommand(optiosn?: CoreModels.NpmInstallOptions): Promise<string>;
78
+ }