trm-core 4.1.4 → 6.0.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 (245) hide show
  1. package/dist/actions/checkPackageDependencies/analyze.d.ts +3 -0
  2. package/dist/actions/checkPackageDependencies/analyze.js +131 -0
  3. package/dist/actions/checkPackageDependencies/index.d.ts +28 -27
  4. package/dist/actions/checkPackageDependencies/index.js +12 -17
  5. package/dist/actions/checkPackageDependencies/init.d.ts +2 -2
  6. package/dist/actions/checkPackageDependencies/init.js +19 -11
  7. package/dist/actions/checkSapEntries/{buildOutput.d.ts → analyze.d.ts} +1 -1
  8. package/dist/actions/checkSapEntries/{analizeSapEntries.js → analyze.js} +40 -23
  9. package/dist/actions/checkSapEntries/index.d.ts +32 -21
  10. package/dist/actions/checkSapEntries/index.js +9 -14
  11. package/dist/actions/checkSapEntries/init.js +18 -10
  12. package/dist/actions/commons/IActionContext.d.ts +9 -0
  13. package/dist/actions/commons/index.d.ts +2 -0
  14. package/dist/actions/commons/index.js +18 -0
  15. package/dist/actions/commons/setSystemPackages.d.ts +3 -0
  16. package/dist/actions/{install → commons}/setSystemPackages.js +5 -6
  17. package/dist/actions/findDependencies/index.d.ts +47 -35
  18. package/dist/actions/findDependencies/index.js +18 -17
  19. package/dist/actions/findDependencies/init.js +22 -14
  20. package/dist/actions/findDependencies/parseSenvi.js +63 -29
  21. package/dist/actions/findDependencies/print.js +30 -23
  22. package/dist/actions/findDependencies/readRepositoryEnvironment.js +34 -11
  23. package/dist/actions/findDependencies/{readPackageData.d.ts → setObjects.d.ts} +1 -1
  24. package/dist/actions/findDependencies/setObjects.js +50 -0
  25. package/dist/actions/findDependencies/setTrmDependencies.js +14 -28
  26. package/dist/actions/index.d.ts +4 -2
  27. package/dist/actions/index.js +4 -2
  28. package/dist/actions/install/{readDevcTransport.d.ts → addNamespace.d.ts} +1 -1
  29. package/dist/actions/install/addNamespace.js +133 -0
  30. package/dist/actions/install/checkAlreadyInstalled.js +16 -25
  31. package/dist/actions/install/checkDependencies.js +34 -34
  32. package/dist/actions/install/checkIntegrity.js +14 -14
  33. package/dist/actions/install/{checkTadirContent.d.ts → checkObjectTypes.d.ts} +1 -1
  34. package/dist/actions/install/checkObjectTypes.js +50 -0
  35. package/dist/actions/install/checkSapEntries.js +21 -18
  36. package/dist/actions/install/checkTransports.js +75 -26
  37. package/dist/actions/install/generateDevclass.js +48 -59
  38. package/dist/actions/install/{checkTadirObjectTypes.d.ts → generateInstallTransport.d.ts} +1 -1
  39. package/dist/actions/install/generateInstallTransport.js +129 -0
  40. package/dist/actions/install/importCustTransport.js +15 -19
  41. package/dist/actions/install/{generateWbTransport.d.ts → importDevcTransport.d.ts} +1 -1
  42. package/dist/actions/install/importDevcTransport.js +61 -0
  43. package/dist/actions/install/importLangTransport.js +15 -19
  44. package/dist/actions/install/importTadirTransport.js +30 -36
  45. package/dist/actions/install/index.d.ts +84 -73
  46. package/dist/actions/install/index.js +28 -25
  47. package/dist/actions/install/init.js +109 -51
  48. package/dist/actions/install/installDependencies.js +79 -48
  49. package/dist/actions/install/{setDevclass.d.ts → readDevc.d.ts} +1 -1
  50. package/dist/actions/install/readDevc.js +29 -0
  51. package/dist/actions/install/{setSystemPackages.d.ts → readTadir.d.ts} +1 -1
  52. package/dist/actions/install/readTadir.js +34 -0
  53. package/dist/actions/install/setInstallDevclass.d.ts +3 -0
  54. package/dist/actions/install/setInstallDevclass.js +124 -0
  55. package/dist/actions/install/setPackageIntegrity.js +4 -6
  56. package/dist/actions/install/setR3trans.js +10 -6
  57. package/dist/actions/installDependency/findInstallRelease.js +19 -32
  58. package/dist/actions/installDependency/index.d.ts +18 -30
  59. package/dist/actions/installDependency/index.js +12 -14
  60. package/dist/actions/installDependency/init.js +55 -19
  61. package/dist/actions/installDependency/installRelease.js +19 -22
  62. package/dist/actions/publish/finalizePublish.js +7 -20
  63. package/dist/actions/publish/findDependencies.js +136 -21
  64. package/dist/actions/publish/generateCustTr.js +1 -1
  65. package/dist/actions/publish/{checkPackageExistance.d.ts → generateCustTransport.d.ts} +1 -1
  66. package/dist/actions/publish/generateCustTransport.js +63 -0
  67. package/dist/actions/publish/{editTrmDependencies.d.ts → generateDevcTransport.d.ts} +1 -1
  68. package/dist/actions/publish/generateDevcTransport.js +48 -0
  69. package/dist/actions/publish/{editSapEntries.d.ts → generateLangTransport.d.ts} +1 -1
  70. package/dist/actions/publish/generateLangTransport.js +71 -0
  71. package/dist/actions/publish/{setBackwardsCompatible.d.ts → generateTadirTransport.d.ts} +1 -1
  72. package/dist/actions/publish/generateTadirTransport.js +53 -0
  73. package/dist/actions/publish/index.d.ts +61 -68
  74. package/dist/actions/publish/index.js +30 -61
  75. package/dist/actions/publish/init.js +152 -75
  76. package/dist/actions/publish/{setCustTransports.d.ts → publishToRegistry.d.ts} +1 -1
  77. package/dist/actions/publish/{buildTrmPackageInstance.js → publishToRegistry.js} +13 -7
  78. package/dist/actions/publish/{generateLangTr.d.ts → releaseTransports.d.ts} +1 -1
  79. package/dist/actions/publish/releaseTransports.js +42 -0
  80. package/dist/actions/publish/{buildTrmPackageInstance.d.ts → setCustomizingTransports.d.ts} +1 -1
  81. package/dist/actions/publish/setCustomizingTransports.js +84 -0
  82. package/dist/actions/publish/setDevclass.js +53 -21
  83. package/dist/actions/publish/setManifestValues.js +132 -80
  84. package/dist/actions/publish/setReadme.js +20 -21
  85. package/dist/actions/publish/setTransportTarget.js +30 -38
  86. package/dist/client/IClient.d.ts +2 -0
  87. package/dist/{systemConnector → client}/Login.d.ts +1 -1
  88. package/dist/client/RESTClient.d.ts +52 -0
  89. package/dist/client/RESTClient.js +499 -0
  90. package/dist/client/RFCClient.d.ts +11 -3
  91. package/dist/client/RFCClient.js +123 -18
  92. package/dist/client/components/NAMESPACE.d.ts +1 -0
  93. package/dist/client/components/NAMESPACE.js +2 -0
  94. package/dist/client/components/NSP_OWNER.d.ts +1 -0
  95. package/dist/client/components/NSP_OWNER.js +2 -0
  96. package/dist/client/components/NSP_TEXT.d.ts +1 -0
  97. package/dist/client/components/NSP_TEXT.js +2 -0
  98. package/dist/client/components/RFCDEST.d.ts +1 -0
  99. package/dist/client/components/RFCDEST.js +2 -0
  100. package/dist/client/components/TRNLICENSE.d.ts +1 -0
  101. package/dist/client/components/TRNLICENSE.js +2 -0
  102. package/dist/client/components/index.d.ts +5 -0
  103. package/dist/client/components/index.js +5 -0
  104. package/dist/client/index.d.ts +3 -0
  105. package/dist/client/index.js +3 -0
  106. package/dist/client/struct/STMSIQREQ.d.ts +1 -0
  107. package/dist/client/struct/TRNSPACET.d.ts +5 -0
  108. package/dist/client/struct/TRNSPACET.js +2 -0
  109. package/dist/client/struct/TRNSPACETT.d.ts +7 -0
  110. package/dist/client/struct/TRNSPACETT.js +2 -0
  111. package/dist/client/struct/index.d.ts +2 -0
  112. package/dist/client/struct/index.js +2 -0
  113. package/dist/commons/fromAbapToDate.js +1 -2
  114. package/dist/commons/getAxiosInstance.d.ts +5 -0
  115. package/dist/commons/getAxiosInstance.js +94 -0
  116. package/dist/commons/getFileSysSeparator.js +1 -2
  117. package/dist/commons/getNpmGlobalPath.d.ts +1 -0
  118. package/dist/commons/getNpmGlobalPath.js +30 -0
  119. package/dist/commons/getPackageHierarchy.js +1 -2
  120. package/dist/commons/getPackageNamespace.js +2 -3
  121. package/dist/commons/getParentFromHierarchy.js +1 -2
  122. package/dist/commons/index.d.ts +2 -0
  123. package/dist/commons/index.js +2 -0
  124. package/dist/commons/normalize.js +1 -2
  125. package/dist/commons/parsePackageName.js +1 -2
  126. package/dist/commons/validateOrganizationName.js +1 -2
  127. package/dist/inquirer/CliInquirer.d.ts +4 -0
  128. package/dist/inquirer/CliInquirer.js +13 -1
  129. package/dist/inquirer/IInquirer.d.ts +3 -0
  130. package/dist/inquirer/Inquirer.d.ts +3 -0
  131. package/dist/inquirer/Inquirer.js +15 -0
  132. package/dist/inquirer/validators/validateDevclass.js +5 -3
  133. package/dist/inquirer/validators/validateTransportTarget.js +1 -2
  134. package/dist/logger/CliLogFileLogger.d.ts +1 -1
  135. package/dist/logger/CliLogger.d.ts +6 -2
  136. package/dist/logger/CliLogger.js +24 -4
  137. package/dist/logger/ConsoleLogger.d.ts +5 -1
  138. package/dist/logger/ConsoleLogger.js +20 -9
  139. package/dist/logger/DummyLogger.d.ts +4 -1
  140. package/dist/logger/DummyLogger.js +5 -0
  141. package/dist/logger/ILogger.d.ts +4 -1
  142. package/dist/logger/Logger.d.ts +3 -1
  143. package/dist/logger/Logger.js +17 -2
  144. package/dist/manifest/Manifest.js +43 -0
  145. package/dist/manifest/TrmManifest.d.ts +5 -13
  146. package/dist/manifest/TrmManifestBase.d.ts +13 -0
  147. package/dist/manifest/TrmManifestBase.js +2 -0
  148. package/dist/manifest/TrmManifestNamespace.d.ts +8 -0
  149. package/dist/manifest/TrmManifestNamespace.js +2 -0
  150. package/dist/manifest/index.d.ts +2 -0
  151. package/dist/manifest/index.js +2 -0
  152. package/dist/registry/Registry.d.ts +0 -1
  153. package/dist/registry/Registry.js +13 -75
  154. package/dist/systemConnector/ISystemConnector.d.ts +12 -30
  155. package/dist/systemConnector/ISystemConnectorBase.d.ts +33 -0
  156. package/dist/systemConnector/ISystemConnectorBase.js +2 -0
  157. package/dist/systemConnector/RESTConnection.d.ts +5 -0
  158. package/dist/systemConnector/RESTConnection.js +2 -0
  159. package/dist/systemConnector/{ServerSystemConnector.d.ts → RESTSystemConnector.d.ts} +23 -38
  160. package/dist/systemConnector/RESTSystemConnector.js +275 -0
  161. package/dist/systemConnector/{Connection.d.ts → RFCConnection.d.ts} +1 -1
  162. package/dist/systemConnector/RFCConnection.js +2 -0
  163. package/dist/systemConnector/RFCSystemConnector.d.ts +62 -0
  164. package/dist/systemConnector/RFCSystemConnector.js +246 -0
  165. package/dist/systemConnector/SystemConnector.d.ts +15 -3
  166. package/dist/systemConnector/SystemConnector.js +69 -8
  167. package/dist/systemConnector/SystemConnectorBase.d.ts +51 -0
  168. package/dist/systemConnector/{ServerSystemConnector.js → SystemConnectorBase.js} +109 -267
  169. package/dist/systemConnector/SystemConnectorSupportedBulk.d.ts +4 -0
  170. package/dist/systemConnector/SystemConnectorSupportedBulk.js +2 -0
  171. package/dist/systemConnector/index.d.ts +11 -4
  172. package/dist/systemConnector/index.js +11 -4
  173. package/dist/transport/BinaryTransport.d.ts +0 -1
  174. package/dist/transport/Transport.d.ts +2 -3
  175. package/dist/transport/Transport.js +65 -17
  176. package/dist/trmPackage/TrmArtifact.d.ts +0 -1
  177. package/dist/trmPackage/TrmPackage.d.ts +5 -1
  178. package/dist/trmPackage/TrmPackage.js +6 -2
  179. package/package.json +5 -4
  180. package/dist/actions/checkPackageDependencies/analizeDependencies.d.ts +0 -3
  181. package/dist/actions/checkPackageDependencies/analizeDependencies.js +0 -84
  182. package/dist/actions/checkPackageDependencies/buildOutput.d.ts +0 -3
  183. package/dist/actions/checkPackageDependencies/buildOutput.js +0 -82
  184. package/dist/actions/checkPackageDependencies/setSystemPackages.d.ts +0 -3
  185. package/dist/actions/checkPackageDependencies/setSystemPackages.js +0 -28
  186. package/dist/actions/checkSapEntries/analizeSapEntries.d.ts +0 -3
  187. package/dist/actions/checkSapEntries/buildOutput.js +0 -46
  188. package/dist/actions/findDependencies/acknowledgementSize.d.ts +0 -3
  189. package/dist/actions/findDependencies/acknowledgementSize.js +0 -43
  190. package/dist/actions/findDependencies/readPackageData.js +0 -22
  191. package/dist/actions/findDependencies/readPackageObjects.d.ts +0 -3
  192. package/dist/actions/findDependencies/readPackageObjects.js +0 -26
  193. package/dist/actions/findDependencies/setSystemPackages.d.ts +0 -3
  194. package/dist/actions/findDependencies/setSystemPackages.js +0 -25
  195. package/dist/actions/install/checkTadirContent.js +0 -50
  196. package/dist/actions/install/checkTadirObjectTypes.js +0 -54
  197. package/dist/actions/install/generateWbTransport.js +0 -90
  198. package/dist/actions/install/readDevcTransport.js +0 -30
  199. package/dist/actions/install/setDevclass.js +0 -115
  200. package/dist/actions/installDependency/checkAlreadyInstalled.d.ts +0 -3
  201. package/dist/actions/installDependency/checkAlreadyInstalled.js +0 -42
  202. package/dist/actions/installDependency/getRangeReleases.d.ts +0 -3
  203. package/dist/actions/installDependency/getRangeReleases.js +0 -38
  204. package/dist/actions/installDependency/setSystemPackages.d.ts +0 -3
  205. package/dist/actions/installDependency/setSystemPackages.js +0 -25
  206. package/dist/actions/publish/checkPackageExistance.js +0 -27
  207. package/dist/actions/publish/checkPublishAllowed.d.ts +0 -3
  208. package/dist/actions/publish/checkPublishAllowed.js +0 -33
  209. package/dist/actions/publish/editSapEntries.js +0 -69
  210. package/dist/actions/publish/editTrmDependencies.js +0 -69
  211. package/dist/actions/publish/generateDevcTr.d.ts +0 -3
  212. package/dist/actions/publish/generateDevcTr.js +0 -47
  213. package/dist/actions/publish/generateLangTr.js +0 -69
  214. package/dist/actions/publish/generateTadirTr.d.ts +0 -3
  215. package/dist/actions/publish/generateTadirTr.js +0 -52
  216. package/dist/actions/publish/generateTrmArtifact.d.ts +0 -3
  217. package/dist/actions/publish/generateTrmArtifact.js +0 -30
  218. package/dist/actions/publish/logDependencies.d.ts +0 -3
  219. package/dist/actions/publish/logDependencies.js +0 -31
  220. package/dist/actions/publish/overwriteManifestValues.d.ts +0 -3
  221. package/dist/actions/publish/overwriteManifestValues.js +0 -46
  222. package/dist/actions/publish/publishTrmArtifact.d.ts +0 -3
  223. package/dist/actions/publish/publishTrmArtifact.js +0 -23
  224. package/dist/actions/publish/releaseCustTr.d.ts +0 -3
  225. package/dist/actions/publish/releaseCustTr.js +0 -34
  226. package/dist/actions/publish/releaseDevcTr.d.ts +0 -3
  227. package/dist/actions/publish/releaseDevcTr.js +0 -23
  228. package/dist/actions/publish/releaseLangTr.d.ts +0 -3
  229. package/dist/actions/publish/releaseLangTr.js +0 -34
  230. package/dist/actions/publish/releaseTadirTr.d.ts +0 -3
  231. package/dist/actions/publish/releaseTadirTr.js +0 -23
  232. package/dist/actions/publish/setBackwardsCompatible.js +0 -54
  233. package/dist/actions/publish/setCustTransports.js +0 -49
  234. package/dist/actions/publish/setDevclassObjs.d.ts +0 -3
  235. package/dist/actions/publish/setDevclassObjs.js +0 -22
  236. package/dist/actions/publish/setPrivate.d.ts +0 -3
  237. package/dist/actions/publish/setPrivate.js +0 -61
  238. package/dist/actions/publish/setSapEntries.d.ts +0 -3
  239. package/dist/actions/publish/setSapEntries.js +0 -46
  240. package/dist/actions/publish/setTrmDependencies.d.ts +0 -3
  241. package/dist/actions/publish/setTrmDependencies.js +0 -59
  242. /package/dist/{systemConnector/Connection.js → actions/commons/IActionContext.js} +0 -0
  243. /package/dist/{systemConnector → client}/Login.js +0 -0
  244. /package/dist/{systemConnector → client}/SapMessage.d.ts +0 -0
  245. /package/dist/{systemConnector → client}/SapMessage.js +0 -0
@@ -92,14 +92,21 @@ class Transport {
92
92
  return __awaiter(this, void 0, void 0, function* () {
93
93
  const aE071 = yield this.getE071();
94
94
  var aDevclass = aE071.filter(o => o.pgmid === 'R3TR' && o.object === 'DEVC').map(o => o.objName);
95
- for (const oE071 of aE071) {
96
- if (oE071.pgmid === 'R3TR') {
97
- const tadir = yield systemConnector_1.SystemConnector.getObject(oE071.pgmid, oE071.object, oE071.objName);
98
- if (!aDevclass.includes(tadir.devclass)) {
99
- aDevclass.push(tadir.devclass);
95
+ if (!systemConnector_1.SystemConnector.getSupportedBulk().getTransportObjects) {
96
+ for (const oE071 of aE071) {
97
+ if (oE071.pgmid === 'R3TR') {
98
+ const tadir = yield systemConnector_1.SystemConnector.getObject(oE071.pgmid, oE071.object, oE071.objName);
99
+ if (!aDevclass.includes(tadir.devclass)) {
100
+ aDevclass.push(tadir.devclass);
101
+ }
100
102
  }
101
103
  }
102
104
  }
105
+ else {
106
+ const aTadirObjects = yield systemConnector_1.SystemConnector.getTransportObjectsBulk(this.trkorr);
107
+ aDevclass = aDevclass.concat(aTadirObjects.map(o => o.devclass));
108
+ aDevclass = Array.from(new Set(aDevclass));
109
+ }
103
110
  var aTdevc = [];
104
111
  for (var devclass of aDevclass) {
105
112
  while (devclass) {
@@ -296,25 +303,42 @@ class Transport {
296
303
  }
297
304
  release(lock, skipLog, tmpFolder, secondsTimeout) {
298
305
  return __awaiter(this, void 0, void 0, function* () {
299
- logger_1.Logger.loading('Releasing...', skipLog);
306
+ var rc;
307
+ logger_1.Logger.loading('Releasing transport...', skipLog);
300
308
  yield systemConnector_1.SystemConnector.releaseTrkorr(this.trkorr, lock, secondsTimeout);
301
309
  yield systemConnector_1.SystemConnector.dequeueTransport(this.trkorr);
302
310
  if (tmpFolder) {
303
- yield this.readReleaseLog(tmpFolder, secondsTimeout);
304
- logger_1.Logger.loading(`Finalizing release...`, skipLog);
305
- yield this._isInTmsQueue(true, false, secondsTimeout);
311
+ rc = yield this.readReleaseLog(tmpFolder, secondsTimeout);
306
312
  }
307
313
  else {
308
- yield this._isInTmsQueue(skipLog, false, secondsTimeout);
314
+ rc = yield this._isInTmsQueue(skipLog, false, secondsTimeout);
315
+ }
316
+ if (!skipLog && !tmpFolder) {
317
+ switch (rc) {
318
+ case 4:
319
+ logger_1.Logger.warning(`${this.trkorr} release ended with warning.`);
320
+ break;
321
+ case 8:
322
+ logger_1.Logger.error(`${this.trkorr} release ended with error.`);
323
+ break;
324
+ case 12:
325
+ logger_1.Logger.error(`${this.trkorr} release was cancelled.`);
326
+ break;
327
+ case 16:
328
+ logger_1.Logger.error(`${this.trkorr} release was cancelled.`);
329
+ break;
330
+ }
309
331
  }
310
- return this;
311
332
  });
312
333
  }
313
334
  readReleaseLog(tmpFolder, secondsTimeout) {
314
335
  return __awaiter(this, void 0, void 0, function* () {
315
336
  const filePaths = yield Transport._getFilePaths(this._fileNames);
316
337
  const localPath = path_1.default.join(tmpFolder, this._fileNames.releaseLog);
317
- const oParser = new node_r3trans_1.R3transLogParser(localPath);
338
+ const systemR3transVersion = yield systemConnector_1.SystemConnector.getR3transVersion();
339
+ const systemR3transUnicode = yield systemConnector_1.SystemConnector.getR3transUnicode();
340
+ logger_1.Logger.log(`System R3trans: ${systemR3transVersion}`, true);
341
+ logger_1.Logger.log(`System R3trans unicode: ${systemR3transUnicode}`, true);
318
342
  if (logger_1.Logger.logger instanceof CliLogger_1.CliLogger || logger_1.Logger.logger instanceof CliLogFileLogger_1.CliLogFileLogger) {
319
343
  logger_1.Logger.logger.forceStop();
320
344
  }
@@ -349,7 +373,7 @@ class Transport {
349
373
  try {
350
374
  const logBinary = yield systemConnector_1.SystemConnector.getBinaryFile(filePaths.releaseLog);
351
375
  fs.writeFileSync(localPath, logBinary);
352
- logResult = yield oParser.getReleaseLog();
376
+ logResult = yield (new node_r3trans_1.R3transLogParser(localPath, systemR3transUnicode)).getReleaseLog();
353
377
  fs.unlinkSync(localPath);
354
378
  }
355
379
  catch (e) {
@@ -434,6 +458,7 @@ class Transport {
434
458
  }
435
459
  multibar.stop();
436
460
  var error;
461
+ var rc;
437
462
  if (!exitWhile) {
438
463
  error = new Error(`Timed out waiting for release.`);
439
464
  }
@@ -443,14 +468,19 @@ class Transport {
443
468
  }
444
469
  if (whileResult === "SUCCESS") {
445
470
  logger_1.Logger.success(`Transport ${this.trkorr} released with success.`);
471
+ rc = 0;
446
472
  }
447
473
  if (whileResult === "WARNING") {
448
474
  logger_1.Logger.warning(`Transport ${this.trkorr} released with warning.`);
475
+ rc = 4;
449
476
  }
450
477
  }
451
478
  if (error) {
452
479
  throw error;
453
480
  }
481
+ else {
482
+ return rc;
483
+ }
454
484
  });
455
485
  }
456
486
  readImportLog(tmpFolder) {
@@ -462,12 +492,15 @@ class Transport {
462
492
  const timeoutDate = new Date((new Date()).getTime() + (secondsTimeout * 1000));
463
493
  logger_1.Logger.log(`TMS check for transport ${this.trkorr}, timeout date set to ${timeoutDate}`, true);
464
494
  var inQueue = false;
495
+ var rc = 12;
465
496
  if (this._trTarget) {
466
497
  var sLog = `status unknown`;
467
498
  var inQueueAttempts = 0;
468
499
  while (!inQueue && (new Date()).getTime() < timeoutDate.getTime()) {
469
500
  inQueueAttempts++;
470
- logger_1.Logger.loading(`Reading transport queue, attempt ${inQueueAttempts}...`, skipLog);
501
+ logger_1.Logger.log(`Attempt ${inQueueAttempts}`, true);
502
+ logger_1.Logger.loading(`Reading transport queue...`, skipLog);
503
+ yield (0, promises_1.setTimeout)(6000);
471
504
  var tmsQueue = yield systemConnector_1.SystemConnector.readTmsQueue(this._trTarget);
472
505
  tmsQueue = tmsQueue.filter(o => o.trkorr === this.trkorr);
473
506
  tmsQueue = tmsQueue.sort((a, b) => parseInt(b.bufpos) - parseInt(a.bufpos));
@@ -479,12 +512,12 @@ class Transport {
479
512
  sLog = `imported`;
480
513
  if (tmsQueue.length > 0) {
481
514
  inQueue = tmsQueue[0].impsing !== 'X';
515
+ rc = parseInt(tmsQueue[0].maxrc);
482
516
  }
483
517
  else {
484
518
  inQueue = false;
485
519
  }
486
520
  }
487
- yield (0, promises_1.setTimeout)(6000);
488
521
  }
489
522
  if (!inQueue) {
490
523
  throw new Error(`Transport request not found in queue, timed out after ${inQueueAttempts + 1} attempts`);
@@ -496,7 +529,7 @@ class Transport {
496
529
  else {
497
530
  logger_1.Logger.error(`No target specified, unable to check queue!!`, true);
498
531
  }
499
- return inQueue;
532
+ return rc;
500
533
  });
501
534
  }
502
535
  static _getFileNames(trkorr, targetSystem) {
@@ -652,7 +685,22 @@ class Transport {
652
685
  logger_1.Logger.loading(`Importing transport ${this.trkorr}`, true);
653
686
  yield systemConnector_1.SystemConnector.importTransport(this.trkorr, this._trTarget);
654
687
  logger_1.Logger.log(`Starting transport ${this.trkorr} TMS queue status check`, true);
655
- yield this._isInTmsQueue(false, true, timeout);
688
+ const rc = yield this._isInTmsQueue(false, true, timeout);
689
+ logger_1.Logger.log(`Transport ${this.trkorr} import ended: return code ${rc}`, true);
690
+ switch (rc) {
691
+ case 4:
692
+ logger_1.Logger.warning(`${this.trkorr} import ended with warning.`);
693
+ break;
694
+ case 8:
695
+ logger_1.Logger.error(`${this.trkorr} import ended with error.`);
696
+ break;
697
+ case 12:
698
+ logger_1.Logger.error(`${this.trkorr} import was cancelled.`);
699
+ break;
700
+ case 16:
701
+ logger_1.Logger.error(`${this.trkorr} import was cancelled.`);
702
+ break;
703
+ }
656
704
  });
657
705
  }
658
706
  rename(as4text) {
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { Manifest } from "../manifest";
3
2
  import { Transport } from "../transport";
4
3
  import { TransportBinary } from "./TransportBinary";
@@ -8,13 +8,17 @@ export declare class TrmPackage {
8
8
  registry: Registry;
9
9
  manifest?: Manifest;
10
10
  private _userAuthorizations;
11
+ private _canPublishReleasesCause;
11
12
  private _remoteArtifacts;
12
13
  private _devclass;
13
14
  constructor(packageName: string, registry: Registry, manifest?: Manifest);
14
15
  setDevclass(devclass: DEVCLASS): TrmPackage;
15
16
  getDevclass(): DEVCLASS;
16
17
  exists(version?: string): Promise<boolean>;
17
- canPublishReleases(): Promise<boolean>;
18
+ canPublishReleases(): Promise<{
19
+ canPublishReleases: boolean;
20
+ cause?: string;
21
+ }>;
18
22
  fetchRemoteManifest(version?: string): Promise<Manifest>;
19
23
  fetchRemoteArtifact(version?: string): Promise<TrmArtifact>;
20
24
  publish(data: {
@@ -65,7 +65,8 @@ class TrmPackage {
65
65
  view = yield this._viewLatest();
66
66
  }
67
67
  catch (e) {
68
- if (e.response) {
68
+ this._canPublishReleasesCause = e.message;
69
+ if (e.response && typeof (e.response) === "object") {
69
70
  view = e.response;
70
71
  }
71
72
  else {
@@ -74,7 +75,10 @@ class TrmPackage {
74
75
  }
75
76
  this._userAuthorizations = view.userAuthorizations;
76
77
  }
77
- return this._userAuthorizations.canCreateReleases;
78
+ return {
79
+ canPublishReleases: this._userAuthorizations.canCreateReleases,
80
+ cause: this._canPublishReleasesCause
81
+ };
78
82
  });
79
83
  }
80
84
  fetchRemoteManifest() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "trm-core",
3
- "version": "4.1.4",
3
+ "version": "6.0.0",
4
4
  "description": "TRM (Transport Request Manager) Core",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -33,6 +33,7 @@
33
33
  "@simonegaffurini/sammarksworkflow": "^1.3.2-fork",
34
34
  "adm-zip": "^0.5.10",
35
35
  "axios": "^1.4.0",
36
+ "chalk": "^4.1.2",
36
37
  "cli-progress": "^3.12.0",
37
38
  "cli-table3": "^0.6.3",
38
39
  "dotenv": "^16.3.1",
@@ -41,8 +42,7 @@
41
42
  "get-stack-trace": "^3.1.1",
42
43
  "loading-cli": "^1.1.0",
43
44
  "lodash": "^4.17.21",
44
- "node-r3trans": "^1.0.10",
45
- "node-rfc": "^3.2.0",
45
+ "node-r3trans": "^1.4.4",
46
46
  "object-keys-normalizer": "^1.0.1",
47
47
  "opener": "^1.5.2",
48
48
  "print-tree": "^0.1.5",
@@ -50,7 +50,7 @@
50
50
  "semver": "^7.5.4",
51
51
  "semver-sort": "^1.0.0",
52
52
  "spdx-license-ids": "^3.0.13",
53
- "trm-registry-types": "^1.0.3",
53
+ "trm-registry-types": "^1.1.1",
54
54
  "uuid": "^9.0.1",
55
55
  "xml-beautify": "^1.2.3",
56
56
  "xml-js": "^1.6.11",
@@ -59,6 +59,7 @@
59
59
  "devDependencies": {
60
60
  "@types/adm-zip": "^0.5.0",
61
61
  "@types/cli-progress": "^3.11.3",
62
+ "@types/debug": "^4.1.12",
62
63
  "@types/express": "^4.17.17",
63
64
  "@types/inquirer": "^9.0.3",
64
65
  "@types/jest": "^29.5.12",
@@ -1,3 +0,0 @@
1
- import { Step } from "@simonegaffurini/sammarksworkflow";
2
- import { CheckPackageDependencyWorkflowContext } from ".";
3
- export declare const analizeDependencies: Step<CheckPackageDependencyWorkflowContext>;
@@ -1,84 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.analizeDependencies = void 0;
13
- const logger_1 = require("../../logger");
14
- const trmPackage_1 = require("../../trmPackage");
15
- const registry_1 = require("../../registry");
16
- const semver_1 = require("semver");
17
- const systemConnector_1 = require("../../systemConnector");
18
- exports.analizeDependencies = {
19
- name: 'analize-dependencies',
20
- filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
21
- if (context.parsedInput.systemPackages && context.parsedInput.systemPackages.length > 0) {
22
- return true;
23
- }
24
- else {
25
- logger_1.Logger.info(`Package ${context.parsedInput.packageName} has no TRM package dependencies`, context.parsedInput.print);
26
- return false;
27
- }
28
- }),
29
- run: (context) => __awaiter(void 0, void 0, void 0, function* () {
30
- const dependencies = context.parsedInput.dependencies;
31
- const systemPackages = context.parsedInput.systemPackages;
32
- logger_1.Logger.info(`Package ${context.parsedInput.packageName} has ${dependencies.length} TRM package dependencies`, context.parsedInput.print);
33
- context.runtime.versionOkDependencies = [];
34
- context.runtime.versionKoDependencies = [];
35
- context.runtime.integrityOkDependencies = [];
36
- context.runtime.integrityKoDependencies = [];
37
- context.runtime.table = {
38
- head: ['Dependency', 'Registry', 'Dependency range', 'Version on system', 'Version status', 'Integrity status'],
39
- data: []
40
- };
41
- var tableData;
42
- for (const dependency of dependencies) {
43
- tableData = [dependency.name, dependency.registry || registry_1.PUBLIC_RESERVED_KEYWORD, dependency.version];
44
- const dependencyTrmPackage = new trmPackage_1.TrmPackage(dependency.name, new registry_1.Registry(dependency.registry || registry_1.PUBLIC_RESERVED_KEYWORD));
45
- const systemInstalledPackage = systemPackages.find(o => trmPackage_1.TrmPackage.compare(o, dependencyTrmPackage));
46
- if (systemInstalledPackage && systemInstalledPackage.manifest) {
47
- const installedVersion = systemInstalledPackage.manifest.get().version;
48
- tableData.push(installedVersion);
49
- if ((0, semver_1.satisfies)(installedVersion, dependency.version)) {
50
- tableData.push('OK');
51
- context.runtime.versionOkDependencies.push(dependency);
52
- }
53
- else {
54
- tableData.push('ERR!');
55
- context.runtime.versionKoDependencies.push(dependency);
56
- }
57
- }
58
- else {
59
- tableData.push('Not found');
60
- tableData.push('ERR!');
61
- context.runtime.versionKoDependencies.push(dependency);
62
- }
63
- try {
64
- const installedPackageIntegrity = yield systemConnector_1.SystemConnector.getPackageIntegrity(systemInstalledPackage);
65
- if (installedPackageIntegrity === dependency.integrity) {
66
- tableData.push('Safe');
67
- context.runtime.integrityOkDependencies.push(dependency);
68
- }
69
- else {
70
- tableData.push('Unsafe');
71
- context.runtime.integrityKoDependencies.push(dependency);
72
- }
73
- }
74
- catch (e) {
75
- tableData.push('Unknown');
76
- context.runtime.integrityKoDependencies.push(dependency);
77
- logger_1.Logger.error(e.toString(), true);
78
- logger_1.Logger.error(`Couldn't retrieve package integrity`, true);
79
- }
80
- context.runtime.table.data.push(tableData);
81
- }
82
- logger_1.Logger.table(context.runtime.table.head, context.runtime.table.data, context.parsedInput.print);
83
- })
84
- };
@@ -1,3 +0,0 @@
1
- import { Step } from "@simonegaffurini/sammarksworkflow";
2
- import { CheckPackageDependencyWorkflowContext } from ".";
3
- export declare const buildOutput: Step<CheckPackageDependencyWorkflowContext>;
@@ -1,82 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.buildOutput = void 0;
13
- exports.buildOutput = {
14
- name: 'build-output',
15
- filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
16
- try {
17
- const items = context.runtime.versionOkDependencies.length +
18
- context.runtime.versionKoDependencies.length +
19
- context.runtime.integrityOkDependencies.length +
20
- context.runtime.integrityKoDependencies.length;
21
- return items > 0;
22
- }
23
- catch (e) {
24
- return false;
25
- }
26
- }),
27
- run: (context) => __awaiter(void 0, void 0, void 0, function* () {
28
- context.output.dependencyStatus = [];
29
- context.runtime.versionOkDependencies.forEach(o => {
30
- const i = context.output.dependencyStatus.findIndex(k => k.dependency.name === o.name && k.dependency.registry === o.registry);
31
- if (i >= 0) {
32
- context.output.dependencyStatus[i].match = true;
33
- }
34
- else {
35
- context.output.dependencyStatus.push({
36
- dependency: o,
37
- match: true,
38
- safe: null
39
- });
40
- }
41
- });
42
- context.runtime.versionKoDependencies.forEach(o => {
43
- const i = context.output.dependencyStatus.findIndex(k => k.dependency.name === o.name && k.dependency.registry === o.registry);
44
- if (i >= 0) {
45
- context.output.dependencyStatus[i].match = false;
46
- }
47
- else {
48
- context.output.dependencyStatus.push({
49
- dependency: o,
50
- match: false,
51
- safe: null
52
- });
53
- }
54
- });
55
- context.runtime.integrityOkDependencies.forEach(o => {
56
- const i = context.output.dependencyStatus.findIndex(k => k.dependency.name === o.name && k.dependency.registry === o.registry);
57
- if (i >= 0) {
58
- context.output.dependencyStatus[i].safe = true;
59
- }
60
- else {
61
- context.output.dependencyStatus.push({
62
- dependency: o,
63
- match: null,
64
- safe: true
65
- });
66
- }
67
- });
68
- context.runtime.integrityKoDependencies.forEach(o => {
69
- const i = context.output.dependencyStatus.findIndex(k => k.dependency.name === o.name && k.dependency.registry === o.registry);
70
- if (i >= 0) {
71
- context.output.dependencyStatus[i].safe = false;
72
- }
73
- else {
74
- context.output.dependencyStatus.push({
75
- dependency: o,
76
- match: null,
77
- safe: false
78
- });
79
- }
80
- });
81
- })
82
- };
@@ -1,3 +0,0 @@
1
- import { Step } from "@simonegaffurini/sammarksworkflow";
2
- import { CheckPackageDependencyWorkflowContext } from ".";
3
- export declare const setSystemPackages: Step<CheckPackageDependencyWorkflowContext>;
@@ -1,28 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.setSystemPackages = void 0;
13
- const systemConnector_1 = require("../../systemConnector");
14
- const logger_1 = require("../../logger");
15
- exports.setSystemPackages = {
16
- name: 'set-system-packages',
17
- filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
18
- return context.parsedInput.dependencies.length > 0;
19
- }),
20
- run: (context) => __awaiter(void 0, void 0, void 0, function* () {
21
- var systemPackages = context.parsedInput.systemPackages;
22
- if (systemPackages.length === 0) {
23
- logger_1.Logger.loading(`Reading system packages`, true);
24
- systemPackages = yield systemConnector_1.SystemConnector.getInstalledPackages(true);
25
- }
26
- context.parsedInput.systemPackages = systemPackages;
27
- })
28
- };
@@ -1,3 +0,0 @@
1
- import { Step } from "@simonegaffurini/sammarksworkflow";
2
- import { CheckSapEntriesWorkflowContext } from ".";
3
- export declare const analizeSapEntries: Step<CheckSapEntriesWorkflowContext>;
@@ -1,46 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.buildOutput = void 0;
13
- exports.buildOutput = {
14
- name: 'build-output',
15
- filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
16
- try {
17
- const items = context.runtime.okEntries.length +
18
- context.runtime.okEntries.length;
19
- return items > 0;
20
- }
21
- catch (e) {
22
- return false;
23
- }
24
- }),
25
- run: (context) => __awaiter(void 0, void 0, void 0, function* () {
26
- context.output.sapEntriesStatus = {};
27
- context.runtime.okEntries.forEach(o => {
28
- if (!context.output.sapEntriesStatus[o.table]) {
29
- context.output.sapEntriesStatus[o.table] = [];
30
- }
31
- context.output.sapEntriesStatus[o.table].push({
32
- status: true,
33
- entry: o.tableEntry
34
- });
35
- });
36
- context.runtime.koEntries.forEach(o => {
37
- if (!context.output.sapEntriesStatus[o.table]) {
38
- context.output.sapEntriesStatus[o.table] = [];
39
- }
40
- context.output.sapEntriesStatus[o.table].push({
41
- status: false,
42
- entry: o.tableEntry
43
- });
44
- });
45
- })
46
- };
@@ -1,3 +0,0 @@
1
- import { Step } from "@simonegaffurini/sammarksworkflow";
2
- import { FindDependenciesWorkflowContext } from ".";
3
- export declare const acknowledgementSize: Step<FindDependenciesWorkflowContext>;
@@ -1,43 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.acknowledgementSize = void 0;
13
- const inquirer_1 = require("../../inquirer");
14
- const logger_1 = require("../../logger");
15
- exports.acknowledgementSize = {
16
- name: 'acknowledgement-size',
17
- filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
18
- if (context.parsedInput.tadir.length > 50) {
19
- return true;
20
- }
21
- else {
22
- return false;
23
- }
24
- }),
25
- run: (context) => __awaiter(void 0, void 0, void 0, function* () {
26
- const size = context.parsedInput.tadir.length;
27
- const sMsg = `A total of ${size} objects will be analyzed in order to find dependencies, and it may take a long time.`;
28
- if (!context.parsedInput.silent) {
29
- const inq1 = yield inquirer_1.Inquirer.prompt({
30
- type: 'confirm',
31
- name: 'continueDependency',
32
- default: true,
33
- message: `${sMsg} Continue?`
34
- });
35
- if (!inq1.continueDependency) {
36
- throw new Error(`Process aborted by user.`);
37
- }
38
- }
39
- else {
40
- logger_1.Logger.warning(sMsg);
41
- }
42
- })
43
- };
@@ -1,22 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.readPackageData = void 0;
13
- const systemConnector_1 = require("../../systemConnector");
14
- const logger_1 = require("../../logger");
15
- exports.readPackageData = {
16
- name: 'read-package-data',
17
- run: (context) => __awaiter(void 0, void 0, void 0, function* () {
18
- const devclass = context.parsedInput.devclass;
19
- logger_1.Logger.loading(`Reading package data...`);
20
- context.runtime.devclassIgnore = [devclass].concat((yield systemConnector_1.SystemConnector.getSubpackages(devclass)).map(o => o.devclass));
21
- })
22
- };
@@ -1,3 +0,0 @@
1
- import { Step } from "@simonegaffurini/sammarksworkflow";
2
- import { FindDependenciesWorkflowContext } from ".";
3
- export declare const readPackageObjects: Step<FindDependenciesWorkflowContext>;
@@ -1,26 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.readPackageObjects = void 0;
13
- const systemConnector_1 = require("../../systemConnector");
14
- const logger_1 = require("../../logger");
15
- exports.readPackageObjects = {
16
- name: 'read-package-objects',
17
- run: (context) => __awaiter(void 0, void 0, void 0, function* () {
18
- const devclass = context.parsedInput.devclass;
19
- logger_1.Logger.loading(`Reading package objects...`);
20
- var tadirObjects = context.parsedInput.tadir;
21
- if (tadirObjects.length === 0) {
22
- tadirObjects = yield systemConnector_1.SystemConnector.getDevclassObjects(devclass, true);
23
- }
24
- context.parsedInput.tadir = tadirObjects;
25
- })
26
- };
@@ -1,3 +0,0 @@
1
- import { Step } from "@simonegaffurini/sammarksworkflow";
2
- import { FindDependenciesWorkflowContext } from ".";
3
- export declare const setSystemPackages: Step<FindDependenciesWorkflowContext>;