trm-core 8.1.4 → 8.2.0
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/changelog.txt +6 -0
- package/dist/actions/index.d.ts +0 -1
- package/dist/actions/index.js +0 -1
- package/dist/actions/install/generateDevclass.js +3 -1
- package/dist/actions/publish/findDependencies.js +82 -65
- package/dist/actions/publish/getSourceCode.js +1 -1
- package/dist/client/RESTClient.d.ts +5 -0
- package/dist/client/RESTClient.js +52 -0
- package/dist/client/RFCClient.d.ts +5 -0
- package/dist/client/RFCClient.js +44 -0
- package/dist/client/components/DDLENG.d.ts +1 -0
- package/dist/client/components/TABFDPOS.d.ts +1 -0
- package/dist/client/components/TABFDPOS.js +2 -0
- package/dist/client/components/TPCLASS.d.ts +1 -0
- package/dist/client/components/TPCLASS.js +2 -0
- package/dist/client/components/ZTRM_POLLING_EVENT.d.ts +1 -0
- package/dist/client/components/ZTRM_POLLING_EVENT.js +2 -0
- package/dist/client/components/ZTRM_POLLING_ID.d.ts +1 -0
- package/dist/client/components/ZTRM_POLLING_ID.js +2 -0
- package/dist/client/components/ZTRM_POLLING_LAST_MSG.d.ts +1 -0
- package/dist/client/components/ZTRM_POLLING_LAST_MSG.js +2 -0
- package/dist/client/components/index.d.ts +6 -0
- package/dist/client/components/index.js +6 -0
- package/dist/client/struct/DD03L.d.ts +6 -0
- package/dist/client/struct/DD03L.js +2 -0
- package/dist/client/struct/TDEVC.d.ts +3 -1
- package/dist/client/struct/ZTRM_OBJECT_DEPENDENCIES.d.ts +8 -0
- package/dist/client/struct/ZTRM_OBJECT_DEPENDENCIES.js +2 -0
- package/dist/client/struct/ZTRM_OBJECT_DEPENDENCY.d.ts +8 -0
- package/dist/client/struct/ZTRM_OBJECT_DEPENDENCY.js +2 -0
- package/dist/client/struct/index.d.ts +3 -0
- package/dist/client/struct/index.js +3 -0
- package/dist/commons/getNodePackage.d.ts +1 -1
- package/dist/commons/getNodePackage.js +25 -91
- package/dist/dependencies/ObjectDependencies.d.ts +22 -0
- package/dist/dependencies/ObjectDependencies.js +88 -0
- package/dist/dependencies/PackageDependencies.d.ts +18 -0
- package/dist/dependencies/PackageDependencies.js +87 -0
- package/dist/dependencies/index.d.ts +2 -0
- package/dist/{dependency → dependencies}/index.js +2 -3
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/systemConnector/ISystemConnector.d.ts +5 -1
- package/dist/systemConnector/ISystemConnectorBase.d.ts +5 -0
- package/dist/systemConnector/RESTSystemConnector.d.ts +9 -2
- package/dist/systemConnector/RESTSystemConnector.js +30 -5
- package/dist/systemConnector/RFCSystemConnector.d.ts +7 -0
- package/dist/systemConnector/RFCSystemConnector.js +26 -1
- package/dist/systemConnector/SystemConnector.d.ts +10 -1
- package/dist/systemConnector/SystemConnector.js +56 -2
- package/dist/systemConnector/SystemConnectorBase.d.ts +19 -11
- package/dist/systemConnector/SystemConnectorBase.js +96 -5
- package/package.json +2 -2
- package/dist/actions/findDependencies/index.d.ts +0 -66
- package/dist/actions/findDependencies/index.js +0 -54
- package/dist/actions/findDependencies/init.d.ts +0 -3
- package/dist/actions/findDependencies/init.js +0 -45
- package/dist/actions/findDependencies/parseSenvi.d.ts +0 -3
- package/dist/actions/findDependencies/parseSenvi.js +0 -128
- package/dist/actions/findDependencies/print.d.ts +0 -3
- package/dist/actions/findDependencies/print.js +0 -127
- package/dist/actions/findDependencies/readRepositoryEnvironment.d.ts +0 -3
- package/dist/actions/findDependencies/readRepositoryEnvironment.js +0 -54
- package/dist/actions/findDependencies/setObjects.d.ts +0 -3
- package/dist/actions/findDependencies/setObjects.js +0 -49
- package/dist/actions/findDependencies/setTrmDependencies.d.ts +0 -3
- package/dist/actions/findDependencies/setTrmDependencies.js +0 -207
- package/dist/dependency/IParser.d.ts +0 -10
- package/dist/dependency/SenviParser.d.ts +0 -6
- package/dist/dependency/SenviParser.js +0 -72
- package/dist/dependency/index.d.ts +0 -3
- package/dist/dependency/objects/ClasSenviParser.d.ts +0 -7
- package/dist/dependency/objects/ClasSenviParser.js +0 -24
- package/dist/dependency/objects/DomaSenviParser.d.ts +0 -7
- package/dist/dependency/objects/DomaSenviParser.js +0 -24
- package/dist/dependency/objects/DtelSenviParser.d.ts +0 -7
- package/dist/dependency/objects/DtelSenviParser.js +0 -24
- package/dist/dependency/objects/FugrSenviParser.d.ts +0 -7
- package/dist/dependency/objects/FugrSenviParser.js +0 -24
- package/dist/dependency/objects/FuncSenviParser.d.ts +0 -7
- package/dist/dependency/objects/FuncSenviParser.js +0 -34
- package/dist/dependency/objects/OmSenviParser.d.ts +0 -7
- package/dist/dependency/objects/OmSenviParser.js +0 -23
- package/dist/dependency/objects/ProgSenviParser.d.ts +0 -7
- package/dist/dependency/objects/ProgSenviParser.js +0 -24
- package/dist/dependency/objects/TablSenviParser.d.ts +0 -7
- package/dist/dependency/objects/TablSenviParser.js +0 -24
- package/dist/dependency/objects/ViewSenviParser.d.ts +0 -7
- package/dist/dependency/objects/ViewSenviParser.js +0 -24
- package/dist/dependency/objects/index.d.ts +0 -8
- package/dist/dependency/objects/index.js +0 -24
- /package/dist/{dependency/IParser.js → client/components/DDLENG.js} +0 -0
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { DEVCLASS, PGMID, SOBJ_NAME, TRKORR, TROBJTYPE } from "../client/components";
|
|
2
1
|
import { TADIR, TDEVC, TMSCSYS } from "../client/struct";
|
|
3
2
|
import { Transport } from "../transport";
|
|
4
3
|
import { TrmPackage } from "../trmPackage";
|
|
@@ -7,6 +6,7 @@ import * as components from "../client/components";
|
|
|
7
6
|
import * as struct from "../client/struct";
|
|
8
7
|
import { ISystemConnectorBase } from "./ISystemConnectorBase";
|
|
9
8
|
import { AbstractRegistry } from "../registry";
|
|
9
|
+
import { ObjectDependencies, PackageDependencies } from "../dependencies";
|
|
10
10
|
export declare const TRM_SERVER_PACKAGE_NAME: string;
|
|
11
11
|
export declare const TRM_SERVER_INTF: string;
|
|
12
12
|
export declare const TRM_REST_PACKAGE_NAME: string;
|
|
@@ -18,6 +18,8 @@ export declare abstract class SystemConnectorBase implements ISystemConnectorBas
|
|
|
18
18
|
private _sourceTrkorr;
|
|
19
19
|
private _ignoredTrkorr;
|
|
20
20
|
private _r3transInfoLog;
|
|
21
|
+
private _tableKeys;
|
|
22
|
+
private _rootDevclass;
|
|
21
23
|
protected abstract readTable(tableName: components.TABNAME, fields: struct.RFC_DB_FLD[], options?: string): Promise<any[]>;
|
|
22
24
|
protected abstract getSysname(): string;
|
|
23
25
|
protected abstract getLangu(c: boolean): string;
|
|
@@ -27,23 +29,25 @@ export declare abstract class SystemConnectorBase implements ISystemConnectorBas
|
|
|
27
29
|
protected abstract tdevcInterface(devclass: components.DEVCLASS, parentcl?: components.DEVCLASS, rmParentCl?: boolean, devlayer?: components.DEVLAYER): Promise<void>;
|
|
28
30
|
protected abstract getR3transInfo(): Promise<string>;
|
|
29
31
|
protected abstract getInstalledPackagesBackend(): Promise<struct.ZTY_TRM_PACKAGE[]>;
|
|
32
|
+
protected abstract getPackageDependenciesInternal(devclass: components.DEVCLASS, includeSubPackages: boolean, logId?: components.ZTRM_POLLING_ID): Promise<struct.ZTRM_OBJECT_DEPENDENCIES[]>;
|
|
33
|
+
protected abstract getObjectDependenciesInternal(object: components.TROBJTYPE, objName: components.SOBJ_NAME): Promise<struct.ZTRM_OBJECT_DEPENDENCY[]>;
|
|
30
34
|
constructor();
|
|
31
|
-
getTransportStatus(trkorr: TRKORR): Promise<string>;
|
|
35
|
+
getTransportStatus(trkorr: components.TRKORR): Promise<string>;
|
|
32
36
|
getWbTransports(trmPackage?: string | TrmPackage): Promise<Transport[]>;
|
|
33
|
-
getSourceTrkorr(refresh?: boolean): Promise<TRKORR[]>;
|
|
34
|
-
getObject(pgmid: PGMID, object: TROBJTYPE, objName: SOBJ_NAME): Promise<TADIR>;
|
|
35
|
-
getIgnoredTrkorr(refresh?: boolean): Promise<TRKORR[]>;
|
|
37
|
+
getSourceTrkorr(refresh?: boolean): Promise<components.TRKORR[]>;
|
|
38
|
+
getObject(pgmid: components.PGMID, object: components.TROBJTYPE, objName: components.SOBJ_NAME): Promise<TADIR>;
|
|
39
|
+
getIgnoredTrkorr(refresh?: boolean): Promise<components.TRKORR[]>;
|
|
36
40
|
getTrmServerPackage(): Promise<TrmPackage>;
|
|
37
41
|
getTrmRestPackage(): Promise<TrmPackage>;
|
|
38
42
|
getInstalledPackages(includeSoruces?: boolean, refresh?: boolean, includeLocals?: boolean): Promise<TrmPackage[]>;
|
|
39
|
-
getDevclass(devclass: DEVCLASS): Promise<TDEVC>;
|
|
43
|
+
getDevclass(devclass: components.DEVCLASS): Promise<TDEVC>;
|
|
40
44
|
getTransportTargets(): Promise<TMSCSYS[]>;
|
|
41
|
-
getSubpackages(devclass: DEVCLASS): Promise<TDEVC[]>;
|
|
42
|
-
getDevclassObjects(devclass: DEVCLASS, includeSubpackages?: boolean): Promise<TADIR[]>;
|
|
45
|
+
getSubpackages(devclass: components.DEVCLASS): Promise<TDEVC[]>;
|
|
46
|
+
getDevclassObjects(devclass: components.DEVCLASS, includeSubpackages?: boolean): Promise<TADIR[]>;
|
|
43
47
|
getInstallPackages(packageName: string, registry: AbstractRegistry): Promise<InstallPackage[]>;
|
|
44
|
-
setPackageSuperpackage(devclass: DEVCLASS, superpackage: DEVCLASS): Promise<void>;
|
|
45
|
-
clearPackageSuperpackage(devclass: DEVCLASS): Promise<void>;
|
|
46
|
-
setPackageTransportLayer(devclass: DEVCLASS, devlayer: components.DEVLAYER): Promise<void>;
|
|
48
|
+
setPackageSuperpackage(devclass: components.DEVCLASS, superpackage: components.DEVCLASS): Promise<void>;
|
|
49
|
+
clearPackageSuperpackage(devclass: components.DEVCLASS): Promise<void>;
|
|
50
|
+
setPackageTransportLayer(devclass: components.DEVCLASS, devlayer: components.DEVLAYER): Promise<void>;
|
|
47
51
|
checkSapEntryExists(table: string, sapEntry: any): Promise<boolean>;
|
|
48
52
|
getPackageIntegrity(oPackage: TrmPackage): Promise<string>;
|
|
49
53
|
getFunctionModule(func: string): Promise<struct.TFDIR>;
|
|
@@ -56,4 +60,8 @@ export declare abstract class SystemConnectorBase implements ISystemConnectorBas
|
|
|
56
60
|
getR3transUnicode(): Promise<boolean>;
|
|
57
61
|
isTransportLayerExist(devlayer: components.DEVLAYER): Promise<boolean>;
|
|
58
62
|
readClassDescriptions(clsname: components.SEOCLSNAME): Promise<struct.SEOCLASSTX[]>;
|
|
63
|
+
getPackageDependencies(devclass: components.DEVCLASS, includeSubPackages: boolean, log?: boolean): Promise<PackageDependencies>;
|
|
64
|
+
getObjectDependencies(object: components.TROBJTYPE, objName: components.SOBJ_NAME): Promise<ObjectDependencies>;
|
|
65
|
+
getTableKeys(tabname: components.TABNAME): Promise<struct.DD03L[]>;
|
|
66
|
+
getRootDevclass(devclass: components.DEVCLASS): Promise<components.DEVCLASS>;
|
|
59
67
|
}
|
|
@@ -17,6 +17,9 @@ const transport_1 = require("../transport");
|
|
|
17
17
|
const trmPackage_1 = require("../trmPackage");
|
|
18
18
|
const registry_1 = require("../registry");
|
|
19
19
|
const node_r3trans_1 = require("node-r3trans");
|
|
20
|
+
const dependencies_1 = require("../dependencies");
|
|
21
|
+
const commons_1 = require("../commons");
|
|
22
|
+
const SystemConnector_1 = require("./SystemConnector");
|
|
20
23
|
exports.TRM_SERVER_PACKAGE_NAME = 'trm-server';
|
|
21
24
|
exports.TRM_SERVER_INTF = 'ZIF_TRM';
|
|
22
25
|
exports.TRM_REST_PACKAGE_NAME = 'trm-rest';
|
|
@@ -24,6 +27,8 @@ exports.SRC_TRKORR_TABL = 'ZTRM_SRC_TRKORR';
|
|
|
24
27
|
exports.SKIP_TRKORR_TABL = 'ZTRM_SKIP_TRKORR';
|
|
25
28
|
class SystemConnectorBase {
|
|
26
29
|
constructor() {
|
|
30
|
+
this._tableKeys = {};
|
|
31
|
+
this._rootDevclass = {};
|
|
27
32
|
}
|
|
28
33
|
getTransportStatus(trkorr) {
|
|
29
34
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -222,13 +227,13 @@ class SystemConnectorBase {
|
|
|
222
227
|
try {
|
|
223
228
|
trmPackage.setDevclass(yield transport.getDevclass(o.tdevc));
|
|
224
229
|
}
|
|
225
|
-
catch (
|
|
226
|
-
}
|
|
230
|
+
catch (_a) { }
|
|
227
231
|
}
|
|
228
232
|
else {
|
|
229
|
-
|
|
230
|
-
trmPackage.setDevclass(o.tdevc
|
|
233
|
+
try {
|
|
234
|
+
trmPackage.setDevclass((0, commons_1.getPackageHierarchy)(o.tdevc).devclass);
|
|
231
235
|
}
|
|
236
|
+
catch (_b) { }
|
|
232
237
|
}
|
|
233
238
|
trmPackage.setWbTransport(o.trkorr ? new transport_1.Transport(o.trkorr) : null);
|
|
234
239
|
trmPackages.push(trmPackage);
|
|
@@ -398,7 +403,7 @@ class SystemConnectorBase {
|
|
|
398
403
|
}
|
|
399
404
|
getDevclass(devclass) {
|
|
400
405
|
return __awaiter(this, void 0, void 0, function* () {
|
|
401
|
-
const tdevc = yield this.readTable('TDEVC', [{ fieldName: 'DEVCLASS' }, { fieldName: 'PARENTCL' }], `DEVCLASS EQ '${devclass.trim().toUpperCase()}'`);
|
|
406
|
+
const tdevc = yield this.readTable('TDEVC', [{ fieldName: 'DEVCLASS' }, { fieldName: 'PARENTCL' }, { fieldName: 'TPCLASS' }, { fieldName: 'DLVUNIT' }], `DEVCLASS EQ '${devclass.trim().toUpperCase()}'`);
|
|
402
407
|
if (tdevc.length === 1) {
|
|
403
408
|
return tdevc[0];
|
|
404
409
|
}
|
|
@@ -560,5 +565,91 @@ class SystemConnectorBase {
|
|
|
560
565
|
return yield this.readTable('SEOCLASSTX', [{ fieldName: 'CLSNAME' }, { fieldName: 'LANGU' }, { fieldName: 'DESCRIPT' }], `CLSNAME EQ '${clsname.trim().toUpperCase()}'`);
|
|
561
566
|
});
|
|
562
567
|
}
|
|
568
|
+
getPackageDependencies(devclass, includeSubPackages, log) {
|
|
569
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
570
|
+
var packageDependencies;
|
|
571
|
+
if (log) {
|
|
572
|
+
trm_commons_1.Logger.loading(`Finding dependencies (0.0%)...`);
|
|
573
|
+
const newConnection = SystemConnector_1.SystemConnector.getNewConnection();
|
|
574
|
+
yield newConnection.connect(true);
|
|
575
|
+
const logId = yield newConnection.createLogPolling('DEVCLASS_D');
|
|
576
|
+
const job = this.getPackageDependenciesInternal(devclass, includeSubPackages, logId);
|
|
577
|
+
var stopped = false;
|
|
578
|
+
const poll = (() => __awaiter(this, void 0, void 0, function* () {
|
|
579
|
+
while (!stopped) {
|
|
580
|
+
try {
|
|
581
|
+
const status = yield newConnection.readLogPolling(logId);
|
|
582
|
+
if (status) {
|
|
583
|
+
trm_commons_1.Logger.loading(`${status}...`);
|
|
584
|
+
}
|
|
585
|
+
}
|
|
586
|
+
catch (_a) { }
|
|
587
|
+
yield new Promise(r => setTimeout(r, 500));
|
|
588
|
+
}
|
|
589
|
+
}))();
|
|
590
|
+
try {
|
|
591
|
+
packageDependencies = yield job;
|
|
592
|
+
}
|
|
593
|
+
catch (e) {
|
|
594
|
+
try {
|
|
595
|
+
yield newConnection.deleteLogPolling(logId);
|
|
596
|
+
}
|
|
597
|
+
catch (_a) { }
|
|
598
|
+
throw e;
|
|
599
|
+
}
|
|
600
|
+
stopped = true;
|
|
601
|
+
yield poll;
|
|
602
|
+
try {
|
|
603
|
+
yield newConnection.deleteLogPolling(logId);
|
|
604
|
+
yield newConnection.closeConnection();
|
|
605
|
+
}
|
|
606
|
+
catch (_b) { }
|
|
607
|
+
return (yield new dependencies_1.PackageDependencies(devclass).setDependencies(packageDependencies || [], log));
|
|
608
|
+
}
|
|
609
|
+
else {
|
|
610
|
+
packageDependencies = yield this.getPackageDependenciesInternal(devclass, includeSubPackages);
|
|
611
|
+
return (yield new dependencies_1.PackageDependencies(devclass).setDependencies(packageDependencies || []));
|
|
612
|
+
}
|
|
613
|
+
});
|
|
614
|
+
}
|
|
615
|
+
getObjectDependencies(object, objName) {
|
|
616
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
617
|
+
const objectDependencies = yield this.getObjectDependenciesInternal(object, objName);
|
|
618
|
+
return (yield new dependencies_1.ObjectDependencies(object, objName).setDependencies(objectDependencies || []));
|
|
619
|
+
});
|
|
620
|
+
}
|
|
621
|
+
getTableKeys(tabname) {
|
|
622
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
623
|
+
tabname = tabname.trim().toUpperCase();
|
|
624
|
+
if (!this._tableKeys[tabname]) {
|
|
625
|
+
this._tableKeys[tabname] = yield this.readTable('DD03L', [{ fieldName: 'FIELDNAME' }, { fieldName: 'POSITION' }, { fieldName: 'LENG' }], `TABNAME EQ '${tabname.trim().toUpperCase()}' AND AS4LOCAL EQ 'A' AND AS4VERS EQ '0000' AND KEYFLAG EQ 'X'`);
|
|
626
|
+
}
|
|
627
|
+
return this._tableKeys[tabname];
|
|
628
|
+
});
|
|
629
|
+
}
|
|
630
|
+
getRootDevclass(devclass) {
|
|
631
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
632
|
+
devclass = devclass.trim().toUpperCase();
|
|
633
|
+
var currentDevclass = devclass;
|
|
634
|
+
if (!this._rootDevclass[currentDevclass]) {
|
|
635
|
+
var pastDevclass = [];
|
|
636
|
+
while (currentDevclass) {
|
|
637
|
+
var res = (yield this.readTable('TDEVC', [{ fieldName: 'DEVCLASS' }, { fieldName: 'PARENTCL' }], `DEVCLASS EQ '${currentDevclass}'`))[0];
|
|
638
|
+
if (res.parentcl) {
|
|
639
|
+
pastDevclass.push(currentDevclass);
|
|
640
|
+
currentDevclass = res.parentcl;
|
|
641
|
+
}
|
|
642
|
+
else {
|
|
643
|
+
pastDevclass.push(currentDevclass);
|
|
644
|
+
pastDevclass.forEach(p => {
|
|
645
|
+
this._rootDevclass[p] = res.devclass;
|
|
646
|
+
});
|
|
647
|
+
currentDevclass = null;
|
|
648
|
+
}
|
|
649
|
+
}
|
|
650
|
+
}
|
|
651
|
+
return this._rootDevclass[devclass];
|
|
652
|
+
});
|
|
653
|
+
}
|
|
563
654
|
}
|
|
564
655
|
exports.SystemConnectorBase = SystemConnectorBase;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "trm-core",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.2.0",
|
|
4
4
|
"description": "TRM (Transport Request Manager) Core",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
},
|
|
36
36
|
"license": "MIT",
|
|
37
37
|
"trmDependencies": {
|
|
38
|
-
"trm-server": "^5.
|
|
38
|
+
"trm-server": "^5.1.0"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"@esm2cjs/normalize-url": "^8.0.0",
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { TrmPackage } from "../../trmPackage";
|
|
2
|
-
import { IActionContext } from "..";
|
|
3
|
-
import { DEVCLASS, SENVI, TADIR } from "../../client";
|
|
4
|
-
export interface FindDependenciesActionInput {
|
|
5
|
-
contextData?: {
|
|
6
|
-
noInquirer?: boolean;
|
|
7
|
-
};
|
|
8
|
-
packageData: {
|
|
9
|
-
package: DEVCLASS;
|
|
10
|
-
objects?: TADIR[];
|
|
11
|
-
};
|
|
12
|
-
printOptions?: {
|
|
13
|
-
trmDependencies?: boolean;
|
|
14
|
-
sapObjectDependencies?: boolean;
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
type ObjectSenvi = {
|
|
18
|
-
tadir: TADIR;
|
|
19
|
-
senvi: SENVI[];
|
|
20
|
-
};
|
|
21
|
-
export type TableDependency = {
|
|
22
|
-
foundIn: TADIR;
|
|
23
|
-
object: any;
|
|
24
|
-
};
|
|
25
|
-
export type SapEntriesDependency = {
|
|
26
|
-
table: string;
|
|
27
|
-
dependencies: TableDependency[];
|
|
28
|
-
};
|
|
29
|
-
export type TrmDependency = {
|
|
30
|
-
devclass: DEVCLASS;
|
|
31
|
-
package: TrmPackage;
|
|
32
|
-
sapEntries: SapEntriesDependency[];
|
|
33
|
-
};
|
|
34
|
-
type WorkflowRuntime = {
|
|
35
|
-
abort: boolean;
|
|
36
|
-
packageData: {
|
|
37
|
-
ignoredTadir: TADIR[];
|
|
38
|
-
};
|
|
39
|
-
repositoryEnvironment: {
|
|
40
|
-
senvi: ObjectSenvi[];
|
|
41
|
-
};
|
|
42
|
-
dependencies: {
|
|
43
|
-
customObjects: SapEntriesDependency[];
|
|
44
|
-
sapObjects: SapEntriesDependency[];
|
|
45
|
-
withTrmPackage: TrmDependency[];
|
|
46
|
-
withoutTrmPackage: TrmDependency[];
|
|
47
|
-
};
|
|
48
|
-
};
|
|
49
|
-
export type FindDependenciesActionOutput = {
|
|
50
|
-
abort: boolean;
|
|
51
|
-
trmPackageDependencies: {
|
|
52
|
-
withTrmPackage: TrmDependency[];
|
|
53
|
-
withoutTrmPackage: TrmDependency[];
|
|
54
|
-
};
|
|
55
|
-
objectDependencies: {
|
|
56
|
-
customObjects: SapEntriesDependency[];
|
|
57
|
-
sapObjects: SapEntriesDependency[];
|
|
58
|
-
};
|
|
59
|
-
};
|
|
60
|
-
export interface FindDependenciesWorkflowContext extends IActionContext {
|
|
61
|
-
rawInput: FindDependenciesActionInput;
|
|
62
|
-
runtime?: WorkflowRuntime;
|
|
63
|
-
output?: FindDependenciesActionOutput;
|
|
64
|
-
}
|
|
65
|
-
export declare function findDependencies(inputData: FindDependenciesActionInput): Promise<FindDependenciesActionOutput>;
|
|
66
|
-
export {};
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.findDependencies = findDependencies;
|
|
16
|
-
const sammarksworkflow_1 = __importDefault(require("@simonegaffurini/sammarksworkflow"));
|
|
17
|
-
const util_1 = require("util");
|
|
18
|
-
const trm_commons_1 = require("trm-commons");
|
|
19
|
-
const init_1 = require("./init");
|
|
20
|
-
const setObjects_1 = require("./setObjects");
|
|
21
|
-
const readRepositoryEnvironment_1 = require("./readRepositoryEnvironment");
|
|
22
|
-
const parseSenvi_1 = require("./parseSenvi");
|
|
23
|
-
const setTrmDependencies_1 = require("./setTrmDependencies");
|
|
24
|
-
const print_1 = require("./print");
|
|
25
|
-
;
|
|
26
|
-
const WORKFLOW_NAME = 'find-dependencies';
|
|
27
|
-
function findDependencies(inputData) {
|
|
28
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
-
const workflow = [
|
|
30
|
-
init_1.init,
|
|
31
|
-
setObjects_1.setObjects,
|
|
32
|
-
readRepositoryEnvironment_1.readRepositoryEnvironment,
|
|
33
|
-
parseSenvi_1.parseSenvi,
|
|
34
|
-
setTrmDependencies_1.setTrmDependencies,
|
|
35
|
-
print_1.print
|
|
36
|
-
];
|
|
37
|
-
trm_commons_1.Logger.log(`Ready to execute workflow ${WORKFLOW_NAME}, input data: ${(0, util_1.inspect)(inputData, { breakLength: Infinity, compact: true })}`, true);
|
|
38
|
-
const result = yield (0, sammarksworkflow_1.default)(WORKFLOW_NAME, workflow, {
|
|
39
|
-
rawInput: inputData
|
|
40
|
-
});
|
|
41
|
-
trm_commons_1.Logger.log(`Workflow ${WORKFLOW_NAME} result: ${(0, util_1.inspect)(result, { breakLength: Infinity, compact: true })}`, true);
|
|
42
|
-
return {
|
|
43
|
-
abort: !!result.runtime.abort,
|
|
44
|
-
trmPackageDependencies: {
|
|
45
|
-
withTrmPackage: result.runtime.dependencies.withTrmPackage,
|
|
46
|
-
withoutTrmPackage: result.runtime.dependencies.withoutTrmPackage,
|
|
47
|
-
},
|
|
48
|
-
objectDependencies: {
|
|
49
|
-
customObjects: result.runtime.dependencies.customObjects,
|
|
50
|
-
sapObjects: result.runtime.dependencies.sapObjects
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
});
|
|
54
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.init = void 0;
|
|
13
|
-
const trm_commons_1 = require("trm-commons");
|
|
14
|
-
const validators_1 = require("../../validators");
|
|
15
|
-
exports.init = {
|
|
16
|
-
name: 'init',
|
|
17
|
-
run: (context) => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
|
-
trm_commons_1.Logger.log('Init step', true);
|
|
19
|
-
const devclassValid = yield (0, validators_1.validateDevclass)(context.rawInput.packageData.package, true);
|
|
20
|
-
if (devclassValid && devclassValid !== true) {
|
|
21
|
-
throw new Error(devclassValid);
|
|
22
|
-
}
|
|
23
|
-
context.runtime = {
|
|
24
|
-
abort: false,
|
|
25
|
-
packageData: {
|
|
26
|
-
ignoredTadir: []
|
|
27
|
-
},
|
|
28
|
-
repositoryEnvironment: {
|
|
29
|
-
senvi: []
|
|
30
|
-
},
|
|
31
|
-
dependencies: {
|
|
32
|
-
customObjects: [],
|
|
33
|
-
sapObjects: [],
|
|
34
|
-
withTrmPackage: [],
|
|
35
|
-
withoutTrmPackage: []
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
if (!context.rawInput.contextData) {
|
|
39
|
-
context.rawInput.contextData = {};
|
|
40
|
-
}
|
|
41
|
-
if (!context.rawInput.printOptions) {
|
|
42
|
-
context.rawInput.printOptions = {};
|
|
43
|
-
}
|
|
44
|
-
})
|
|
45
|
-
};
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
-
});
|
|
43
|
-
};
|
|
44
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
-
exports.parseSenvi = void 0;
|
|
46
|
-
const trm_commons_1 = require("trm-commons");
|
|
47
|
-
const dependency_1 = require("../../dependency");
|
|
48
|
-
const _ = __importStar(require("lodash"));
|
|
49
|
-
const SAP_SOURCE_SYSTEMS = ['SAP'];
|
|
50
|
-
const SAP_AUTHORS = ['SAP'];
|
|
51
|
-
const _addEntry = (tableName, sapEntries, dependencyIn, dependency) => {
|
|
52
|
-
trm_commons_1.Logger.log(`Adding dependency to table ${tableName}, dependency in object ${JSON.stringify(dependencyIn)} with ${JSON.stringify(dependency)}`, true);
|
|
53
|
-
var index = sapEntries.findIndex(o => o.table === tableName);
|
|
54
|
-
if (index < 0) {
|
|
55
|
-
index = sapEntries.push({
|
|
56
|
-
table: tableName,
|
|
57
|
-
dependencies: []
|
|
58
|
-
});
|
|
59
|
-
index--;
|
|
60
|
-
}
|
|
61
|
-
if (sapEntries[index].dependencies.find(o => _.isEqual(o.object, dependency))) {
|
|
62
|
-
trm_commons_1.Logger.log(`Skipping, dependency with ${JSON.stringify(dependency)} already declared`, true);
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
sapEntries[index].dependencies.push({
|
|
66
|
-
foundIn: dependencyIn,
|
|
67
|
-
object: dependency
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
return sapEntries;
|
|
71
|
-
};
|
|
72
|
-
exports.parseSenvi = {
|
|
73
|
-
name: 'parse-senvi',
|
|
74
|
-
run: (context) => __awaiter(void 0, void 0, void 0, function* () {
|
|
75
|
-
trm_commons_1.Logger.log('Parse SENVI step', true);
|
|
76
|
-
const senviObjects = context.runtime.repositoryEnvironment.senvi;
|
|
77
|
-
const aIgnoredDevclass = context.runtime.packageData.ignoredTadir.filter(o => o.pgmid === 'R3TR' && o.object === 'DEVC').map(o => o.devclass);
|
|
78
|
-
const senviParser = new dependency_1.SenviParser();
|
|
79
|
-
var index = 0;
|
|
80
|
-
trm_commons_1.Logger.loading(`Reading object dependencies...`);
|
|
81
|
-
for (const senviObject of senviObjects) {
|
|
82
|
-
index++;
|
|
83
|
-
trm_commons_1.Logger.loading(`(${index}/${senviObjects.length}) Reading object dependencies...`);
|
|
84
|
-
trm_commons_1.Logger.log(`Parsing SENVI of TADIR object ${senviObject.tadir.pgmid} ${senviObject.tadir.object} ${senviObject.tadir.objName}, ${senviObject.senvi} entries`, true);
|
|
85
|
-
for (const senvi of senviObject.senvi) {
|
|
86
|
-
trm_commons_1.Logger.loading(`Parsing SENVI object ${senvi.type} ${senvi.object} ${senvi.enclObj}...`, true);
|
|
87
|
-
const parsedSenvi = yield senviParser.parse(senvi);
|
|
88
|
-
if (parsedSenvi && !aIgnoredDevclass.includes(parsedSenvi.devclass)) {
|
|
89
|
-
const dependency = {
|
|
90
|
-
'PGMID': parsedSenvi.pgmid,
|
|
91
|
-
'OBJECT': parsedSenvi.object,
|
|
92
|
-
'OBJ_NAME': parsedSenvi.objName,
|
|
93
|
-
'DEVCLASS': parsedSenvi.devclass
|
|
94
|
-
};
|
|
95
|
-
var subObject;
|
|
96
|
-
if (parsedSenvi.subObject) {
|
|
97
|
-
if (parsedSenvi.subObject.func) {
|
|
98
|
-
subObject = {
|
|
99
|
-
table: 'TFDIR',
|
|
100
|
-
dependency: {
|
|
101
|
-
'FUNCNAME': parsedSenvi.subObject.func,
|
|
102
|
-
'PNAME': `SAPL${parsedSenvi.objName}`
|
|
103
|
-
}
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
if (SAP_SOURCE_SYSTEMS.includes(parsedSenvi.srcsystem) || SAP_AUTHORS.includes(parsedSenvi.author)) {
|
|
108
|
-
trm_commons_1.Logger.log(`Dependency with SAP object ${parsedSenvi.pgmid} ${parsedSenvi.object} ${parsedSenvi.objName}, package ${parsedSenvi.devclass}`, true);
|
|
109
|
-
context.runtime.dependencies.sapObjects = _addEntry('TADIR', _.cloneDeep(context.runtime.dependencies.sapObjects), senviObject.tadir, dependency);
|
|
110
|
-
if (subObject) {
|
|
111
|
-
context.runtime.dependencies.sapObjects = _addEntry(subObject.table, _.cloneDeep(context.runtime.dependencies.sapObjects), senviObject.tadir, subObject.dependency);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
trm_commons_1.Logger.log(`Dependency with custom object ${parsedSenvi.pgmid} ${parsedSenvi.object} ${parsedSenvi.objName}, package ${parsedSenvi.devclass}`, true);
|
|
116
|
-
context.runtime.dependencies.customObjects = _addEntry('TADIR', _.cloneDeep(context.runtime.dependencies.customObjects), senviObject.tadir, dependency);
|
|
117
|
-
if (subObject) {
|
|
118
|
-
context.runtime.dependencies.customObjects = _addEntry(subObject.table, _.cloneDeep(context.runtime.dependencies.customObjects), senviObject.tadir, subObject.dependency);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
else {
|
|
123
|
-
trm_commons_1.Logger.log(`Skipping!`, true);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
})
|
|
128
|
-
};
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.print = void 0;
|
|
16
|
-
const trm_commons_1 = require("trm-commons");
|
|
17
|
-
const registry_1 = require("../../registry");
|
|
18
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
19
|
-
const _getTableTreeText = (tableData) => {
|
|
20
|
-
var aValues = [];
|
|
21
|
-
Object.keys(tableData).forEach(k => {
|
|
22
|
-
aValues.push(`${k}: ${tableData[k]}`);
|
|
23
|
-
});
|
|
24
|
-
return aValues.join(', ');
|
|
25
|
-
};
|
|
26
|
-
const _getSapEntriesTreeChildren = (sapEntries, highlightTable) => {
|
|
27
|
-
var treeChildren = [];
|
|
28
|
-
sapEntries.forEach(k => {
|
|
29
|
-
var referenceTableTree = {
|
|
30
|
-
text: highlightTable ? chalk_1.default.bold(k.table) : k.table,
|
|
31
|
-
children: []
|
|
32
|
-
};
|
|
33
|
-
k.dependencies.forEach(y => {
|
|
34
|
-
const tableKey = _getTableTreeText(y.object);
|
|
35
|
-
const tadirKey = `${y.foundIn.pgmid} ${y.foundIn.object} ${y.foundIn.objName}`;
|
|
36
|
-
const arrayIndex = referenceTableTree.children.findIndex(o => o.text === tableKey);
|
|
37
|
-
const usedByTree = {
|
|
38
|
-
text: `Used by`,
|
|
39
|
-
children: []
|
|
40
|
-
};
|
|
41
|
-
const usedByTadirTree = {
|
|
42
|
-
text: tadirKey,
|
|
43
|
-
children: []
|
|
44
|
-
};
|
|
45
|
-
usedByTree.children.push(usedByTadirTree);
|
|
46
|
-
if (arrayIndex >= 0) {
|
|
47
|
-
if (!referenceTableTree.children[arrayIndex].children[0].children.find(o => o.text === tadirKey)) {
|
|
48
|
-
referenceTableTree.children[arrayIndex].children[0].children.push(usedByTadirTree);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
referenceTableTree.children.push({
|
|
53
|
-
text: tableKey,
|
|
54
|
-
children: [usedByTree]
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
treeChildren.push(referenceTableTree);
|
|
59
|
-
});
|
|
60
|
-
return treeChildren;
|
|
61
|
-
};
|
|
62
|
-
exports.print = {
|
|
63
|
-
name: 'print',
|
|
64
|
-
filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
|
|
65
|
-
if (context.rawInput.printOptions.trmDependencies || context.rawInput.printOptions.sapObjectDependencies) {
|
|
66
|
-
return true;
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
trm_commons_1.Logger.log(`Skipping dependency print status (user input)`, true);
|
|
70
|
-
return false;
|
|
71
|
-
}
|
|
72
|
-
}),
|
|
73
|
-
run: (context) => __awaiter(void 0, void 0, void 0, function* () {
|
|
74
|
-
trm_commons_1.Logger.log('Print step', true);
|
|
75
|
-
const sapEntries = context.runtime.dependencies.sapObjects;
|
|
76
|
-
const unknownDependencies = context.runtime.dependencies.withoutTrmPackage;
|
|
77
|
-
const trmDependencies = context.runtime.dependencies.withTrmPackage;
|
|
78
|
-
var baseTree = {
|
|
79
|
-
text: chalk_1.default.bold(context.rawInput.packageData.package),
|
|
80
|
-
children: []
|
|
81
|
-
};
|
|
82
|
-
var sapEntriesTree = {
|
|
83
|
-
text: chalk_1.default.underline(`Required SAP Entries (${sapEntries.reduce((sum, o) => sum + o.dependencies.length, 0)})`),
|
|
84
|
-
children: _getSapEntriesTreeChildren(sapEntries, true)
|
|
85
|
-
};
|
|
86
|
-
var unknownDependenciesTree = {
|
|
87
|
-
text: chalk_1.default.underline(`Without TRM Package (${unknownDependencies.length})`),
|
|
88
|
-
children: []
|
|
89
|
-
};
|
|
90
|
-
var trmDependenciesTree = {
|
|
91
|
-
text: chalk_1.default.underline(`TRM Packages (${trmDependencies.length})`),
|
|
92
|
-
children: []
|
|
93
|
-
};
|
|
94
|
-
unknownDependencies.forEach(o => {
|
|
95
|
-
unknownDependenciesTree.children.push({
|
|
96
|
-
text: chalk_1.default.bold(o.devclass),
|
|
97
|
-
children: [{
|
|
98
|
-
text: `References`,
|
|
99
|
-
children: _getSapEntriesTreeChildren(o.sapEntries, false)
|
|
100
|
-
}]
|
|
101
|
-
});
|
|
102
|
-
});
|
|
103
|
-
trmDependencies.forEach(o => {
|
|
104
|
-
trmDependenciesTree.children.push({
|
|
105
|
-
text: chalk_1.default.bold(o.package.packageName),
|
|
106
|
-
children: [{
|
|
107
|
-
text: `Registry: ${o.package.registry.getRegistryType() === registry_1.RegistryType.PUBLIC ? registry_1.PUBLIC_RESERVED_KEYWORD : o.package.registry.endpoint}`,
|
|
108
|
-
children: []
|
|
109
|
-
}, {
|
|
110
|
-
text: `Version: ${o.package.manifest.get().version}`,
|
|
111
|
-
children: []
|
|
112
|
-
}, {
|
|
113
|
-
text: `References`,
|
|
114
|
-
children: _getSapEntriesTreeChildren(o.sapEntries, false)
|
|
115
|
-
}]
|
|
116
|
-
});
|
|
117
|
-
});
|
|
118
|
-
if (context.rawInput.printOptions.sapObjectDependencies) {
|
|
119
|
-
baseTree.children.push(sapEntriesTree);
|
|
120
|
-
}
|
|
121
|
-
if (context.rawInput.printOptions.trmDependencies) {
|
|
122
|
-
baseTree.children.push(unknownDependenciesTree);
|
|
123
|
-
baseTree.children.push(trmDependenciesTree);
|
|
124
|
-
}
|
|
125
|
-
trm_commons_1.Logger.tree(baseTree);
|
|
126
|
-
})
|
|
127
|
-
};
|