trm-core 8.1.3 → 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.
Files changed (102) hide show
  1. package/changelog.txt +10 -0
  2. package/dist/actions/commons/index.d.ts +1 -0
  3. package/dist/actions/commons/index.js +1 -0
  4. package/dist/actions/commons/trmServerPa.d.ts +3 -0
  5. package/dist/actions/commons/trmServerPa.js +40 -0
  6. package/dist/actions/index.d.ts +0 -1
  7. package/dist/actions/index.js +0 -1
  8. package/dist/actions/install/generateDevclass.js +3 -1
  9. package/dist/actions/install/index.js +1 -0
  10. package/dist/actions/install/init.js +1 -1
  11. package/dist/actions/installDependency/findInstallRelease.js +1 -1
  12. package/dist/actions/publish/findDependencies.js +82 -65
  13. package/dist/actions/publish/getSourceCode.js +1 -1
  14. package/dist/actions/publish/index.js +1 -0
  15. package/dist/client/RESTClient.d.ts +5 -0
  16. package/dist/client/RESTClient.js +52 -0
  17. package/dist/client/RFCClient.d.ts +5 -0
  18. package/dist/client/RFCClient.js +44 -0
  19. package/dist/client/components/DDLENG.d.ts +1 -0
  20. package/dist/client/components/TABFDPOS.d.ts +1 -0
  21. package/dist/client/components/TABFDPOS.js +2 -0
  22. package/dist/client/components/TPCLASS.d.ts +1 -0
  23. package/dist/client/components/TPCLASS.js +2 -0
  24. package/dist/client/components/ZTRM_POLLING_EVENT.d.ts +1 -0
  25. package/dist/client/components/ZTRM_POLLING_EVENT.js +2 -0
  26. package/dist/client/components/ZTRM_POLLING_ID.d.ts +1 -0
  27. package/dist/client/components/ZTRM_POLLING_ID.js +2 -0
  28. package/dist/client/components/ZTRM_POLLING_LAST_MSG.d.ts +1 -0
  29. package/dist/client/components/ZTRM_POLLING_LAST_MSG.js +2 -0
  30. package/dist/client/components/index.d.ts +6 -0
  31. package/dist/client/components/index.js +6 -0
  32. package/dist/client/struct/DD03L.d.ts +6 -0
  33. package/dist/client/struct/DD03L.js +2 -0
  34. package/dist/client/struct/TDEVC.d.ts +3 -1
  35. package/dist/client/struct/ZTRM_OBJECT_DEPENDENCIES.d.ts +8 -0
  36. package/dist/client/struct/ZTRM_OBJECT_DEPENDENCIES.js +2 -0
  37. package/dist/client/struct/ZTRM_OBJECT_DEPENDENCY.d.ts +8 -0
  38. package/dist/client/struct/ZTRM_OBJECT_DEPENDENCY.js +2 -0
  39. package/dist/client/struct/index.d.ts +3 -0
  40. package/dist/client/struct/index.js +3 -0
  41. package/dist/commons/getNodePackage.d.ts +1 -1
  42. package/dist/commons/getNodePackage.js +25 -91
  43. package/dist/dependencies/ObjectDependencies.d.ts +22 -0
  44. package/dist/dependencies/ObjectDependencies.js +88 -0
  45. package/dist/dependencies/PackageDependencies.d.ts +18 -0
  46. package/dist/dependencies/PackageDependencies.js +87 -0
  47. package/dist/dependencies/index.d.ts +2 -0
  48. package/dist/{dependency → dependencies}/index.js +2 -3
  49. package/dist/index.d.ts +1 -1
  50. package/dist/index.js +1 -1
  51. package/dist/lockfile/Lockfile.d.ts +1 -1
  52. package/dist/lockfile/Lockfile.js +3 -2
  53. package/dist/systemConnector/ISystemConnector.d.ts +5 -1
  54. package/dist/systemConnector/ISystemConnectorBase.d.ts +5 -0
  55. package/dist/systemConnector/RESTSystemConnector.d.ts +9 -2
  56. package/dist/systemConnector/RESTSystemConnector.js +30 -5
  57. package/dist/systemConnector/RFCSystemConnector.d.ts +7 -0
  58. package/dist/systemConnector/RFCSystemConnector.js +26 -1
  59. package/dist/systemConnector/SystemConnector.d.ts +10 -1
  60. package/dist/systemConnector/SystemConnector.js +56 -2
  61. package/dist/systemConnector/SystemConnectorBase.d.ts +19 -11
  62. package/dist/systemConnector/SystemConnectorBase.js +118 -5
  63. package/package.json +2 -2
  64. package/dist/actions/findDependencies/index.d.ts +0 -66
  65. package/dist/actions/findDependencies/index.js +0 -54
  66. package/dist/actions/findDependencies/init.d.ts +0 -3
  67. package/dist/actions/findDependencies/init.js +0 -45
  68. package/dist/actions/findDependencies/parseSenvi.d.ts +0 -3
  69. package/dist/actions/findDependencies/parseSenvi.js +0 -128
  70. package/dist/actions/findDependencies/print.d.ts +0 -3
  71. package/dist/actions/findDependencies/print.js +0 -127
  72. package/dist/actions/findDependencies/readRepositoryEnvironment.d.ts +0 -3
  73. package/dist/actions/findDependencies/readRepositoryEnvironment.js +0 -54
  74. package/dist/actions/findDependencies/setObjects.d.ts +0 -3
  75. package/dist/actions/findDependencies/setObjects.js +0 -49
  76. package/dist/actions/findDependencies/setTrmDependencies.d.ts +0 -3
  77. package/dist/actions/findDependencies/setTrmDependencies.js +0 -207
  78. package/dist/dependency/IParser.d.ts +0 -10
  79. package/dist/dependency/SenviParser.d.ts +0 -6
  80. package/dist/dependency/SenviParser.js +0 -72
  81. package/dist/dependency/index.d.ts +0 -3
  82. package/dist/dependency/objects/ClasSenviParser.d.ts +0 -7
  83. package/dist/dependency/objects/ClasSenviParser.js +0 -24
  84. package/dist/dependency/objects/DomaSenviParser.d.ts +0 -7
  85. package/dist/dependency/objects/DomaSenviParser.js +0 -24
  86. package/dist/dependency/objects/DtelSenviParser.d.ts +0 -7
  87. package/dist/dependency/objects/DtelSenviParser.js +0 -24
  88. package/dist/dependency/objects/FugrSenviParser.d.ts +0 -7
  89. package/dist/dependency/objects/FugrSenviParser.js +0 -24
  90. package/dist/dependency/objects/FuncSenviParser.d.ts +0 -7
  91. package/dist/dependency/objects/FuncSenviParser.js +0 -34
  92. package/dist/dependency/objects/OmSenviParser.d.ts +0 -7
  93. package/dist/dependency/objects/OmSenviParser.js +0 -23
  94. package/dist/dependency/objects/ProgSenviParser.d.ts +0 -7
  95. package/dist/dependency/objects/ProgSenviParser.js +0 -24
  96. package/dist/dependency/objects/TablSenviParser.d.ts +0 -7
  97. package/dist/dependency/objects/TablSenviParser.js +0 -24
  98. package/dist/dependency/objects/ViewSenviParser.d.ts +0 -7
  99. package/dist/dependency/objects/ViewSenviParser.js +0 -24
  100. package/dist/dependency/objects/index.d.ts +0 -8
  101. package/dist/dependency/objects/index.js +0 -24
  102. /package/dist/{dependency/IParser.js → client/components/DDLENG.js} +0 -0
@@ -1,102 +1,36 @@
1
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 __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
2
  Object.defineProperty(exports, "__esModule", { value: true });
39
3
  exports.getNodePackage = getNodePackage;
40
- const fs = __importStar(require("fs"));
41
- const path_1 = __importDefault(require("path"));
42
- const get_root_path_1 = require("get-root-path");
4
+ const node_fs_1 = require("node:fs");
5
+ const node_path_1 = require("node:path");
43
6
  const trm_commons_1 = require("trm-commons");
44
- const get_stack_trace_1 = require("get-stack-trace");
45
- const _findPackageRoot = (startPath) => {
46
- var currentPath = fs.statSync(startPath).isDirectory() ? startPath : path_1.default.dirname(startPath);
47
- while (true) {
48
- const packageJsonPath = path_1.default.join(currentPath, 'package.json');
49
- if (fs.existsSync(packageJsonPath)) {
50
- return currentPath;
51
- }
52
- const parentPath = path_1.default.dirname(currentPath);
53
- if (parentPath === currentPath) {
54
- return null;
55
- }
56
- currentPath = parentPath;
7
+ function getNodePackage(packageName) {
8
+ if (!packageName) {
9
+ packageName = 'trm-core';
57
10
  }
58
- };
59
- function getNodePackage() {
60
- var file;
61
- var packageData;
62
- trm_commons_1.Logger.log(`root path: ${get_root_path_1.rootPath}`, true);
63
- const stack = (0, get_stack_trace_1.getStackTrace)();
64
- var modules = [];
65
- stack.forEach(o => {
66
- var searchModule = true;
67
- modules.forEach(m => {
68
- if (o.fileName.startsWith(m.packageRoot)) {
69
- searchModule = false;
70
- }
71
- });
72
- if (searchModule) {
73
- try {
74
- const packageRoot = _findPackageRoot(o.fileName);
75
- const modulePackage = JSON.parse(fs.readFileSync(path_1.default.join(packageRoot, "package.json")).toString());
76
- if (modulePackage.name) {
77
- modules.push({
78
- name: modulePackage.name,
79
- packageRoot
80
- });
81
- }
82
- }
83
- catch (e) { }
84
- }
85
- });
11
+ trm_commons_1.Logger.loading(`Looking for "${packageName}" package.json, starting in folder "${process.cwd()}"...`, true);
12
+ var data;
86
13
  try {
87
- if (modules.length === 1) {
88
- file = fs.readFileSync(path_1.default.join(get_root_path_1.rootPath, "package.json"));
89
- }
90
- else {
91
- file = fs.readFileSync(path_1.default.join(modules[modules.length - 1].packageRoot, `/node_modules/trm-core/package.json`));
14
+ data = JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)(process.cwd(), 'package.json'), 'utf8'));
15
+ if (data.name === packageName) {
16
+ return data;
92
17
  }
93
18
  }
94
- catch (e) { }
95
- if (file) {
96
- packageData = JSON.parse(file.toString());
19
+ catch (_a) { }
20
+ try {
21
+ data = JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)(process.cwd(), 'node_modules', packageName, 'package.json'), 'utf8'));
22
+ return data;
23
+ }
24
+ catch (_b) { }
25
+ try {
26
+ data = JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)((0, node_path_1.resolve)(process.cwd(), ".."), packageName, 'package.json'), 'utf8'));
27
+ return data;
97
28
  }
98
- if (!packageData || packageData.name !== 'trm-core') {
99
- throw new Error(`package.json not found!`);
29
+ catch (_c) { }
30
+ try {
31
+ data = JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)((0, node_path_1.resolve)(process.cwd(), ".."), 'node_modules', packageName, 'package.json'), 'utf8'));
32
+ return data;
100
33
  }
101
- return packageData;
34
+ catch (_d) { }
35
+ throw new Error(`Couldn't find "${packageName}" package.json!`);
102
36
  }
@@ -0,0 +1,22 @@
1
+ import { DEVCLASS, SOBJ_NAME, TROBJTYPE, ZTRM_OBJECT_DEPENDENCY } from "../client";
2
+ import { TrmPackage } from "../trmPackage";
3
+ export type DependenciesGenericTable = {
4
+ tabname: string;
5
+ tabkey: any[];
6
+ };
7
+ export declare class ObjectDependencies {
8
+ readonly object: TROBJTYPE;
9
+ readonly objName: SOBJ_NAME;
10
+ readonly tables: any;
11
+ trmPackages: {
12
+ trmPackage: TrmPackage;
13
+ dependencies: DependenciesGenericTable[];
14
+ }[];
15
+ sapPackages: {
16
+ package: DEVCLASS;
17
+ dependencies: DependenciesGenericTable[];
18
+ }[];
19
+ constructor(object: TROBJTYPE, objName: SOBJ_NAME);
20
+ setDependencies(dependencies: ZTRM_OBJECT_DEPENDENCY[]): Promise<ObjectDependencies>;
21
+ private addTableKey;
22
+ }
@@ -0,0 +1,88 @@
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.ObjectDependencies = void 0;
13
+ const registry_1 = require("../registry");
14
+ const systemConnector_1 = require("../systemConnector");
15
+ class ObjectDependencies {
16
+ constructor(object, objName) {
17
+ this.object = object;
18
+ this.objName = objName;
19
+ this.tables = {};
20
+ this.trmPackages = [];
21
+ this.sapPackages = [];
22
+ }
23
+ setDependencies(dependencies) {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ for (const d of dependencies) {
26
+ const tabkey = yield this.addTableKey(d.tabname, d.tabkey);
27
+ if (d.trmPackageName) {
28
+ var trmPackage = (yield systemConnector_1.SystemConnector.getInstalledPackages(true, false, true)).find(o => o.compareName(d.trmPackageName) && o.compareRegistry(registry_1.RegistryProvider.getRegistry(d.trmPackageRegistry)));
29
+ if (trmPackage) {
30
+ var iTrmPackage = this.trmPackages.findIndex(o => o.trmPackage.compareName(trmPackage.packageName) && o.trmPackage.compareRegistry(trmPackage.registry));
31
+ if (iTrmPackage < 0) {
32
+ iTrmPackage = this.trmPackages.push({
33
+ trmPackage,
34
+ dependencies: []
35
+ }) - 1;
36
+ }
37
+ var iTabKeys = this.trmPackages[iTrmPackage].dependencies.findIndex(o => o.tabname === d.tabname);
38
+ if (iTabKeys < 0) {
39
+ iTabKeys = this.trmPackages[iTrmPackage].dependencies.push({
40
+ tabname: d.tabname,
41
+ tabkey: []
42
+ }) - 1;
43
+ }
44
+ this.trmPackages[iTrmPackage].dependencies[iTabKeys].tabkey.push(tabkey);
45
+ }
46
+ }
47
+ else if (d.devclass) {
48
+ var iDevclass = this.sapPackages.findIndex(o => o.package === d.devclass);
49
+ if (iDevclass < 0) {
50
+ iDevclass = this.sapPackages.push({
51
+ package: d.devclass,
52
+ dependencies: []
53
+ }) - 1;
54
+ }
55
+ var iTabKeys = this.sapPackages[iDevclass].dependencies.findIndex(o => o.tabname === d.tabname);
56
+ if (iTabKeys < 0) {
57
+ iTabKeys = this.sapPackages[iDevclass].dependencies.push({
58
+ tabname: d.tabname,
59
+ tabkey: []
60
+ }) - 1;
61
+ }
62
+ this.sapPackages[iDevclass].dependencies[iTabKeys].tabkey.push(tabkey);
63
+ }
64
+ }
65
+ return this;
66
+ });
67
+ }
68
+ addTableKey(table, key) {
69
+ return __awaiter(this, void 0, void 0, function* () {
70
+ var offset = 0;
71
+ var parsed = {};
72
+ table = table.trim().toUpperCase();
73
+ var definition = yield systemConnector_1.SystemConnector.getTableKeys(table);
74
+ definition = definition.sort((a, b) => Number(a.position) - Number(b.position));
75
+ if (!this.tables[table]) {
76
+ this.tables[table] = [];
77
+ }
78
+ definition.forEach(def => {
79
+ const len = Number(def.leng);
80
+ parsed[def.fieldname] = key.slice(offset, offset + len);
81
+ offset += len;
82
+ });
83
+ this.tables[table].push(parsed);
84
+ return parsed;
85
+ });
86
+ }
87
+ }
88
+ exports.ObjectDependencies = ObjectDependencies;
@@ -0,0 +1,18 @@
1
+ import { DEVCLASS, TDEVC, ZTRM_OBJECT_DEPENDENCIES } from "../client";
2
+ import { TrmPackage } from "../trmPackage";
3
+ import { DependenciesGenericTable, ObjectDependencies } from "./ObjectDependencies";
4
+ export type GenericPackageDependencies = {
5
+ package: TDEVC;
6
+ dependencies: DependenciesGenericTable[];
7
+ };
8
+ export declare class PackageDependencies {
9
+ readonly devclass: DEVCLASS;
10
+ readonly dependencies: ObjectDependencies[];
11
+ private devclasses;
12
+ constructor(devclass: DEVCLASS);
13
+ setDependencies(packageDependencies: ZTRM_OBJECT_DEPENDENCIES[], log?: boolean): Promise<PackageDependencies>;
14
+ private getDevclasses;
15
+ getAllDependencies(): any;
16
+ getTrmDependencies(): Promise<TrmPackage[]>;
17
+ getOtherPackageDependencies(): Promise<GenericPackageDependencies[]>;
18
+ }
@@ -0,0 +1,87 @@
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.PackageDependencies = void 0;
13
+ const trm_commons_1 = require("trm-commons");
14
+ const systemConnector_1 = require("../systemConnector");
15
+ const ObjectDependencies_1 = require("./ObjectDependencies");
16
+ class PackageDependencies {
17
+ constructor(devclass) {
18
+ this.devclass = devclass;
19
+ this.dependencies = [];
20
+ }
21
+ setDependencies(packageDependencies, log) {
22
+ return __awaiter(this, void 0, void 0, function* () {
23
+ var i = 1;
24
+ trm_commons_1.Logger.loading(`Analyzing dependencies (0.0%)...`, !log);
25
+ for (const d of packageDependencies) {
26
+ trm_commons_1.Logger.loading(`Analyzing dependencies (${(((i + 1) / packageDependencies.length) * 100).toFixed(1)}%)...`, !log);
27
+ trm_commons_1.Logger.loading(`Analyzing dependencies (${(((i + 1) / packageDependencies.length) * 100).toFixed(1)}%) > ${d.pgmid}${d.object}${d.objName}...`, true);
28
+ i++;
29
+ this.dependencies.push(yield (new ObjectDependencies_1.ObjectDependencies(d.object, d.objName).setDependencies(d.dependencies || [])));
30
+ }
31
+ return this;
32
+ });
33
+ }
34
+ getDevclasses() {
35
+ return __awaiter(this, void 0, void 0, function* () {
36
+ if (!this.devclasses) {
37
+ this.devclasses = [this.devclass].concat((yield systemConnector_1.SystemConnector.getSubpackages(this.devclass)).map(o => o.devclass));
38
+ }
39
+ return this.devclasses;
40
+ });
41
+ }
42
+ getAllDependencies() {
43
+ var all = {};
44
+ this.dependencies.forEach(d => {
45
+ Object.keys(d.tables).forEach(table => {
46
+ if (!all[table]) {
47
+ all[table] = [];
48
+ }
49
+ all[table] = all[table].concat(d.tables[table]);
50
+ });
51
+ });
52
+ return all;
53
+ }
54
+ getTrmDependencies() {
55
+ return __awaiter(this, void 0, void 0, function* () {
56
+ var trmPackages = [];
57
+ const devclasses = yield this.getDevclasses();
58
+ this.dependencies.forEach(d => {
59
+ d.trmPackages.forEach(p => {
60
+ if (!devclasses.includes(p.trmPackage.getDevclass())) {
61
+ trmPackages.push(p.trmPackage);
62
+ }
63
+ });
64
+ });
65
+ return trmPackages;
66
+ });
67
+ }
68
+ getOtherPackageDependencies() {
69
+ return __awaiter(this, void 0, void 0, function* () {
70
+ var sapPackages = [];
71
+ for (const d of this.dependencies) {
72
+ for (const p of d.sapPackages) {
73
+ var index = sapPackages.findIndex(o => o.package.devclass === p.package);
74
+ if (index < 0) {
75
+ index = sapPackages.push({
76
+ package: yield systemConnector_1.SystemConnector.getDevclass(p.package),
77
+ dependencies: []
78
+ }) - 1;
79
+ }
80
+ sapPackages[index].dependencies = sapPackages[index].dependencies.concat(p.dependencies);
81
+ }
82
+ }
83
+ return sapPackages;
84
+ });
85
+ }
86
+ }
87
+ exports.PackageDependencies = PackageDependencies;
@@ -0,0 +1,2 @@
1
+ export * from "./PackageDependencies";
2
+ export * from "./ObjectDependencies";
@@ -14,6 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./SenviParser"), exports);
18
- __exportStar(require("./IParser"), exports);
19
- __exportStar(require("./objects"), exports);
17
+ __exportStar(require("./PackageDependencies"), exports);
18
+ __exportStar(require("./ObjectDependencies"), exports);
package/dist/index.d.ts CHANGED
@@ -3,7 +3,7 @@ export * from "./client";
3
3
  export * from "./commons";
4
4
  export * from "./manifest";
5
5
  export * from "./registry";
6
- export * from "./dependency";
6
+ export * from "./dependencies";
7
7
  export * from "./systemConnector";
8
8
  export * from "./transport";
9
9
  export * from "./trmPackage";
package/dist/index.js CHANGED
@@ -19,7 +19,7 @@ __exportStar(require("./client"), exports);
19
19
  __exportStar(require("./commons"), exports);
20
20
  __exportStar(require("./manifest"), exports);
21
21
  __exportStar(require("./registry"), exports);
22
- __exportStar(require("./dependency"), exports);
22
+ __exportStar(require("./dependencies"), exports);
23
23
  __exportStar(require("./systemConnector"), exports);
24
24
  __exportStar(require("./transport"), exports);
25
25
  __exportStar(require("./trmPackage"), exports);
@@ -18,6 +18,6 @@ export declare class Lockfile {
18
18
  static generate(root: TrmPackage, packages?: TrmPackage[]): Promise<Lockfile>;
19
19
  static fromJson(json: any): Lockfile;
20
20
  toJson(): string;
21
- getLock(trmPackage: TrmPackage): Lock;
21
+ getLock(trmPackage: TrmPackage, versionRange: string): Lock;
22
22
  static testReleaseByLock(lock: Lock): Promise<boolean>;
23
23
  }
@@ -15,6 +15,7 @@ const registry_1 = require("../registry");
15
15
  const systemConnector_1 = require("../systemConnector");
16
16
  const commons_1 = require("../commons");
17
17
  const crypto_1 = require("crypto");
18
+ const semver_1 = require("semver");
18
19
  class Lockfile {
19
20
  constructor(lockfile) {
20
21
  this.lockfile = lockfile;
@@ -79,10 +80,10 @@ class Lockfile {
79
80
  ];
80
81
  return (0, commons_1.jsonStringifyWithKeyOrder)(this.lockfile, KEYS_ORDER, 2);
81
82
  }
82
- getLock(trmPackage) {
83
+ getLock(trmPackage, versionRange) {
83
84
  var _a;
84
85
  const lock = (_a = this.lockfile.packages) === null || _a === void 0 ? void 0 : _a.find(o => trmPackage.compareName(o.name) && trmPackage.compareRegistry(registry_1.RegistryProvider.getRegistry(o.registry)));
85
- if (!lock) {
86
+ if (!lock || !(0, semver_1.satisfies)(lock.version, versionRange)) {
86
87
  throw new Error(`Lock for package "${trmPackage.packageName}", registry "${trmPackage.registry.endpoint}" not found`);
87
88
  }
88
89
  return lock;
@@ -7,11 +7,12 @@ import { RFCConnection } from "./RFCConnection";
7
7
  import { SystemConnectorSupportedBulk } from "./SystemConnectorSupportedBulk";
8
8
  export interface ISystemConnector extends ISystemConnectorBase {
9
9
  supportedBulk: SystemConnectorSupportedBulk;
10
+ getNewConnection(): ISystemConnector;
10
11
  getConnectionData: () => RFCConnection | RESTConnection;
11
12
  getDest: () => string;
12
13
  getLogonLanguage: (c: boolean) => string;
13
14
  getLogonUser: () => string;
14
- connect: () => Promise<void>;
15
+ connect: (silent: boolean) => Promise<void>;
15
16
  closeConnection: () => Promise<void>;
16
17
  checkConnection: () => Promise<boolean>;
17
18
  ping: () => Promise<string>;
@@ -61,4 +62,7 @@ export interface ISystemConnector extends ISystemConnectorBase {
61
62
  }>;
62
63
  isServerApisAllowed: () => Promise<true | ClientError>;
63
64
  changeTrOwner: (trkorr: components.TRKORR, owner: components.TR_AS4USER) => Promise<void>;
65
+ createLogPolling: (event: components.ZTRM_POLLING_EVENT) => Promise<components.ZTRM_POLLING_ID>;
66
+ deleteLogPolling: (logID: components.ZTRM_POLLING_ID) => Promise<void>;
67
+ readLogPolling: (logID: components.ZTRM_POLLING_ID) => Promise<components.ZTRM_POLLING_LAST_MSG>;
64
68
  }
@@ -4,6 +4,7 @@ import * as struct from "../client/struct";
4
4
  import { Transport } from "../transport";
5
5
  import { TrmPackage } from "../trmPackage";
6
6
  import { InstallPackage } from "./InstallPackage";
7
+ import { ObjectDependencies, PackageDependencies } from "../dependencies";
7
8
  export interface ISystemConnectorBase {
8
9
  getTransportStatus: (trkorr: components.TRKORR) => Promise<string>;
9
10
  getWbTransports: (trmPackage?: string | TrmPackage) => Promise<Transport[]>;
@@ -33,4 +34,8 @@ export interface ISystemConnectorBase {
33
34
  getTrmServerPackage: () => Promise<TrmPackage>;
34
35
  getTrmRestPackage: () => Promise<TrmPackage>;
35
36
  readClassDescriptions: (clsname: components.SEOCLSNAME) => Promise<struct.SEOCLASSTX[]>;
37
+ getPackageDependencies: (devclass: components.DEVCLASS, includeSubPackages: boolean, log?: boolean) => Promise<PackageDependencies>;
38
+ getObjectDependencies: (object: components.TROBJTYPE, objName: components.SOBJ_NAME) => Promise<ObjectDependencies>;
39
+ getTableKeys: (tabname: components.TABNAME) => Promise<struct.DD03L[]>;
40
+ getRootDevclass: (devclass: components.DEVCLASS) => Promise<components.DEVCLASS>;
36
41
  }
@@ -11,13 +11,15 @@ import { SystemConnectorSupportedBulk } from "./SystemConnectorSupportedBulk";
11
11
  export declare class RESTSystemConnector extends SystemConnectorBase implements ISystemConnector {
12
12
  private _connection;
13
13
  private _login;
14
+ private _normalizeEndpoint;
14
15
  private _dest;
15
16
  private _lang;
16
17
  private _user;
17
18
  protected _client: RESTClient;
18
19
  private _isServerApisAllowed;
19
20
  supportedBulk: SystemConnectorSupportedBulk;
20
- constructor(_connection: RESTConnection, _login: Login, normalizeEndpoint?: boolean);
21
+ constructor(_connection: RESTConnection, _login: Login, _normalizeEndpoint?: boolean);
22
+ getNewConnection(): ISystemConnector;
21
23
  protected getSysname(): string;
22
24
  getDest(): string;
23
25
  protected getLangu(c: boolean): string;
@@ -29,9 +31,11 @@ export declare class RESTSystemConnector extends SystemConnectorBase implements
29
31
  protected tdevcInterface(devclass: components.DEVCLASS, parentcl?: components.DEVCLASS, rmParentCl?: boolean, devlayer?: components.DEVLAYER): Promise<void>;
30
32
  protected getR3transInfo(): Promise<string>;
31
33
  protected getInstalledPackagesBackend(): Promise<struct.ZTY_TRM_PACKAGE[]>;
34
+ protected getPackageDependenciesInternal(devclass: DEVCLASS, includeSubPackages: boolean, logId?: components.ZTRM_POLLING_ID): Promise<struct.ZTRM_OBJECT_DEPENDENCIES[]>;
35
+ protected getObjectDependenciesInternal(object: components.TROBJTYPE, objName: components.SOBJ_NAME): Promise<struct.ZTRM_OBJECT_DEPENDENCY[]>;
32
36
  getConnectionData(): RESTConnection;
33
37
  getLogonUser(): string;
34
- connect(): Promise<void>;
38
+ connect(silent?: boolean): Promise<void>;
35
39
  closeConnection(): Promise<void>;
36
40
  checkConnection(): Promise<boolean>;
37
41
  ping(): Promise<string>;
@@ -81,4 +85,7 @@ export declare class RESTSystemConnector extends SystemConnectorBase implements
81
85
  }>;
82
86
  isServerApisAllowed(): Promise<true | ClientError>;
83
87
  changeTrOwner(trkorr: components.TRKORR, owner: components.TR_AS4USER): Promise<void>;
88
+ createLogPolling(event: components.ZTRM_POLLING_EVENT): Promise<components.ZTRM_POLLING_ID>;
89
+ deleteLogPolling(logID: components.ZTRM_POLLING_ID): Promise<void>;
90
+ readLogPolling(logID: components.ZTRM_POLLING_ID): Promise<components.ZTRM_POLLING_LAST_MSG>;
84
91
  }
@@ -20,10 +20,11 @@ const normalize_url_1 = __importDefault(require("@esm2cjs/normalize-url"));
20
20
  const ENDPOINT_RESOURCE_BASE = '/ztrmserver';
21
21
  const NONE_DEST = 'NONE';
22
22
  class RESTSystemConnector extends SystemConnectorBase_1.SystemConnectorBase {
23
- constructor(_connection, _login, normalizeEndpoint = true) {
23
+ constructor(_connection, _login, _normalizeEndpoint = true) {
24
24
  super();
25
25
  this._connection = _connection;
26
26
  this._login = _login;
27
+ this._normalizeEndpoint = _normalizeEndpoint;
27
28
  this.supportedBulk = {
28
29
  getTransportObjects: true,
29
30
  getExistingObjects: true
@@ -31,7 +32,7 @@ class RESTSystemConnector extends SystemConnectorBase_1.SystemConnectorBase {
31
32
  this._login.user = this._login.user.toUpperCase();
32
33
  this._lang = this._login.lang;
33
34
  this._user = this._login.user;
34
- if (normalizeEndpoint) {
35
+ if (this._normalizeEndpoint) {
35
36
  trm_commons_1.Logger.log(`REST connection data before normalize: ${JSON.stringify(this._connection)}`, true);
36
37
  this._connection.endpoint = (0, normalize_url_1.default)(this._connection.endpoint, {
37
38
  removeTrailingSlash: true
@@ -51,6 +52,9 @@ class RESTSystemConnector extends SystemConnectorBase_1.SystemConnectorBase {
51
52
  trm_commons_1.Logger.log(`REST connection data after normalize: ${JSON.stringify(this._connection)}`, true);
52
53
  this._client = new client_1.RESTClient(this._connection.endpoint, this._connection.rfcdest, this._login, this._lang[0]);
53
54
  }
55
+ getNewConnection() {
56
+ return new RESTSystemConnector(this._connection, this._login, this._normalizeEndpoint);
57
+ }
54
58
  getSysname() {
55
59
  return this.getDest();
56
60
  }
@@ -101,6 +105,12 @@ class RESTSystemConnector extends SystemConnectorBase_1.SystemConnectorBase {
101
105
  getInstalledPackagesBackend() {
102
106
  return this._client.getInstalledPackagesBackend();
103
107
  }
108
+ getPackageDependenciesInternal(devclass, includeSubPackages, logId) {
109
+ return this._client.getPackageDependencies(devclass, includeSubPackages, logId);
110
+ }
111
+ getObjectDependenciesInternal(object, objName) {
112
+ return this._client.getObjectDependencies(object, objName);
113
+ }
104
114
  getConnectionData() {
105
115
  return this._connection;
106
116
  }
@@ -108,15 +118,15 @@ class RESTSystemConnector extends SystemConnectorBase_1.SystemConnectorBase {
108
118
  return this._user;
109
119
  }
110
120
  connect() {
111
- return __awaiter(this, void 0, void 0, function* () {
121
+ return __awaiter(this, arguments, void 0, function* (silent = false) {
112
122
  trm_commons_1.Logger.loading(`Connecting to ${this.getDest()}...`);
113
123
  try {
114
124
  yield this._client.open();
115
125
  this._dest = yield this._client.getDest();
116
- trm_commons_1.Logger.success(`Connected to ${this.getDest()} as ${this._user}.`, false);
126
+ trm_commons_1.Logger.success(`Connected to ${this.getDest()} as ${this._user}.`, silent);
117
127
  }
118
128
  catch (e) {
119
- trm_commons_1.Logger.error(`Connection to ${this.getDest()} as ${this._user} failed.`, false);
129
+ trm_commons_1.Logger.error(`Connection to ${this.getDest()} as ${this._user} failed.`, silent);
120
130
  throw e;
121
131
  }
122
132
  });
@@ -338,5 +348,20 @@ class RESTSystemConnector extends SystemConnectorBase_1.SystemConnectorBase {
338
348
  return this._client.changeTrOwner(trkorr, owner);
339
349
  });
340
350
  }
351
+ createLogPolling(event) {
352
+ return __awaiter(this, void 0, void 0, function* () {
353
+ return this._client.createLogPolling(event);
354
+ });
355
+ }
356
+ deleteLogPolling(logID) {
357
+ return __awaiter(this, void 0, void 0, function* () {
358
+ return this._client.deleteLogPolling(logID);
359
+ });
360
+ }
361
+ readLogPolling(logID) {
362
+ return __awaiter(this, void 0, void 0, function* () {
363
+ return this._client.readLogPolling(logID);
364
+ });
365
+ }
341
366
  }
342
367
  exports.RESTSystemConnector = RESTSystemConnector;
@@ -12,12 +12,14 @@ export declare class RFCSystemConnector extends SystemConnectorBase implements I
12
12
  private _connection;
13
13
  private _login;
14
14
  private _traceDir?;
15
+ private _globalNodeModulesPath?;
15
16
  private _lang;
16
17
  private _user;
17
18
  protected _client: RFCClient;
18
19
  private _isServerApisAllowed;
19
20
  supportedBulk: SystemConnectorSupportedBulk;
20
21
  constructor(_connection: RFCConnection, _login: Login, _traceDir?: string, _globalNodeModulesPath?: string);
22
+ getNewConnection(): ISystemConnector;
21
23
  protected getSysname(): string;
22
24
  getDest(): string;
23
25
  protected getLangu(c: boolean): string;
@@ -29,6 +31,8 @@ export declare class RFCSystemConnector extends SystemConnectorBase implements I
29
31
  protected tdevcInterface(devclass: components.DEVCLASS, parentcl?: components.DEVCLASS, rmParentCl?: boolean, devlayer?: components.DEVLAYER): Promise<void>;
30
32
  protected getR3transInfo(): Promise<string>;
31
33
  protected getInstalledPackagesBackend(): Promise<struct.ZTY_TRM_PACKAGE[]>;
34
+ protected getPackageDependenciesInternal(devclass: DEVCLASS, includeSubPackages: boolean, logId?: components.ZTRM_POLLING_ID): Promise<struct.ZTRM_OBJECT_DEPENDENCIES[]>;
35
+ protected getObjectDependenciesInternal(object: components.TROBJTYPE, objName: components.SOBJ_NAME): Promise<struct.ZTRM_OBJECT_DEPENDENCY[]>;
32
36
  getConnectionData(): RFCConnection;
33
37
  getLogonUser(): string;
34
38
  connect(silent?: boolean): Promise<void>;
@@ -79,4 +83,7 @@ export declare class RFCSystemConnector extends SystemConnectorBase implements I
79
83
  }>;
80
84
  isServerApisAllowed(): Promise<true | ClientError>;
81
85
  changeTrOwner(trkorr: components.TRKORR, owner: components.TR_AS4USER): Promise<void>;
86
+ createLogPolling(event: components.ZTRM_POLLING_EVENT): Promise<components.ZTRM_POLLING_ID>;
87
+ deleteLogPolling(logID: components.ZTRM_POLLING_ID): Promise<void>;
88
+ readLogPolling(logID: components.ZTRM_POLLING_ID): Promise<components.ZTRM_POLLING_LAST_MSG>;
82
89
  }
@@ -19,6 +19,7 @@ class RFCSystemConnector extends SystemConnectorBase_1.SystemConnectorBase {
19
19
  this._connection = _connection;
20
20
  this._login = _login;
21
21
  this._traceDir = _traceDir;
22
+ this._globalNodeModulesPath = _globalNodeModulesPath;
22
23
  this.supportedBulk = {
23
24
  getTransportObjects: false,
24
25
  getExistingObjects: false
@@ -29,7 +30,10 @@ class RFCSystemConnector extends SystemConnectorBase_1.SystemConnectorBase {
29
30
  if (!this._connection.saprouter) {
30
31
  delete this._connection.saprouter;
31
32
  }
32
- this._client = new client_1.RFCClient(Object.assign(Object.assign({}, this._connection), this._login), this._lang[0], this._traceDir, _globalNodeModulesPath);
33
+ this._client = new client_1.RFCClient(Object.assign(Object.assign({}, this._connection), this._login), this._lang[0], this._traceDir, this._globalNodeModulesPath);
34
+ }
35
+ getNewConnection() {
36
+ return new RFCSystemConnector(this._connection, this._login, this._traceDir, this._globalNodeModulesPath);
33
37
  }
34
38
  getSysname() {
35
39
  return this.getDest();
@@ -81,6 +85,12 @@ class RFCSystemConnector extends SystemConnectorBase_1.SystemConnectorBase {
81
85
  getInstalledPackagesBackend() {
82
86
  return this._client.getInstalledPackagesBackend();
83
87
  }
88
+ getPackageDependenciesInternal(devclass, includeSubPackages, logId) {
89
+ return this._client.getPackageDependencies(devclass, includeSubPackages, logId);
90
+ }
91
+ getObjectDependenciesInternal(object, objName) {
92
+ return this._client.getObjectDependenciesInternal(object, objName);
93
+ }
84
94
  getConnectionData() {
85
95
  return this._connection;
86
96
  }
@@ -308,5 +318,20 @@ class RFCSystemConnector extends SystemConnectorBase_1.SystemConnectorBase {
308
318
  return this._client.changeTrOwner(trkorr, owner);
309
319
  });
310
320
  }
321
+ createLogPolling(event) {
322
+ return __awaiter(this, void 0, void 0, function* () {
323
+ return this._client.createLogPolling(event);
324
+ });
325
+ }
326
+ deleteLogPolling(logID) {
327
+ return __awaiter(this, void 0, void 0, function* () {
328
+ return this._client.deleteLogPolling(logID);
329
+ });
330
+ }
331
+ readLogPolling(logID) {
332
+ return __awaiter(this, void 0, void 0, function* () {
333
+ return this._client.readLogPolling(logID);
334
+ });
335
+ }
311
336
  }
312
337
  exports.RFCSystemConnector = RFCSystemConnector;