tnp-helpers 16.5.14 → 16.5.16

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 (112) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/esm2022/lib/base-project-resolver.mjs +39 -3
  3. package/browser/esm2022/lib/base-project.mjs +155 -1
  4. package/browser/esm2022/lib/for-browser/angular.helper.mjs +1 -1
  5. package/browser/esm2022/lib/for-browser/helpers-browser.mjs +1 -1
  6. package/browser/esm2022/lib/helpers-array-obj.mjs +1 -1
  7. package/browser/esm2022/lib/helpers-numbers.mjs +1 -1
  8. package/browser/esm2022/lib/helpers-strings-regexes.mjs +1 -1
  9. package/browser/esm2022/lib/helpers-strings.mjs +1 -1
  10. package/browser/esm2022/lib/helpers.mjs +1 -1
  11. package/browser/esm2022/lib/index.mjs +1 -2
  12. package/browser/esm2022/lib/models.mjs +1 -1
  13. package/browser/esm2022/lib/validators/validators-git.mjs +1 -1
  14. package/browser/esm2022/lib/validators/validators-network.mjs +1 -1
  15. package/browser/esm2022/lib/validators/validators.mjs +1 -1
  16. package/browser/esm2022/public-api.mjs +1 -1
  17. package/browser/esm2022/tnp-helpers.mjs +1 -1
  18. package/browser/fesm2022/tnp-helpers.mjs +185 -404
  19. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  20. package/browser/lib/base-project-resolver.d.ts +14 -2
  21. package/browser/lib/base-project.d.ts +37 -5
  22. package/browser/lib/index.d.ts +0 -1
  23. package/browser/lib/models.d.ts +2 -2
  24. package/client/esm2022/lib/base-project-resolver.mjs +39 -3
  25. package/client/esm2022/lib/base-project.mjs +155 -1
  26. package/client/esm2022/lib/for-browser/angular.helper.mjs +1 -1
  27. package/client/esm2022/lib/for-browser/helpers-browser.mjs +1 -1
  28. package/client/esm2022/lib/helpers-array-obj.mjs +1 -1
  29. package/client/esm2022/lib/helpers-numbers.mjs +1 -1
  30. package/client/esm2022/lib/helpers-strings-regexes.mjs +1 -1
  31. package/client/esm2022/lib/helpers-strings.mjs +1 -1
  32. package/client/esm2022/lib/helpers.mjs +1 -1
  33. package/client/esm2022/lib/index.mjs +1 -2
  34. package/client/esm2022/lib/models.mjs +1 -1
  35. package/client/esm2022/lib/validators/validators-git.mjs +1 -1
  36. package/client/esm2022/lib/validators/validators-network.mjs +1 -1
  37. package/client/esm2022/lib/validators/validators.mjs +1 -1
  38. package/client/esm2022/public-api.mjs +1 -1
  39. package/client/esm2022/tnp-helpers.mjs +1 -1
  40. package/client/fesm2022/tnp-helpers.mjs +185 -404
  41. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  42. package/client/lib/base-project-resolver.d.ts +14 -2
  43. package/client/lib/base-project.d.ts +37 -5
  44. package/client/lib/index.d.ts +0 -1
  45. package/client/lib/models.d.ts +2 -2
  46. package/client/package.json +32 -32
  47. package/lib/base-project-resolver.d.ts +14 -2
  48. package/lib/base-project-resolver.js +48 -8
  49. package/lib/base-project-resolver.js.map +1 -1
  50. package/lib/base-project.d.ts +37 -5
  51. package/lib/base-project.js +177 -2
  52. package/lib/base-project.js.map +1 -1
  53. package/lib/for-backend/helpers-cli-tool.backend.d.ts +4 -11
  54. package/lib/for-backend/helpers-cli-tool.backend.js +25 -59
  55. package/lib/for-backend/helpers-cli-tool.backend.js.map +1 -1
  56. package/lib/for-backend/helpers-dependencies.backend.d.ts +1 -9
  57. package/lib/for-backend/helpers-dependencies.backend.js +35 -88
  58. package/lib/for-backend/helpers-dependencies.backend.js.map +1 -1
  59. package/lib/for-backend/helpers-file-folders.backend.d.ts +2 -3
  60. package/lib/for-backend/helpers-file-folders.backend.js +2 -2
  61. package/lib/for-backend/helpers-file-folders.backend.js.map +1 -1
  62. package/lib/for-backend/helpers-git.backend.d.ts +2 -2
  63. package/lib/for-backend/helpers-git.backend.js +1 -1
  64. package/lib/for-backend/helpers-git.backend.js.map +1 -1
  65. package/lib/for-backend/helpers-process.backend.js +1 -1
  66. package/lib/for-backend/helpers-process.backend.js.map +1 -1
  67. package/lib/for-backend/helpers-vscode.backend.d.ts +2 -2
  68. package/lib/for-backend/helpers-vscode.backend.js.map +1 -1
  69. package/lib/for-browser/angular.helper.js +3 -3
  70. package/lib/git-project.d.ts +5 -5
  71. package/lib/git-project.js +1 -2
  72. package/lib/git-project.js.map +1 -1
  73. package/lib/index.d.ts +0 -1
  74. package/lib/index.js +0 -1
  75. package/lib/index.js.map +1 -1
  76. package/lib/models.d.ts +2 -2
  77. package/lib/old/base-component.js +3 -3
  78. package/lib/old/base-formly-component.js +3 -3
  79. package/lib/old/dual-component-ctrl.js +3 -3
  80. package/package.json +4 -4
  81. package/tmp-environment.json +36 -36
  82. package/websql/esm2022/lib/base-project-resolver.mjs +40 -5
  83. package/websql/esm2022/lib/base-project.mjs +146 -1
  84. package/websql/esm2022/lib/for-browser/angular.helper.mjs +1 -1
  85. package/websql/esm2022/lib/for-browser/helpers-browser.mjs +1 -1
  86. package/websql/esm2022/lib/helpers-array-obj.mjs +1 -1
  87. package/websql/esm2022/lib/helpers-numbers.mjs +1 -1
  88. package/websql/esm2022/lib/helpers-strings-regexes.mjs +1 -1
  89. package/websql/esm2022/lib/helpers-strings.mjs +1 -1
  90. package/websql/esm2022/lib/helpers.mjs +1 -1
  91. package/websql/esm2022/lib/index.mjs +1 -2
  92. package/websql/esm2022/lib/models.mjs +1 -1
  93. package/websql/esm2022/lib/validators/validators-git.mjs +1 -1
  94. package/websql/esm2022/lib/validators/validators-network.mjs +1 -1
  95. package/websql/esm2022/lib/validators/validators.mjs +1 -1
  96. package/websql/esm2022/public-api.mjs +1 -1
  97. package/websql/esm2022/tnp-helpers.mjs +1 -1
  98. package/websql/fesm2022/tnp-helpers.mjs +186 -407
  99. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  100. package/websql/lib/base-project-resolver.d.ts +14 -2
  101. package/websql/lib/base-project.d.ts +37 -5
  102. package/websql/lib/index.d.ts +0 -1
  103. package/websql/lib/models.d.ts +2 -2
  104. package/browser/esm2022/lib/project.mjs +0 -410
  105. package/browser/lib/project.d.ts +0 -81
  106. package/client/esm2022/lib/project.mjs +0 -410
  107. package/client/lib/project.d.ts +0 -81
  108. package/lib/project.d.ts +0 -82
  109. package/lib/project.js +0 -432
  110. package/lib/project.js.map +0 -1
  111. package/websql/esm2022/lib/project.mjs +0 -410
  112. package/websql/lib/project.d.ts +0 -81
@@ -38,11 +38,11 @@
38
38
  "firedev-helpers"
39
39
  ]
40
40
  },
41
- "version": "16.5.14",
41
+ "version": "16.5.16",
42
42
  "dependencies": {
43
- "json10-writer": "~16.5.12",
43
+ "json10-writer": "~16.5.14",
44
44
  "task.js": "0.1.5",
45
- "tnp-models": "~16.5.12"
45
+ "tnp-models": "~16.5.14"
46
46
  },
47
47
  "scripts": {
48
48
  "test": "echo \"Error: no test specified\" && exit 1"
@@ -134,9 +134,9 @@
134
134
  "angular-material-css-vars": "5.0.2",
135
135
  "angular-resize-event": "3.2.0",
136
136
  "animate.css": "4.1.1 ",
137
- "any-project-cli": "~16.5.11",
137
+ "any-project-cli": "~16.5.12",
138
138
  "axios": "1.3.5",
139
- "background-worker-process": "~16.5.11",
139
+ "background-worker-process": "~16.5.12",
140
140
  "base32": "0.0.7",
141
141
  "bcryptjs": "2.4.3",
142
142
  "better-sqlite3": "7.6.2",
@@ -183,13 +183,13 @@
183
183
  "file-saver": "2.0.5",
184
184
  "file-type": "18.5.0",
185
185
  "firedev": "^16",
186
- "firedev-crud": "~16.5.11",
187
- "firedev-crud-deamon": "~16.5.11",
188
- "firedev-ports": "~16.5.11",
189
- "firedev-storage": "~16.5.11",
190
- "firedev-type-sql": "~16.5.11",
191
- "firedev-typeorm": "~16.5.13",
192
- "firedev-ui": "~16.5.11",
186
+ "firedev-crud": "~16.5.14",
187
+ "firedev-crud-deamon": "~16.5.12",
188
+ "firedev-ports": "~16.5.14",
189
+ "firedev-storage": "~16.5.12",
190
+ "firedev-type-sql": "~16.5.12",
191
+ "firedev-typeorm": "~16.5.14",
192
+ "firedev-ui": "~16.5.12",
193
193
  "fkill": "6.1.0",
194
194
  "font-awesome": "4.7.0",
195
195
  "form-data": "4.0.0",
@@ -206,11 +206,11 @@
206
206
  "image-focus": "1.2.1",
207
207
  "immer": "10.0.2",
208
208
  "immutable": "4.3.0",
209
- "incremental-compiler": "~16.5.21",
209
+ "incremental-compiler": "~16.5.23",
210
210
  "inquirer": "7.3.3",
211
211
  "inquirer-autocomplete-prompt": "1.3.0",
212
212
  "is-elevated": "3.0.0",
213
- "isomorphic-region-loader": "~16.5.12",
213
+ "isomorphic-region-loader": "~16.5.13",
214
214
  "istanbul-instrumenter-loader": "2.0.0",
215
215
  "jest": "29.5.0",
216
216
  "jest-date-mock": "1.0.8",
@@ -221,7 +221,7 @@
221
221
  "joi": "17.9.2",
222
222
  "jscodeshift": "0.6.3",
223
223
  "json-stringify-safe": "5.0.1",
224
- "json10": "~16.5.11",
224
+ "json10": "~16.5.12",
225
225
  "json5": "2.2.1",
226
226
  "json5-writer": "0.2.0",
227
227
  "jszip": "3.10.1",
@@ -230,23 +230,23 @@
230
230
  "localforage": "1.10.0",
231
231
  "lockfile": "1.0.4",
232
232
  "lodash": "4.17.20",
233
- "lodash-walk-object": "~16.5.11",
233
+ "lodash-walk-object": "~16.5.12",
234
234
  "lowdb": "1.0.0",
235
- "magic-renamer": "~16.5.11",
235
+ "magic-renamer": "~16.5.12",
236
236
  "material-design-icons": "3.0.1",
237
237
  "method-override": "2.3.10",
238
238
  "minimist": "1.2.0",
239
239
  "mkdirp": "0.5.1",
240
240
  "mocha": "10.2.0",
241
241
  "moment": "2.29.3",
242
- "morphi": "~16.5.11",
242
+ "morphi": "~16.5.12",
243
243
  "ng-for-track-by-property": "16.0.1",
244
244
  "ng-in-viewport": "15.0.2",
245
245
  "ng-lock": "16.0.1",
246
246
  "ng-packagr": "16.0.1",
247
- "ng-talkback": "~16.5.12",
248
- "ng2-logger": "~16.5.14",
249
- "ng2-rest": "~16.5.11",
247
+ "ng-talkback": "~16.5.13",
248
+ "ng2-logger": "~16.5.16",
249
+ "ng2-rest": "~16.5.12",
250
250
  "ngx-ace-wrapper": "14.0.0",
251
251
  "ngx-editor": "15.3.0",
252
252
  "ngx-highlightjs": "9.0.0",
@@ -259,7 +259,7 @@
259
259
  "ngx-scrolltop": "6.0.0",
260
260
  "ngx-store": "3.1.1",
261
261
  "ngx-typed-js": "2.1.1",
262
- "node-cli-tester": "~16.5.11",
262
+ "node-cli-tester": "~16.5.12",
263
263
  "node-localstorage": "2.1.6",
264
264
  "node-notifier": "6.0.0",
265
265
  "node-polyfill-webpack-plugin": "2.0.1",
@@ -286,7 +286,7 @@
286
286
  "q": "1.5.1",
287
287
  "rallax.js": "2.0.4",
288
288
  "randomcolor": "0.5.3",
289
- "record-replay-req-res-scenario": "~16.5.11",
289
+ "record-replay-req-res-scenario": "~16.5.12",
290
290
  "reflect-metadata": "0.1.10",
291
291
  "rimraf": "2.6.2",
292
292
  "rxjs": "~7.8.0",
@@ -297,18 +297,18 @@
297
297
  "socket.io": "2.4.1",
298
298
  "sort-package-json": "1.11.0",
299
299
  "sql.js": "1.8.0",
300
- "static-columns": "~16.5.12",
300
+ "static-columns": "~16.5.13",
301
301
  "string-similarity": "4.0.2",
302
302
  "sudo-block": "3.0.0",
303
303
  "supertest": "6.3.3",
304
304
  "sweetalert2": "11.7.12",
305
305
  "systeminformation": "3.45.7",
306
306
  "threads": "1.7.0",
307
- "tnp-cli": "~16.5.11",
308
- "tnp-config": "~16.5.13",
309
- "tnp-core": "~16.5.19",
310
- "tnp-db": "~16.5.11",
311
- "tnp-helpers": "~16.5.13",
307
+ "tnp-cli": "~16.5.12",
308
+ "tnp-config": "~16.5.15",
309
+ "tnp-core": "~16.5.23",
310
+ "tnp-db": "~16.5.12",
311
+ "tnp-helpers": "~16.5.15",
312
312
  "ts-debug": "1.3.0",
313
313
  "ts-loader": "2.3.1",
314
314
  "ts-node": "10.9.1",
@@ -317,16 +317,16 @@
317
317
  "turndown": "7.1.2",
318
318
  "typeorm": "~0.3.10",
319
319
  "typescript": "~5.0.2",
320
- "typescript-class-helpers": "~16.5.13",
320
+ "typescript-class-helpers": "~16.5.15",
321
321
  "typescript-formatter": "~7.2.2",
322
322
  "underscore": "1.9.1",
323
323
  "uuid": "8.3.2",
324
324
  "validator": "9.2.0",
325
325
  "video.js": "8.3.0",
326
- "vpn-split": "~16.5.13",
326
+ "vpn-split": "~16.5.14",
327
327
  "watch": "1.0.2",
328
328
  "yup": "1.1.1",
329
329
  "zone.js": "~0.13.0"
330
330
  },
331
- "lastBuildTagHash": "cdedfed602565043b6750f7f86d55d0b54ffbbe9"
331
+ "lastBuildTagHash": "e51e0cc653c808bde8f5e2fe20fe4939dd85f8ea"
332
332
  }
@@ -1,9 +1,13 @@
1
1
  export { ChildProcess } from 'child_process';
2
2
  import type { BaseProject } from './base-project';
3
- export declare class BaseProjectResolver<T> {
3
+ export declare class BaseProjectResolver<T extends Partial<BaseProject> = any> {
4
4
  protected classFn: any;
5
5
  protected readonly NPM_PROJECT_KEY = "npm";
6
- protected projects: (T & BaseProject)[];
6
+ protected projects: T[];
7
+ /**
8
+ * To speed up checking folder I am keeping pathes for alterdy checked folder
9
+ * This may break things that are creating new projects
10
+ */
7
11
  protected emptyLocations: string[];
8
12
  constructor(classFn: any);
9
13
  get allowedTypes(): string[];
@@ -19,5 +23,13 @@ export declare class BaseProjectResolver<T> {
19
23
  onlyOutSideNodeModules?: boolean;
20
24
  }): T;
21
25
  unload(project: T): void;
26
+ remove(project: T): void;
27
+ add(project: T): void;
22
28
  allProjectFrom(absoluteLocation: string, stopOnCwd?: string): T[];
29
+ /**
30
+ * Resolve child project when accessing from parent container etc...
31
+ * @param args string or string[] from cli args
32
+ * @param CurrentProject project from process.cwd()
33
+ */
34
+ resolveChildProject(args: string | string[]): T;
23
35
  }
@@ -7,6 +7,7 @@ var child_process_1 = require("child_process");
7
7
  Object.defineProperty(exports, "ChildProcess", { enumerable: true, get: function () { return child_process_1.ChildProcess; } });
8
8
  var tnp_cli_1 = require("tnp-cli");
9
9
  //#endregion
10
+ var index_1 = require("./index");
10
11
  var tnp_core_2 = require("tnp-core");
11
12
  var tnp_config_1 = require("tnp-config");
12
13
  var tnp_core_3 = require("tnp-core");
@@ -15,6 +16,10 @@ var BaseProjectResolver = /** @class */ (function () {
15
16
  this.classFn = classFn;
16
17
  this.NPM_PROJECT_KEY = 'npm';
17
18
  this.projects = [];
19
+ /**
20
+ * To speed up checking folder I am keeping pathes for alterdy checked folder
21
+ * This may break things that are creating new projects
22
+ */
18
23
  this.emptyLocations = [];
19
24
  }
20
25
  Object.defineProperty(BaseProjectResolver.prototype, "allowedTypes", {
@@ -32,7 +37,7 @@ var BaseProjectResolver = /** @class */ (function () {
32
37
  //#region @backendFunc
33
38
  var current = (this.classFn).From(process.cwd());
34
39
  if (!current) {
35
- tnp_core_1.Helpers.warn("[firedev-helpers] Current location is not a ".concat(tnp_cli_1.CLI.chalk.bold(tnp_config_1.config.frameworkName), " type project.\n\n location: \"").concat(process.cwd(), "\"\n\n }"));
40
+ index_1.Helpers.warn("[firedev-helpers] Current location is not a ".concat(tnp_cli_1.CLI.chalk.bold(tnp_config_1.config.frameworkName), " type project.\n\n location: \"").concat(process.cwd(), "\"\n\n }"));
36
41
  return void 0;
37
42
  }
38
43
  return current;
@@ -46,7 +51,7 @@ var BaseProjectResolver = /** @class */ (function () {
46
51
  */
47
52
  BaseProjectResolver.prototype.typeFrom = function (location) {
48
53
  //#region @backendFunc
49
- if (tnp_core_1.Helpers.exists((0, tnp_core_2.crossPlatformPath)([location, tnp_config_1.config.file.package_json]))) {
54
+ if (index_1.Helpers.exists((0, tnp_core_2.crossPlatformPath)([location, tnp_config_1.config.file.package_json]))) {
50
55
  return this.NPM_PROJECT_KEY;
51
56
  }
52
57
  // throw `Please override this function [typeFrom] in your child class or ${CLI.chalk.bold(config.frameworkName)}`;
@@ -62,7 +67,7 @@ var BaseProjectResolver = /** @class */ (function () {
62
67
  }
63
68
  var location = (0, tnp_core_2.crossPlatformPath)(locationOfProject.replace(/\/\//g, '/'));
64
69
  if (!tnp_core_3._.isString(location)) {
65
- tnp_core_1.Helpers.warn("[project.from] location is not a string");
70
+ index_1.Helpers.warn("[project.from] location is not a string");
66
71
  return;
67
72
  }
68
73
  if (tnp_core_2.path.basename(location) === 'dist') {
@@ -75,16 +80,14 @@ var BaseProjectResolver = /** @class */ (function () {
75
80
  }
76
81
  //#region @backend
77
82
  if (!tnp_core_1.fse.existsSync(location)) {
78
- tnp_core_1.Helpers.log("[firedev-helpers][project.from] Cannot find project in location: ".concat(location), 1);
83
+ index_1.Helpers.log("[firedev-helpers][project.from] Cannot find project in location: ".concat(location), 1);
79
84
  this.emptyLocations.push(location);
80
85
  return;
81
86
  }
82
87
  var type = this.typeFrom(location);
83
88
  if (type) {
84
89
  var resultProject = new (this.classFn)();
85
- var pj = tnp_core_1.Helpers.readJson((0, tnp_core_2.crossPlatformPath)([location, tnp_config_1.config.file.package_json]));
86
- // @ts-ignore
87
- resultProject.basename = tnp_core_2.path.basename(location);
90
+ var pj = index_1.Helpers.readJson((0, tnp_core_2.crossPlatformPath)([location, tnp_config_1.config.file.package_json]));
88
91
  // @ts-ignore
89
92
  resultProject.location = location;
90
93
  // @ts-ignore
@@ -103,7 +106,7 @@ var BaseProjectResolver = /** @class */ (function () {
103
106
  options = options || {};
104
107
  var type = options.type, findGitRoot = options.findGitRoot, onlyOutSideNodeModules = options.onlyOutSideNodeModules;
105
108
  if (tnp_core_3._.isString(type) && !this.allowedTypes.includes(type)) {
106
- tnp_core_1.Helpers.error("[firedev-helpers][project.nearestTo] wrong type: ".concat(type), false, true);
109
+ index_1.Helpers.error("[firedev-helpers][project.nearestTo] wrong type: ".concat(type), false, true);
107
110
  }
108
111
  if (tnp_core_1.fse.existsSync(absoluteLocation)) {
109
112
  absoluteLocation = tnp_core_1.fse.realpathSync(absoluteLocation);
@@ -161,6 +164,18 @@ var BaseProjectResolver = /** @class */ (function () {
161
164
  BaseProjectResolver.prototype.unload = function (project) {
162
165
  this.projects = this.projects.filter(function (f) { return f !== project; });
163
166
  };
167
+ BaseProjectResolver.prototype.remove = function (project) {
168
+ //#region @backend
169
+ var location = project.location;
170
+ this.projects = this.projects.filter(function (p) { return p.location !== location; });
171
+ index_1.Helpers.tryRemoveDir(location);
172
+ //#endregion
173
+ };
174
+ BaseProjectResolver.prototype.add = function (project) {
175
+ //#region @backend
176
+ this.projects.push(project);
177
+ //#endregion
178
+ };
164
179
  BaseProjectResolver.prototype.allProjectFrom = function (absoluteLocation, stopOnCwd) {
165
180
  if (stopOnCwd === void 0) { stopOnCwd = '/'; }
166
181
  //#region @backendFunc
@@ -187,6 +202,31 @@ var BaseProjectResolver = /** @class */ (function () {
187
202
  return projectsList;
188
203
  //#endregion
189
204
  };
205
+ /**
206
+ * Resolve child project when accessing from parent container etc...
207
+ * @param args string or string[] from cli args
208
+ * @param CurrentProject project from process.cwd()
209
+ */
210
+ BaseProjectResolver.prototype.resolveChildProject = function (args) {
211
+ //#region @backendFunc
212
+ var currentProject = this.Current;
213
+ if (!currentProject) {
214
+ return void 0;
215
+ }
216
+ if (tnp_core_3._.isString(args)) {
217
+ args = args.split(' ');
218
+ }
219
+ var firstArg = tnp_core_3._.first(args);
220
+ if (firstArg) {
221
+ firstArg = firstArg.replace(/\/$/, '');
222
+ var child = currentProject.children.find(function (c) { return c.name === firstArg; });
223
+ if (child) { // @ts-ignore
224
+ currentProject = child;
225
+ }
226
+ }
227
+ return currentProject;
228
+ //#endregion
229
+ };
190
230
  return BaseProjectResolver;
191
231
  }());
192
232
  exports.BaseProjectResolver = BaseProjectResolver;
@@ -1 +1 @@
1
- {"version":3,"file":"base-project-resolver.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-project-resolver.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
@@ -5,15 +5,17 @@ import { ProjectGit } from './git-project';
5
5
  import { CommandOutputOptions } from 'tnp-core';
6
6
  import { Models } from 'tnp-models';
7
7
  import { BaseProjectResolver } from './base-project-resolver';
8
- export declare class BaseProject<T = any> extends ProjectGit {
8
+ export declare abstract class BaseProject<T extends BaseProject = any> extends ProjectGit {
9
+ readonly location: string;
9
10
  static ins: BaseProjectResolver<BaseProject<any>>;
10
11
  static sortGroupOfProject<T extends BaseProject<any> = BaseProject<any>>(projects: T[], resoveDepsArray: (proj: T) => string[], projNameToCompare: (proj: T) => string): T[];
11
- readonly ins: BaseProjectResolver<T>;
12
+ cache: any;
13
+ constructor(location: string);
14
+ abstract readonly ins: BaseProjectResolver<T>;
12
15
  /**
13
- * it do not need to be realt path
16
+ * doesn't need to be real path -> can be link
14
17
  */
15
- readonly location: string;
16
- readonly basename: string;
18
+ get basename(): string;
17
19
  get name(): string;
18
20
  readonly type: string;
19
21
  get version(): string;
@@ -46,7 +48,13 @@ export declare class BaseProject<T = any> extends ProjectGit {
46
48
  * only available after executing *this.assignFreePort()*
47
49
  */
48
50
  readonly port: string;
51
+ /**
52
+ * alias to getAllChildren
53
+ */
54
+ get children(): T[];
55
+ child(nameOrBasename: string, errors?: boolean): T;
49
56
  get parent(): T;
57
+ get grandpa(): T;
50
58
  get genericName(): string;
51
59
  /**
52
60
  * try run but continue when it fails
@@ -55,6 +63,23 @@ export declare class BaseProject<T = any> extends ProjectGit {
55
63
  * @returns
56
64
  */
57
65
  tryRunSync(command: string, options?: Omit<RunOptions, 'cwd'>): void;
66
+ /**
67
+ * same has project.hasFile();
68
+ */
69
+ pathExists(relativePath: string | string[]): boolean;
70
+ /**
71
+ * same as project.pathExists();
72
+ */
73
+ hasFile(relativePath: string | string[]): boolean;
74
+ /**
75
+ * same as project.pathhasFileExists();
76
+ * but with path.resolve
77
+ */
78
+ containsFile(fileRelativeToProjectPath: string): boolean;
79
+ /**
80
+ * absolute path:
81
+ * concated project location with relative path
82
+ */
58
83
  pathFor(relativePath: string | string[]): string;
59
84
  writeJson(relativePath: string, json: object): void;
60
85
  run(command: string, options?: Omit<RunOptions, 'cwd'>): {
@@ -64,8 +89,15 @@ export declare class BaseProject<T = any> extends ProjectGit {
64
89
  unitlOutputContains(stdoutMsg: string | string[], stderMsg?: string | string[], timeout?: number): Promise<any>;
65
90
  };
66
91
  outputFrom(command: string, options?: CommandOutputOptions): string;
92
+ removeFile(fileRelativeToProjectPath: string): void;
67
93
  remove(relativePath: string, exactPath?: boolean): void;
68
94
  linkNodeModulesTo(proj: Partial<BaseProject>): void;
69
95
  reinstallNodeModules(forcerRemoveNodeModules?: boolean): void;
70
96
  assignFreePort(startFrom?: number, howManyFreePortsAfterThatPort?: number): Promise<number>;
97
+ filterOnlyCopy(basePathFoldersOnlyToInclude: string[]): (src: string, dest: string) => boolean;
98
+ removeItself(): void;
99
+ filterDontCopy(basePathFoldersTosSkip: string[]): (src: string, dest: string) => boolean;
100
+ defineProperty<T>(variableName: keyof T, classFn: Function): void;
101
+ protected getAllChildren(): T[];
102
+ protected getFoldersForPossibleProjectChildren(): string[];
71
103
  }
@@ -15,14 +15,23 @@ var tnp_config_1 = require("tnp-config");
15
15
  var tnp_core_3 = require("tnp-core");
16
16
  var helpers_1 = require("./helpers");
17
17
  var base_project_resolver_1 = require("./base-project-resolver");
18
+ var typescript_class_helpers_1 = require("typescript-class-helpers");
18
19
  var Helpers = helpers_1.HelpersFiredev.Instance;
19
20
  //#endregion
20
21
  var takenPorts = [];
21
22
  var BaseProject = exports.BaseProject = /** @class */ (function (_super) {
22
23
  tslib_1.__extends(BaseProject, _super);
23
- function BaseProject() {
24
- return _super !== null && _super.apply(this, arguments) || this;
24
+ // @ts-ignore
25
+ function BaseProject(location) {
26
+ var _this = this;
27
+ _this.location = location;
28
+ //#endregion
29
+ //#endregion
30
+ _this.cache = {};
31
+ return _this;
25
32
  }
33
+ //#endregion
34
+ //#region static / sort group of projects
26
35
  BaseProject.sortGroupOfProject = function (projects, resoveDepsArray, projNameToCompare) {
27
36
  var visited = {};
28
37
  var stack = {};
@@ -53,6 +62,18 @@ var BaseProject = exports.BaseProject = /** @class */ (function (_super) {
53
62
  return result;
54
63
  // return result.reverse(); // Reverse the result to get the correct order
55
64
  };
65
+ Object.defineProperty(BaseProject.prototype, "basename", {
66
+ /**
67
+ * doesn't need to be real path -> can be link
68
+ */
69
+ get: function () {
70
+ //#region @websqlFunc
71
+ return tnp_core_2.path.basename(this.location);
72
+ //#endregion
73
+ },
74
+ enumerable: false,
75
+ configurable: true
76
+ });
56
77
  Object.defineProperty(BaseProject.prototype, "name", {
57
78
  get: function () {
58
79
  var _a;
@@ -135,15 +156,53 @@ var BaseProject = exports.BaseProject = /** @class */ (function (_super) {
135
156
  enumerable: false,
136
157
  configurable: true
137
158
  });
159
+ Object.defineProperty(BaseProject.prototype, "children", {
160
+ /**
161
+ * alias to getAllChildren
162
+ */
163
+ get: function () {
164
+ //#region @websqlFunc
165
+ return this.getAllChildren();
166
+ //#endregion
167
+ },
168
+ enumerable: false,
169
+ configurable: true
170
+ });
171
+ BaseProject.prototype.child = function (nameOrBasename, errors) {
172
+ if (errors === void 0) { errors = true; }
173
+ //#region @websqlFunc
174
+ var c = this.children.find(function (c) { return c.name === nameOrBasename || c.basename === nameOrBasename; });
175
+ if (errors && !c) {
176
+ Helpers.warn("Project doesnt contain child with name or basename: ".concat(nameOrBasename));
177
+ }
178
+ return c;
179
+ //#endregion
180
+ };
138
181
  Object.defineProperty(BaseProject.prototype, "parent", {
139
182
  get: function () {
140
183
  //#region @websqlFunc
184
+ if (!tnp_core_3._.isString(this.location) || this.location.trim() === '') {
185
+ return void 0;
186
+ }
141
187
  return this.ins.From(tnp_core_2.path.join(this.location, '..'));
142
188
  //#endregion
143
189
  },
144
190
  enumerable: false,
145
191
  configurable: true
146
192
  });
193
+ Object.defineProperty(BaseProject.prototype, "grandpa", {
194
+ get: function () {
195
+ //#region @websqlFunc
196
+ if (!tnp_core_3._.isString(this.location) || this.location.trim() === '') {
197
+ return void 0;
198
+ }
199
+ var grandpa = this.ins.From(tnp_core_2.path.join(this.location, '..', '..'));
200
+ return grandpa;
201
+ //#endregion
202
+ },
203
+ enumerable: false,
204
+ configurable: true
205
+ });
147
206
  Object.defineProperty(BaseProject.prototype, "genericName", {
148
207
  get: function () {
149
208
  //#region @websqlFunc
@@ -183,6 +242,30 @@ var BaseProject = exports.BaseProject = /** @class */ (function (_super) {
183
242
  }
184
243
  //#endregion
185
244
  };
245
+ /**
246
+ * same has project.hasFile();
247
+ */
248
+ BaseProject.prototype.pathExists = function (relativePath) {
249
+ return this.hasFile(relativePath);
250
+ };
251
+ /**
252
+ * same as project.pathExists();
253
+ */
254
+ BaseProject.prototype.hasFile = function (relativePath) {
255
+ return Helpers.exists(this.pathFor(relativePath));
256
+ };
257
+ /**
258
+ * same as project.pathhasFileExists();
259
+ * but with path.resolve
260
+ */
261
+ BaseProject.prototype.containsFile = function (fileRelativeToProjectPath) {
262
+ var fullPath = tnp_core_2.path.resolve(tnp_core_2.path.join(this.location, fileRelativeToProjectPath));
263
+ return Helpers.exists(fullPath);
264
+ };
265
+ /**
266
+ * absolute path:
267
+ * concated project location with relative path
268
+ */
186
269
  BaseProject.prototype.pathFor = function (relativePath) {
187
270
  //#region @backendFunc
188
271
  if (Array.isArray(relativePath)) {
@@ -227,6 +310,12 @@ var BaseProject = exports.BaseProject = /** @class */ (function (_super) {
227
310
  return Helpers.commnadOutputAsString(command, this.location, options);
228
311
  //#endregion
229
312
  };
313
+ BaseProject.prototype.removeFile = function (fileRelativeToProjectPath) {
314
+ //#region @backendFunc
315
+ var fullPath = tnp_core_2.path.resolve(tnp_core_2.path.join(this.location, fileRelativeToProjectPath));
316
+ return Helpers.removeFileIfExists(fullPath);
317
+ //#endregion
318
+ };
230
319
  BaseProject.prototype.remove = function (relativePath, exactPath) {
231
320
  if (exactPath === void 0) { exactPath = true; }
232
321
  //#region @backendFunc
@@ -299,6 +388,92 @@ var BaseProject = exports.BaseProject = /** @class */ (function (_super) {
299
388
  });
300
389
  });
301
390
  };
391
+ BaseProject.prototype.filterOnlyCopy = function (basePathFoldersOnlyToInclude) {
392
+ //#region @backendFunc
393
+ var projectOrBasepath = this;
394
+ return Helpers.filterOnlyCopy(basePathFoldersOnlyToInclude, projectOrBasepath.location);
395
+ //#endregion
396
+ };
397
+ BaseProject.prototype.removeItself = function () {
398
+ //#region @backend
399
+ this.ins.remove(this);
400
+ //#endregion
401
+ };
402
+ BaseProject.prototype.filterDontCopy = function (basePathFoldersTosSkip) {
403
+ //#region @backendFunc
404
+ var projectOrBasepath = this;
405
+ return Helpers.filterDontCopy(basePathFoldersTosSkip, projectOrBasepath.location);
406
+ //#endregion
407
+ };
408
+ BaseProject.prototype.defineProperty = function (variableName, classFn) {
409
+ //#region @backendFunc
410
+ var that = this;
411
+ var className = typescript_class_helpers_1.CLASS.getName(classFn);
412
+ // @ts-ignore
413
+ var prefixedName = "__".concat(variableName);
414
+ Object.defineProperty(this, variableName, {
415
+ get: function () {
416
+ if (!that[prefixedName]) {
417
+ if (className === 'CopyManager') {
418
+ var CopyMangerClass = typescript_class_helpers_1.CLASS.getBy('CopyManager'); // TODO @LAST
419
+ that[prefixedName] = CopyMangerClass.for(this);
420
+ }
421
+ else {
422
+ if (typeof classFn === 'function') {
423
+ that[prefixedName] = new classFn(that);
424
+ }
425
+ else {
426
+ Helpers.warn("[firedev-helpers] Cannot create dynamic instance of class \"".concat(tnp_core_3._.kebabCase(prefixedName.replace('__', '')), "\"."));
427
+ }
428
+ }
429
+ }
430
+ return that[prefixedName];
431
+ },
432
+ set: function (v) {
433
+ that[prefixedName] = v;
434
+ },
435
+ });
436
+ //#endregion
437
+ };
438
+ //#region methods / get all childrens
439
+ BaseProject.prototype.getAllChildren = function () {
440
+ var _this = this;
441
+ //#region @backendFunc
442
+ var subdirectories = this.getFoldersForPossibleProjectChildren();
443
+ var res = subdirectories
444
+ .map(function (dir) {
445
+ // console.log('child:', dir)
446
+ return _this.ins.From(dir);
447
+ })
448
+ .filter(function (c) { return !!c; });
449
+ return res;
450
+ //#endregion
451
+ };
452
+ //#endregion
453
+ //#region methods / get folder for possible project chhildrens
454
+ BaseProject.prototype.getFoldersForPossibleProjectChildren = function () {
455
+ //#region @backendFunc
456
+ var isDirectory = function (source) { return tnp_core_1.fse.lstatSync(source).isDirectory(); };
457
+ var getDirectories = function (source) {
458
+ return tnp_core_1.fse.readdirSync(source).map(function (name) { return tnp_core_2.path.join(source, name); }).filter(isDirectory);
459
+ };
460
+ var subdirectories = getDirectories(this.location)
461
+ .filter(function (f) {
462
+ var folderName = tnp_core_2.path.basename(f);
463
+ return Helpers.checkIfNameAllowedForFiredevProj(folderName);
464
+ });
465
+ // if (this.isTnp' && fse.existsSync(path.join(this.location, '../firedev-projects'))) {
466
+ // subdirectories = subdirectories.concat(getDirectories(path.join(this.location, '../firedev-projects'))
467
+ // .filter(f => {
468
+ // const folderName = path.basename(f);
469
+ // return Helpers.checkIfNameAllowedForFiredevProj(folderName);
470
+ // }))
471
+ // }'
472
+ return subdirectories;
473
+ //#endregion
474
+ };
475
+ //#region static
476
+ //#region static / instance of resovle
302
477
  BaseProject.ins = new base_project_resolver_1.BaseProjectResolver(BaseProject);
303
478
  return BaseProject;
304
479
  }(git_project_1.ProjectGit