trm-core 10.2.0 → 10.3.1

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 CHANGED
@@ -8,6 +8,16 @@ Legend
8
8
  + : added
9
9
  - : removed
10
10
 
11
+ 2026-10-14 v10.3.1
12
+ -------------------
13
+ * dependency tree preserves the direct ABAP package instead of collapsing it to the root package
14
+ * dependency tree lists every object referencing the same TRM package
15
+
16
+ 2026-10-14 v10.3.0
17
+ -------------------
18
+ * rollback cleanup excludes LANG entries rejected by SAP deletion transports
19
+ * trm-server/trm-rest upgrades requeue their fixed TADIR transport and refresh its TMS description
20
+
11
21
  2026-10-13 v10.2.0
12
22
  -------------------
13
23
  * request of import /ATRM/ (fixed $)
Binary file
@@ -34,7 +34,7 @@ exports.prepareTadir = {
34
34
  (0, stopWarning_1.stopWarning)('install');
35
35
  }
36
36
  yield (0, utils_1.withScopedPrefix)(`(${transport_1.Transport.getTransportIcon()} Workbench) `, () => __awaiter(void 0, void 0, void 0, function* () {
37
- var _a;
37
+ var _a, _b;
38
38
  //1- generate dummy transport (if registry is not local)
39
39
  //checking if binaries are already loaded in context instead of checking registry local
40
40
  //is equivalent, but better for possible changes in the future
@@ -68,6 +68,21 @@ exports.prepareTadir = {
68
68
  else {
69
69
  trkorr = context.runtime.transports.tadir.binaries.trkorr;
70
70
  }
71
+ // trm-server and trm-rest reuse the same TADIR transport in every release. Remove the
72
+ // previous queue entry before forwarding the new payload, otherwise TMS keeps its old
73
+ // position. This is best effort: an absent entry (or an older backend that cannot remove
74
+ // it) must not prevent the backend upgrade.
75
+ const packageName = ((_b = context.runtime.package.data.manifest) === null || _b === void 0 ? void 0 : _b.name) || context.rawInput.packageData.name;
76
+ const fixedTrkorr = utils_1.TRM_FIXED_TADIR_TRANSPORTS[packageName];
77
+ if (context.runtime.selfUpdate && fixedTrkorr === trkorr) {
78
+ try {
79
+ trm_commons_1.Logger.loading(`Removing previous ${trkorr} from ${systemConnector_1.SystemConnector.getDest()} import queue...`, true);
80
+ yield systemConnector_1.SystemConnector.deleteTmsTransport(trkorr, systemConnector_1.SystemConnector.getDest());
81
+ }
82
+ catch (error) {
83
+ trm_commons_1.Logger.warning(`Couldn't remove ${trkorr} from ${systemConnector_1.SystemConnector.getDest()} import queue: ${error instanceof Error ? error.message : String(error)}`, true);
84
+ }
85
+ }
71
86
  //2- upload transport binaries
72
87
  trm_commons_1.Logger.loading(`Uploading transport...`);
73
88
  context.runtime.transports.tadir.instance = yield transport_1.Transport.upload(trkorr, {
@@ -80,7 +80,7 @@ class PackageDependencies {
80
80
  foundIn: []
81
81
  }) - 1;
82
82
  }
83
- if (!this.trmPackageDependencies[depIndex].foundIn.find(f => f.object === o.object && f.objName === f.objName)) {
83
+ if (!this.trmPackageDependencies[depIndex].foundIn.find(f => f.object === o.object && f.objName === o.objName)) {
84
84
  this.trmPackageDependencies[depIndex].foundIn.push({
85
85
  object: o.object,
86
86
  objName: o.objName
@@ -98,11 +98,12 @@ class PackageDependencies {
98
98
  for (const dep of sapPackage.dependencies) {
99
99
  // only if the abap package is not a subpackage of the one analyzed
100
100
  if (!(yield this.getDevclasses()).includes(sapPackage.package)) {
101
- // get the root, in trm we assume subpackages are part of the same package (supposing the user will generate on after a mising dependency)
102
- const root = yield systemConnector_1.SystemConnector.getRootDevclass(sapPackage.package);
103
- var packageIndex = this.abapPackageDependencies.findIndex(k => k.abapPackage.devclass === root);
101
+ // Keep the package that owns the dependency. Collapsing it to the topmost
102
+ // superpackage loses the actionable package reported by TADIR and can group
103
+ // unrelated dependencies under a broad customer-package root.
104
+ var packageIndex = this.abapPackageDependencies.findIndex(k => k.abapPackage.devclass === sapPackage.package);
104
105
  if (packageIndex < 0) {
105
- const abapPackage = yield systemConnector_1.SystemConnector.getDevclass(root);
106
+ const abapPackage = yield systemConnector_1.SystemConnector.getDevclass(sapPackage.package);
106
107
  packageIndex = this.abapPackageDependencies.push({
107
108
  abapPackage: abapPackage,
108
109
  isCustomerPackage: !abapPackage.tpclass,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "trm-core",
3
- "version": "10.2.0",
3
+ "version": "10.3.1",
4
4
  "description": "TRM (Transport Request Manager) Core",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",