tnp-helpers 16.5.16 → 16.5.18
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.
- package/assets/shared/shared_folder_info.txt +1 -1
- package/browser/esm2022/lib/base/base-feature-for-project.mjs +8 -0
- package/browser/esm2022/lib/base/base-project-resolver.mjs +204 -0
- package/browser/esm2022/lib/base/base-project.mjs +1007 -0
- package/browser/esm2022/lib/base/commit-data.mjs +145 -0
- package/browser/esm2022/lib/base/index.mjs +11 -0
- package/browser/esm2022/lib/base/translate.mjs +42 -0
- package/browser/esm2022/lib/helpers.mjs +6 -3
- package/browser/esm2022/lib/index.mjs +2 -3
- package/browser/esm2022/lib/models.mjs +1 -1
- package/browser/fesm2022/tnp-helpers.mjs +860 -84
- package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
- package/browser/lib/base/base-feature-for-project.d.ts +6 -0
- package/{client/lib → browser/lib/base}/base-project-resolver.d.ts +4 -7
- package/browser/lib/base/base-project.d.ts +287 -0
- package/browser/lib/base/commit-data.d.ts +31 -0
- package/browser/lib/base/index.d.ts +5 -0
- package/browser/lib/base/translate.d.ts +2 -0
- package/browser/lib/index.d.ts +2 -3
- package/browser/lib/models.d.ts +1 -1
- package/client/esm2022/lib/base/base-feature-for-project.mjs +8 -0
- package/client/esm2022/lib/base/base-project-resolver.mjs +204 -0
- package/client/esm2022/lib/base/base-project.mjs +1007 -0
- package/client/esm2022/lib/base/commit-data.mjs +145 -0
- package/client/esm2022/lib/base/index.mjs +11 -0
- package/client/esm2022/lib/base/translate.mjs +42 -0
- package/client/esm2022/lib/helpers.mjs +6 -3
- package/client/esm2022/lib/index.mjs +2 -3
- package/client/esm2022/lib/models.mjs +1 -1
- package/client/fesm2022/tnp-helpers.mjs +860 -84
- package/client/fesm2022/tnp-helpers.mjs.map +1 -1
- package/client/lib/base/base-feature-for-project.d.ts +6 -0
- package/{browser/lib → client/lib/base}/base-project-resolver.d.ts +4 -7
- package/client/lib/base/base-project.d.ts +287 -0
- package/client/lib/base/commit-data.d.ts +31 -0
- package/client/lib/base/index.d.ts +5 -0
- package/client/lib/base/translate.d.ts +2 -0
- package/client/lib/index.d.ts +2 -3
- package/client/lib/models.d.ts +1 -1
- package/client/package.json +37 -34
- package/lib/base/base-command-line.backend.d.ts +79 -0
- package/lib/base/base-command-line.backend.js +674 -0
- package/lib/base/base-command-line.backend.js.map +1 -0
- package/lib/base/base-feature-for-project.d.ts +5 -0
- package/lib/base/base-feature-for-project.js +11 -0
- package/lib/base/base-feature-for-project.js.map +1 -0
- package/lib/{base-project-resolver.d.ts → base/base-project-resolver.d.ts} +4 -7
- package/lib/{base-project-resolver.js → base/base-project-resolver.js} +33 -28
- package/lib/base/base-project-resolver.js.map +1 -0
- package/lib/base/base-project.d.ts +297 -0
- package/lib/base/base-project.js +1451 -0
- package/lib/base/base-project.js.map +1 -0
- package/lib/base/base-start-config.backend.d.ts +35 -0
- package/lib/base/base-start-config.backend.js +126 -0
- package/lib/base/base-start-config.backend.js.map +1 -0
- package/lib/base/command-line-feature.backend.d.ts +32 -0
- package/lib/base/command-line-feature.backend.js +89 -0
- package/lib/base/command-line-feature.backend.js.map +1 -0
- package/lib/base/commit-data.d.ts +30 -0
- package/lib/base/commit-data.js +200 -0
- package/lib/base/commit-data.js.map +1 -0
- package/lib/base/index.d.ts +7 -0
- package/lib/base/index.js +13 -0
- package/lib/base/index.js.map +1 -0
- package/lib/base/translate.d.ts +1 -0
- package/lib/base/translate.js +80 -0
- package/lib/base/translate.js.map +1 -0
- package/lib/for-backend/helpers-cli-tool.backend.d.ts +42 -22
- package/lib/for-backend/helpers-cli-tool.backend.js +129 -180
- package/lib/for-backend/helpers-cli-tool.backend.js.map +1 -1
- package/lib/for-backend/helpers-file-folders.backend.d.ts +2 -8
- package/lib/for-backend/helpers-file-folders.backend.js +4 -14
- package/lib/for-backend/helpers-file-folders.backend.js.map +1 -1
- package/lib/for-backend/helpers-git.backend.d.ts +48 -12
- package/lib/for-backend/helpers-git.backend.js +227 -142
- package/lib/for-backend/helpers-git.backend.js.map +1 -1
- package/lib/for-backend/helpers-process.backend.d.ts +5 -11
- package/lib/for-backend/helpers-process.backend.js +77 -39
- package/lib/for-backend/helpers-process.backend.js.map +1 -1
- package/lib/for-backend/helpers-vscode.backend.d.ts +3 -3
- package/lib/for-backend/helpers-vscode.backend.js.map +1 -1
- package/lib/for-browser/angular.helper.js +3 -3
- package/lib/helpers.d.ts +2 -3
- package/lib/helpers.js +5 -2
- package/lib/helpers.js.map +1 -1
- package/lib/index.d.ts +2 -3
- package/lib/index.js +1 -2
- package/lib/index.js.map +1 -1
- package/lib/models.d.ts +1 -1
- package/lib/old/base-component.js +3 -3
- package/lib/old/base-formly-component.js +3 -3
- package/lib/old/dual-component-ctrl.js +3 -3
- package/package.json +8 -5
- package/package.json_tnp.json5 +4 -1
- package/tmp-environment.json +41 -45
- package/websql/esm2022/lib/base/base-feature-for-project.mjs +8 -0
- package/websql/esm2022/lib/base/base-project-resolver.mjs +203 -0
- package/websql/esm2022/lib/base/base-project.mjs +994 -0
- package/websql/esm2022/lib/base/commit-data.mjs +145 -0
- package/websql/esm2022/lib/base/index.mjs +11 -0
- package/websql/esm2022/lib/base/translate.mjs +42 -0
- package/websql/esm2022/lib/helpers.mjs +6 -3
- package/websql/esm2022/lib/index.mjs +2 -3
- package/websql/esm2022/lib/models.mjs +1 -1
- package/websql/fesm2022/tnp-helpers.mjs +861 -85
- package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
- package/websql/lib/base/base-feature-for-project.d.ts +6 -0
- package/websql/lib/{base-project-resolver.d.ts → base/base-project-resolver.d.ts} +4 -7
- package/websql/lib/base/base-project.d.ts +287 -0
- package/websql/lib/base/commit-data.d.ts +31 -0
- package/websql/lib/base/index.d.ts +5 -0
- package/websql/lib/base/translate.d.ts +2 -0
- package/websql/lib/index.d.ts +2 -3
- package/websql/lib/models.d.ts +1 -1
- package/browser/esm2022/lib/base-project-resolver.mjs +0 -223
- package/browser/esm2022/lib/base-project.mjs +0 -374
- package/browser/lib/base-project.d.ts +0 -94
- package/client/esm2022/lib/base-project-resolver.mjs +0 -223
- package/client/esm2022/lib/base-project.mjs +0 -374
- package/client/lib/base-project.d.ts +0 -94
- package/lib/base-project-resolver.js.map +0 -1
- package/lib/base-project.d.ts +0 -103
- package/lib/base-project.js +0 -482
- package/lib/base-project.js.map +0 -1
- package/lib/git-project.d.ts +0 -57
- package/lib/git-project.js +0 -224
- package/lib/git-project.js.map +0 -1
- package/websql/esm2022/lib/base-project-resolver.mjs +0 -222
- package/websql/esm2022/lib/base-project.mjs +0 -361
- package/websql/lib/base-project.d.ts +0 -94
|
@@ -1,374 +0,0 @@
|
|
|
1
|
-
/* */
|
|
2
|
-
/* */
|
|
3
|
-
/* */
|
|
4
|
-
/* */
|
|
5
|
-
/* */
|
|
6
|
-
import { path } from 'tnp-core/browser';
|
|
7
|
-
import { _ } from 'tnp-core/browser';
|
|
8
|
-
import { HelpersFiredev } from './helpers';
|
|
9
|
-
import { BaseProjectResolver } from './base-project-resolver';
|
|
10
|
-
const Helpers = HelpersFiredev.Instance;
|
|
11
|
-
const takenPorts = [];
|
|
12
|
-
class BaseProject {
|
|
13
|
-
static { this.ins = new BaseProjectResolver(BaseProject); }
|
|
14
|
-
static sortGroupOfProject(projects, resoveDepsArray, projNameToCompare) {
|
|
15
|
-
const visited = {};
|
|
16
|
-
const stack = {};
|
|
17
|
-
const result = [];
|
|
18
|
-
const visit = (project) => {
|
|
19
|
-
if (stack[projNameToCompare(project)]) {
|
|
20
|
-
Helpers.error(`Circular dependency detected involving project: ${projNameToCompare(project)}`);
|
|
21
|
-
}
|
|
22
|
-
if (!visited[projNameToCompare(project)]) {
|
|
23
|
-
visited[projNameToCompare(project)] = true;
|
|
24
|
-
stack[projNameToCompare(project)] = true;
|
|
25
|
-
const depsResolved = resoveDepsArray(project);
|
|
26
|
-
depsResolved.forEach(dependency => {
|
|
27
|
-
const dependentProject = projects.find(p => {
|
|
28
|
-
return projNameToCompare(p) === dependency;
|
|
29
|
-
});
|
|
30
|
-
if (dependentProject) {
|
|
31
|
-
visit(dependentProject);
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
stack[projNameToCompare(project)] = false;
|
|
35
|
-
result.push(project);
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
projects.forEach(project => visit(project));
|
|
39
|
-
return result;
|
|
40
|
-
}
|
|
41
|
-
// @ts-ignore
|
|
42
|
-
constructor(location) {
|
|
43
|
-
this.location = location;
|
|
44
|
-
this.cache = {};
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* doesn't need to be real path -> can be link
|
|
48
|
-
*/
|
|
49
|
-
get basename() {
|
|
50
|
-
/* */
|
|
51
|
-
/* */
|
|
52
|
-
return (void 0);
|
|
53
|
-
}
|
|
54
|
-
get name() {
|
|
55
|
-
return this.packageJSON?.name;
|
|
56
|
-
}
|
|
57
|
-
get version() {
|
|
58
|
-
return this.packageJSON?.version;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* npm dependencies
|
|
62
|
-
*/
|
|
63
|
-
get dependencies() {
|
|
64
|
-
return (this.packageJSON ? this.packageJSON.dependencies : {}) || {};
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* peerDependencies dependencies
|
|
68
|
-
*/
|
|
69
|
-
get peerDependencies() {
|
|
70
|
-
return (this.packageJSON ? this.packageJSON.peerDependencies : {}) || {};
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* devDependencies dependencies
|
|
74
|
-
*/
|
|
75
|
-
get devDependencies() {
|
|
76
|
-
return (this.packageJSON ? this.packageJSON.devDependencies : {}) || {};
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* resolutions dependencies
|
|
80
|
-
*/
|
|
81
|
-
get resolutions() {
|
|
82
|
-
return (this.packageJSON ? this.packageJSON['resolutions'] : {}) || {};
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* object with all deps from package json
|
|
86
|
-
*/
|
|
87
|
-
get allDependencies() {
|
|
88
|
-
return _.merge({
|
|
89
|
-
...this.devDependencies,
|
|
90
|
-
...this.peerDependencies,
|
|
91
|
-
...this.dependencies,
|
|
92
|
-
...this.resolutions
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
get tnp() {
|
|
96
|
-
return this.packageJSON?.tnp;
|
|
97
|
-
}
|
|
98
|
-
get firedev() {
|
|
99
|
-
return this.packageJSON?.firedev;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* alias to getAllChildren
|
|
103
|
-
*/
|
|
104
|
-
get children() {
|
|
105
|
-
/* */
|
|
106
|
-
/* */
|
|
107
|
-
return (void 0);
|
|
108
|
-
}
|
|
109
|
-
child(nameOrBasename, errors = true) {
|
|
110
|
-
/* */
|
|
111
|
-
/* */
|
|
112
|
-
/* */
|
|
113
|
-
/* */
|
|
114
|
-
/* */
|
|
115
|
-
/* */
|
|
116
|
-
return (void 0);
|
|
117
|
-
}
|
|
118
|
-
get parent() {
|
|
119
|
-
/* */
|
|
120
|
-
/* */
|
|
121
|
-
/* */
|
|
122
|
-
/* */
|
|
123
|
-
/* */
|
|
124
|
-
return (void 0);
|
|
125
|
-
}
|
|
126
|
-
get grandpa() {
|
|
127
|
-
/* */
|
|
128
|
-
/* */
|
|
129
|
-
/* */
|
|
130
|
-
/* */
|
|
131
|
-
/* */
|
|
132
|
-
/* */
|
|
133
|
-
return (void 0);
|
|
134
|
-
}
|
|
135
|
-
get genericName() {
|
|
136
|
-
/* */
|
|
137
|
-
/* */
|
|
138
|
-
/* */
|
|
139
|
-
/* */
|
|
140
|
-
/* */
|
|
141
|
-
/* */
|
|
142
|
-
/* */
|
|
143
|
-
/* */
|
|
144
|
-
/* */
|
|
145
|
-
/* */
|
|
146
|
-
/* */
|
|
147
|
-
/* */
|
|
148
|
-
return (void 0);
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* try run but continue when it fails
|
|
152
|
-
* @param command
|
|
153
|
-
* @param options
|
|
154
|
-
* @returns
|
|
155
|
-
*/
|
|
156
|
-
tryRunSync(command
|
|
157
|
-
/* */
|
|
158
|
-
/* */
|
|
159
|
-
) {
|
|
160
|
-
/* */
|
|
161
|
-
/* */
|
|
162
|
-
/* */
|
|
163
|
-
/* */
|
|
164
|
-
/* */
|
|
165
|
-
/* */
|
|
166
|
-
return (void 0);
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* same has project.hasFile();
|
|
170
|
-
*/
|
|
171
|
-
pathExists(relativePath) {
|
|
172
|
-
return this.hasFile(relativePath);
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* same as project.pathExists();
|
|
176
|
-
*/
|
|
177
|
-
hasFile(relativePath) {
|
|
178
|
-
return Helpers.exists(this.pathFor(relativePath));
|
|
179
|
-
}
|
|
180
|
-
/**
|
|
181
|
-
* same as project.pathhasFileExists();
|
|
182
|
-
* but with path.resolve
|
|
183
|
-
*/
|
|
184
|
-
containsFile(fileRelativeToProjectPath) {
|
|
185
|
-
const fullPath = path.resolve(path.join(this.location, fileRelativeToProjectPath));
|
|
186
|
-
return Helpers.exists(fullPath);
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* absolute path:
|
|
190
|
-
* concated project location with relative path
|
|
191
|
-
*/
|
|
192
|
-
pathFor(relativePath) {
|
|
193
|
-
/* */
|
|
194
|
-
/* */
|
|
195
|
-
/* */
|
|
196
|
-
/* */
|
|
197
|
-
/* */
|
|
198
|
-
/* */
|
|
199
|
-
/* */
|
|
200
|
-
/* */
|
|
201
|
-
return (void 0);
|
|
202
|
-
}
|
|
203
|
-
writeJson(relativePath, json) {
|
|
204
|
-
/* */
|
|
205
|
-
/* */
|
|
206
|
-
/* */
|
|
207
|
-
/* */
|
|
208
|
-
/* */
|
|
209
|
-
return (void 0);
|
|
210
|
-
}
|
|
211
|
-
run(command
|
|
212
|
-
/* */
|
|
213
|
-
/* */
|
|
214
|
-
) {
|
|
215
|
-
/* */
|
|
216
|
-
/* */
|
|
217
|
-
/* */
|
|
218
|
-
/* */
|
|
219
|
-
/* */
|
|
220
|
-
return (void 0);
|
|
221
|
-
}
|
|
222
|
-
outputFrom(command
|
|
223
|
-
/* */
|
|
224
|
-
/* */
|
|
225
|
-
) {
|
|
226
|
-
/* */
|
|
227
|
-
/* */
|
|
228
|
-
return (void 0);
|
|
229
|
-
}
|
|
230
|
-
removeFile(fileRelativeToProjectPath) {
|
|
231
|
-
/* */
|
|
232
|
-
/* */
|
|
233
|
-
/* */
|
|
234
|
-
return (void 0);
|
|
235
|
-
}
|
|
236
|
-
remove(relativePath, exactPath = true) {
|
|
237
|
-
/* */
|
|
238
|
-
/* */
|
|
239
|
-
return (void 0);
|
|
240
|
-
}
|
|
241
|
-
linkNodeModulesTo(proj) {
|
|
242
|
-
/* */
|
|
243
|
-
/* */
|
|
244
|
-
/* */
|
|
245
|
-
/* */
|
|
246
|
-
/* */
|
|
247
|
-
return (void 0);
|
|
248
|
-
}
|
|
249
|
-
reinstallNodeModules(forcerRemoveNodeModules = false) {
|
|
250
|
-
/* */
|
|
251
|
-
/* */
|
|
252
|
-
/* */
|
|
253
|
-
/* */
|
|
254
|
-
/* */
|
|
255
|
-
/* */
|
|
256
|
-
/* */
|
|
257
|
-
/* */
|
|
258
|
-
return (void 0);
|
|
259
|
-
}
|
|
260
|
-
async assignFreePort(startFrom = 4200, howManyFreePortsAfterThatPort = 0) {
|
|
261
|
-
/* */
|
|
262
|
-
/* */
|
|
263
|
-
/* */
|
|
264
|
-
/* */
|
|
265
|
-
/* */
|
|
266
|
-
/* */
|
|
267
|
-
/* */
|
|
268
|
-
/* */
|
|
269
|
-
/* */
|
|
270
|
-
/* */
|
|
271
|
-
/* */
|
|
272
|
-
/* */
|
|
273
|
-
/* */
|
|
274
|
-
/* */
|
|
275
|
-
/* */
|
|
276
|
-
/* */
|
|
277
|
-
/* */
|
|
278
|
-
/* */
|
|
279
|
-
/* */
|
|
280
|
-
/* */
|
|
281
|
-
/* */
|
|
282
|
-
/* */
|
|
283
|
-
/* */
|
|
284
|
-
/* */
|
|
285
|
-
/* */
|
|
286
|
-
/* */
|
|
287
|
-
return (void 0);
|
|
288
|
-
}
|
|
289
|
-
filterOnlyCopy(basePathFoldersOnlyToInclude) {
|
|
290
|
-
/* */
|
|
291
|
-
/* */
|
|
292
|
-
/* */
|
|
293
|
-
return (void 0);
|
|
294
|
-
}
|
|
295
|
-
removeItself() {
|
|
296
|
-
/* */
|
|
297
|
-
/* */
|
|
298
|
-
}
|
|
299
|
-
filterDontCopy(basePathFoldersTosSkip) {
|
|
300
|
-
/* */
|
|
301
|
-
/* */
|
|
302
|
-
/* */
|
|
303
|
-
return (void 0);
|
|
304
|
-
}
|
|
305
|
-
defineProperty(variableName, classFn) {
|
|
306
|
-
/* */
|
|
307
|
-
/* */
|
|
308
|
-
/* */
|
|
309
|
-
/* */
|
|
310
|
-
/* */
|
|
311
|
-
/* */
|
|
312
|
-
/* */
|
|
313
|
-
/* */
|
|
314
|
-
/* */
|
|
315
|
-
/* */
|
|
316
|
-
/* */
|
|
317
|
-
/* */
|
|
318
|
-
/* */
|
|
319
|
-
/* */
|
|
320
|
-
/* */
|
|
321
|
-
/* */
|
|
322
|
-
/* */
|
|
323
|
-
/* */
|
|
324
|
-
/* */
|
|
325
|
-
/* */
|
|
326
|
-
/* */
|
|
327
|
-
/* */
|
|
328
|
-
/* */
|
|
329
|
-
/* */
|
|
330
|
-
/* */
|
|
331
|
-
/* */
|
|
332
|
-
/* */
|
|
333
|
-
/* */
|
|
334
|
-
return (void 0);
|
|
335
|
-
}
|
|
336
|
-
getAllChildren() {
|
|
337
|
-
/* */
|
|
338
|
-
/* */
|
|
339
|
-
/* */
|
|
340
|
-
/* */
|
|
341
|
-
/* */
|
|
342
|
-
/* */
|
|
343
|
-
/* */
|
|
344
|
-
/* */
|
|
345
|
-
/* */
|
|
346
|
-
return (void 0);
|
|
347
|
-
}
|
|
348
|
-
getFoldersForPossibleProjectChildren() {
|
|
349
|
-
/* */
|
|
350
|
-
/* */
|
|
351
|
-
/* */
|
|
352
|
-
/* */
|
|
353
|
-
/* */
|
|
354
|
-
/* */
|
|
355
|
-
/* */
|
|
356
|
-
/* */
|
|
357
|
-
/* */
|
|
358
|
-
/* */
|
|
359
|
-
/* */
|
|
360
|
-
/* */
|
|
361
|
-
/* */
|
|
362
|
-
/* */
|
|
363
|
-
/* */
|
|
364
|
-
/* */
|
|
365
|
-
/* */
|
|
366
|
-
/* */
|
|
367
|
-
/* */
|
|
368
|
-
return (void 0);
|
|
369
|
-
}
|
|
370
|
-
}
|
|
371
|
-
export { BaseProject };
|
|
372
|
-
;
|
|
373
|
-
({}); // @--end-of-file-for-module=tnp-helpers lib/base-project.ts
|
|
374
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1wcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9iYXNlLXByb2plY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFHTCxPQUFPLEVBQUUsSUFBSSxFQUFxQixNQUFNLGtCQUFrQixDQUFDO0FBRTNELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRTNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSTlELE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUM7QUFHeEMsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO0FBR3RCLE1BQXNCLFdBQVc7YUFReEIsUUFBRyxHQUFHLElBQUksbUJBQW1CLENBQWMsV0FBVyxDQUFDLEFBQXBELENBQXFEO0lBSXhELE1BQU0sQ0FBQyxrQkFBa0IsQ0FBZ0QsUUFBYSxFQUFFLGVBQXNDLEVBQUUsaUJBQXNDO1FBRTNLLE1BQU0sT0FBTyxHQUErQixFQUFFLENBQUM7UUFDL0MsTUFBTSxLQUFLLEdBQStCLEVBQUUsQ0FBQztRQUM3QyxNQUFNLE1BQU0sR0FBUSxFQUFFLENBQUM7UUFFdkIsTUFBTSxLQUFLLEdBQUcsQ0FBQyxPQUFVLEVBQUUsRUFBRTtZQUMzQixJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFO2dCQUVyQyxPQUFPLENBQUMsS0FBSyxDQUFDLG1EQUFtRCxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDaEc7WUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixD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UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7O1NBamJtQixXQUFXO0FBdWJoQyxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDREQUE0RCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbmltcG9ydCB7IENMSSB9IGZyb20gJ3RucC1jbGkvYnJvd3Nlcic7XG5pbXBvcnQgeyBwYXRoLCBjcm9zc1BsYXRmb3JtUGF0aCB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAndG5wLWNvbmZpZy9icm93c2VyJztcbmltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB7IEhlbHBlcnNGaXJlZGV2IH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IE1vZGVscyB9IGZyb20gJ3RucC1tb2RlbHMvYnJvd3Nlcic7XG5pbXBvcnQgeyBCYXNlUHJvamVjdFJlc29sdmVyIH0gZnJvbSAnLi9iYXNlLXByb2plY3QtcmVzb2x2ZXInO1xuaW1wb3J0IHsgQ0xBU1MgfSBmcm9tICd0eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnMvYnJvd3Nlcic7XG5cblxuY29uc3QgSGVscGVycyA9IEhlbHBlcnNGaXJlZGV2Lkluc3RhbmNlO1xuXG5cbmNvbnN0IHRha2VuUG9ydHMgPSBbXTtcblxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVByb2plY3Q8VCBleHRlbmRzIEJhc2VQcm9qZWN0ID0gYW55PlxuLyogKi9cbi8qICovXG4gIFxue1xuXG5cblxuICBzdGF0aWMgaW5zID0gbmV3IEJhc2VQcm9qZWN0UmVzb2x2ZXI8QmFzZVByb2plY3Q+KEJhc2VQcm9qZWN0KTtcblxuXG5cbiAgcHVibGljIHN0YXRpYyBzb3J0R3JvdXBPZlByb2plY3Q8VCBleHRlbmRzIEJhc2VQcm9qZWN0PGFueT4gPSBCYXNlUHJvamVjdDxhbnk+Pihwcm9qZWN0czogVFtdLCByZXNvdmVEZXBzQXJyYXk6IChwcm9qOiBUKSA9PiBzdHJpbmdbXSwgcHJvak5hbWVUb0NvbXBhcmU6IChwcm9qOiBUKSA9PiBzdHJpbmcpOiBUW10ge1xuXG4gICAgY29uc3QgdmlzaXRlZDogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gPSB7fTtcbiAgICBjb25zdCBzdGFjazogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gPSB7fTtcbiAgICBjb25zdCByZXN1bHQ6IFRbXSA9IFtdO1xuXG4gICAgY29uc3QgdmlzaXQgPSAocHJvamVjdDogVCkgPT4ge1xuICAgICAgaWYgKHN0YWNrW3Byb2pOYW1lVG9Db21wYXJlKHByb2plY3QpXSkge1xuXG4gICAgICAgIEhlbHBlcnMuZXJyb3IoYENpcmN1bGFyIGRlcGVuZGVuY3kgZGV0ZWN0ZWQgaW52b2x2aW5nIHByb2plY3Q6ICR7cHJvak5hbWVUb0NvbXBhcmUocHJvamVjdCl9YCk7XG4gICAgICB9XG5cbiAgICAgIGlmICghdmlzaXRlZFtwcm9qTmFtZVRvQ29tcGFyZShwcm9qZWN0KV0pIHtcbiAgICAgICAgdmlzaXRlZFtwcm9qTmFtZVRvQ29tcGFyZShwcm9qZWN0KV0gPSB0cnVlO1xuICAgICAgICBzdGFja1twcm9qTmFtZVRvQ29tcGFyZShwcm9qZWN0KV0gPSB0cnVlO1xuXG4gICAgICAgIGNvbnN0IGRlcHNSZXNvbHZlZCA9IHJlc292ZURlcHNBcnJheShwcm9qZWN0KTtcbiAgICAgICAgZGVwc1Jlc29sdmVkLmZvckVhY2goZGVwZW5kZW5jeSA9PiB7XG4gICAgICAgICAgY29uc3QgZGVwZW5kZW50UHJvamVjdCA9IHByb2plY3RzLmZpbmQocCA9PiB7XG5cbiAgICAgICAgICAgIHJldHVybiBwcm9qTmFtZVRvQ29tcGFyZShwKSA9PT0gZGVwZW5kZW5jeTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBpZiAoZGVwZW5kZW50UHJvamVjdCkge1xuICAgICAgICAgICAgdmlzaXQoZGVwZW5kZW50UHJvamVjdCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICBzdGFja1twcm9qTmFtZVRvQ29tcGFyZShwcm9qZWN0KV0gPSBmYWxzZTtcbiAgICAgICAgcmVzdWx0LnB1c2gocHJvamVjdCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHByb2plY3RzLmZvckVhY2gocHJvamVjdCA9PiB2aXNpdChwcm9qZWN0KSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcblxuICB9XG5cblxuXG4gIHB1YmxpYyBjYWNoZTogYW55ID0ge307XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBsb2NhdGlvbjogc3RyaW5nKSB7IH1cbiAgYWJzdHJhY3QgcmVhZG9ubHkgaW5zOiBCYXNlUHJvamVjdFJlc29sdmVyPFQ+O1xuICAvKipcbiAgICogZG9lc24ndCBuZWVkIHRvIGJlIHJlYWwgcGF0aCAtPiBjYW4gYmUgbGlua1xuICAgKi9cblxuICBnZXQgYmFzZW5hbWUoKTogc3RyaW5nIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuICBnZXQgbmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wYWNrYWdlSlNPTj8ubmFtZTtcbiAgfVxuICByZWFkb25seSB0eXBlOiBzdHJpbmc7XG4gIGdldCB2ZXJzaW9uKCkge1xuICAgIHJldHVybiB0aGlzLnBhY2thZ2VKU09OPy52ZXJzaW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIG5wbSBkZXBlbmRlbmNpZXNcbiAgICovXG4gIGdldCBkZXBlbmRlbmNpZXMoKSB7XG4gICAgcmV0dXJuICh0aGlzLnBhY2thZ2VKU09OID8gdGhpcy5wYWNrYWdlSlNPTi5kZXBlbmRlbmNpZXMgOiB7fSkgfHwge307XG4gIH1cblxuICAvKipcbiAgICogcGVlckRlcGVuZGVuY2llcyBkZXBlbmRlbmNpZXNcbiAgICovXG4gIGdldCBwZWVyRGVwZW5kZW5jaWVzKCkge1xuICAgIHJldHVybiAodGhpcy5wYWNrYWdlSlNPTiA/IHRoaXMucGFja2FnZUpTT04ucGVlckRlcGVuZGVuY2llcyA6IHt9KSB8fCB7fTtcbiAgfVxuXG4gIC8qKlxuICAgKiBkZXZEZXBlbmRlbmNpZXMgZGVwZW5kZW5jaWVzXG4gICAqL1xuICBnZXQgZGV2RGVwZW5kZW5jaWVzKCkge1xuICAgIHJldHVybiAodGhpcy5wYWNrYWdlSlNPTiA/IHRoaXMucGFja2FnZUpTT04uZGV2RGVwZW5kZW5jaWVzIDoge30pIHx8IHt9O1xuICB9XG5cbiAgLyoqXG4gICAqIHJlc29sdXRpb25zIGRlcGVuZGVuY2llc1xuICAgKi9cbiAgZ2V0IHJlc29sdXRpb25zKCkge1xuICAgIHJldHVybiAodGhpcy5wYWNrYWdlSlNPTiA/IHRoaXMucGFja2FnZUpTT05bJ3Jlc29sdXRpb25zJ10gOiB7fSkgfHwge307XG4gIH1cblxuICAvKipcbiAgICogIG9iamVjdCB3aXRoIGFsbCBkZXBzIGZyb20gcGFja2FnZSBqc29uXG4gICAqL1xuICBnZXQgYWxsRGVwZW5kZW5jaWVzKCk6IHsgW3BhY2thZ2VOYW1lOiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgcmV0dXJuIF8ubWVyZ2Uoe1xuICAgICAgLi4udGhpcy5kZXZEZXBlbmRlbmNpZXMsXG4gICAgICAuLi50aGlzLnBlZXJEZXBlbmRlbmNpZXMsXG4gICAgICAuLi50aGlzLmRlcGVuZGVuY2llcyxcbiAgICAgIC4uLnRoaXMucmVzb2x1dGlvbnNcbiAgICB9KSBhcyBhbnk7XG4gIH1cblxuICBnZXQgdG5wKCkge1xuICAgIHJldHVybiB0aGlzLnBhY2thZ2VKU09OPy50bnA7XG4gIH1cblxuICBnZXQgZmlyZWRldigpIHtcbiAgICByZXR1cm4gdGhpcy5wYWNrYWdlSlNPTj8uZmlyZWRldjtcbiAgfVxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcGFja2FnZUpTT046IE1vZGVscy5ucG0uSVBhY2thZ2VKU09OO1xuXG4gIC8qKlxuICAgKiBvbmx5IGF2YWlsYWJsZSBhZnRlciBleGVjdXRpbmcgKnRoaXMuYXNzaWduRnJlZVBvcnQoKSpcbiAgICovXG4gIHJlYWRvbmx5IHBvcnQ6IHN0cmluZztcblxuICAvKipcbiAgICogYWxpYXMgdG8gZ2V0QWxsQ2hpbGRyZW5cbiAgICovXG4gIGdldCBjaGlsZHJlbigpOiBUW10ge1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuICBjaGlsZChuYW1lT3JCYXNlbmFtZTogc3RyaW5nLCBlcnJvcnMgPSB0cnVlKTogVCB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuICBnZXQgcGFyZW50KCk6IFQge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuICBnZXQgZ3JhbmRwYSgpOiBUIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICBnZXQgZ2VuZXJpY05hbWUoKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbiAgLyoqXG4gICAqIHRyeSBydW4gYnV0IGNvbnRpbnVlIHdoZW4gaXQgZmFpbHNcbiAgICogQHBhcmFtIGNvbW1hbmRcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnNcbiAgICovXG4gIHRyeVJ1blN5bmMoY29tbWFuZDogc3RyaW5nXG4vKiAqL1xuLyogKi9cbiAgXG4gICk6IHZvaWQge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG4gIC8qKlxuICAqIHNhbWUgaGFzIHByb2plY3QuaGFzRmlsZSgpO1xuICAqL1xuICBwYXRoRXhpc3RzKHJlbGF0aXZlUGF0aDogc3RyaW5nIHwgc3RyaW5nW10pOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5oYXNGaWxlKHJlbGF0aXZlUGF0aCk7XG4gIH1cblxuICAvKipcbiAgICogc2FtZSBhcyBwcm9qZWN0LnBhdGhFeGlzdHMoKTtcbiAgICovXG4gIGhhc0ZpbGUocmVsYXRpdmVQYXRoOiBzdHJpbmcgfCBzdHJpbmdbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBIZWxwZXJzLmV4aXN0cyh0aGlzLnBhdGhGb3IocmVsYXRpdmVQYXRoKSk7XG4gIH1cblxuICAvKipcbiAgICogc2FtZSBhcyBwcm9qZWN0LnBhdGhoYXNGaWxlRXhpc3RzKCk7XG4gICAqIGJ1dCB3aXRoIHBhdGgucmVzb2x2ZVxuICAgKi9cbiAgY29udGFpbnNGaWxlKGZpbGVSZWxhdGl2ZVRvUHJvamVjdFBhdGg6IHN0cmluZykge1xuICAgIGNvbnN0IGZ1bGxQYXRoID0gcGF0aC5yZXNvbHZlKHBhdGguam9pbih0aGlzLmxvY2F0aW9uLCBmaWxlUmVsYXRpdmVUb1Byb2plY3RQYXRoKSk7XG4gICAgcmV0dXJuIEhlbHBlcnMuZXhpc3RzKGZ1bGxQYXRoKTtcbiAgfVxuXG5cbiAgLyoqXG4gICAqIGFic29sdXRlIHBhdGg6XG4gICAqIGNvbmNhdGVkIHByb2plY3QgbG9jYXRpb24gd2l0aCByZWxhdGl2ZSBwYXRoXG4gICAqL1xuICBwYXRoRm9yKHJlbGF0aXZlUGF0aDogc3RyaW5nIHwgc3RyaW5nW10pIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG4gIHdyaXRlSnNvbihyZWxhdGl2ZVBhdGg6IHN0cmluZywganNvbjogb2JqZWN0KSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG4gIHJ1bihjb21tYW5kOiBzdHJpbmdcbi8qICovXG4vKiAqL1xuICBcbiAgKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICBvdXRwdXRGcm9tKGNvbW1hbmQ6IHN0cmluZ1xuLyogKi9cbi8qICovXG4gIFxuICApIHtcbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG4gIHJlbW92ZUZpbGUoZmlsZVJlbGF0aXZlVG9Qcm9qZWN0UGF0aDogc3RyaW5nKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbiAgcmVtb3ZlKHJlbGF0aXZlUGF0aDogc3RyaW5nLCBleGFjdFBhdGggPSB0cnVlKSB7XG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICBsaW5rTm9kZU1vZHVsZXNUbyhwcm9qOiBQYXJ0aWFsPEJhc2VQcm9qZWN0Pikge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cbiAgcmVpbnN0YWxsTm9kZU1vZHVsZXMoZm9yY2VyUmVtb3ZlTm9kZU1vZHVsZXMgPSBmYWxzZSkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuICBhc3luYyBhc3NpZ25GcmVlUG9ydChzdGFydEZyb206IG51bWJlciA9IDQyMDAsIGhvd01hbnlGcmVlUG9ydHNBZnRlclRoYXRQb3J0OiBudW1iZXIgPSAwKTogUHJvbWlzZTxudW1iZXI+IHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cbiAgZmlsdGVyT25seUNvcHkoYmFzZVBhdGhGb2xkZXJzT25seVRvSW5jbHVkZTogc3RyaW5nW10pIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuICByZW1vdmVJdHNlbGYoKSB7XG4vKiAqL1xuLyogKi9cbiAgXG4gIH1cblxuICBmaWx0ZXJEb250Q29weShiYXNlUGF0aEZvbGRlcnNUb3NTa2lwOiBzdHJpbmdbXSkge1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG4gIGRlZmluZVByb3BlcnR5PFQ+KHZhcmlhYmxlTmFtZToga2V5b2YgVCwgY2xhc3NGbjogRnVuY3Rpb24pIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuICBwcm90ZWN0ZWQgZ2V0QWxsQ2hpbGRyZW4oKSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG5cbiAgcHJvdGVjdGVkIGdldEZvbGRlcnNGb3JQb3NzaWJsZVByb2plY3RDaGlsZHJlbigpOiBzdHJpbmdbXSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cbn1cblxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UtcHJvamVjdC50cyJdfQ==
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
import { Models } from 'tnp-models/browser';
|
|
3
|
-
import { BaseProjectResolver } from './base-project-resolver';
|
|
4
|
-
export declare abstract class BaseProject<T extends BaseProject = any> {
|
|
5
|
-
readonly location: string;
|
|
6
|
-
static ins: BaseProjectResolver<BaseProject<any>>;
|
|
7
|
-
static sortGroupOfProject<T extends BaseProject<any> = BaseProject<any>>(projects: T[], resoveDepsArray: (proj: T) => string[], projNameToCompare: (proj: T) => string): T[];
|
|
8
|
-
cache: any;
|
|
9
|
-
constructor(location: string);
|
|
10
|
-
abstract readonly ins: BaseProjectResolver<T>;
|
|
11
|
-
/**
|
|
12
|
-
* doesn't need to be real path -> can be link
|
|
13
|
-
*/
|
|
14
|
-
get basename(): string;
|
|
15
|
-
get name(): string;
|
|
16
|
-
readonly type: string;
|
|
17
|
-
get version(): string;
|
|
18
|
-
/**
|
|
19
|
-
* npm dependencies
|
|
20
|
-
*/
|
|
21
|
-
get dependencies(): Models.npm.DependenciesFromPackageJsonStyle;
|
|
22
|
-
/**
|
|
23
|
-
* peerDependencies dependencies
|
|
24
|
-
*/
|
|
25
|
-
get peerDependencies(): Models.npm.DependenciesFromPackageJsonStyle;
|
|
26
|
-
/**
|
|
27
|
-
* devDependencies dependencies
|
|
28
|
-
*/
|
|
29
|
-
get devDependencies(): Models.npm.DependenciesFromPackageJsonStyle;
|
|
30
|
-
/**
|
|
31
|
-
* resolutions dependencies
|
|
32
|
-
*/
|
|
33
|
-
get resolutions(): any;
|
|
34
|
-
/**
|
|
35
|
-
* object with all deps from package json
|
|
36
|
-
*/
|
|
37
|
-
get allDependencies(): {
|
|
38
|
-
[packageName: string]: string;
|
|
39
|
-
};
|
|
40
|
-
get tnp(): Models.npm.TnpData & Models.npm.TnpIPackageJSONOverride;
|
|
41
|
-
get firedev(): Models.npm.TnpData & Models.npm.TnpIPackageJSONOverride;
|
|
42
|
-
protected readonly packageJSON: Models.npm.IPackageJSON;
|
|
43
|
-
/**
|
|
44
|
-
* only available after executing *this.assignFreePort()*
|
|
45
|
-
*/
|
|
46
|
-
readonly port: string;
|
|
47
|
-
/**
|
|
48
|
-
* alias to getAllChildren
|
|
49
|
-
*/
|
|
50
|
-
get children(): T[];
|
|
51
|
-
child(nameOrBasename: string, errors?: boolean): T;
|
|
52
|
-
get parent(): T;
|
|
53
|
-
get grandpa(): T;
|
|
54
|
-
get genericName(): any;
|
|
55
|
-
/**
|
|
56
|
-
* try run but continue when it fails
|
|
57
|
-
* @param command
|
|
58
|
-
* @param options
|
|
59
|
-
* @returns
|
|
60
|
-
*/
|
|
61
|
-
tryRunSync(command: string): void;
|
|
62
|
-
/**
|
|
63
|
-
* same has project.hasFile();
|
|
64
|
-
*/
|
|
65
|
-
pathExists(relativePath: string | string[]): boolean;
|
|
66
|
-
/**
|
|
67
|
-
* same as project.pathExists();
|
|
68
|
-
*/
|
|
69
|
-
hasFile(relativePath: string | string[]): boolean;
|
|
70
|
-
/**
|
|
71
|
-
* same as project.pathhasFileExists();
|
|
72
|
-
* but with path.resolve
|
|
73
|
-
*/
|
|
74
|
-
containsFile(fileRelativeToProjectPath: string): any;
|
|
75
|
-
/**
|
|
76
|
-
* absolute path:
|
|
77
|
-
* concated project location with relative path
|
|
78
|
-
*/
|
|
79
|
-
pathFor(relativePath: string | string[]): any;
|
|
80
|
-
writeJson(relativePath: string, json: object): any;
|
|
81
|
-
run(command: string): any;
|
|
82
|
-
outputFrom(command: string): any;
|
|
83
|
-
removeFile(fileRelativeToProjectPath: string): any;
|
|
84
|
-
remove(relativePath: string, exactPath?: boolean): any;
|
|
85
|
-
linkNodeModulesTo(proj: Partial<BaseProject>): any;
|
|
86
|
-
reinstallNodeModules(forcerRemoveNodeModules?: boolean): any;
|
|
87
|
-
assignFreePort(startFrom?: number, howManyFreePortsAfterThatPort?: number): Promise<number>;
|
|
88
|
-
filterOnlyCopy(basePathFoldersOnlyToInclude: string[]): any;
|
|
89
|
-
removeItself(): void;
|
|
90
|
-
filterDontCopy(basePathFoldersTosSkip: string[]): any;
|
|
91
|
-
defineProperty<T>(variableName: keyof T, classFn: Function): any;
|
|
92
|
-
protected getAllChildren(): any;
|
|
93
|
-
protected getFoldersForPossibleProjectChildren(): string[];
|
|
94
|
-
}
|