trm-core 8.3.1 → 8.4.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 (58) hide show
  1. package/changelog.txt +14 -0
  2. package/dist/actions/install/checkAlreadyInstalled.js +3 -3
  3. package/dist/actions/install/checkTransports.js +1 -0
  4. package/dist/actions/install/generateInstallTransport.js +12 -7
  5. package/dist/actions/install/importCustTransport.js +6 -3
  6. package/dist/actions/install/importDevcTransport.js +6 -3
  7. package/dist/actions/install/importLangTransport.js +6 -3
  8. package/dist/actions/install/importTadirTransport.js +3 -3
  9. package/dist/actions/install/index.d.ts +1 -1
  10. package/dist/actions/install/init.js +1 -1
  11. package/dist/actions/install/setInstallDevclass.js +21 -16
  12. package/dist/actions/publish/generateCustTransport.js +0 -2
  13. package/dist/actions/publish/generateLangTransport.js +0 -4
  14. package/dist/actions/publish/generateTadirTransport.js +0 -5
  15. package/dist/actions/publish/index.d.ts +1 -1
  16. package/dist/actions/publish/init.js +1 -3
  17. package/dist/actions/publish/releaseTransports.js +5 -3
  18. package/dist/actions/publish/setManifestValues.js +1 -0
  19. package/dist/client/RESTClient.d.ts +1 -0
  20. package/dist/client/RESTClient.js +11 -0
  21. package/dist/client/RFCClient.d.ts +1 -0
  22. package/dist/client/RFCClient.js +9 -0
  23. package/dist/client/components/SYDATUM.d.ts +1 -0
  24. package/dist/client/components/SYDATUM.js +2 -0
  25. package/dist/client/components/SYTIME.d.ts +1 -0
  26. package/dist/client/components/SYTIME.js +2 -0
  27. package/dist/client/components/TRTPSTEP.d.ts +1 -0
  28. package/dist/client/components/TRTPSTEP.js +2 -0
  29. package/dist/client/components/index.d.ts +3 -0
  30. package/dist/client/components/index.js +3 -0
  31. package/dist/client/struct/TPSTAT.d.ts +7 -0
  32. package/dist/client/struct/TPSTAT.js +2 -0
  33. package/dist/client/struct/index.d.ts +1 -0
  34. package/dist/client/struct/index.js +1 -0
  35. package/dist/commons/checkCoreTrmDependencies.d.ts +1 -1
  36. package/dist/commons/checkCoreTrmDependencies.js +2 -2
  37. package/dist/commons/fromAbapToDate.d.ts +1 -1
  38. package/dist/commons/fromAbapToDate.js +28 -1
  39. package/dist/commons/getAxiosInstance.js +11 -1
  40. package/dist/commons/getCoreTrmDependencies.d.ts +1 -1
  41. package/dist/commons/getCoreTrmDependencies.js +2 -2
  42. package/dist/commons/getNodePackage.d.ts +1 -1
  43. package/dist/commons/getNodePackage.js +4 -2
  44. package/dist/registry/RegistryV2.d.ts +2 -1
  45. package/dist/registry/RegistryV2.js +7 -4
  46. package/dist/systemConnector/ISystemConnector.d.ts +1 -0
  47. package/dist/systemConnector/ISystemConnectorBase.d.ts +1 -0
  48. package/dist/systemConnector/RESTSystemConnector.d.ts +1 -0
  49. package/dist/systemConnector/RESTSystemConnector.js +5 -0
  50. package/dist/systemConnector/RFCSystemConnector.d.ts +1 -0
  51. package/dist/systemConnector/RFCSystemConnector.js +5 -0
  52. package/dist/systemConnector/SystemConnector.d.ts +2 -0
  53. package/dist/systemConnector/SystemConnector.js +14 -0
  54. package/dist/systemConnector/SystemConnectorBase.d.ts +2 -0
  55. package/dist/systemConnector/SystemConnectorBase.js +106 -0
  56. package/dist/transport/Transport.d.ts +4 -4
  57. package/dist/transport/Transport.js +60 -38
  58. package/package.json +7 -4
package/changelog.txt CHANGED
@@ -8,6 +8,20 @@ Legend
8
8
  + : added
9
9
  - : removed
10
10
 
11
+ 2026-03-03 v8.4.0
12
+ -------------------
13
+ * print message on install
14
+ ! removed buffer from registry debug log output
15
+ ! added manifest to all trm transports
16
+ ! package replacement uses installed package namespace (if in update)
17
+ ! trm-server ^5.2.0
18
+ + import status logging
19
+ ! pass global npm path to avoid useless calls
20
+
21
+ 2026-02-17 v8.3.1
22
+ -------------------
23
+ + temp change to timeout (waiting for proper change)
24
+
11
25
  2026-02-17 v8.3.0
12
26
  -------------------
13
27
  * npm global path
@@ -20,10 +20,10 @@ exports.checkAlreadyInstalled = {
20
20
  const installedPackages = context.rawInput.contextData.systemPackages;
21
21
  const manifest = context.runtime.remotePackageData.manifest;
22
22
  const trmManifest = context.runtime.remotePackageData.manifest;
23
- const installedPackage = installedPackages.find(o => manifest_1.Manifest.compare(o.manifest, new manifest_1.Manifest(manifest), false));
24
- if (installedPackage) {
23
+ context.runtime.installData.upgradingPackage = installedPackages.find(o => manifest_1.Manifest.compare(o.manifest, new manifest_1.Manifest(manifest), false));
24
+ if (context.runtime.installData.upgradingPackage) {
25
25
  const installVersion = trmManifest.version;
26
- const installedVersion = installedPackage.manifest.get().version;
26
+ const installedVersion = context.runtime.installData.upgradingPackage.manifest.get().version;
27
27
  context.runtime.update = true;
28
28
  if ((0, semver_1.eq)(installVersion, installedVersion)) {
29
29
  if (context.rawInput.packageData.overwrite) {
@@ -128,6 +128,7 @@ exports.checkTransports = {
128
128
  }
129
129
  context.runtime.packageTransportsData.e071 = context.runtime.packageTransportsData.e071.concat(devcE071);
130
130
  context.runtime.installData.entries = context.runtime.packageTransportsData.e071;
131
+ trm_commons_1.Logger.loading(`Checking package transports...`);
131
132
  trm_commons_1.Logger.loading(`Checking if ${checkExistance.length} transports exist before importing them`, true);
132
133
  for (const trkorr of checkExistance) {
133
134
  const oTransport = new transport_1.Transport(trkorr);
@@ -8,6 +8,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.generateInstallTransport = void 0;
13
16
  const trm_commons_1 = require("trm-commons");
@@ -17,6 +20,7 @@ const transport_1 = require("../../transport");
17
20
  const registry_1 = require("../../registry");
18
21
  const trmPackage_1 = require("../../trmPackage");
19
22
  const manifest_1 = require("../../manifest");
23
+ const chalk_1 = __importDefault(require("chalk"));
20
24
  exports.generateInstallTransport = {
21
25
  name: 'generate-install-transport',
22
26
  filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
@@ -32,7 +36,7 @@ exports.generateInstallTransport = {
32
36
  trm_commons_1.Logger.log('Generate install transport step', true);
33
37
  try {
34
38
  if ((0, commons_1.getPackageNamespace)(context.runtime.installData.namespace) === '$') {
35
- trm_commons_1.Logger.warning(`Install transport was not generated because the package contains non-transportable objects.`);
39
+ trm_commons_1.Logger.warning(`Install transport was not generated because the install package is temporary ($).`, true);
36
40
  return;
37
41
  }
38
42
  trm_commons_1.Logger.loading(`Checking install transport...`);
@@ -114,6 +118,7 @@ exports.generateInstallTransport = {
114
118
  };
115
119
  }));
116
120
  }
121
+ tadirObjects = tadirObjects.filter(o => !(o.pgmid === '*' && o.object === transport_1.COMMENT_OBJ));
117
122
  var trObjs = yield context.runtime.installData.transport.getE071();
118
123
  const tasks = yield context.runtime.installData.transport.getTasks();
119
124
  for (const task of tasks) {
@@ -129,12 +134,12 @@ exports.generateInstallTransport = {
129
134
  yield context.runtime.installData.transport.addObjects([tadir], true);
130
135
  }
131
136
  catch (e) {
132
- trm_commons_1.Logger.log(`Failed, adding object ${tadir.pgmid} ${tadir.object} ${tadir.objName} without lock`, true);
137
+ trm_commons_1.Logger.log(`Failed ${e.toString()}, adding without lock`, true);
133
138
  yield context.runtime.installData.transport.addObjects([tadir], false);
134
139
  }
135
140
  }
136
141
  catch (e) {
137
- trm_commons_1.Logger.error(`Failed adding object ${tadir.pgmid} ${tadir.object} ${tadir.objName}`, true);
142
+ trm_commons_1.Logger.warning(`Failed adding ${tadir.pgmid}${tadir.object}${tadir.objName} to transport ${context.runtime.installData.transport.trkorr}`);
138
143
  trm_commons_1.Logger.error(e.toString(), true);
139
144
  }
140
145
  }
@@ -144,7 +149,7 @@ exports.generateInstallTransport = {
144
149
  yield context.runtime.installData.transport.addObjectsFromTransport(context.runtime.packageTransports.lang.instance.trkorr);
145
150
  }
146
151
  catch (e) {
147
- trm_commons_1.Logger.error(`Failed including language transport ${context.runtime.packageTransports.lang.instance.trkorr}`, true);
152
+ trm_commons_1.Logger.warning(`Failed including language transport ${context.runtime.packageTransports.lang.instance.trkorr} to transport ${context.runtime.installData.transport.trkorr}`);
148
153
  trm_commons_1.Logger.error(e.toString(), true);
149
154
  }
150
155
  }
@@ -154,7 +159,7 @@ exports.generateInstallTransport = {
154
159
  yield context.runtime.installData.transport.addObjectsFromTransport(context.runtime.packageTransports.cust.instance.trkorr);
155
160
  }
156
161
  catch (e) {
157
- trm_commons_1.Logger.error(`Failed including customizing transport ${context.runtime.packageTransports.cust.instance.trkorr}`, true);
162
+ trm_commons_1.Logger.warning(`Failed including customizing transport ${context.runtime.packageTransports.cust.instance.trkorr} to transport ${context.runtime.installData.transport.trkorr}`);
158
163
  trm_commons_1.Logger.error(e.toString(), true);
159
164
  }
160
165
  }
@@ -169,7 +174,7 @@ exports.generateInstallTransport = {
169
174
  }], false);
170
175
  }
171
176
  catch (e) {
172
- trm_commons_1.Logger.error(`Failed adding namespace ${context.runtime.installData.namespace}`, true);
177
+ trm_commons_1.Logger.warning(`Failed adding namespace ${context.runtime.installData.namespace} to transport ${context.runtime.installData.transport.trkorr}`);
173
178
  trm_commons_1.Logger.error(e.toString(), true);
174
179
  }
175
180
  }
@@ -177,7 +182,7 @@ exports.generateInstallTransport = {
177
182
  trm_commons_1.Logger.log(`Namespace ${context.runtime.installData.namespace} already in install transport`, true);
178
183
  }
179
184
  }
180
- trm_commons_1.Logger.success(`Use ${context.runtime.installData.transport.trkorr} for transports in your landscape.`);
185
+ trm_commons_1.Logger.success(`Use ${chalk_1.default.bold(context.runtime.installData.transport.trkorr)} for transports in ${systemConnector_1.SystemConnector.getDest()} landscape.`);
181
186
  }
182
187
  catch (e) {
183
188
  trm_commons_1.Logger.error(`An error occurred during install transport generation/update.`);
@@ -8,11 +8,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.importCustTransport = void 0;
13
16
  const trm_commons_1 = require("trm-commons");
14
17
  const systemConnector_1 = require("../../systemConnector");
15
18
  const transport_1 = require("../../transport");
19
+ const is_unicode_supported_1 = __importDefault(require("is-unicode-supported"));
16
20
  exports.importCustTransport = {
17
21
  name: 'import-cust-transport',
18
22
  filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
@@ -33,7 +37,6 @@ exports.importCustTransport = {
33
37
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
34
38
  trm_commons_1.Logger.log('Import CUST Transport step', true);
35
39
  trm_commons_1.Logger.loading(`Importing ${context.rawInput.packageData.name} customizing...`);
36
- const importTimeout = context.rawInput.installData.import.timeout;
37
40
  trm_commons_1.Logger.loading(`Uploading ${context.runtime.packageTransports.cust.binaries.trkorr}`, true);
38
41
  context.runtime.packageTransports.cust.instance = yield transport_1.Transport.upload({
39
42
  binary: context.runtime.packageTransports.cust.binaries.binaries,
@@ -43,7 +46,7 @@ exports.importCustTransport = {
43
46
  yield context.runtime.packageTransports.cust.instance.deleteFromTms(systemConnector_1.SystemConnector.getDest());
44
47
  const originalLPrefix = trm_commons_1.Logger.getPrefix();
45
48
  const originalIPrefix = trm_commons_1.Inquirer.getPrefix();
46
- const prefix = `(Customizing) `;
49
+ const prefix = `(${(0, is_unicode_supported_1.default)() ? '🚚' : '⛟'} Customizing) `;
47
50
  if (originalLPrefix) {
48
51
  trm_commons_1.Logger.setPrefix(`${originalLPrefix}-> ${prefix}`);
49
52
  }
@@ -57,7 +60,7 @@ exports.importCustTransport = {
57
60
  trm_commons_1.Inquirer.setPrefix(prefix);
58
61
  }
59
62
  trm_commons_1.Logger.loading(`Importing ${context.runtime.packageTransports.cust.binaries.trkorr}`, true);
60
- yield context.runtime.packageTransports.cust.instance.import(importTimeout);
63
+ yield context.runtime.packageTransports.cust.instance.import();
61
64
  trm_commons_1.Logger.success(`Transport ${context.runtime.packageTransports.cust.binaries.trkorr} imported`, true);
62
65
  trm_commons_1.Logger.setPrefix(originalLPrefix);
63
66
  trm_commons_1.Inquirer.setPrefix(originalIPrefix);
@@ -8,11 +8,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.importDevcTransport = void 0;
13
16
  const trm_commons_1 = require("trm-commons");
14
17
  const systemConnector_1 = require("../../systemConnector");
15
18
  const transport_1 = require("../../transport");
19
+ const is_unicode_supported_1 = __importDefault(require("is-unicode-supported"));
16
20
  exports.importDevcTransport = {
17
21
  name: 'import-devc-transport',
18
22
  filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
@@ -29,7 +33,6 @@ exports.importDevcTransport = {
29
33
  trm_commons_1.Logger.loading(`Getting ready to import...`);
30
34
  const rootDevclass = yield systemConnector_1.SystemConnector.getDevclass(context.runtime.originalData.hierarchy.devclass);
31
35
  trm_commons_1.Logger.loading(`Importing ${context.rawInput.packageData.name}...`);
32
- const importTimeout = context.rawInput.installData.import.timeout;
33
36
  trm_commons_1.Logger.loading(`Uploading ${context.runtime.packageTransports.devc.binaries.trkorr}`, true);
34
37
  context.runtime.packageTransports.devc.instance = yield transport_1.Transport.upload({
35
38
  binary: context.runtime.packageTransports.devc.binaries.binaries,
@@ -39,7 +42,7 @@ exports.importDevcTransport = {
39
42
  yield context.runtime.packageTransports.devc.instance.deleteFromTms(systemConnector_1.SystemConnector.getDest());
40
43
  const originalLPrefix = trm_commons_1.Logger.getPrefix();
41
44
  const originalIPrefix = trm_commons_1.Inquirer.getPrefix();
42
- const prefix = `(SAP Package) `;
45
+ const prefix = `(${(0, is_unicode_supported_1.default)() ? '🚚' : '⛟'} SAP Packages) `;
43
46
  if (originalLPrefix) {
44
47
  trm_commons_1.Logger.setPrefix(`${originalLPrefix}-> ${prefix}`);
45
48
  }
@@ -53,7 +56,7 @@ exports.importDevcTransport = {
53
56
  trm_commons_1.Inquirer.setPrefix(prefix);
54
57
  }
55
58
  trm_commons_1.Logger.loading(`Importing ${context.runtime.packageTransports.devc.binaries.trkorr}`, true);
56
- yield context.runtime.packageTransports.devc.instance.import(importTimeout);
59
+ yield context.runtime.packageTransports.devc.instance.import();
57
60
  trm_commons_1.Logger.success(`Transport ${context.runtime.packageTransports.devc.binaries.trkorr} imported`, true);
58
61
  trm_commons_1.Logger.setPrefix(originalLPrefix);
59
62
  trm_commons_1.Inquirer.setPrefix(originalIPrefix);
@@ -8,11 +8,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.importLangTransport = void 0;
13
16
  const trm_commons_1 = require("trm-commons");
14
17
  const systemConnector_1 = require("../../systemConnector");
15
18
  const transport_1 = require("../../transport");
19
+ const is_unicode_supported_1 = __importDefault(require("is-unicode-supported"));
16
20
  exports.importLangTransport = {
17
21
  name: 'import-lang-transport',
18
22
  filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
@@ -33,7 +37,6 @@ exports.importLangTransport = {
33
37
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
34
38
  trm_commons_1.Logger.log('Import LANG Transport step', true);
35
39
  trm_commons_1.Logger.loading(`Importing ${context.rawInput.packageData.name} translations...`);
36
- const importTimeout = context.rawInput.installData.import.timeout;
37
40
  trm_commons_1.Logger.loading(`Uploading ${context.runtime.packageTransports.lang.binaries.trkorr}`, true);
38
41
  context.runtime.packageTransports.lang.instance = yield transport_1.Transport.upload({
39
42
  binary: context.runtime.packageTransports.lang.binaries.binaries,
@@ -43,7 +46,7 @@ exports.importLangTransport = {
43
46
  yield context.runtime.packageTransports.lang.instance.deleteFromTms(systemConnector_1.SystemConnector.getDest());
44
47
  const originalLPrefix = trm_commons_1.Logger.getPrefix();
45
48
  const originalIPrefix = trm_commons_1.Inquirer.getPrefix();
46
- const prefix = `(Translations) `;
49
+ const prefix = `(${(0, is_unicode_supported_1.default)() ? '🚚' : '⛟'} Translations) `;
47
50
  if (originalLPrefix) {
48
51
  trm_commons_1.Logger.setPrefix(`${originalLPrefix}-> ${prefix}`);
49
52
  }
@@ -57,7 +60,7 @@ exports.importLangTransport = {
57
60
  trm_commons_1.Inquirer.setPrefix(prefix);
58
61
  }
59
62
  trm_commons_1.Logger.loading(`Importing ${context.runtime.packageTransports.lang.binaries.trkorr}`, true);
60
- yield context.runtime.packageTransports.lang.instance.import(importTimeout);
63
+ yield context.runtime.packageTransports.lang.instance.import();
61
64
  trm_commons_1.Logger.success(`Transport ${context.runtime.packageTransports.lang.binaries.trkorr} imported`, true);
62
65
  trm_commons_1.Logger.setPrefix(originalLPrefix);
63
66
  trm_commons_1.Inquirer.setPrefix(originalIPrefix);
@@ -18,12 +18,12 @@ const systemConnector_1 = require("../../systemConnector");
18
18
  const transport_1 = require("../../transport");
19
19
  const lodash_1 = __importDefault(require("lodash"));
20
20
  const commons_1 = require("../../commons");
21
+ const is_unicode_supported_1 = __importDefault(require("is-unicode-supported"));
21
22
  exports.importTadirTransport = {
22
23
  name: 'import-tadir-transport',
23
24
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
24
25
  trm_commons_1.Logger.log('Import TADIR Transport step', true);
25
26
  trm_commons_1.Logger.loading(`Importing ${context.rawInput.packageData.name}...`);
26
- const importTimeout = context.rawInput.packageData.name === 'trm-server' ? 99999999999 : context.rawInput.installData.import.timeout;
27
27
  trm_commons_1.Logger.loading(`Uploading ${context.runtime.packageTransports.tadir.binaries.trkorr}`, true);
28
28
  context.runtime.packageTransports.tadir.instance = yield transport_1.Transport.upload({
29
29
  binary: context.runtime.packageTransports.tadir.binaries.binaries,
@@ -35,7 +35,7 @@ exports.importTadirTransport = {
35
35
  }
36
36
  const originalLPrefix = trm_commons_1.Logger.getPrefix();
37
37
  const originalIPrefix = trm_commons_1.Inquirer.getPrefix();
38
- const prefix = `(Workbench) `;
38
+ const prefix = `(${(0, is_unicode_supported_1.default)() ? '🚚' : '⛟'} Workbench) `;
39
39
  if (originalLPrefix) {
40
40
  trm_commons_1.Logger.setPrefix(`${originalLPrefix}-> ${prefix}`);
41
41
  }
@@ -49,7 +49,7 @@ exports.importTadirTransport = {
49
49
  trm_commons_1.Inquirer.setPrefix(prefix);
50
50
  }
51
51
  trm_commons_1.Logger.loading(`Importing ${context.runtime.packageTransports.tadir.binaries.trkorr}`, true);
52
- yield context.runtime.packageTransports.tadir.instance.import(importTimeout);
52
+ yield context.runtime.packageTransports.tadir.instance.import();
53
53
  trm_commons_1.Logger.success(`Transport ${context.runtime.packageTransports.tadir.binaries.trkorr} imported`, true);
54
54
  trm_commons_1.Logger.setPrefix(originalLPrefix);
55
55
  trm_commons_1.Inquirer.setPrefix(originalIPrefix);
@@ -20,7 +20,6 @@ export type InstallActionInputContextData = {
20
20
  };
21
21
  export type InstallActionInputInstallData = {
22
22
  import?: {
23
- timeout?: number;
24
23
  noLang?: boolean;
25
24
  noCust?: boolean;
26
25
  replaceExistingTransports?: boolean;
@@ -86,6 +85,7 @@ type WorkflowRuntime = {
86
85
  installData: {
87
86
  namespace: string;
88
87
  entries: E071[];
88
+ upgradingPackage?: TrmPackage;
89
89
  transport?: Transport;
90
90
  };
91
91
  generatedData: {
@@ -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 || 'latest' + ')' : ''}.`);
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,
@@ -19,13 +19,8 @@ function _validateDevclass(input, packagesNamespace) {
19
19
  if (sInput.length > 30) {
20
20
  return `Package name must not exceede 30 characters limit.`;
21
21
  }
22
- if (packagesNamespace.startsWith('/')) {
23
- if (!sInput.startsWith(packagesNamespace)) {
24
- return `Package name must use namespace "${packagesNamespace}".`;
25
- }
26
- else {
27
- return true;
28
- }
22
+ if (!sInput.startsWith(packagesNamespace)) {
23
+ return `Package name must use namespace "${packagesNamespace}".`;
29
24
  }
30
25
  else {
31
26
  return true;
@@ -62,17 +57,27 @@ exports.setInstallDevclass = {
62
57
  if (!rootDevclass) {
63
58
  rootDevclass = context.runtime.originalData.hierarchy.devclass;
64
59
  }
65
- const packagesNamespace = (0, commons_1.getPackageNamespace)(rootDevclass);
60
+ const originalNamespace = (0, commons_1.getPackageNamespace)(rootDevclass);
61
+ var updateNamespace;
62
+ if (context.runtime.installData.upgradingPackage) {
63
+ updateNamespace = (0, commons_1.getPackageNamespace)(context.runtime.installData.upgradingPackage.getDevclass());
64
+ }
66
65
  var inq1Prompts = [];
67
- context.runtime.packageTransportsData.tdevc.forEach(t => {
66
+ trm_commons_1.Logger.loading(`Analyzing packages...`);
67
+ for (const t of context.runtime.packageTransportsData.tdevc) {
68
+ var adaptDevclassName = t.devclass;
69
+ if (updateNamespace) {
70
+ adaptDevclassName = adaptDevclassName.replace(new RegExp(`^${originalNamespace}`, 'gmi'), updateNamespace);
71
+ }
68
72
  const replacement = context.rawInput.installData.installDevclass.replacements.find(o => o.originalDevclass === t.devclass);
73
+ const packageExists = yield systemConnector_1.SystemConnector.getDevclass(adaptDevclassName);
69
74
  if (!replacement) {
70
75
  if (context.rawInput.contextData.noInquirer) {
71
- const automaticValue = _validateDevclass(t.devclass, packagesNamespace);
76
+ const automaticValue = _validateDevclass(adaptDevclassName, updateNamespace || originalNamespace);
72
77
  if (automaticValue === true) {
73
78
  context.rawInput.installData.installDevclass.replacements.push({
74
79
  originalDevclass: t.devclass,
75
- installDevclass: t.devclass
80
+ installDevclass: adaptDevclassName
76
81
  });
77
82
  }
78
83
  else {
@@ -83,21 +88,21 @@ exports.setInstallDevclass = {
83
88
  inq1Prompts.push({
84
89
  type: "input",
85
90
  name: t.devclass,
86
- default: t.devclass,
87
- message: `Input name for package "${t.devclass}"`,
91
+ default: adaptDevclassName,
92
+ message: packageExists ? `Rename ABAP Package "${adaptDevclassName}"?` : `ABAP Package "${adaptDevclassName}" will be generated. Do you want to rename it?`,
88
93
  validate: (input) => {
89
- return _validateDevclass(input, packagesNamespace);
94
+ return _validateDevclass(input, updateNamespace || originalNamespace);
90
95
  }
91
96
  });
92
97
  }
93
98
  }
94
99
  else {
95
- const devclassValid = _validateDevclass(replacement.installDevclass, packagesNamespace);
100
+ const devclassValid = _validateDevclass(replacement.installDevclass, updateNamespace || originalNamespace);
96
101
  if (devclassValid !== true) {
97
102
  throw new Error(devclassValid);
98
103
  }
99
104
  }
100
- });
105
+ }
101
106
  if (inq1Prompts.length > 0) {
102
107
  const inq1 = yield trm_commons_1.Inquirer.prompt(inq1Prompts);
103
108
  Object.keys(inq1).forEach(k => {
@@ -32,8 +32,6 @@ exports.generateCustTransport = {
32
32
  target: context.rawInput.systemData.transportTarget,
33
33
  text: `@X1@TRM: ${context.rawInput.packageData.name} v${context.rawInput.packageData.version} (C)`
34
34
  });
35
- yield context.runtime.systemData.custTransport.addComment(`name=${context.rawInput.packageData.name}`);
36
- yield context.runtime.systemData.custTransport.addComment(`version=${context.rawInput.packageData.version}`);
37
35
  for (const transport of context.rawInput.publishData.customizingTransports) {
38
36
  yield context.runtime.systemData.custTransport.addObjectsFromTransport(transport.trkorr);
39
37
  }
@@ -48,10 +48,6 @@ exports.generateLangTransport = {
48
48
  yield context.runtime.systemData.langTransport.delete();
49
49
  context.runtime.systemData.langTransport = undefined;
50
50
  }
51
- else {
52
- yield context.runtime.systemData.langTransport.addComment(`name=${context.rawInput.packageData.name}`);
53
- yield context.runtime.systemData.langTransport.addComment(`version=${context.rawInput.packageData.version}`);
54
- }
55
51
  }
56
52
  }),
57
53
  revert: (context) => __awaiter(void 0, void 0, void 0, function* () {
@@ -12,7 +12,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.generateTadirTransport = void 0;
13
13
  const trm_commons_1 = require("trm-commons");
14
14
  const transport_1 = require("../../transport");
15
- const manifest_1 = require("../../manifest");
16
15
  const systemConnector_1 = require("../../systemConnector");
17
16
  exports.generateTadirTransport = {
18
17
  name: 'generate-tadir-transport',
@@ -30,15 +29,11 @@ exports.generateTadirTransport = {
30
29
  }
31
30
  trm_commons_1.Logger.loading(`Generating transports...`);
32
31
  trm_commons_1.Logger.loading(`Generating TADIR transport...`, true);
33
- const sManifestXml = new manifest_1.Manifest(context.runtime.trmPackage.manifest).getAbapXml();
34
32
  context.runtime.systemData.tadirTransport = yield transport_1.Transport.createToc({
35
33
  trmIdentifier: transport_1.TrmTransportIdentifier.TADIR,
36
34
  target: context.rawInput.systemData.transportTarget,
37
35
  text: `@X1@TRM: ${context.rawInput.packageData.name} v${context.rawInput.packageData.version}`
38
36
  });
39
- yield context.runtime.systemData.tadirTransport.addComment(`name=${context.rawInput.packageData.name}`);
40
- yield context.runtime.systemData.tadirTransport.addComment(`version=${context.rawInput.packageData.version}`);
41
- yield context.runtime.systemData.tadirTransport.setDocumentation(sManifestXml);
42
37
  yield context.runtime.systemData.tadirTransport.addObjects(aTadir, false);
43
38
  }),
44
39
  revert: (context) => __awaiter(void 0, void 0, void 0, function* () {
@@ -25,7 +25,6 @@ export interface PublishActionInput {
25
25
  };
26
26
  systemData?: {
27
27
  transportTarget?: TR_TARGET;
28
- releaseTimeout: number;
29
28
  };
30
29
  publishData?: {
31
30
  noDependenciesDetection?: boolean;
@@ -44,6 +43,7 @@ type WorkflowRuntime = {
44
43
  latestReleaseManifest?: TrmManifest;
45
44
  releasesInRegistry?: string[];
46
45
  manifest: TrmManifest;
46
+ manifestXml?: string;
47
47
  artifact?: TrmArtifact;
48
48
  };
49
49
  systemData: {
@@ -70,9 +70,7 @@ exports.init = {
70
70
  context.rawInput.contextData = {};
71
71
  }
72
72
  if (!context.rawInput.systemData) {
73
- context.rawInput.systemData = {
74
- releaseTimeout: 180
75
- };
73
+ context.rawInput.systemData = {};
76
74
  }
77
75
  if (!context.rawInput.publishData) {
78
76
  context.rawInput.publishData = {
@@ -16,7 +16,6 @@ exports.releaseTransports = {
16
16
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
17
17
  trm_commons_1.Logger.log('Release transports step', true);
18
18
  const tmpFolder = context.rawInput.contextData.logTemporaryFolder;
19
- const releaseTimeout = context.rawInput.systemData.releaseTimeout;
20
19
  context.runtime.systemData.releasedTransports.push(context.runtime.systemData.tadirTransport);
21
20
  if (context.runtime.systemData.langTransport) {
22
21
  context.runtime.systemData.releasedTransports.push(context.runtime.systemData.langTransport);
@@ -26,14 +25,17 @@ exports.releaseTransports = {
26
25
  }
27
26
  context.runtime.systemData.releasedTransports.push(context.runtime.systemData.devcTransport);
28
27
  var counter = 0;
29
- for (const transport of context.runtime.systemData.releasedTransports) {
28
+ for (var transport of context.runtime.systemData.releasedTransports) {
30
29
  counter++;
31
30
  const prefix = `(${counter}/${context.runtime.systemData.releasedTransports.length}) `;
32
31
  trm_commons_1.Logger.setPrefix(prefix);
33
32
  trm_commons_1.Inquirer.setPrefix(prefix);
33
+ yield transport.addComment(`name=${context.rawInput.packageData.name}`);
34
+ yield transport.addComment(`version=${context.rawInput.packageData.version}`);
35
+ yield transport.setDocumentation(context.runtime.trmPackage.manifestXml);
34
36
  trm_commons_1.Logger.log(`Ready to release transport ${transport.trkorr}, ${transport.trmIdentifier}`, true);
35
37
  trm_commons_1.Logger.loading(`Releasing transport...`);
36
- yield transport.release(false, releaseTimeout ? true : false, tmpFolder, releaseTimeout);
38
+ yield transport.release(false, false, tmpFolder);
37
39
  trm_commons_1.Logger.removePrefix();
38
40
  trm_commons_1.Inquirer.removePrefix();
39
41
  }
@@ -400,5 +400,6 @@ exports.setManifestValues = {
400
400
  }
401
401
  }
402
402
  context.runtime.trmPackage.manifest = manifest_1.Manifest.normalize(context.runtime.trmPackage.manifest, false);
403
+ context.runtime.trmPackage.manifestXml = new manifest_1.Manifest(context.runtime.trmPackage.manifest).getAbapXml();
403
404
  })
404
405
  };
@@ -73,4 +73,5 @@ export declare class RESTClient implements IClient {
73
73
  createLogPolling(event: components.ZTRM_POLLING_EVENT): Promise<components.ZTRM_POLLING_ID>;
74
74
  deleteLogPolling(logID: components.ZTRM_POLLING_ID): Promise<void>;
75
75
  readLogPolling(logID: components.ZTRM_POLLING_ID): Promise<components.ZTRM_POLLING_LAST_MSG>;
76
+ getTransportImportStatus(trkorr: components.TRKORR, system: components.TMSSYSNAM): Promise<struct.TPSTAT>;
76
77
  }
@@ -736,5 +736,16 @@ class RESTClient {
736
736
  return result.message;
737
737
  });
738
738
  }
739
+ getTransportImportStatus(trkorr, system) {
740
+ return __awaiter(this, void 0, void 0, function* () {
741
+ const result = (yield this._axiosInstance.get('/get_transport_import_status', {
742
+ data: {
743
+ trkorr,
744
+ system
745
+ }
746
+ })).data;
747
+ return result.stat;
748
+ });
749
+ }
739
750
  }
740
751
  exports.RESTClient = RESTClient;
@@ -73,4 +73,5 @@ export declare class RFCClient implements IClient {
73
73
  createLogPolling(event: components.ZTRM_POLLING_EVENT): Promise<components.ZTRM_POLLING_ID>;
74
74
  deleteLogPolling(logID: components.ZTRM_POLLING_ID): Promise<void>;
75
75
  readLogPolling(logID: components.ZTRM_POLLING_ID): Promise<components.ZTRM_POLLING_LAST_MSG>;
76
+ getTransportImportStatus(trkorr: components.TRKORR, system: components.TMSSYSNAM): Promise<struct.TPSTAT>;
76
77
  }
@@ -729,5 +729,14 @@ class RFCClient {
729
729
  return result['evLog'];
730
730
  });
731
731
  }
732
+ getTransportImportStatus(trkorr, system) {
733
+ return __awaiter(this, void 0, void 0, function* () {
734
+ const result = yield this._call("ZTRM_GET_TR_IMPORT_STATUS", {
735
+ iv_trkorr: trkorr,
736
+ iv_system: system
737
+ });
738
+ return result['esStatus'];
739
+ });
740
+ }
732
741
  }
733
742
  exports.RFCClient = RFCClient;
@@ -0,0 +1 @@
1
+ export type SYDATUM = string;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export type SYTIME = string;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export type TRTPSTEP = string;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -62,3 +62,6 @@ export * from "./TPCLASS";
62
62
  export * from "./ZTRM_POLLING_ID";
63
63
  export * from "./ZTRM_POLLING_EVENT";
64
64
  export * from "./ZTRM_POLLING_LAST_MSG";
65
+ export * from "./TRTPSTEP";
66
+ export * from "./SYDATUM";
67
+ export * from "./SYTIME";
@@ -78,3 +78,6 @@ __exportStar(require("./TPCLASS"), exports);
78
78
  __exportStar(require("./ZTRM_POLLING_ID"), exports);
79
79
  __exportStar(require("./ZTRM_POLLING_EVENT"), exports);
80
80
  __exportStar(require("./ZTRM_POLLING_LAST_MSG"), exports);
81
+ __exportStar(require("./TRTPSTEP"), exports);
82
+ __exportStar(require("./SYDATUM"), exports);
83
+ __exportStar(require("./SYTIME"), exports);
@@ -0,0 +1,7 @@
1
+ import { NATXT, SYDATUM, SYTIME, TRTPSTEP } from "../components";
2
+ export type TPSTAT = {
3
+ message: NATXT;
4
+ step: TRTPSTEP;
5
+ moddate: SYDATUM;
6
+ modtime: SYTIME;
7
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -27,3 +27,4 @@ export * from "./ZTY_TRM_PACKAGE";
27
27
  export * from "./ZTRM_OBJECT_DEPENDENCY";
28
28
  export * from "./ZTRM_OBJECT_DEPENDENCIES";
29
29
  export * from "./DD03L";
30
+ export * from "./TPSTAT";
@@ -43,3 +43,4 @@ __exportStar(require("./ZTY_TRM_PACKAGE"), exports);
43
43
  __exportStar(require("./ZTRM_OBJECT_DEPENDENCY"), exports);
44
44
  __exportStar(require("./ZTRM_OBJECT_DEPENDENCIES"), exports);
45
45
  __exportStar(require("./DD03L"), exports);
46
+ __exportStar(require("./TPSTAT"), exports);
@@ -4,4 +4,4 @@ export type CheckTrmDependencies = {
4
4
  versionNotSatisfiedDependencies: TrmPackage[];
5
5
  dependencies: TrmPackage[];
6
6
  };
7
- export declare function checkCoreTrmDependencies(systemPackages?: TrmPackage[]): Promise<CheckTrmDependencies>;
7
+ export declare function checkCoreTrmDependencies(systemPackages?: TrmPackage[], globalPath?: string): Promise<CheckTrmDependencies>;