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
package/changelog.txt CHANGED
@@ -8,6 +8,16 @@ Legend
8
8
  + : added
9
9
  - : removed
10
10
 
11
+ 2026-02-11 v8.2.0
12
+ -------------------
13
+ ! dependency detection moved to trm-server
14
+ ! trm-server ^5.1.0
15
+ ! package.json detection
16
+
17
+ 2025-11-16 v8.1.4
18
+ -------------------
19
+ + execute trm-server post activities if necessary
20
+
11
21
  2025-11-15 v8.1.3
12
22
  -------------------
13
23
  * multiple dependencies detected for same object
@@ -1,3 +1,4 @@
1
1
  export * from "./IActionContext";
2
2
  export * from "./setSystemPackages";
3
3
  export * from "./checkServerAuth";
4
+ export * from "./trmServerPa";
@@ -17,3 +17,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./IActionContext"), exports);
18
18
  __exportStar(require("./setSystemPackages"), exports);
19
19
  __exportStar(require("./checkServerAuth"), exports);
20
+ __exportStar(require("./trmServerPa"), exports);
@@ -0,0 +1,3 @@
1
+ import { Step } from "@simonegaffurini/sammarksworkflow";
2
+ import { IActionContext } from "..";
3
+ export declare const trmServerPa: Step<IActionContext>;
@@ -0,0 +1,40 @@
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.trmServerPa = void 0;
13
+ const trm_commons_1 = require("trm-commons");
14
+ const systemConnector_1 = require("../../systemConnector");
15
+ const registry_1 = require("../../registry");
16
+ const manifest_1 = require("../../manifest");
17
+ exports.trmServerPa = {
18
+ name: 'trm-server-pa',
19
+ run: (context) => __awaiter(void 0, void 0, void 0, function* () {
20
+ var _a, _b, _c, _d;
21
+ trm_commons_1.Logger.log('Run trm-server pa step', true);
22
+ const trmServerPackage = (_b = (_a = context.rawInput.contextData) === null || _a === void 0 ? void 0 : _a.systemPackages) === null || _b === void 0 ? void 0 : _b.find(o => o.packageName === systemConnector_1.TRM_SERVER_PACKAGE_NAME && o.compareRegistry(registry_1.RegistryProvider.getRegistry()));
23
+ if (trmServerPackage) {
24
+ const pa = (_c = trmServerPackage.manifest) === null || _c === void 0 ? void 0 : _c.get().postActivities;
25
+ if (pa) {
26
+ trm_commons_1.Logger.setPrefix(`Initialize trm-server v${(_d = trmServerPackage.manifest) === null || _d === void 0 ? void 0 : _d.get().version} -> `);
27
+ for (const data of pa) {
28
+ try {
29
+ const postActivity = new manifest_1.PostActivity(data);
30
+ yield postActivity.execute();
31
+ }
32
+ catch (e) {
33
+ trm_commons_1.Logger.error(e.toString(), true);
34
+ }
35
+ }
36
+ trm_commons_1.Logger.removePrefix();
37
+ }
38
+ }
39
+ })
40
+ };
@@ -2,6 +2,5 @@ export * from "./commons";
2
2
  export * from "./installDependency";
3
3
  export * from "./checkPackageDependencies";
4
4
  export * from "./checkSapEntries";
5
- export * from "./findDependencies";
6
5
  export * from "./install";
7
6
  export * from "./publish";
@@ -18,6 +18,5 @@ __exportStar(require("./commons"), exports);
18
18
  __exportStar(require("./installDependency"), exports);
19
19
  __exportStar(require("./checkPackageDependencies"), exports);
20
20
  __exportStar(require("./checkSapEntries"), exports);
21
- __exportStar(require("./findDependencies"), exports);
22
21
  __exportStar(require("./install"), exports);
23
22
  __exportStar(require("./publish"), exports);
@@ -82,7 +82,9 @@ exports.generateDevclass = {
82
82
  }
83
83
  aDummyTdevc.push({
84
84
  devclass: packageReplacement.installDevclass,
85
- parentcl: parentcl
85
+ parentcl: parentcl,
86
+ dlvunit: '',
87
+ tpclass: ''
86
88
  });
87
89
  }
88
90
  const installPackageHierarchy = (0, commons_1.getPackageHierarchy)(aDummyTdevc);
@@ -50,6 +50,7 @@ function install(inputData) {
50
50
  __1.checkServerAuth,
51
51
  init_1.init,
52
52
  setSystemPackages_1.setSystemPackages,
53
+ __1.trmServerPa,
53
54
  setTrmServerUpgradeService_1.setTrmServerUpgradeService,
54
55
  checkAlreadyInstalled_1.checkAlreadyInstalled,
55
56
  checkSapEntries_1.checkSapEntries,
@@ -55,7 +55,7 @@ exports.init = {
55
55
  }
56
56
  manifest = artifact.getManifest().get();
57
57
  }
58
- trm_commons_1.Logger.info(`Ready to install ${manifest.name} v${manifest.version}${!(0, semver_1.valid)(context.rawInput.packageData.version) ? ' (' + context.rawInput.packageData.version + ')' : ''}.`);
58
+ trm_commons_1.Logger.info(`Ready to install ${manifest.name} v${manifest.version}${!(0, semver_1.valid)(context.rawInput.packageData.version) ? ' (' + context.rawInput.packageData.version || 'latest' + ')' : ''}.`);
59
59
  context.runtime = {
60
60
  registry: actualRegistry || registry,
61
61
  update: undefined,
@@ -18,7 +18,7 @@ exports.findInstallRelease = {
18
18
  name: 'find-install-release',
19
19
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
20
20
  trm_commons_1.Logger.log('Find install release step', true);
21
- const lock = context.rawInput.installData.checks.lockfile ? context.rawInput.installData.checks.lockfile.getLock(context.runtime.trmPackage) : null;
21
+ const lock = context.rawInput.installData.checks.lockfile ? context.rawInput.installData.checks.lockfile.getLock(context.runtime.trmPackage, context.rawInput.dependencyDataPackage.versionRange) : null;
22
22
  if (lock) {
23
23
  const testLock = yield lockfile_1.Lockfile.testReleaseByLock(lock);
24
24
  if (!testLock) {
@@ -1,4 +1,37 @@
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
+ })();
2
35
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
36
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
37
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -11,16 +44,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
44
  Object.defineProperty(exports, "__esModule", { value: true });
12
45
  exports.findDependencies = void 0;
13
46
  const trm_commons_1 = require("trm-commons");
14
- const __1 = require("..");
15
47
  const registry_1 = require("../../registry");
16
- const SUBWORKFLOW_NAME = 'find-dependencies-sub-publish';
17
- const _isObjectEqual = (obj1, obj2) => {
18
- const keys1 = Object.keys(obj1);
19
- const keys2 = Object.keys(obj2);
20
- if (keys1.length !== keys2.length)
21
- return false;
22
- return keys1.every(key => obj2.hasOwnProperty(key) && obj1[key] === obj2[key]);
23
- };
48
+ const systemConnector_1 = require("../../systemConnector");
49
+ const _ = __importStar(require("lodash"));
24
50
  exports.findDependencies = {
25
51
  name: 'find-dependencies',
26
52
  filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
@@ -36,69 +62,60 @@ exports.findDependencies = {
36
62
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
37
63
  trm_commons_1.Logger.log('Find dependencies step', true);
38
64
  trm_commons_1.Logger.loading(`Searching for dependencies in package "${context.rawInput.packageData.devclass}"...`);
39
- const inputData = {
40
- packageData: {
41
- package: context.rawInput.packageData.devclass,
42
- objects: context.runtime.packageData.tadir
43
- },
44
- contextData: {
45
- noInquirer: context.rawInput.contextData.noInquirer
46
- },
47
- printOptions: {
48
- sapObjectDependencies: false,
49
- trmDependencies: false
50
- }
51
- };
52
- trm_commons_1.Logger.log(`Ready to execute sub-workflow ${SUBWORKFLOW_NAME}, input data: ${(0, trm_commons_1.inspect)(inputData, { breakLength: Infinity, compact: true })}`, true);
53
- const result = yield (0, __1.findDependencies)(inputData);
54
- trm_commons_1.Logger.log(`Workflow ${SUBWORKFLOW_NAME} result: ${(0, trm_commons_1.inspect)(result, { breakLength: Infinity, compact: true })}`, true);
55
- context.rawInput.publishData.noDependenciesDetection = result.abort;
56
- if (!context.rawInput.publishData.noDependenciesDetection) {
57
- const aUnknownDependencyDevclass = (result.trmPackageDependencies.withoutTrmPackage).map(o => o.devclass);
58
- if (aUnknownDependencyDevclass.length > 0) {
59
- trm_commons_1.Logger.error(`Package "${context.rawInput.packageData.devclass}" has ${aUnknownDependencyDevclass.length} missing ${aUnknownDependencyDevclass.length === 1 ? 'dependency' : 'dependencies'}:`);
60
- aUnknownDependencyDevclass.forEach((d, i) => {
61
- trm_commons_1.Logger.error(` (${i + 1}/${aUnknownDependencyDevclass.length}) ${d}`);
62
- });
63
- throw new Error(`Resolve missing dependencies by publishing them as TRM packages.`);
64
- }
65
- trm_commons_1.Logger.info(`Package "${context.rawInput.packageData.devclass}" has ${result.trmPackageDependencies.withTrmPackage.length} TRM package ${result.trmPackageDependencies.withTrmPackage.length === 1 ? 'dependency' : 'dependencies'} and ${result.objectDependencies.sapObjects.reduce((sum, obj) => sum + obj.dependencies.length, 0)} required SAP ${result.objectDependencies.sapObjects.reduce((sum, obj) => sum + obj.dependencies.length, 0) === 1 ? 'object' : 'objects'}.`);
65
+ const dependencies = yield systemConnector_1.SystemConnector.getPackageDependencies(context.rawInput.packageData.devclass, true);
66
+ const trmDependencies = yield dependencies.getTrmDependencies();
67
+ const trmLocalDependencies = trmDependencies.filter(o => o.registry.getRegistryType() === registry_1.RegistryType.LOCAL);
68
+ const otherDependencies = yield dependencies.getOtherPackageDependencies();
69
+ const sapDependencies = otherDependencies.filter(o => o.package.tpclass);
70
+ const sapObjectsUsed = sapDependencies.flatMap(pkg => pkg.dependencies).reduce((sum, dep) => sum + dep.tabkey.length, 0);
71
+ const customDependencies = otherDependencies.filter(o => !o.package.tpclass);
72
+ if (customDependencies.length > 0) {
73
+ trm_commons_1.Logger.error(`Package "${context.rawInput.packageData.devclass}" has dependencies with ${customDependencies.length} non-TRM ${customDependencies.length === 1 ? 'package' : 'packages'}:`);
74
+ customDependencies.forEach((d, i) => {
75
+ trm_commons_1.Logger.error(` (${i + 1}/${customDependencies.length}) ${d.package.devclass}`);
76
+ });
77
+ throw new Error(`Consider publishing them as TRM packages or refactor your development to avoid the dependency.`);
78
+ }
79
+ if (trmLocalDependencies.length > 0) {
80
+ trm_commons_1.Logger.error(`Package "${context.rawInput.packageData.devclass}" has dependencies with ${trmLocalDependencies.length} TRM local ${customDependencies.length === 1 ? 'package' : 'packages'}:`);
81
+ trmLocalDependencies.forEach((d, i) => {
82
+ trm_commons_1.Logger.error(` (${i + 1}/${customDependencies.length}) ${d.packageName}`);
83
+ });
84
+ throw new Error(`Cannot deliver to registry a TRM package with a local TRM package.`);
85
+ }
86
+ trm_commons_1.Logger.info(`Package "${context.rawInput.packageData.devclass}" has ${trmDependencies.length} TRM package ${trmDependencies.length === 1 ? 'dependency' : 'dependencies'} and references/uses ${sapObjectsUsed} SAP ${sapObjectsUsed === 1 ? 'object' : 'objects'}.`);
87
+ if (trmDependencies.length > 0) {
66
88
  trm_commons_1.Logger.log(`Adding TRM package dependencies to manifest`, true);
67
- trm_commons_1.Logger.loading(`Updating manifest...`);
68
- result.trmPackageDependencies.withTrmPackage.forEach((o, i) => {
69
- if (o.package.registry.getRegistryType() === registry_1.RegistryType.LOCAL) {
70
- trm_commons_1.Logger.error(` (${i + 1}/${result.trmPackageDependencies.withTrmPackage.length}) Cannot have dependency with ABAP package "${o.devclass}": TRM package was installed manually`);
89
+ trm_commons_1.Logger.info(`Updating "${context.rawInput.packageData.name}" manifest with dependencies:`);
90
+ trmDependencies.forEach((o, i) => {
91
+ if (o.manifest) {
92
+ const dependencyManifest = o.manifest.get();
93
+ const dependencyVersionRange = `^${dependencyManifest.version}`;
94
+ const dependencyRegistry = o.registry.getRegistryType() === registry_1.RegistryType.PUBLIC ? undefined : o.registry.endpoint;
95
+ context.runtime.trmPackage.manifest.dependencies.push({
96
+ name: dependencyManifest.name,
97
+ version: dependencyVersionRange,
98
+ registry: dependencyRegistry
99
+ });
100
+ trm_commons_1.Logger.info(` (${i + 1}/${trmDependencies.length}) ${dependencyManifest.name}${dependencyRegistry ? ' (' + o.registry.name + ')' : ''} ${dependencyVersionRange}`);
71
101
  }
72
102
  else {
73
- if (o.package.manifest) {
74
- const dependencyManifest = o.package.manifest.get();
75
- const dependencyVersionRange = `^${dependencyManifest.version}`;
76
- const dependencyRegistry = o.package.registry.getRegistryType() === registry_1.RegistryType.PUBLIC ? undefined : o.package.registry.endpoint;
77
- context.runtime.trmPackage.manifest.dependencies.push({
78
- name: dependencyManifest.name,
79
- version: dependencyVersionRange,
80
- registry: dependencyRegistry
81
- });
82
- }
83
- else {
84
- trm_commons_1.Logger.error(` (${i + 1}/${result.trmPackageDependencies.withTrmPackage.length}) Cannot find manifest of dependency in ABAP package "${o.devclass}"`);
85
- }
103
+ trm_commons_1.Logger.error(` (${i + 1}/${trmDependencies.length}) Cannot find manifest of dependency in ABAP package "${o.getDevclass()}"`);
86
104
  }
87
105
  });
106
+ }
107
+ if (sapDependencies.length > 0) {
88
108
  trm_commons_1.Logger.log(`Adding SAP objects dependencies to manifest`, true);
89
- trm_commons_1.Logger.loading(`Updating manifest...`);
90
- result.objectDependencies.sapObjects.forEach(o => {
91
- if (!context.runtime.trmPackage.manifest.sapEntries[o.table]) {
92
- context.runtime.trmPackage.manifest.sapEntries[o.table] = [];
93
- }
94
- o.dependencies.forEach(k => {
95
- var tableKeys = k.object;
96
- if (o.table === 'TADIR') {
97
- delete tableKeys['DEVCLASS'];
98
- }
99
- if (!context.runtime.trmPackage.manifest.sapEntries[o.table].some(o => _isObjectEqual(o, tableKeys))) {
100
- context.runtime.trmPackage.manifest.sapEntries[o.table].push(tableKeys);
109
+ sapDependencies.forEach(o => {
110
+ o.dependencies.forEach(d => {
111
+ if (!context.runtime.trmPackage.manifest.sapEntries[d.tabname]) {
112
+ context.runtime.trmPackage.manifest.sapEntries[d.tabname] = [];
101
113
  }
114
+ d.tabkey.forEach(k => {
115
+ if (!context.runtime.trmPackage.manifest.sapEntries[d.tabname].find(c => _.isEqual(c, k))) {
116
+ context.runtime.trmPackage.manifest.sapEntries[d.tabname].push(k);
117
+ }
118
+ });
102
119
  });
103
120
  });
104
121
  }
@@ -43,7 +43,7 @@ exports.getSourceCode = {
43
43
  }
44
44
  catch (e) {
45
45
  trm_commons_1.Logger.error(e.toString(), true);
46
- trm_commons_1.Logger.info(`AbapGit Developer Version was not found, source code won't be exported.`, true);
46
+ trm_commons_1.Logger.info(`AbapGit repository for package "${context.rawInput.packageData.devclass}" was not found, source code won't be exported.`, true);
47
47
  }
48
48
  })
49
49
  };
@@ -40,6 +40,7 @@ function publish(inputData) {
40
40
  __1.checkServerAuth,
41
41
  init_1.init,
42
42
  __1.setSystemPackages,
43
+ __1.trmServerPa,
43
44
  setTransportTarget_1.setTransportTarget,
44
45
  setDevclass_1.setDevclass,
45
46
  findDependencies_1.findDependencies,
@@ -68,4 +68,9 @@ export declare class RESTClient implements IClient {
68
68
  getInstalledPackagesBackend(): Promise<struct.ZTY_TRM_PACKAGE[]>;
69
69
  isServerApisAllowed(): Promise<true | RESTClientError>;
70
70
  changeTrOwner(trkorr: components.TRKORR, owner: components.TR_AS4USER): Promise<void>;
71
+ getPackageDependencies(devclass: components.DEVCLASS, includeSubPackages: boolean, logId?: components.ZTRM_POLLING_ID): Promise<struct.ZTRM_OBJECT_DEPENDENCIES[]>;
72
+ getObjectDependencies(object: components.TROBJTYPE, objName: components.SOBJ_NAME): Promise<struct.ZTRM_OBJECT_DEPENDENCY[]>;
73
+ createLogPolling(event: components.ZTRM_POLLING_EVENT): Promise<components.ZTRM_POLLING_ID>;
74
+ deleteLogPolling(logID: components.ZTRM_POLLING_ID): Promise<void>;
75
+ readLogPolling(logID: components.ZTRM_POLLING_ID): Promise<components.ZTRM_POLLING_LAST_MSG>;
71
76
  }
@@ -684,5 +684,57 @@ class RESTClient {
684
684
  });
685
685
  });
686
686
  }
687
+ getPackageDependencies(devclass, includeSubPackages, logId) {
688
+ return __awaiter(this, void 0, void 0, function* () {
689
+ const result = (yield this._axiosInstance.get('/get_package_dependencies', {
690
+ data: {
691
+ devclass,
692
+ incl_sub: includeSubPackages,
693
+ log_id: logId
694
+ }
695
+ })).data;
696
+ return result.dependencies;
697
+ });
698
+ }
699
+ getObjectDependencies(object, objName) {
700
+ return __awaiter(this, void 0, void 0, function* () {
701
+ const result = (yield this._axiosInstance.get('/get_object_dependencies', {
702
+ data: {
703
+ object: {
704
+ object,
705
+ obj_name: objName
706
+ }
707
+ }
708
+ })).data;
709
+ return result.dependencies;
710
+ });
711
+ }
712
+ createLogPolling(event) {
713
+ return __awaiter(this, void 0, void 0, function* () {
714
+ const result = (yield this._axiosInstance.post('/create_log_polling', {
715
+ event
716
+ })).data;
717
+ return result.id;
718
+ });
719
+ }
720
+ deleteLogPolling(logID) {
721
+ return __awaiter(this, void 0, void 0, function* () {
722
+ yield this._axiosInstance.delete('/delete_log_polling', {
723
+ data: {
724
+ id: logID
725
+ }
726
+ });
727
+ });
728
+ }
729
+ readLogPolling(logID) {
730
+ return __awaiter(this, void 0, void 0, function* () {
731
+ const result = (yield this._axiosInstance.get('/read_log_polling', {
732
+ data: {
733
+ id: logID
734
+ }
735
+ })).data;
736
+ return result.message;
737
+ });
738
+ }
687
739
  }
688
740
  exports.RESTClient = RESTClient;
@@ -68,4 +68,9 @@ export declare class RFCClient implements IClient {
68
68
  getInstalledPackagesBackend(): Promise<struct.ZTY_TRM_PACKAGE[]>;
69
69
  isServerApisAllowed(): Promise<true | RFCClientError>;
70
70
  changeTrOwner(trkorr: components.TRKORR, owner: components.TR_AS4USER): Promise<void>;
71
+ getPackageDependencies(devclass: components.DEVCLASS, includeSubPackages: boolean, logId?: components.ZTRM_POLLING_ID): Promise<struct.ZTRM_OBJECT_DEPENDENCIES[]>;
72
+ getObjectDependenciesInternal(object: components.TROBJTYPE, objName: components.SOBJ_NAME): Promise<struct.ZTRM_OBJECT_DEPENDENCY[]>;
73
+ createLogPolling(event: components.ZTRM_POLLING_EVENT): Promise<components.ZTRM_POLLING_ID>;
74
+ deleteLogPolling(logID: components.ZTRM_POLLING_ID): Promise<void>;
75
+ readLogPolling(logID: components.ZTRM_POLLING_ID): Promise<components.ZTRM_POLLING_LAST_MSG>;
71
76
  }
@@ -685,5 +685,49 @@ class RFCClient {
685
685
  });
686
686
  });
687
687
  }
688
+ getPackageDependencies(devclass, includeSubPackages, logId) {
689
+ return __awaiter(this, void 0, void 0, function* () {
690
+ const result = yield this._call("ZTRM_GET_DEPENDENCIES", {
691
+ iv_devclass: devclass,
692
+ iv_incl_sub: includeSubPackages ? 'X' : ' ',
693
+ iv_log_id: logId
694
+ });
695
+ return result['etDependencies'];
696
+ });
697
+ }
698
+ getObjectDependenciesInternal(object, objName) {
699
+ return __awaiter(this, void 0, void 0, function* () {
700
+ const result = yield this._call("ZTRM_GET_DEPENDENCIES_SINGLE", {
701
+ is_object: {
702
+ object,
703
+ obj_name: objName
704
+ }
705
+ });
706
+ return result['etDependencies'];
707
+ });
708
+ }
709
+ createLogPolling(event) {
710
+ return __awaiter(this, void 0, void 0, function* () {
711
+ const result = yield this._call("ZTRM_CREATE_LOG_POLLING", {
712
+ iv_event: event
713
+ });
714
+ return result['evId'];
715
+ });
716
+ }
717
+ deleteLogPolling(logID) {
718
+ return __awaiter(this, void 0, void 0, function* () {
719
+ yield this._call("ZTRM_DELETE_LOG_POLLING", {
720
+ iv_id: logID
721
+ });
722
+ });
723
+ }
724
+ readLogPolling(logID) {
725
+ return __awaiter(this, void 0, void 0, function* () {
726
+ const result = yield this._call("ZTRM_READ_LOG_POLLING", {
727
+ iv_id: logID
728
+ });
729
+ return result['evLog'];
730
+ });
731
+ }
688
732
  }
689
733
  exports.RFCClient = RFCClient;
@@ -0,0 +1 @@
1
+ export type DDLENG = string;
@@ -0,0 +1 @@
1
+ export type TABFDPOS = string;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export type TPCLASS = string;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export type ZTRM_POLLING_EVENT = string;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export type ZTRM_POLLING_ID = string;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export type ZTRM_POLLING_LAST_MSG = string;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -56,3 +56,9 @@ export * from "./LANGU";
56
56
  export * from "./SEODESCR";
57
57
  export * from "./PROGNAME";
58
58
  export * from "./TR_AS4USER";
59
+ export * from "./TABFDPOS";
60
+ export * from "./DDLENG";
61
+ export * from "./TPCLASS";
62
+ export * from "./ZTRM_POLLING_ID";
63
+ export * from "./ZTRM_POLLING_EVENT";
64
+ export * from "./ZTRM_POLLING_LAST_MSG";
@@ -72,3 +72,9 @@ __exportStar(require("./LANGU"), exports);
72
72
  __exportStar(require("./SEODESCR"), exports);
73
73
  __exportStar(require("./PROGNAME"), exports);
74
74
  __exportStar(require("./TR_AS4USER"), exports);
75
+ __exportStar(require("./TABFDPOS"), exports);
76
+ __exportStar(require("./DDLENG"), exports);
77
+ __exportStar(require("./TPCLASS"), exports);
78
+ __exportStar(require("./ZTRM_POLLING_ID"), exports);
79
+ __exportStar(require("./ZTRM_POLLING_EVENT"), exports);
80
+ __exportStar(require("./ZTRM_POLLING_LAST_MSG"), exports);
@@ -0,0 +1,6 @@
1
+ import { DDLENG, FIELDNAME, TABFDPOS } from "../components";
2
+ export type DD03L = {
3
+ fieldname: FIELDNAME;
4
+ position: TABFDPOS;
5
+ leng: DDLENG;
6
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,6 +1,8 @@
1
- import { AS4TEXT, DEVCLASS, PARENTCL } from "../components";
1
+ import { AS4TEXT, DEVCLASS, DLVUNIT, PARENTCL, TPCLASS } from "../components";
2
2
  export type TDEVC = {
3
3
  devclass: DEVCLASS;
4
4
  parentcl: PARENTCL;
5
+ tpclass: TPCLASS;
6
+ dlvunit: DLVUNIT;
5
7
  ctext?: AS4TEXT;
6
8
  };
@@ -0,0 +1,8 @@
1
+ import { PGMID, SOBJ_NAME, TROBJTYPE } from "../components";
2
+ import { ZTRM_OBJECT_DEPENDENCY } from "./ZTRM_OBJECT_DEPENDENCY";
3
+ export type ZTRM_OBJECT_DEPENDENCIES = {
4
+ pgmid: PGMID;
5
+ object: TROBJTYPE;
6
+ objName: SOBJ_NAME;
7
+ dependencies: ZTRM_OBJECT_DEPENDENCY[];
8
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,8 @@
1
+ import { DEVCLASS, TABNAME, ZTRM_PACKAGE_NAME, ZTRM_PACKAGE_REGISTRY } from "../components";
2
+ export type ZTRM_OBJECT_DEPENDENCY = {
3
+ tabname: TABNAME;
4
+ tabkey: string;
5
+ devclass: DEVCLASS;
6
+ trmPackageName: ZTRM_PACKAGE_NAME;
7
+ trmPackageRegistry: ZTRM_PACKAGE_REGISTRY;
8
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -24,3 +24,6 @@ export * from "./SYMSG";
24
24
  export * from "./SEOCLASSTX";
25
25
  export * from "./ZTY_SER_OBJ";
26
26
  export * from "./ZTY_TRM_PACKAGE";
27
+ export * from "./ZTRM_OBJECT_DEPENDENCY";
28
+ export * from "./ZTRM_OBJECT_DEPENDENCIES";
29
+ export * from "./DD03L";
@@ -40,3 +40,6 @@ __exportStar(require("./SYMSG"), exports);
40
40
  __exportStar(require("./SEOCLASSTX"), exports);
41
41
  __exportStar(require("./ZTY_SER_OBJ"), exports);
42
42
  __exportStar(require("./ZTY_TRM_PACKAGE"), exports);
43
+ __exportStar(require("./ZTRM_OBJECT_DEPENDENCY"), exports);
44
+ __exportStar(require("./ZTRM_OBJECT_DEPENDENCIES"), exports);
45
+ __exportStar(require("./DD03L"), exports);
@@ -1 +1 @@
1
- export declare function getNodePackage(): any;
1
+ export declare function getNodePackage(packageName?: string): any;