tnp-helpers 16.444.18 → 16.444.20
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/README.md +24 -24
- package/browser/esm2022/lib/base/base-git.mjs +34 -4
- package/browser/esm2022/lib/base/base-library-build.mjs +39 -27
- package/browser/esm2022/lib/base/base-linked-projects.mjs +15 -4
- package/browser/esm2022/lib/base/base-npm-helpers.mjs +16 -6
- package/browser/esm2022/lib/base/base-project-resolver.mjs +10 -1
- package/browser/esm2022/lib/base/base-project.mjs +67 -9
- package/browser/esm2022/lib/base/base-vscode.mjs +66 -0
- package/browser/esm2022/lib/base/core-project.mjs +1 -1
- package/browser/esm2022/lib/base/linked-project.mjs +2 -7
- package/browser/esm2022/lib/models.mjs +1 -1
- package/browser/fesm2022/tnp-helpers.mjs +175 -51
- package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
- package/browser/lib/base/base-git.d.ts +11 -0
- package/browser/lib/base/base-library-build.d.ts +31 -6
- package/browser/lib/base/base-npm-helpers.d.ts +0 -1
- package/browser/lib/base/base-project-resolver.d.ts +9 -8
- package/browser/lib/base/base-project.d.ts +9 -4
- package/browser/lib/base/base-vscode.d.ts +6 -0
- package/browser/lib/base/core-project.d.ts +14 -3
- package/browser/lib/models.d.ts +1 -5
- package/client/README.md +24 -24
- package/client/esm2022/lib/base/base-git.mjs +34 -4
- package/client/esm2022/lib/base/base-library-build.mjs +39 -27
- package/client/esm2022/lib/base/base-linked-projects.mjs +15 -4
- package/client/esm2022/lib/base/base-npm-helpers.mjs +16 -6
- package/client/esm2022/lib/base/base-project-resolver.mjs +10 -1
- package/client/esm2022/lib/base/base-project.mjs +67 -9
- package/client/esm2022/lib/base/base-vscode.mjs +66 -0
- package/client/esm2022/lib/base/core-project.mjs +1 -1
- package/client/esm2022/lib/base/linked-project.mjs +2 -7
- package/client/esm2022/lib/models.mjs +1 -1
- package/client/fesm2022/tnp-helpers.mjs +175 -51
- package/client/fesm2022/tnp-helpers.mjs.map +1 -1
- package/client/lib/base/base-git.d.ts +11 -0
- package/client/lib/base/base-library-build.d.ts +31 -6
- package/client/lib/base/base-npm-helpers.d.ts +0 -1
- package/client/lib/base/base-project-resolver.d.ts +9 -8
- package/client/lib/base/base-project.d.ts +9 -4
- package/client/lib/base/base-vscode.d.ts +6 -0
- package/client/lib/base/core-project.d.ts +14 -3
- package/client/lib/models.d.ts +1 -5
- package/client/package.json +25 -25
- package/firedev.jsonc +61 -61
- package/lib/base/base-command-line.backend.d.ts +7 -1
- package/lib/base/base-command-line.backend.js +83 -7
- package/lib/base/base-command-line.backend.js.map +1 -1
- package/lib/base/base-git.d.ts +11 -0
- package/lib/base/base-git.js +92 -56
- package/lib/base/base-git.js.map +1 -1
- package/lib/base/base-library-build.d.ts +39 -8
- package/lib/base/base-library-build.js +256 -231
- package/lib/base/base-library-build.js.map +1 -1
- package/lib/base/base-linked-projects.js +14 -4
- package/lib/base/base-linked-projects.js.map +1 -1
- package/lib/base/base-npm-helpers.d.ts +0 -1
- package/lib/base/base-npm-helpers.js +15 -8
- package/lib/base/base-npm-helpers.js.map +1 -1
- package/lib/base/base-project-resolver.d.ts +10 -9
- package/lib/base/base-project-resolver.js +11 -1
- package/lib/base/base-project-resolver.js.map +1 -1
- package/lib/base/base-project.d.ts +10 -5
- package/lib/base/base-project.js +84 -22
- package/lib/base/base-project.js.map +1 -1
- package/lib/base/base-vscode.d.ts +5 -0
- package/lib/base/base-vscode.js +79 -0
- package/lib/base/base-vscode.js.map +1 -0
- package/lib/base/command-line-feature.backend.d.ts +6 -1
- package/lib/base/command-line-feature.backend.js +67 -1
- package/lib/base/command-line-feature.backend.js.map +1 -1
- package/lib/base/core-project.d.ts +14 -3
- package/lib/base/core-project.js.map +1 -1
- package/lib/base/linked-project.js +8 -10
- package/lib/base/linked-project.js.map +1 -1
- package/lib/helpers/for-backend/helpers-file-folders.backend.d.ts +16 -8
- package/lib/helpers/for-backend/helpers-file-folders.backend.js +156 -65
- package/lib/helpers/for-backend/helpers-file-folders.backend.js.map +1 -1
- package/lib/helpers/for-backend/helpers-git.backend.d.ts +2 -0
- package/lib/helpers/for-backend/helpers-git.backend.js +72 -0
- package/lib/helpers/for-backend/helpers-git.backend.js.map +1 -1
- package/lib/helpers/for-backend/helpers-process.backend.js +3 -1
- package/lib/helpers/for-backend/helpers-process.backend.js.map +1 -1
- package/lib/helpers/for-browser/angular.helper.js +3 -3
- package/lib/models.d.ts +1 -5
- 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 +4 -4
- package/tmp-environment.json +30 -30
- package/websql/README.md +24 -24
- package/websql/esm2022/lib/base/base-git.mjs +34 -4
- package/websql/esm2022/lib/base/base-library-build.mjs +39 -27
- package/websql/esm2022/lib/base/base-linked-projects.mjs +15 -4
- package/websql/esm2022/lib/base/base-npm-helpers.mjs +16 -6
- package/websql/esm2022/lib/base/base-project-resolver.mjs +10 -1
- package/websql/esm2022/lib/base/base-project.mjs +76 -18
- package/websql/esm2022/lib/base/base-vscode.mjs +66 -0
- package/websql/esm2022/lib/base/core-project.mjs +1 -1
- package/websql/esm2022/lib/base/linked-project.mjs +2 -7
- package/websql/esm2022/lib/models.mjs +1 -1
- package/websql/fesm2022/tnp-helpers.mjs +183 -59
- package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
- package/websql/lib/base/base-git.d.ts +11 -0
- package/websql/lib/base/base-library-build.d.ts +31 -6
- package/websql/lib/base/base-npm-helpers.d.ts +0 -1
- package/websql/lib/base/base-project-resolver.d.ts +9 -8
- package/websql/lib/base/base-project.d.ts +10 -8
- package/websql/lib/base/base-vscode.d.ts +6 -0
- package/websql/lib/base/core-project.d.ts +14 -3
- package/websql/lib/models.d.ts +1 -5
|
@@ -41,7 +41,6 @@ export class LinkedProject {
|
|
|
41
41
|
/* */
|
|
42
42
|
/* */
|
|
43
43
|
/* */
|
|
44
|
-
/* */
|
|
45
44
|
return (void 0);
|
|
46
45
|
}
|
|
47
46
|
/**
|
|
@@ -60,19 +59,15 @@ export class LinkedProject {
|
|
|
60
59
|
export class LinkedPorjectsConfig {
|
|
61
60
|
static from(options) {
|
|
62
61
|
options = options || {};
|
|
63
|
-
options.projects = (options.projects || [])
|
|
64
|
-
.map(linkedProjOrname => {
|
|
62
|
+
options.projects = (options.projects || []).map(linkedProjOrname => {
|
|
65
63
|
if (_.isString(linkedProjOrname)) {
|
|
66
64
|
return LinkedProject.fromName(linkedProjOrname);
|
|
67
65
|
}
|
|
68
66
|
return LinkedProject.from(linkedProjOrname);
|
|
69
|
-
})
|
|
70
|
-
.sort((a, b) => {
|
|
71
|
-
return (a.relativeClonePath || '').localeCompare((b.relativeClonePath || ''));
|
|
72
67
|
});
|
|
73
68
|
return _.merge(new LinkedPorjectsConfig(), _.cloneDeep(options));
|
|
74
69
|
}
|
|
75
70
|
}
|
|
76
71
|
;
|
|
77
72
|
({}); // @--end-of-file-for-module=tnp-helpers lib/base/linked-project.ts
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLXByb2plY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Jhc2UvbGlua2VkLXByb2plY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLENBQUMsRUFBcUIsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHOUQsTUFBTSxPQUFPLGFBQWE7SUFJeEIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUErQjtRQUN6QyxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUN4QixJQUFLLGFBQXFCLEVBQUUsRUFDNUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FDSixDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLEVBQUU7WUFDakMsVUFBVSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQzFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUMzQyxDQUFDO1NBQ0g7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRTtZQUM3QixVQUFVLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQztTQUNyQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFJRCxNQUFNLENBQUMsUUFBUSxDQUNiLFdBQW1CLEVBQ25CLGdCQUF5QixFQUN6QixhQUFzQjtRQUV0QixPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUM7WUFDeEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE9BQU8sQ0FDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUMvQixHQUFHLFdBQVcsTUFBTSxDQUNyQjtZQUNELGFBQWEsRUFBRSxhQUFhO1lBQzVCLGlCQUFpQixFQUFFLFdBQVc7U0FDL0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUlELE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBc0IsRUFBRSxTQUFTLEdBQUcsS0FBSztRQUN6RCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFzQkQ7O09BRUc7SUFDSSxTQUFTO1FBQ2QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUNyQjtRQUNELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7U0FDekI7UUFDRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztDQUlGO0FBRUQsTUFBTSxPQUFPLG9CQUFvQjtJQUkvQixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQXNDO1FBQ2hELE9BQU8sR0FBRyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ3hCLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO1lBQ2pFLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO2dCQUNoQyxPQUFPLGFBQWEsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzthQUNqRDtZQUNELE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO1FBSUgsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUssb0JBQTRCLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDNUUsQ0FBQztDQVFGO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxtRUFBbUUiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgXywgY3Jvc3NQbGF0Zm9ybVBhdGgsIHBhdGggfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICcuLi9pbmRleCc7XG5cbmV4cG9ydCBjbGFzcyBMaW5rZWRQcm9qZWN0IHtcblxuXG5cbiAgc3RhdGljIGZyb20ob3B0aW9uczogUGFydGlhbDxMaW5rZWRQcm9qZWN0Pikge1xuICAgIGNvbnN0IGxpbmtlZFByb2ogPSBfLm1lcmdlKFxuICAgICAgbmV3IChMaW5rZWRQcm9qZWN0IGFzIGFueSkoKSxcbiAgICAgIF8uY2xvbmVEZWVwKG9wdGlvbnMpLFxuICAgICkgYXMgTGlua2VkUHJvamVjdDtcbiAgICBpZiAoIWxpbmtlZFByb2oucmVsYXRpdmVDbG9uZVBhdGgpIHtcbiAgICAgIGxpbmtlZFByb2oucmVsYXRpdmVDbG9uZVBhdGggPSBwYXRoLmJhc2VuYW1lKFxuICAgICAgICBsaW5rZWRQcm9qLnJlbW90ZVVybCgpLnJlcGxhY2UoJy5naXQnLCAnJyksXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoIWxpbmtlZFByb2ouZGVhZnVsdEJyYW5jaCkge1xuICAgICAgbGlua2VkUHJvai5kZWFmdWx0QnJhbmNoID0gJ21hc3Rlcic7XG4gICAgfVxuICAgIHJldHVybiBsaW5rZWRQcm9qO1xuICB9XG5cblxuXG4gIHN0YXRpYyBmcm9tTmFtZShcbiAgICBwcm9qZWN0TmFtZTogc3RyaW5nLFxuICAgIGN1cnJlbnRSZW1vdGVVcmw/OiBzdHJpbmcsXG4gICAgY3VycmVudEJyYW5jaD86IHN0cmluZyxcbiAgKSB7XG4gICAgcmV0dXJuIExpbmtlZFByb2plY3QuZnJvbSh7XG4gICAgICByZXBvVXJsOiBjdXJyZW50UmVtb3RlVXJsPy5yZXBsYWNlKFxuICAgICAgICBwYXRoLmJhc2VuYW1lKGN1cnJlbnRSZW1vdGVVcmwpLFxuICAgICAgICBgJHtwcm9qZWN0TmFtZX0uZ2l0YCxcbiAgICAgICksXG4gICAgICBkZWFmdWx0QnJhbmNoOiBjdXJyZW50QnJhbmNoLFxuICAgICAgcmVsYXRpdmVDbG9uZVBhdGg6IHByb2plY3ROYW1lLFxuICAgIH0pO1xuICB9XG5cblxuXG4gIHN0YXRpYyBkZXRlY3QoaW5zaWRlTG9jYXRpb246IHN0cmluZywgcmVjdXJzaXZlID0gZmFsc2UpOiBMaW5rZWRQcm9qZWN0W10ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gICAgcmV0dXJuICh2b2lkIDApO1xuICB9XG5cblxuXG5cbiAgLyoqXG4gICAqIHNvbWV0aW1lIHRoZXJlIGlzIHByb2plY3QgdGhhdCBoYXMgb25lIHByb2plY3RcbiAgICogZW1iZWRlIGluc2lkZSBhbm90aGVyIHByb2plY3RcbiAgICovXG4gIGludGVybmFsUmVhbHRpdmVQcm9qZWN0UGF0aD86IHN0cmluZztcbiAgLyoqXG4gICAqIGRvbid0IGFjY2VzcyBkaXJlY3RseSwgdXNlIHJlbW90ZVVybCgpIGluc3RlYWRcbiAgICovXG4gIHJlcG9VcmxTc2g/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBkb24ndCBhY2Nlc3MgZGlyZWN0bHksIHVzZSByZW1vdGVVcmwoKSBpbnN0ZWFkXG4gICAqL1xuICByZXBvVXJsSHR0cD86IHN0cmluZztcbiAgLyoqXG4gICAqIGRvbid0IGFjY2VzcyBkaXJlY3RseSwgdXNlIHJlbW90ZVVybCgpIGluc3RlYWRcbiAgICovXG4gIHJlcG9Vcmw/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiB1cmwgZm9yIGdpdCByZXBvXG4gICAqL1xuICBwdWJsaWMgcmVtb3RlVXJsKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMucmVwb1VybCkge1xuICAgICAgcmV0dXJuIHRoaXMucmVwb1VybDtcbiAgICB9XG4gICAgaWYgKHRoaXMucmVwb1VybEh0dHApIHtcbiAgICAgIHJldHVybiB0aGlzLnJlcG9VcmxIdHRwO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5yZXBvVXJsU3NoO1xuICB9XG4gIGRlYWZ1bHRCcmFuY2g/OiBzdHJpbmc7XG4gIHB1cnBvc2U/OiBzdHJpbmc7XG4gIHJlbGF0aXZlQ2xvbmVQYXRoPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgTGlua2VkUG9yamVjdHNDb25maWcge1xuXG5cblxuICBzdGF0aWMgZnJvbShvcHRpb25zOiBQYXJ0aWFsPExpbmtlZFBvcmplY3RzQ29uZmlnPikge1xuICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICAgIG9wdGlvbnMucHJvamVjdHMgPSAob3B0aW9ucy5wcm9qZWN0cyB8fCBbXSkubWFwKGxpbmtlZFByb2pPcm5hbWUgPT4ge1xuICAgICAgaWYgKF8uaXNTdHJpbmcobGlua2VkUHJvak9ybmFtZSkpIHtcbiAgICAgICAgcmV0dXJuIExpbmtlZFByb2plY3QuZnJvbU5hbWUobGlua2VkUHJvak9ybmFtZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gTGlua2VkUHJvamVjdC5mcm9tKGxpbmtlZFByb2pPcm5hbWUpO1xuICAgIH0pO1xuXG5cblxuICAgIHJldHVybiBfLm1lcmdlKG5ldyAoTGlua2VkUG9yamVjdHNDb25maWcgYXMgYW55KSgpLCBfLmNsb25lRGVlcChvcHRpb25zKSk7XG4gIH1cblxuXG5cbiAgcHJlZml4Pzogc3RyaW5nO1xuICBza2lwUmVjcnVzaXZlUHVzaD86IGJvb2xlYW47XG4gIHJlc2V0T25seUNoaWxkcmVuPzogYm9vbGVhbjtcbiAgcHJvamVjdHM6IExpbmtlZFByb2plY3RbXTtcbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9iYXNlL2xpbmtlZC1wcm9qZWN0LnRzIl19
|
|
@@ -2,4 +2,4 @@ import * as core from 'tnp-core/browser';
|
|
|
2
2
|
export const BaseProjectTypeArr = core.CoreModels.BaseProjectTypeArr;
|
|
3
3
|
;
|
|
4
4
|
({}); // @--end-of-file-for-module=tnp-helpers lib/models.ts
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxLQUFLLElBQUksTUFBTSxrQkFBa0IsQ0FBQztBQUd6QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDO0FBNkJwRSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHNEQUFzRCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgKiBhcyBjb3JlIGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuXG5leHBvcnQgdHlwZSBCYXNlUHJvamVjdFR5cGUgPSBjb3JlLkNvcmVNb2RlbHMuQmFzZVByb2plY3RUeXBlO1xuZXhwb3J0IGNvbnN0IEJhc2VQcm9qZWN0VHlwZUFyciA9IGNvcmUuQ29yZU1vZGVscy5CYXNlUHJvamVjdFR5cGVBcnI7XG5cbi8qKlxuICogQW5ndWxhciBwcm9qZWN0IHR5cGVcbiAqL1xuZXhwb3J0IHR5cGUgTmdQcm9qZWN0ID0ge1xuICBwcm9qZWN0VHlwZTogJ2xpYnJhcnknIHwgJ2FwcGxpY2F0aW9uJztcbiAgLyoqXG4gICAqIHdoZXJlIG5nLXBhY2thZ3IuanNvbiBpcyBsb2NhdGVkLCB0c2NvbmZpZyBldGMuXG4gICAqL1xuICByb290OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTb3VyY2UgY29kZSBwcm9qZWN0XG4gICAqL1xuICBzb3VyY2VSb290OiBzdHJpbmc7XG4gIHByZWZpeDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgTGlicmFyeUJ1aWxkQ29tbWFuZE9wdGlvbnMgPSB7XG4gIHdhdGNoPzogYm9vbGVhbjtcbiAgYnVpbGRUeXBlOiBjb3JlLkNvcmVNb2RlbHMuTGlicmFyeVR5cGU7XG59O1xuXG5leHBvcnQgdHlwZSBMaWJyYXJpZXNCdWlsZE9wdGlvbnMgPSB7XG4gIHN0cmF0ZWd5PzogJ2xpbmsnIHwgJ2NvcHknO1xuICBidWlsZFR5cGU6IGNvcmUuQ29yZU1vZGVscy5MaWJyYXJ5VHlwZTtcbiAgY29weWxpbmtfdG9fbm9kZV9tb2R1bGVzPzogc3RyaW5nW107XG59O1xuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL21vZGVscy50cyJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as core from 'tnp-core/browser';
|
|
2
|
-
import { _, CoreHelpers,
|
|
2
|
+
import { _, CoreHelpers, crossPlatformPath, path } from 'tnp-core/browser';
|
|
3
3
|
import { Subject } from 'rxjs';
|
|
4
4
|
import * as fuzzy from 'fuzzy';
|
|
5
5
|
import { CLASS } from 'typescript-class-helpers/browser';
|
|
@@ -1302,6 +1302,15 @@ class BaseProjectResolver {
|
|
|
1302
1302
|
/* */
|
|
1303
1303
|
/* */
|
|
1304
1304
|
/* */
|
|
1305
|
+
/* */
|
|
1306
|
+
/* */
|
|
1307
|
+
/* */
|
|
1308
|
+
/* */
|
|
1309
|
+
/* */
|
|
1310
|
+
/* */
|
|
1311
|
+
return (void 0);
|
|
1312
|
+
}
|
|
1313
|
+
allProjectsFromFolder(folderLocation) {
|
|
1305
1314
|
/* */
|
|
1306
1315
|
/* */
|
|
1307
1316
|
/* */
|
|
@@ -1353,12 +1362,27 @@ class BaseProject {
|
|
|
1353
1362
|
get globalCache() {
|
|
1354
1363
|
return BaseProject.cache;
|
|
1355
1364
|
}
|
|
1365
|
+
get location() {
|
|
1366
|
+
return this.__location;
|
|
1367
|
+
}
|
|
1368
|
+
set location(v) {
|
|
1369
|
+
this.__location = crossPlatformPath(v);
|
|
1370
|
+
}
|
|
1356
1371
|
// @ts-ignore
|
|
1357
1372
|
constructor(
|
|
1358
1373
|
/**
|
|
1359
1374
|
* doesn't need to be real path -> can be link
|
|
1360
1375
|
*/
|
|
1361
1376
|
location) {
|
|
1377
|
+
this.cache = {};
|
|
1378
|
+
this.type = 'unknow';
|
|
1379
|
+
this.toString = () => {
|
|
1380
|
+
return `${this.name}=>${this.location}`;
|
|
1381
|
+
};
|
|
1382
|
+
this.location = location;
|
|
1383
|
+
/* */
|
|
1384
|
+
/* */
|
|
1385
|
+
/* */
|
|
1362
1386
|
/* */
|
|
1363
1387
|
/* */
|
|
1364
1388
|
/* */
|
|
@@ -1372,12 +1396,6 @@ class BaseProject {
|
|
|
1372
1396
|
/* */
|
|
1373
1397
|
/* */
|
|
1374
1398
|
/* */
|
|
1375
|
-
this.location = location;
|
|
1376
|
-
this.cache = {};
|
|
1377
|
-
this.type = 'unknow';
|
|
1378
|
-
this.toString = () => {
|
|
1379
|
-
return `${this.name}=>${this.location}`;
|
|
1380
|
-
};
|
|
1381
1399
|
}
|
|
1382
1400
|
get isMonorepo() {
|
|
1383
1401
|
return false;
|
|
@@ -1557,8 +1575,28 @@ class BaseProject {
|
|
|
1557
1575
|
/* */
|
|
1558
1576
|
/* */
|
|
1559
1577
|
/* */
|
|
1578
|
+
/* */
|
|
1579
|
+
/* */
|
|
1580
|
+
/* */
|
|
1581
|
+
/* */
|
|
1582
|
+
/* */
|
|
1583
|
+
/* */
|
|
1584
|
+
/* */
|
|
1585
|
+
/* */
|
|
1560
1586
|
return (void 0);
|
|
1561
1587
|
}
|
|
1588
|
+
checkAndBoldenPath(fullPath) {
|
|
1589
|
+
const parts = fullPath.split('/');
|
|
1590
|
+
const result = parts.map((part, index) => {
|
|
1591
|
+
const pathTocheck = parts.slice(0, index + 1).join('/');
|
|
1592
|
+
/* */
|
|
1593
|
+
/* */
|
|
1594
|
+
/* */
|
|
1595
|
+
/* */
|
|
1596
|
+
return part;
|
|
1597
|
+
});
|
|
1598
|
+
return result.join('/');
|
|
1599
|
+
}
|
|
1562
1600
|
/**
|
|
1563
1601
|
* same has project.hasFile();
|
|
1564
1602
|
*/
|
|
@@ -1662,6 +1700,7 @@ class BaseProject {
|
|
|
1662
1700
|
/* */
|
|
1663
1701
|
/* */
|
|
1664
1702
|
/* */
|
|
1703
|
+
/* */
|
|
1665
1704
|
return (void 0);
|
|
1666
1705
|
}
|
|
1667
1706
|
/**
|
|
@@ -1870,6 +1909,29 @@ class BaseProject {
|
|
|
1870
1909
|
/* */
|
|
1871
1910
|
/* */
|
|
1872
1911
|
}
|
|
1912
|
+
setValueToJSON(relativePath, lodashGetPath, value) {
|
|
1913
|
+
/* */
|
|
1914
|
+
/* */
|
|
1915
|
+
return (void 0);
|
|
1916
|
+
}
|
|
1917
|
+
getValueFromJSON(relativePath, lodashGetPath, defaultValue = void 0) {
|
|
1918
|
+
/* */
|
|
1919
|
+
/* */
|
|
1920
|
+
/* */
|
|
1921
|
+
/* */
|
|
1922
|
+
/* */
|
|
1923
|
+
/* */
|
|
1924
|
+
return (void 0);
|
|
1925
|
+
}
|
|
1926
|
+
getValueFromJSONC(relativePath, lodashGetPath, defaultValue = void 0) {
|
|
1927
|
+
/* */
|
|
1928
|
+
/* */
|
|
1929
|
+
/* */
|
|
1930
|
+
/* */
|
|
1931
|
+
/* */
|
|
1932
|
+
/* */
|
|
1933
|
+
return (void 0);
|
|
1934
|
+
}
|
|
1873
1935
|
writeFile(relativePath, content) {
|
|
1874
1936
|
/* */
|
|
1875
1937
|
/* */
|
|
@@ -1972,7 +2034,12 @@ ${proj?.children.map(c => '+' + c.genericName).join('\n')}
|
|
|
1972
2034
|
linked porject prefix: "${this.linkedProjects.linkedProjectsPrefix}"
|
|
1973
2035
|
|
|
1974
2036
|
linked projects from json (${this.linkedProjects.linkedProjects?.length || 0}):
|
|
1975
|
-
${(this.linkedProjects.linkedProjects || [])
|
|
2037
|
+
${(this.linkedProjects.linkedProjects || [])
|
|
2038
|
+
.map(c => {
|
|
2039
|
+
const proj = this.ins.From(this.pathFor(c.relativeClonePath));
|
|
2040
|
+
return '- ' + proj ? proj.genericName : c.relativeClonePath;
|
|
2041
|
+
})
|
|
2042
|
+
.join('\n')}
|
|
1976
2043
|
|
|
1977
2044
|
`);
|
|
1978
2045
|
}
|
|
@@ -1999,13 +2066,21 @@ class BaseLibraryBuild extends BaseFeatureForProject {
|
|
|
1999
2066
|
super(...arguments);
|
|
2000
2067
|
this.cache = {};
|
|
2001
2068
|
}
|
|
2002
|
-
|
|
2003
|
-
|
|
2004
|
-
|
|
2005
|
-
|
|
2006
|
-
|
|
2007
|
-
|
|
2008
|
-
|
|
2069
|
+
sortByDeps(libraries) {
|
|
2070
|
+
return libraries;
|
|
2071
|
+
}
|
|
2072
|
+
/**
|
|
2073
|
+
* Use cases:
|
|
2074
|
+
* 1. build all libraries in normal mode
|
|
2075
|
+
* 2. build all libraries in watch mode
|
|
2076
|
+
* 3. build selected libraries in normal mode
|
|
2077
|
+
* (with first time all libraries will be build)
|
|
2078
|
+
* 4. build selected libraries in watch mode
|
|
2079
|
+
* (use normal build for not selected libraries)
|
|
2080
|
+
* 5. build selected libraries in watch mode
|
|
2081
|
+
* (skip normal build for not selected libraries)
|
|
2082
|
+
*/
|
|
2083
|
+
async selectAndSaveLibraries({ libs: selectedLibs, watch, watchBuildSupported, }) {
|
|
2009
2084
|
/* */
|
|
2010
2085
|
/* */
|
|
2011
2086
|
/* */
|
|
@@ -2041,9 +2116,6 @@ class BaseLibraryBuild extends BaseFeatureForProject {
|
|
|
2041
2116
|
/* */
|
|
2042
2117
|
/* */
|
|
2043
2118
|
/* */
|
|
2044
|
-
return (void 0);
|
|
2045
|
-
}
|
|
2046
|
-
async getSortedLibrariesByDepsForBuild(libs, dontSugestBuildAll = false) {
|
|
2047
2119
|
/* */
|
|
2048
2120
|
/* */
|
|
2049
2121
|
/* */
|
|
@@ -2087,6 +2159,12 @@ class BaseLibraryBuild extends BaseFeatureForProject {
|
|
|
2087
2159
|
/* */
|
|
2088
2160
|
/* */
|
|
2089
2161
|
/* */
|
|
2162
|
+
return (void 0);
|
|
2163
|
+
}
|
|
2164
|
+
/**
|
|
2165
|
+
* angular libraries from angular.json
|
|
2166
|
+
*/
|
|
2167
|
+
get libraries() {
|
|
2090
2168
|
/* */
|
|
2091
2169
|
/* */
|
|
2092
2170
|
/* */
|
|
@@ -2104,15 +2182,12 @@ class BaseLibraryBuild extends BaseFeatureForProject {
|
|
|
2104
2182
|
/* */
|
|
2105
2183
|
/* */
|
|
2106
2184
|
/* */
|
|
2185
|
+
return (void 0);
|
|
2186
|
+
}
|
|
2187
|
+
async selectLibraries({ watch, watchBuildSupported, }) {
|
|
2107
2188
|
/* */
|
|
2108
2189
|
/* */
|
|
2109
2190
|
/* */
|
|
2110
|
-
return (void 0);
|
|
2111
|
-
}
|
|
2112
|
-
/**
|
|
2113
|
-
* angular libraries from angular.json
|
|
2114
|
-
*/
|
|
2115
|
-
get libraries() {
|
|
2116
2191
|
/* */
|
|
2117
2192
|
/* */
|
|
2118
2193
|
/* */
|
|
@@ -2133,6 +2208,12 @@ class BaseLibraryBuild extends BaseFeatureForProject {
|
|
|
2133
2208
|
/* */
|
|
2134
2209
|
/* */
|
|
2135
2210
|
/* */
|
|
2211
|
+
return (void 0);
|
|
2212
|
+
}
|
|
2213
|
+
/**
|
|
2214
|
+
* Angular library build
|
|
2215
|
+
*/
|
|
2216
|
+
async buildLibraries({ watch = false, strategy, buildType, copylink_to_node_modules, } = {}) {
|
|
2136
2217
|
/* */
|
|
2137
2218
|
/* */
|
|
2138
2219
|
/* */
|
|
@@ -2149,9 +2230,6 @@ class BaseLibraryBuild extends BaseFeatureForProject {
|
|
|
2149
2230
|
/* */
|
|
2150
2231
|
/* */
|
|
2151
2232
|
/* */
|
|
2152
|
-
return (void 0);
|
|
2153
|
-
}
|
|
2154
|
-
async selectLibraries({ onlySelectedLibs }) {
|
|
2155
2233
|
/* */
|
|
2156
2234
|
/* */
|
|
2157
2235
|
/* */
|
|
@@ -2175,9 +2253,6 @@ class BaseLibraryBuild extends BaseFeatureForProject {
|
|
|
2175
2253
|
/* */
|
|
2176
2254
|
/* */
|
|
2177
2255
|
/* */
|
|
2178
|
-
return (void 0);
|
|
2179
|
-
}
|
|
2180
|
-
async buildLibraries({ rebuild = false, watch = false, strategy, onlySelectedLibs, buildType, } = {}) {
|
|
2181
2256
|
/* */
|
|
2182
2257
|
/* */
|
|
2183
2258
|
/* */
|
|
@@ -2313,6 +2388,8 @@ class BaseLibraryBuild extends BaseFeatureForProject {
|
|
|
2313
2388
|
/* */
|
|
2314
2389
|
/* */
|
|
2315
2390
|
/* */
|
|
2391
|
+
}
|
|
2392
|
+
getLibraryBuildComamnd(options) {
|
|
2316
2393
|
/* */
|
|
2317
2394
|
/* */
|
|
2318
2395
|
/* */
|
|
@@ -2327,6 +2404,9 @@ class BaseLibraryBuild extends BaseFeatureForProject {
|
|
|
2327
2404
|
/* */
|
|
2328
2405
|
/* */
|
|
2329
2406
|
/* */
|
|
2407
|
+
return (void 0);
|
|
2408
|
+
}
|
|
2409
|
+
get getLibraryBuildSuccessComamnd() {
|
|
2330
2410
|
/* */
|
|
2331
2411
|
/* */
|
|
2332
2412
|
/* */
|
|
@@ -2336,8 +2416,10 @@ class BaseLibraryBuild extends BaseFeatureForProject {
|
|
|
2336
2416
|
/* */
|
|
2337
2417
|
/* */
|
|
2338
2418
|
/* */
|
|
2419
|
+
return (void 0);
|
|
2339
2420
|
}
|
|
2340
|
-
|
|
2421
|
+
async selectCopytoProjects() {
|
|
2422
|
+
/* */
|
|
2341
2423
|
/* */
|
|
2342
2424
|
/* */
|
|
2343
2425
|
/* */
|
|
@@ -2352,9 +2434,6 @@ class BaseLibraryBuild extends BaseFeatureForProject {
|
|
|
2352
2434
|
/* */
|
|
2353
2435
|
/* */
|
|
2354
2436
|
/* */
|
|
2355
|
-
return (void 0);
|
|
2356
|
-
}
|
|
2357
|
-
get getLibraryBuildSuccessComamnd() {
|
|
2358
2437
|
/* */
|
|
2359
2438
|
/* */
|
|
2360
2439
|
/* */
|
|
@@ -2531,6 +2610,12 @@ class BaseNpmHelpers extends BaseFeatureForProject {
|
|
|
2531
2610
|
/* */
|
|
2532
2611
|
/* */
|
|
2533
2612
|
/* */
|
|
2613
|
+
/* */
|
|
2614
|
+
/* */
|
|
2615
|
+
/* */
|
|
2616
|
+
/* */
|
|
2617
|
+
/* */
|
|
2618
|
+
/* */
|
|
2534
2619
|
return (void 0);
|
|
2535
2620
|
}
|
|
2536
2621
|
reinstalNodeModules(options) {
|
|
@@ -2645,12 +2730,15 @@ class BaseNpmHelpers extends BaseFeatureForProject {
|
|
|
2645
2730
|
.map(k => `--${k} ${additionalArguments[k]}`)
|
|
2646
2731
|
.join(' ');
|
|
2647
2732
|
}
|
|
2648
|
-
|
|
2733
|
+
const command = `npm run ${taskName} ${additionalArguments ? ' -- ' + additionalArguments : ''}`;
|
|
2734
|
+
Helpers.info(`Starting npm task: "${command}"`);
|
|
2735
|
+
return this.project.run(command, { output: true, biggerBuffer: true });
|
|
2649
2736
|
}
|
|
2650
2737
|
async prepareCommand(optiosn) {
|
|
2651
|
-
|
|
2738
|
+
let { pkg, remove, silent, useYarn, force, removeYarnOrPackageJsonLock, generateYarnOrPackageJsonLock, ignoreOptional, } = optiosn || {};
|
|
2739
|
+
force = true; // TODO QUICK_FIX
|
|
2652
2740
|
let command = '';
|
|
2653
|
-
const commonOptions = `--ignore-engines
|
|
2741
|
+
const commonOptions = `--ignore-engines`;
|
|
2654
2742
|
if (useYarn) {
|
|
2655
2743
|
const argsForFasterInstall = `${force ? '--force' : ''} ${commonOptions} `;
|
|
2656
2744
|
command =
|
|
@@ -2658,13 +2746,13 @@ class BaseNpmHelpers extends BaseFeatureForProject {
|
|
|
2658
2746
|
? `rm ${config.file.yarn_lock} ` +
|
|
2659
2747
|
`&& touch ${config.file.yarn_lock} && `
|
|
2660
2748
|
: ''}` +
|
|
2661
|
-
`yarn ${remove ? 'remove' : 'add'} ${pkg ? pkg.name : ''} ` +
|
|
2749
|
+
`yarn ${pkg ? (remove ? 'remove' : 'add') : 'install'} ${pkg ? pkg.name : ''} ` +
|
|
2662
2750
|
` ${generateYarnOrPackageJsonLock ? '' : '--no-lockfile'} ` +
|
|
2663
2751
|
` ${argsForFasterInstall} ` +
|
|
2664
2752
|
` ${pkg && pkg.installType && pkg.installType === '--save-dev' ? '-dev' : ''} `;
|
|
2665
2753
|
}
|
|
2666
2754
|
else {
|
|
2667
|
-
const argsForFasterInstall = `${force ? '--force' : ''} ${commonOptions} ` +
|
|
2755
|
+
const argsForFasterInstall = `${force ? '--force' : ''} ${commonOptions} --no-audit ` +
|
|
2668
2756
|
`${silent ? '--silent --no-progress' : ''} `;
|
|
2669
2757
|
command =
|
|
2670
2758
|
`${removeYarnOrPackageJsonLock
|
|
@@ -2698,9 +2786,18 @@ class BaseLinkedProjects extends BaseFeatureForProject {
|
|
|
2698
2786
|
return this.cache[cacheKey];
|
|
2699
2787
|
}
|
|
2700
2788
|
const nearsetProj = this.project.ins.nearestTo(crossPlatformPath([this.project.location, '..']));
|
|
2701
|
-
const linkedPorj = nearsetProj?.linkedProjects?.find(l => {
|
|
2702
|
-
|
|
2703
|
-
|
|
2789
|
+
const linkedPorj = nearsetProj?.linkedProjects?.linkedProjects.find(l => {
|
|
2790
|
+
const copareTo = crossPlatformPath([
|
|
2791
|
+
nearsetProj.location,
|
|
2792
|
+
l.relativeClonePath,
|
|
2793
|
+
]);
|
|
2794
|
+
if (this.project.location === copareTo) {
|
|
2795
|
+
return true;
|
|
2796
|
+
}
|
|
2797
|
+
if (l.remoteUrl() === this.project.git.originURL) {
|
|
2798
|
+
return true;
|
|
2799
|
+
}
|
|
2800
|
+
return false;
|
|
2704
2801
|
});
|
|
2705
2802
|
if (!linkedPorj || !linkedPorj.internalRealtiveProjectPath) {
|
|
2706
2803
|
return;
|
|
@@ -2965,6 +3062,8 @@ class BaseLinkedProjects extends BaseFeatureForProject {
|
|
|
2965
3062
|
/* */
|
|
2966
3063
|
/* */
|
|
2967
3064
|
/* */
|
|
3065
|
+
/* */
|
|
3066
|
+
/* */
|
|
2968
3067
|
return (void 0);
|
|
2969
3068
|
}
|
|
2970
3069
|
}
|
|
@@ -3314,6 +3413,33 @@ class BaseGit extends BaseFeatureForProject {
|
|
|
3314
3413
|
/* */
|
|
3315
3414
|
return (void 0);
|
|
3316
3415
|
}
|
|
3416
|
+
/**
|
|
3417
|
+
* This is only for push/pull process
|
|
3418
|
+
*
|
|
3419
|
+
* There are 2 types of projects:
|
|
3420
|
+
* - with linked-projects.json
|
|
3421
|
+
* - with children from external folder
|
|
3422
|
+
*
|
|
3423
|
+
* projects that are children of this project (with its own git repo)
|
|
3424
|
+
*/
|
|
3425
|
+
get gitChildren() {
|
|
3426
|
+
let childrenRepos = [];
|
|
3427
|
+
if (this.project.linkedProjects.linkedProjects.length > 0) {
|
|
3428
|
+
childrenRepos = this.project.linkedProjects.linkedProjects
|
|
3429
|
+
.map(c => {
|
|
3430
|
+
return this.project.ins.From([
|
|
3431
|
+
this.project.location,
|
|
3432
|
+
c.relativeClonePath,
|
|
3433
|
+
]);
|
|
3434
|
+
})
|
|
3435
|
+
.filter(f => !!f);
|
|
3436
|
+
}
|
|
3437
|
+
else {
|
|
3438
|
+
childrenRepos = this.project.children;
|
|
3439
|
+
}
|
|
3440
|
+
childrenRepos = childrenRepos.filter(f => f.git.isInsideGitRepo && f.git.isGitRoot);
|
|
3441
|
+
return childrenRepos;
|
|
3442
|
+
}
|
|
3317
3443
|
async pullProcess(cloneChildren = false) {
|
|
3318
3444
|
/* */
|
|
3319
3445
|
/* */
|
|
@@ -3342,9 +3468,6 @@ class BaseGit extends BaseFeatureForProject {
|
|
|
3342
3468
|
/* */
|
|
3343
3469
|
/* */
|
|
3344
3470
|
/* */
|
|
3345
|
-
/* */
|
|
3346
|
-
/* */
|
|
3347
|
-
/* */
|
|
3348
3471
|
return (void 0);
|
|
3349
3472
|
}
|
|
3350
3473
|
async pushProcess(options = {}) {
|
|
@@ -3484,6 +3607,12 @@ class BaseGit extends BaseFeatureForProject {
|
|
|
3484
3607
|
/* */
|
|
3485
3608
|
/* */
|
|
3486
3609
|
/* */
|
|
3610
|
+
/* */
|
|
3611
|
+
/* */
|
|
3612
|
+
/* */
|
|
3613
|
+
/* */
|
|
3614
|
+
/* */
|
|
3615
|
+
/* */
|
|
3487
3616
|
return (void 0);
|
|
3488
3617
|
}
|
|
3489
3618
|
_beforeAnyActionOnGitRoot() {
|
|
@@ -3989,7 +4118,6 @@ class LinkedProject {
|
|
|
3989
4118
|
/* */
|
|
3990
4119
|
/* */
|
|
3991
4120
|
/* */
|
|
3992
|
-
/* */
|
|
3993
4121
|
return (void 0);
|
|
3994
4122
|
}
|
|
3995
4123
|
/**
|
|
@@ -4008,15 +4136,11 @@ class LinkedProject {
|
|
|
4008
4136
|
class LinkedPorjectsConfig {
|
|
4009
4137
|
static from(options) {
|
|
4010
4138
|
options = options || {};
|
|
4011
|
-
options.projects = (options.projects || [])
|
|
4012
|
-
.map(linkedProjOrname => {
|
|
4139
|
+
options.projects = (options.projects || []).map(linkedProjOrname => {
|
|
4013
4140
|
if (_.isString(linkedProjOrname)) {
|
|
4014
4141
|
return LinkedProject.fromName(linkedProjOrname);
|
|
4015
4142
|
}
|
|
4016
4143
|
return LinkedProject.from(linkedProjOrname);
|
|
4017
|
-
})
|
|
4018
|
-
.sort((a, b) => {
|
|
4019
|
-
return (a.relativeClonePath || '').localeCompare((b.relativeClonePath || ''));
|
|
4020
4144
|
});
|
|
4021
4145
|
return _.merge(new LinkedPorjectsConfig(), _.cloneDeep(options));
|
|
4022
4146
|
}
|