trm-core 9.10.6 → 10.0.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.
Files changed (384) hide show
  1. package/README.md +20 -0
  2. package/changelog.txt +11 -0
  3. package/dist/actions/cg3y/download.js +34 -4
  4. package/dist/actions/cg3y/index.d.ts +23 -0
  5. package/dist/actions/cg3y/index.js +13 -10
  6. package/dist/actions/cg3z/index.d.ts +67 -3
  7. package/dist/actions/cg3z/index.js +25 -14
  8. package/dist/actions/cg3z/upload.d.ts +20 -0
  9. package/dist/actions/cg3z/upload.js +165 -36
  10. package/dist/actions/checkEngines/analyze.d.ts +11 -0
  11. package/dist/actions/checkEngines/analyze.js +294 -0
  12. package/dist/actions/checkEngines/index.d.ts +87 -0
  13. package/dist/actions/checkEngines/index.js +38 -0
  14. package/dist/actions/checkEngines/init.d.ts +11 -0
  15. package/dist/actions/checkEngines/init.js +45 -0
  16. package/dist/actions/checkPackageDependencies/analyze.d.ts +10 -0
  17. package/dist/actions/checkPackageDependencies/analyze.js +37 -39
  18. package/dist/actions/checkPackageDependencies/index.d.ts +56 -0
  19. package/dist/actions/checkPackageDependencies/index.js +13 -10
  20. package/dist/actions/checkPackageDependencies/init.d.ts +8 -0
  21. package/dist/actions/checkPackageDependencies/init.js +24 -2
  22. package/dist/actions/checkSapEntries/analyze.d.ts +12 -0
  23. package/dist/actions/checkSapEntries/analyze.js +63 -47
  24. package/dist/actions/checkSapEntries/index.d.ts +35 -0
  25. package/dist/actions/checkSapEntries/index.js +12 -10
  26. package/dist/actions/checkSapEntries/init.d.ts +8 -0
  27. package/dist/actions/checkSapEntries/init.js +10 -2
  28. package/dist/actions/commons/IActionContext.d.ts +10 -0
  29. package/dist/actions/commons/checkServerAuth.d.ts +7 -0
  30. package/dist/actions/commons/checkServerAuth.js +10 -5
  31. package/dist/actions/commons/index.d.ts +1 -1
  32. package/dist/actions/commons/index.js +1 -1
  33. package/dist/actions/commons/prompts/index.d.ts +1 -0
  34. package/dist/actions/commons/prompts/index.js +1 -0
  35. package/dist/actions/commons/prompts/setLandscapeTarget.d.ts +14 -0
  36. package/dist/actions/commons/prompts/setLandscapeTarget.js +40 -0
  37. package/dist/actions/commons/prompts/setTransportTarget.d.ts +15 -0
  38. package/dist/actions/commons/prompts/setTransportTarget.js +20 -2
  39. package/dist/actions/commons/setSystemPackages.d.ts +7 -0
  40. package/dist/actions/commons/setSystemPackages.js +12 -2
  41. package/dist/actions/commons/utils/actionLocks.d.ts +32 -0
  42. package/dist/actions/commons/utils/actionLocks.js +135 -0
  43. package/dist/actions/commons/utils/dirtyEntries.d.ts +12 -0
  44. package/dist/actions/commons/utils/dirtyEntries.js +54 -0
  45. package/dist/actions/commons/utils/index.d.ts +10 -0
  46. package/dist/actions/commons/utils/index.js +26 -0
  47. package/dist/actions/commons/utils/installRegistry.d.ts +18 -0
  48. package/dist/actions/commons/utils/installRegistry.js +46 -0
  49. package/dist/actions/commons/utils/installedDependency.d.ts +15 -0
  50. package/dist/actions/commons/utils/installedDependency.js +30 -0
  51. package/dist/actions/commons/utils/owningInstallation.d.ts +6 -0
  52. package/dist/actions/commons/utils/owningInstallation.js +47 -0
  53. package/dist/actions/commons/utils/packageCleanup.d.ts +168 -0
  54. package/dist/actions/commons/utils/packageCleanup.js +1017 -0
  55. package/dist/actions/commons/utils/releaseDeletionTransport.d.ts +5 -0
  56. package/dist/actions/commons/utils/releaseDeletionTransport.js +67 -0
  57. package/dist/actions/commons/utils/restoreTransport.d.ts +6 -0
  58. package/dist/actions/commons/utils/restoreTransport.js +50 -0
  59. package/dist/actions/commons/utils/retainedWorkflow.d.ts +6 -0
  60. package/dist/actions/commons/utils/retainedWorkflow.js +49 -0
  61. package/dist/actions/commons/utils/withScopedPrefix.d.ts +5 -0
  62. package/dist/actions/commons/utils/withScopedPrefix.js +32 -0
  63. package/dist/actions/commons/workflowCallbacks.d.ts +21 -0
  64. package/dist/actions/commons/workflowCallbacks.js +157 -0
  65. package/dist/actions/index.d.ts +3 -0
  66. package/dist/actions/index.js +5 -0
  67. package/dist/actions/install/addNamespace.d.ts +18 -0
  68. package/dist/actions/install/addNamespace.js +121 -51
  69. package/dist/actions/install/checkDependants.d.ts +15 -0
  70. package/dist/actions/install/checkDependants.js +74 -0
  71. package/dist/actions/install/checkDependencies.d.ts +11 -0
  72. package/dist/actions/install/checkDependencies.js +32 -13
  73. package/dist/actions/install/checkDependencyCycles.d.ts +17 -0
  74. package/dist/actions/install/checkDependencyCycles.js +105 -0
  75. package/dist/actions/install/checkEngines.d.ts +11 -0
  76. package/dist/actions/install/checkEngines.js +100 -0
  77. package/dist/actions/install/checkInstallDevclass.d.ts +24 -0
  78. package/dist/actions/install/checkInstallDevclass.js +110 -0
  79. package/dist/actions/install/checkSapEntries.d.ts +9 -0
  80. package/dist/actions/install/checkSapEntries.js +20 -12
  81. package/dist/actions/install/checkTransports.d.ts +34 -0
  82. package/dist/actions/install/checkTransports.js +329 -170
  83. package/dist/actions/install/cleanupCheckpoint.d.ts +11 -0
  84. package/dist/actions/install/cleanupCheckpoint.js +62 -0
  85. package/dist/actions/install/defaultTransportLayer.d.ts +5 -0
  86. package/dist/actions/install/defaultTransportLayer.js +36 -0
  87. package/dist/actions/install/executePostActivities.d.ts +6 -0
  88. package/dist/actions/install/executePostActivities.js +28 -38
  89. package/dist/actions/install/generateDevclass.d.ts +10 -0
  90. package/dist/actions/install/generateDevclass.js +66 -20
  91. package/dist/actions/install/generateLandscapeTransport.d.ts +23 -0
  92. package/dist/actions/install/generateLandscapeTransport.js +136 -0
  93. package/dist/actions/install/generateUpdateTransport.d.ts +20 -0
  94. package/dist/actions/install/generateUpdateTransport.js +122 -0
  95. package/dist/actions/install/importBatch.d.ts +22 -0
  96. package/dist/actions/install/importBatch.js +0 -0
  97. package/dist/actions/install/index.d.ts +273 -44
  98. package/dist/actions/install/index.js +139 -59
  99. package/dist/actions/install/init.d.ts +14 -0
  100. package/dist/actions/install/init.js +215 -108
  101. package/dist/actions/install/installDependencies.d.ts +14 -0
  102. package/dist/actions/install/installDependencies.js +122 -45
  103. package/dist/actions/install/lockResources.d.ts +8 -0
  104. package/dist/actions/install/lockResources.js +100 -0
  105. package/dist/actions/install/prepareCust.d.ts +13 -0
  106. package/dist/actions/install/prepareCust.js +138 -0
  107. package/dist/actions/install/prepareDevc.d.ts +15 -0
  108. package/dist/actions/install/prepareDevc.js +113 -0
  109. package/dist/actions/install/prepareLang.d.ts +13 -0
  110. package/dist/actions/install/prepareLang.js +110 -0
  111. package/dist/actions/install/prepareTadir.d.ts +13 -0
  112. package/dist/actions/install/prepareTadir.js +95 -0
  113. package/dist/actions/install/releaseLandscapeTransport.d.ts +11 -0
  114. package/dist/actions/install/releaseLandscapeTransport.js +79 -0
  115. package/dist/actions/install/setInstallDevclass.d.ts +10 -0
  116. package/dist/actions/install/setInstallDevclass.js +140 -54
  117. package/dist/actions/install/updatePackageData.d.ts +9 -0
  118. package/dist/actions/install/updatePackageData.js +117 -13
  119. package/dist/actions/installDependency/checkInstalledRelease.d.ts +13 -0
  120. package/dist/actions/installDependency/checkInstalledRelease.js +50 -0
  121. package/dist/actions/installDependency/confirmDowngrade.d.ts +11 -0
  122. package/dist/actions/installDependency/confirmDowngrade.js +53 -0
  123. package/dist/actions/installDependency/findInstallRelease.d.ts +24 -0
  124. package/dist/actions/installDependency/findInstallRelease.js +42 -19
  125. package/dist/actions/installDependency/index.d.ts +64 -3
  126. package/dist/actions/installDependency/index.js +30 -13
  127. package/dist/actions/installDependency/init.d.ts +14 -0
  128. package/dist/actions/installDependency/init.js +24 -3
  129. package/dist/actions/installDependency/installRelease.d.ts +6 -0
  130. package/dist/actions/installDependency/installRelease.js +22 -12
  131. package/dist/actions/publish/enginesUi.d.ts +53 -0
  132. package/dist/actions/publish/enginesUi.js +289 -0
  133. package/dist/actions/publish/findDependencies.d.ts +19 -0
  134. package/dist/actions/publish/findDependencies.js +72 -37
  135. package/dist/actions/publish/generateCustTransport.d.ts +6 -0
  136. package/dist/actions/publish/generateCustTransport.js +42 -19
  137. package/dist/actions/publish/generateDevcTransport.d.ts +6 -0
  138. package/dist/actions/publish/generateDevcTransport.js +16 -18
  139. package/dist/actions/publish/generateLangTransport.d.ts +6 -0
  140. package/dist/actions/publish/generateLangTransport.js +20 -23
  141. package/dist/actions/publish/generateTadirTransport.d.ts +6 -0
  142. package/dist/actions/publish/generateTadirTransport.js +18 -17
  143. package/dist/actions/publish/getSystemEngines.d.ts +27 -0
  144. package/dist/actions/publish/getSystemEngines.js +112 -0
  145. package/dist/actions/publish/index.d.ts +162 -37
  146. package/dist/actions/publish/index.js +51 -34
  147. package/dist/actions/publish/init.d.ts +28 -0
  148. package/dist/actions/publish/init.js +304 -120
  149. package/dist/actions/publish/lockResources.d.ts +4 -0
  150. package/dist/actions/{install/refreshTmsTxt.js → publish/lockResources.js} +14 -17
  151. package/dist/actions/publish/publishToRegistry.d.ts +8 -0
  152. package/dist/actions/publish/publishToRegistry.js +18 -8
  153. package/dist/actions/publish/releaseTransports.d.ts +6 -0
  154. package/dist/actions/publish/releaseTransports.js +48 -20
  155. package/dist/actions/publish/setCustomizingTransports.d.ts +6 -0
  156. package/dist/actions/publish/setCustomizingTransports.js +227 -101
  157. package/dist/actions/publish/setManifestValues.d.ts +22 -0
  158. package/dist/actions/publish/setManifestValues.js +455 -119
  159. package/dist/actions/publish/setOptionalPublishData.d.ts +11 -0
  160. package/dist/actions/publish/setOptionalPublishData.js +133 -0
  161. package/dist/actions/publish/updatePackageData.d.ts +8 -0
  162. package/dist/actions/publish/updatePackageData.js +20 -7
  163. package/dist/actions/stopWarning.d.ts +5 -0
  164. package/dist/actions/stopWarning.js +5 -0
  165. package/dist/actions/uninstall/checkDependants.d.ts +7 -0
  166. package/dist/actions/uninstall/checkDependants.js +55 -0
  167. package/dist/actions/uninstall/forwardDeletionTransport.d.ts +10 -0
  168. package/dist/actions/uninstall/forwardDeletionTransport.js +51 -0
  169. package/dist/actions/uninstall/generateDeletionTransport.d.ts +10 -0
  170. package/dist/actions/uninstall/generateDeletionTransport.js +45 -0
  171. package/dist/actions/uninstall/index.d.ts +153 -0
  172. package/dist/actions/uninstall/index.js +141 -0
  173. package/dist/actions/uninstall/init.d.ts +17 -0
  174. package/dist/actions/uninstall/init.js +146 -0
  175. package/dist/actions/uninstall/lockResources.d.ts +4 -0
  176. package/dist/actions/{publish/setTransportTarget.js → uninstall/lockResources.js} +16 -7
  177. package/dist/actions/uninstall/removePackageData.d.ts +9 -0
  178. package/dist/actions/uninstall/removePackageData.js +64 -0
  179. package/dist/actions/uninstall/uninstallNestedPackages.d.ts +26 -0
  180. package/dist/actions/uninstall/uninstallNestedPackages.js +174 -0
  181. package/dist/client/ClientError.d.ts +3 -1
  182. package/dist/client/ClientError.js +2 -1
  183. package/dist/client/RESTClient.d.ts +18 -5
  184. package/dist/client/RESTClient.js +194 -52
  185. package/dist/client/RESTClientError.d.ts +1 -2
  186. package/dist/client/RESTClientError.js +3 -2
  187. package/dist/client/RFCClient.d.ts +28 -7
  188. package/dist/client/RFCClient.js +325 -77
  189. package/dist/client/RFCClientError.d.ts +1 -1
  190. package/dist/client/RFCClientError.js +2 -2
  191. package/dist/client/TransportEntries.d.ts +8 -0
  192. package/dist/client/TransportEntries.js +2 -0
  193. package/dist/client/components/BORM_ID.d.ts +1 -0
  194. package/dist/client/components/BORM_ID.js +2 -0
  195. package/dist/client/components/BORM_NAME.d.ts +1 -0
  196. package/dist/client/components/BORM_NAME.js +2 -0
  197. package/dist/client/components/BORM_NAMEL.d.ts +1 -0
  198. package/dist/client/components/BORM_NAMEL.js +2 -0
  199. package/dist/client/components/BORM_VEND.d.ts +1 -0
  200. package/dist/client/components/BORM_VEND.js +2 -0
  201. package/dist/client/components/BORM_VERS.d.ts +1 -0
  202. package/dist/client/components/BORM_VERS.js +2 -0
  203. package/dist/client/components/CWBNTNUMM.d.ts +1 -0
  204. package/dist/client/components/CWBNTNUMM.js +2 -0
  205. package/dist/client/components/CWBNTSTAT.d.ts +1 -0
  206. package/dist/client/components/CWBNTSTAT.js +2 -0
  207. package/dist/client/components/CWBNTVERS.d.ts +1 -0
  208. package/dist/client/components/CWBNTVERS.js +2 -0
  209. package/dist/client/components/CWBPRSTAT.d.ts +1 -0
  210. package/dist/client/components/CWBPRSTAT.js +2 -0
  211. package/dist/client/components/INSTSTATE.d.ts +1 -0
  212. package/dist/client/components/INSTSTATE.js +2 -0
  213. package/dist/client/components/RELC_TYPE.d.ts +1 -0
  214. package/dist/client/components/RELC_TYPE.js +2 -0
  215. package/dist/client/components/SAPPATCHLV.d.ts +1 -0
  216. package/dist/client/components/SAPPATCHLV.js +2 -0
  217. package/dist/client/components/SAPRELEASE.d.ts +1 -0
  218. package/dist/client/components/SAPRELEASE.js +2 -0
  219. package/dist/client/components/SYSYSID.d.ts +1 -0
  220. package/dist/client/components/SYSYSID.js +2 -0
  221. package/dist/client/components/ZTRM_INSTALLTR_TYPE.d.ts +1 -0
  222. package/dist/client/components/ZTRM_INSTALLTR_TYPE.js +2 -0
  223. package/dist/client/components/index.d.ts +15 -0
  224. package/dist/client/components/index.js +15 -0
  225. package/dist/client/index.d.ts +1 -0
  226. package/dist/client/index.js +1 -0
  227. package/dist/client/messageLog.d.ts +7 -0
  228. package/dist/client/messageLog.js +21 -0
  229. package/dist/client/struct/ActionLockKey.d.ts +6 -0
  230. package/dist/client/struct/ActionLockKey.js +2 -0
  231. package/dist/client/struct/CVERS.d.ts +7 -0
  232. package/dist/client/struct/CVERS.js +2 -0
  233. package/dist/client/struct/CWBNTCUST.d.ts +6 -0
  234. package/dist/client/struct/CWBNTCUST.js +2 -0
  235. package/dist/client/struct/CWBNTHEAD.d.ts +5 -0
  236. package/dist/client/struct/CWBNTHEAD.js +2 -0
  237. package/dist/client/struct/E070.d.ts +2 -1
  238. package/dist/client/struct/E071K.d.ts +9 -0
  239. package/dist/client/struct/E071K.js +2 -0
  240. package/dist/client/struct/PRDVERS.d.ts +9 -0
  241. package/dist/client/struct/PRDVERS.js +2 -0
  242. package/dist/client/struct/SCOMPKDTLN.d.ts +21 -0
  243. package/dist/client/struct/STMSCALERT.d.ts +21 -0
  244. package/dist/client/struct/STMSCALERT.js +2 -0
  245. package/dist/client/struct/STMS_TP_IMPORT.d.ts +14 -0
  246. package/dist/client/struct/STMS_TP_IMPORT.js +2 -0
  247. package/dist/client/struct/STMS_TR_REQUEST.d.ts +8 -0
  248. package/dist/client/struct/STMS_TR_REQUEST.js +2 -0
  249. package/dist/client/struct/TDEVC.d.ts +38 -0
  250. package/dist/client/struct/TPLOGPTR.d.ts +13 -0
  251. package/dist/client/struct/TPLOGPTR.js +2 -0
  252. package/dist/client/struct/TPSTDOUT.d.ts +3 -0
  253. package/dist/client/struct/TPSTDOUT.js +2 -0
  254. package/dist/client/struct/ZTRM_INSTALLTR.d.ts +8 -0
  255. package/dist/client/struct/ZTRM_INSTALLTR.js +2 -0
  256. package/dist/client/struct/index.d.ts +12 -0
  257. package/dist/client/struct/index.js +12 -0
  258. package/dist/commons/checkCoreTrmDependencies.js +1 -1
  259. package/dist/commons/getAxiosInstance.js +8 -17
  260. package/dist/commons/getNodePackage.js +7 -0
  261. package/dist/commons/getPackageHierarchy.js +2 -0
  262. package/dist/commons/getPackagesNamespace.d.ts +9 -0
  263. package/dist/commons/getPackagesNamespace.js +19 -0
  264. package/dist/commons/index.d.ts +4 -0
  265. package/dist/commons/index.js +4 -0
  266. package/dist/commons/packageDataFromTdevc.d.ts +12 -0
  267. package/dist/commons/packageDataFromTdevc.js +25 -0
  268. package/dist/commons/resolveCoreVersion.d.ts +10 -0
  269. package/dist/commons/resolveCoreVersion.js +24 -0
  270. package/dist/commons/summarizeForLog.d.ts +22 -0
  271. package/dist/commons/summarizeForLog.js +120 -0
  272. package/dist/connection/OpenRFCConnect.d.ts +13 -0
  273. package/dist/connection/OpenRFCConnect.js +23 -0
  274. package/dist/connection/index.d.ts +1 -0
  275. package/dist/connection/index.js +17 -0
  276. package/dist/dependencies/PackageDependencies.d.ts +2 -0
  277. package/dist/dependencies/PackageDependencies.js +24 -0
  278. package/dist/index.d.ts +1 -0
  279. package/dist/index.js +1 -0
  280. package/dist/lockfile/Lockfile.d.ts +23 -1
  281. package/dist/lockfile/Lockfile.js +45 -9
  282. package/dist/manifest/Manifest.d.ts +9 -5
  283. package/dist/manifest/Manifest.js +82 -29
  284. package/dist/manifest/PostActivity.js +3 -3
  285. package/dist/manifest/TrmManifest.d.ts +0 -2
  286. package/dist/manifest/TrmManifestBase.d.ts +2 -0
  287. package/dist/manifest/TrmManifestEngines.d.ts +64 -0
  288. package/dist/manifest/TrmManifestEngines.js +2 -0
  289. package/dist/manifest/engines/index.d.ts +2 -0
  290. package/dist/manifest/engines/index.js +18 -0
  291. package/dist/manifest/engines/sapRange.d.ts +38 -0
  292. package/dist/manifest/engines/sapRange.js +135 -0
  293. package/dist/manifest/engines/validateEngines.d.ts +44 -0
  294. package/dist/manifest/engines/validateEngines.js +282 -0
  295. package/dist/manifest/index.d.ts +3 -0
  296. package/dist/manifest/index.js +3 -0
  297. package/dist/manifest/sapEntries.d.ts +14 -0
  298. package/dist/manifest/sapEntries.js +63 -0
  299. package/dist/protocol/Protocol.js +7 -0
  300. package/dist/registry/AbstractRegistry.d.ts +18 -3
  301. package/dist/registry/FileSystem.d.ts +22 -13
  302. package/dist/registry/FileSystem.js +69 -18
  303. package/dist/registry/RegistryDeletionTransportUnauthorizedError.d.ts +4 -0
  304. package/dist/registry/RegistryDeletionTransportUnauthorizedError.js +12 -0
  305. package/dist/registry/RegistryDeletionTransportUnavailableError.d.ts +9 -0
  306. package/dist/registry/RegistryDeletionTransportUnavailableError.js +17 -0
  307. package/dist/registry/RegistryPackageNotFoundError.d.ts +7 -0
  308. package/dist/registry/RegistryPackageNotFoundError.js +14 -0
  309. package/dist/registry/RegistryV2.d.ts +15 -5
  310. package/dist/registry/RegistryV2.js +308 -48
  311. package/dist/registry/index.d.ts +4 -0
  312. package/dist/registry/index.js +4 -0
  313. package/dist/registry/registryKey.d.ts +7 -0
  314. package/dist/registry/registryKey.js +21 -0
  315. package/dist/systemConnector/ActionLock.d.ts +1 -0
  316. package/dist/systemConnector/ActionLock.js +2 -0
  317. package/dist/systemConnector/ISystemConnector.d.ts +21 -4
  318. package/dist/systemConnector/ISystemConnectorBase.d.ts +16 -0
  319. package/dist/systemConnector/InstallTransport.d.ts +6 -0
  320. package/dist/systemConnector/InstallTransport.js +2 -0
  321. package/dist/systemConnector/OpenRFCSystemConnector.d.ts +12 -0
  322. package/dist/systemConnector/OpenRFCSystemConnector.js +51 -0
  323. package/dist/systemConnector/RESTSystemConnector.d.ts +22 -7
  324. package/dist/systemConnector/RESTSystemConnector.js +95 -23
  325. package/dist/systemConnector/RFCConnection.d.ts +0 -1
  326. package/dist/systemConnector/RFCSystemConnector.d.ts +25 -7
  327. package/dist/systemConnector/RFCSystemConnector.js +75 -16
  328. package/dist/systemConnector/SystemConnector.d.ts +38 -6
  329. package/dist/systemConnector/SystemConnector.js +138 -12
  330. package/dist/systemConnector/SystemConnectorBase.d.ts +24 -1
  331. package/dist/systemConnector/SystemConnectorBase.js +174 -22
  332. package/dist/systemConnector/index.d.ts +3 -0
  333. package/dist/systemConnector/index.js +3 -0
  334. package/dist/transport/E071KOwner.d.ts +10 -0
  335. package/dist/transport/E071KOwner.js +15 -0
  336. package/dist/transport/R3transLogParser.d.ts +19 -0
  337. package/dist/transport/R3transLogParser.js +148 -0
  338. package/dist/transport/Transport.d.ts +36 -3
  339. package/dist/transport/Transport.js +304 -138
  340. package/dist/transport/index.d.ts +2 -0
  341. package/dist/transport/index.js +2 -0
  342. package/dist/trmPackage/TransportBinary.d.ts +4 -1
  343. package/dist/trmPackage/TrmArtifact.d.ts +12 -8
  344. package/dist/trmPackage/TrmArtifact.js +93 -74
  345. package/dist/trmPackage/TrmPackage.d.ts +20 -6
  346. package/dist/trmPackage/TrmPackage.js +27 -1
  347. package/dist/validators/validateDevclass.js +4 -0
  348. package/package.json +15 -7
  349. package/dist/actions/commons/trmServerPa.d.ts +0 -3
  350. package/dist/actions/commons/trmServerPa.js +0 -40
  351. package/dist/actions/install/checkAlreadyInstalled.d.ts +0 -3
  352. package/dist/actions/install/checkAlreadyInstalled.js +0 -71
  353. package/dist/actions/install/checkObjectTypes.d.ts +0 -3
  354. package/dist/actions/install/checkObjectTypes.js +0 -50
  355. package/dist/actions/install/checkObjectsLock.d.ts +0 -3
  356. package/dist/actions/install/checkObjectsLock.js +0 -52
  357. package/dist/actions/install/generateInstallTransports.d.ts +0 -3
  358. package/dist/actions/install/generateInstallTransports.js +0 -128
  359. package/dist/actions/install/importCustTransport.d.ts +0 -3
  360. package/dist/actions/install/importCustTransport.js +0 -73
  361. package/dist/actions/install/importDevcTransport.d.ts +0 -3
  362. package/dist/actions/install/importDevcTransport.js +0 -93
  363. package/dist/actions/install/importLangTransport.d.ts +0 -3
  364. package/dist/actions/install/importLangTransport.js +0 -72
  365. package/dist/actions/install/importTadirTransport.d.ts +0 -3
  366. package/dist/actions/install/importTadirTransport.js +0 -83
  367. package/dist/actions/install/readDevc.d.ts +0 -3
  368. package/dist/actions/install/readDevc.js +0 -33
  369. package/dist/actions/install/readTadir.d.ts +0 -3
  370. package/dist/actions/install/readTadir.js +0 -101
  371. package/dist/actions/install/refreshTmsTxt.d.ts +0 -3
  372. package/dist/actions/install/releaseInstallTransport.d.ts +0 -3
  373. package/dist/actions/install/releaseInstallTransport.js +0 -80
  374. package/dist/actions/publish/checkAllObjectsReleased.d.ts +0 -3
  375. package/dist/actions/publish/checkAllObjectsReleased.js +0 -46
  376. package/dist/actions/publish/getSourceCode.d.ts +0 -3
  377. package/dist/actions/publish/getSourceCode.js +0 -49
  378. package/dist/actions/publish/setChangelog.d.ts +0 -3
  379. package/dist/actions/publish/setChangelog.js +0 -69
  380. package/dist/actions/publish/setDevclass.d.ts +0 -3
  381. package/dist/actions/publish/setDevclass.js +0 -74
  382. package/dist/actions/publish/setReadme.d.ts +0 -3
  383. package/dist/actions/publish/setReadme.js +0 -52
  384. package/dist/actions/publish/setTransportTarget.d.ts +0 -3
@@ -0,0 +1,294 @@
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.analyze = void 0;
13
+ const trm_commons_1 = require("trm-commons");
14
+ const systemConnector_1 = require("../../systemConnector");
15
+ const commons_1 = require("../../commons");
16
+ const semver_1 = require("semver");
17
+ const manifest_1 = require("../../manifest");
18
+ //note implementation statuses (CWBNTCUST-PRSTATUS)
19
+ const NOTE_IMPLEMENTED = 'E';
20
+ const NOTE_OBSOLETE = 'O'; //correction already contained in the support package level
21
+ function errorMessage(e) {
22
+ return e instanceof Error ? e.message : String(e);
23
+ }
24
+ function getUnsupportedProps(o, supported) {
25
+ return Object.keys(o).filter(k => !supported.includes(k));
26
+ }
27
+ //a property this TRM version doesn't know can't be verified, so the constraint declaring it never matches
28
+ function unsupportedReason(props) {
29
+ const unique = Array.from(new Set(props));
30
+ if (unique.length === 0) {
31
+ return undefined;
32
+ }
33
+ return `Unsupported ${unique.length === 1 ? 'property' : 'properties'} ${unique.map(o => `"${o}"`).join(', ')}, update TRM to verify ${unique.length === 1 ? 'it' : 'them'}`;
34
+ }
35
+ function describeConstraints(constraints) {
36
+ return constraints.map(o => {
37
+ const parts = Object.keys(o).map(k => `${k} ${o[k]}`);
38
+ return parts.length > 0 ? parts.join(', ') : 'installed';
39
+ }).join(' || ');
40
+ }
41
+ //the read is cached as a promise, so a failed read is not retried for every requirement
42
+ function getComponents(context) {
43
+ if (!context.runtime.components) {
44
+ context.runtime.components = systemConnector_1.SystemConnector.getSoftwareComponents();
45
+ }
46
+ return context.runtime.components;
47
+ }
48
+ function getProducts(context) {
49
+ if (!context.runtime.products) {
50
+ context.runtime.products = systemConnector_1.SystemConnector.getInstalledProducts();
51
+ }
52
+ return context.runtime.products;
53
+ }
54
+ function getTrmServer(context) {
55
+ if (!context.runtime.trmServer) {
56
+ context.runtime.trmServer = systemConnector_1.SystemConnector.getTrmServerPackage();
57
+ }
58
+ return context.runtime.trmServer;
59
+ }
60
+ function checkTrm(context, name, range) {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ var _a;
63
+ const requirement = `version ${range}`;
64
+ var version;
65
+ switch (name) {
66
+ case 'trm-core':
67
+ version = (0, commons_1.resolveCoreVersion)((_a = context.rawInput.contextData) === null || _a === void 0 ? void 0 : _a.coreVersion);
68
+ if (!version) {
69
+ return { requirement, ok: false, reason: `Cannot determine trm-core version` };
70
+ }
71
+ break;
72
+ case 'trm-server':
73
+ try {
74
+ version = (yield getTrmServer(context)).manifest.get().version;
75
+ }
76
+ catch (e) {
77
+ return { requirement, actual: 'not installed', ok: false, reason: errorMessage(e) };
78
+ }
79
+ break;
80
+ default:
81
+ return { requirement, ok: false, reason: `Unsupported TRM package "${name}", update TRM to verify it` };
82
+ }
83
+ return { requirement, actual: `version ${version}`, ok: (0, semver_1.satisfies)(version, range, { includePrerelease: true }) };
84
+ });
85
+ }
86
+ //a blank CVERS-EXTRELEASE means no support package is installed (level 0)
87
+ function getComponentSp(component) {
88
+ var _a;
89
+ const extrelease = (component.extrelease || '').trim() || '0';
90
+ return (_a = (0, manifest_1.normalizeSapValue)(extrelease, 'number')) !== null && _a !== void 0 ? _a : extrelease;
91
+ }
92
+ function matchComponent(component, constraint) {
93
+ if (constraint.release !== undefined && !(0, manifest_1.satisfiesSapRange)(component.release, constraint.release, 'release')) {
94
+ return false;
95
+ }
96
+ if (constraint.sp !== undefined && !(0, manifest_1.satisfiesSapRange)(getComponentSp(component), constraint.sp, 'number')) {
97
+ return false;
98
+ }
99
+ return true;
100
+ }
101
+ function checkComponent(context, name, value) {
102
+ return __awaiter(this, void 0, void 0, function* () {
103
+ const requirement = value === true ? 'installed' : value === false ? 'not installed' : describeConstraints(Array.isArray(value) ? value : [value]);
104
+ var components;
105
+ try {
106
+ components = yield getComponents(context);
107
+ }
108
+ catch (e) {
109
+ return { requirement, ok: false, reason: `Cannot read software components: ${errorMessage(e)}` };
110
+ }
111
+ const component = components.find(o => o.component.trim().toUpperCase() === name);
112
+ const actual = component ? `release ${component.release}, sp ${getComponentSp(component)}` : 'not installed';
113
+ if (value === false) {
114
+ return { requirement, actual, ok: !component };
115
+ }
116
+ if (!component) {
117
+ return { requirement, actual, ok: false };
118
+ }
119
+ if (value === true) {
120
+ return { requirement, actual, ok: true };
121
+ }
122
+ const constraints = Array.isArray(value) ? value : [value];
123
+ const unsupported = constraints.map(o => getUnsupportedProps(o, Object.keys(manifest_1.ENGINES_COMPONENT_PROPS)));
124
+ const ok = constraints.some((o, i) => unsupported[i].length === 0 && matchComponent(component, o));
125
+ return { requirement, actual, ok, reason: ok ? undefined : unsupportedReason(unsupported.flat()) };
126
+ });
127
+ }
128
+ function checkProduct(context, name, value) {
129
+ return __awaiter(this, void 0, void 0, function* () {
130
+ const requirement = value === true ? 'installed' : value === false ? 'not installed' : describeConstraints(Array.isArray(value) ? value : [value]);
131
+ var products;
132
+ try {
133
+ products = yield getProducts(context);
134
+ }
135
+ catch (e) {
136
+ return { requirement, ok: false, reason: `Cannot read products: ${errorMessage(e)}` };
137
+ }
138
+ const installed = products.filter(o => o.name.trim().toUpperCase().replace(/\s+/g, ' ') === name);
139
+ const actual = installed.length > 0 ? `version ${installed.map(o => o.version).join(', ')}` : 'not installed';
140
+ if (value === false) {
141
+ return { requirement, actual, ok: installed.length === 0 };
142
+ }
143
+ if (value === true) {
144
+ return { requirement, actual, ok: installed.length > 0 };
145
+ }
146
+ const constraints = Array.isArray(value) ? value : [value];
147
+ const unsupported = constraints.map(o => getUnsupportedProps(o, Object.keys(manifest_1.ENGINES_PRODUCT_PROPS)));
148
+ const ok = installed.some(product => constraints.some((o, i) => unsupported[i].length === 0 && (o.version === undefined || (0, manifest_1.satisfiesSapRange)(product.version, o.version, 'version'))));
149
+ return { requirement, actual, ok, reason: ok ? undefined : unsupportedReason(unsupported.flat()) };
150
+ });
151
+ }
152
+ function checkNote(note, value) {
153
+ return __awaiter(this, void 0, void 0, function* () {
154
+ const requirement = value === true || value.version === undefined ? 'implemented' : `implemented, version ${value.version}`;
155
+ const unsupported = unsupportedReason(value === true ? [] : getUnsupportedProps(value, Object.keys(manifest_1.ENGINES_NOTE_PROPS)));
156
+ if (unsupported) {
157
+ return { requirement, ok: false, reason: unsupported };
158
+ }
159
+ var status;
160
+ try {
161
+ status = yield systemConnector_1.SystemConnector.getNoteStatus(note);
162
+ }
163
+ catch (e) {
164
+ return { requirement, ok: false, reason: `Cannot read SAP Note status: ${errorMessage(e)}` };
165
+ }
166
+ if (status.prstatus === NOTE_OBSOLETE) {
167
+ return { requirement, actual: 'obsolete (contained in support package)', ok: true };
168
+ }
169
+ if (status.prstatus !== NOTE_IMPLEMENTED) {
170
+ return { requirement, actual: status.prstatus === undefined ? 'not downloaded' : `status ${status.prstatus || 'undefined'}`, ok: false };
171
+ }
172
+ const actual = `implemented, version ${parseInt(status.versno, 10) || '?'}`;
173
+ if (value === true || value.version === undefined) {
174
+ return { requirement, actual, ok: true };
175
+ }
176
+ return { requirement, actual, ok: status.versno !== undefined && (0, manifest_1.satisfiesSapRange)(status.versno, value.version, 'number') };
177
+ });
178
+ }
179
+ function checkTable(check) {
180
+ return __awaiter(this, void 0, void 0, function* () {
181
+ const requirement = `${check.table} where ${check.where.map(o => `${o.field} ${o.op || 'EQ'} '${o.value}'`).join(' AND ')}`;
182
+ const unsupported = unsupportedReason([
183
+ ...getUnsupportedProps(check, manifest_1.ENGINES_TABLE_PROPS),
184
+ ...check.where.flatMap(o => getUnsupportedProps(o, manifest_1.ENGINES_TABLE_CONDITION_PROPS))
185
+ ]);
186
+ if (unsupported) {
187
+ return { requirement, ok: false, reason: unsupported };
188
+ }
189
+ try {
190
+ const exists = yield systemConnector_1.SystemConnector.checkTableCondition(check.table, check.where);
191
+ return { requirement, actual: exists ? 'found' : 'not found', ok: exists };
192
+ }
193
+ catch (e) {
194
+ return { requirement, ok: false, reason: `Cannot read table ${check.table}: ${errorMessage(e)}` };
195
+ }
196
+ });
197
+ }
198
+ function evaluate(context, engines, path, required) {
199
+ return __awaiter(this, void 0, void 0, function* () {
200
+ const results = [];
201
+ const push = (itemPath, o) => {
202
+ results.push(Object.assign({ path: itemPath, required }, o));
203
+ return o.ok;
204
+ };
205
+ const prefix = path ? `${path}.` : '';
206
+ var ok = true;
207
+ for (const key of Object.keys(engines)) {
208
+ switch (key) {
209
+ case 'trm':
210
+ for (const name of Object.keys(engines.trm)) {
211
+ ok = push(`${prefix}trm.${name}`, yield checkTrm(context, name, engines.trm[name])) && ok;
212
+ }
213
+ break;
214
+ case 'components':
215
+ for (const name of Object.keys(engines.components)) {
216
+ ok = push(`${prefix}components.${name}`, yield checkComponent(context, name, engines.components[name])) && ok;
217
+ }
218
+ break;
219
+ case 'products':
220
+ for (const name of Object.keys(engines.products)) {
221
+ ok = push(`${prefix}products.${name}`, yield checkProduct(context, name, engines.products[name])) && ok;
222
+ }
223
+ break;
224
+ case 'notes':
225
+ for (const note of Object.keys(engines.notes)) {
226
+ ok = push(`${prefix}notes.${note}`, yield checkNote(note, engines.notes[note])) && ok;
227
+ }
228
+ break;
229
+ case 'tables':
230
+ for (var i = 0; i < engines.tables.length; i++) {
231
+ ok = push(`${prefix}tables[${i}]`, yield checkTable(engines.tables[i])) && ok;
232
+ }
233
+ break;
234
+ case 'anyOf':
235
+ var alternatives = [];
236
+ var anyOk = false;
237
+ for (var j = 0; j < engines.anyOf.length; j++) {
238
+ const alternative = yield evaluate(context, engines.anyOf[j], `${prefix}anyOf[${j}]`, false);
239
+ alternatives = alternatives.concat(alternative.results);
240
+ anyOk = anyOk || alternative.ok;
241
+ }
242
+ ok = push(`${prefix}anyOf`, {
243
+ requirement: `at least 1 of ${engines.anyOf.length} alternatives`,
244
+ actual: anyOk ? 'satisfied' : 'no alternative satisfied',
245
+ ok: anyOk
246
+ }) && ok;
247
+ results.push(...alternatives);
248
+ break;
249
+ default:
250
+ ok = push(`${prefix}${key}`, {
251
+ requirement: key,
252
+ ok: false,
253
+ reason: `Unsupported engine check "${key}", update TRM to verify it`
254
+ }) && ok;
255
+ }
256
+ }
257
+ return { ok, results };
258
+ });
259
+ }
260
+ /**
261
+ * Workflow step that evaluates the engines declaration against the connected system.
262
+ *
263
+ * 1- evaluate engines
264
+ *
265
+ * 2- print table
266
+ *
267
+ */
268
+ exports.analyze = {
269
+ name: 'analyze',
270
+ filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
271
+ if (Object.keys(context.output.engines).length > 0) {
272
+ return true;
273
+ }
274
+ else {
275
+ trm_commons_1.Logger.info(`Package ${context.rawInput.packageData.manifest.name} has no engines`, !context.rawInput.printOptions.information);
276
+ return false;
277
+ }
278
+ }),
279
+ run: (context) => __awaiter(void 0, void 0, void 0, function* () {
280
+ //1- evaluate engines
281
+ const evaluation = yield evaluate(context, context.output.engines, '', true);
282
+ context.output.passed = evaluation.ok;
283
+ context.output.results = evaluation.results;
284
+ const failed = evaluation.results.filter(o => o.required && !o.ok).length;
285
+ trm_commons_1.Logger.info(`Package ${context.rawInput.packageData.manifest.name} engines: ${evaluation.results.filter(o => o.required).length - failed} satisfied, ${failed} not satisfied`, !context.rawInput.printOptions.information);
286
+ //2- print table
287
+ trm_commons_1.Logger.table(['Requirement', 'Expected', 'Actual', 'Status'], evaluation.results.map(o => [
288
+ o.path,
289
+ o.requirement,
290
+ o.reason || o.actual || '',
291
+ o.ok ? 'OK' : o.required ? 'NOT MET' : 'NOT MET (alternative)'
292
+ ]), !context.rawInput.printOptions.enginesStatus);
293
+ })
294
+ };
@@ -0,0 +1,87 @@
1
+ import { TrmManifest, TrmManifestEngines } from "../../manifest";
2
+ import { CVERS, PRDVERS } from "../../client/struct";
3
+ import { TrmPackage } from "../../trmPackage";
4
+ /** Input used to verify a manifest's engines (TRM, SAP release/components, products, notes, tables). */
5
+ export interface CheckEnginesActionInput {
6
+ /**
7
+ * Data related to the running environment.
8
+ */
9
+ contextData?: {
10
+ /**
11
+ * Version of trm-core in use, checked against `engines.trm.trm-core`.
12
+ * Supply it when the client resolves trm-core itself; defaults to the version read from trm-core package.json.
13
+ */
14
+ coreVersion?: string;
15
+ };
16
+ /**
17
+ * Data related to the package being checked.
18
+ */
19
+ packageData: {
20
+ /**
21
+ * Manifest whose `engines` declaration will be checked against the connected system.
22
+ */
23
+ manifest: TrmManifest;
24
+ };
25
+ /**
26
+ * Print options.
27
+ */
28
+ printOptions?: {
29
+ /**
30
+ * Print a table containing each requirement and its status. Defaults to `false`.
31
+ */
32
+ enginesStatus?: boolean;
33
+ /**
34
+ * Print informational summary messages. Defaults to `false`.
35
+ */
36
+ information?: boolean;
37
+ };
38
+ }
39
+ /** Result of a single engines requirement. */
40
+ export type EngineCheckResult = {
41
+ /** Path of the requirement in the engines declaration, e.g. `components.SAP_BASIS` or `anyOf[1].notes.1234567`. */
42
+ path: string;
43
+ /** Human readable requirement, e.g. `release >=750, sp >=5`. */
44
+ requirement: string;
45
+ /** Human readable value found on the system, when available. */
46
+ actual?: string;
47
+ /** Whether the requirement is satisfied. */
48
+ ok: boolean;
49
+ /** Whether this requirement must be satisfied on its own (`false` for requirements nested in `anyOf` alternatives). */
50
+ required: boolean;
51
+ /** Explanation when the requirement couldn't be verified. */
52
+ reason?: string;
53
+ };
54
+ /** Engines report returned by {@link checkEngines}. */
55
+ export type CheckEnginesActionOutput = {
56
+ /** Normalized engines declaration copied from `manifest.engines`. */
57
+ engines: TrmManifestEngines;
58
+ /** Whether all engines requirements are satisfied. */
59
+ passed: boolean;
60
+ /** Result of each requirement. */
61
+ results: EngineCheckResult[];
62
+ };
63
+ type WorkflowRuntime = {
64
+ trmServer?: Promise<TrmPackage>;
65
+ components?: Promise<CVERS[]>;
66
+ products?: Promise<PRDVERS[]>;
67
+ };
68
+ /** Internal state shared by the engines-check workflow steps. */
69
+ export interface CheckEnginesWorkflowContext {
70
+ /** Original action input. */
71
+ rawInput: CheckEnginesActionInput;
72
+ /** System data read once and reused across requirements. */
73
+ runtime?: WorkflowRuntime;
74
+ /** Report assembled by the workflow. */
75
+ output?: CheckEnginesActionOutput;
76
+ }
77
+ /**
78
+ * Checks whether the connected SAP system satisfies the engines declared by a manifest.
79
+ *
80
+ * Unmet or unverifiable requirements (e.g. unreadable tables, unsupported engine checks) are reported as failed.
81
+ *
82
+ * @param inputData Manifest and optional print settings.
83
+ * @returns The normalized engines and the result of each requirement.
84
+ * @throws When the engines declaration is malformed.
85
+ */
86
+ export declare function checkEngines(inputData: CheckEnginesActionInput): Promise<CheckEnginesActionOutput>;
87
+ export {};
@@ -0,0 +1,38 @@
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.checkEngines = checkEngines;
13
+ const init_1 = require("./init");
14
+ const analyze_1 = require("./analyze");
15
+ const commons_1 = require("../commons");
16
+ ;
17
+ const WORKFLOW_NAME = 'check-engines';
18
+ /**
19
+ * Checks whether the connected SAP system satisfies the engines declared by a manifest.
20
+ *
21
+ * Unmet or unverifiable requirements (e.g. unreadable tables, unsupported engine checks) are reported as failed.
22
+ *
23
+ * @param inputData Manifest and optional print settings.
24
+ * @returns The normalized engines and the result of each requirement.
25
+ * @throws When the engines declaration is malformed.
26
+ */
27
+ function checkEngines(inputData) {
28
+ return __awaiter(this, void 0, void 0, function* () {
29
+ const workflow = [
30
+ init_1.init,
31
+ analyze_1.analyze
32
+ ];
33
+ const result = yield (0, commons_1.executeWorkflow)(WORKFLOW_NAME, workflow, {
34
+ rawInput: inputData
35
+ }, commons_1.workflowCallbacks);
36
+ return result.output;
37
+ });
38
+ }
@@ -0,0 +1,11 @@
1
+ import { Step } from "@simonegaffurini/sammarksworkflow";
2
+ import { CheckEnginesWorkflowContext } from ".";
3
+ /**
4
+ * Workflow step that initializes engines-check state from the supplied manifest.
5
+ *
6
+ * 1- validate and set engines (read manifest)
7
+ *
8
+ * 2- fill missing input data
9
+ *
10
+ */
11
+ export declare const init: Step<CheckEnginesWorkflowContext>;
@@ -0,0 +1,45 @@
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.init = void 0;
13
+ const manifest_1 = require("../../manifest");
14
+ /**
15
+ * Workflow step that initializes engines-check state from the supplied manifest.
16
+ *
17
+ * 1- validate and set engines (read manifest)
18
+ *
19
+ * 2- fill missing input data
20
+ *
21
+ */
22
+ exports.init = {
23
+ name: 'init',
24
+ run: (context) => __awaiter(void 0, void 0, void 0, function* () {
25
+ context.output = {
26
+ engines: {},
27
+ passed: true,
28
+ results: []
29
+ };
30
+ context.runtime = {};
31
+ //1- validate and set engines
32
+ const engines = context.rawInput.packageData.manifest.engines;
33
+ if (engines) {
34
+ const errors = (0, manifest_1.validateEngines)(engines);
35
+ if (errors.length > 0) {
36
+ throw new Error(`Invalid engines declaration: ${errors[0]}`);
37
+ }
38
+ context.output.engines = (0, manifest_1.normalizeEngines)(engines);
39
+ }
40
+ //2- fill missing input data
41
+ if (!context.rawInput.printOptions) {
42
+ context.rawInput.printOptions = {};
43
+ }
44
+ })
45
+ };
@@ -1,3 +1,13 @@
1
1
  import { Step } from "@simonegaffurini/sammarksworkflow";
2
2
  import { CheckPackageDependenciesWorkflowContext } from ".";
3
+ /**
4
+ * Workflow step that compares manifest dependency ranges with installed package versions.
5
+ *
6
+ * 1- build required tables fields
7
+ *
8
+ * 2- check dependencies
9
+ *
10
+ * 3- print tables
11
+ *
12
+ */
3
13
  export declare const analyze: Step<CheckPackageDependenciesWorkflowContext>;
@@ -13,7 +13,17 @@ exports.analyze = void 0;
13
13
  const trm_commons_1 = require("trm-commons");
14
14
  const trmPackage_1 = require("../../trmPackage");
15
15
  const registry_1 = require("../../registry");
16
- const semver_1 = require("semver");
16
+ const utils_1 = require("../commons/utils");
17
+ /**
18
+ * Workflow step that compares manifest dependency ranges with installed package versions.
19
+ *
20
+ * 1- build required tables fields
21
+ *
22
+ * 2- check dependencies
23
+ *
24
+ * 3- print tables
25
+ *
26
+ */
17
27
  exports.analyze = {
18
28
  name: 'analyze',
19
29
  filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
@@ -26,60 +36,48 @@ exports.analyze = {
26
36
  }
27
37
  }),
28
38
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
29
- trm_commons_1.Logger.log('Analyze step', true);
30
39
  trm_commons_1.Logger.info(`Package ${context.rawInput.packageData.manifest.name} has ${context.output.dependencies.length} TRM package dependencies`, !context.rawInput.printOptions.information);
40
+ //1- build required tables fields
31
41
  var table = {
32
42
  header: ['Dependency', 'Registry', 'Dependency range', 'Version on system', 'Version status'],
33
43
  data: []
34
44
  };
45
+ //2- check dependencies
35
46
  var tableData;
36
47
  for (const dependency of context.output.dependencies) {
37
48
  tableData = [dependency.name, dependency.registry || registry_1.PUBLIC_RESERVED_KEYWORD, dependency.version];
38
49
  const dependencyTrmPackage = new trmPackage_1.TrmPackage(dependency.name, registry_1.RegistryProvider.getRegistry(dependency.registry));
39
- const systemInstalledPackage = context.rawInput.contextData.systemPackages.find(o => trmPackage_1.TrmPackage.compare(o, dependencyTrmPackage));
40
- if (systemInstalledPackage && systemInstalledPackage.manifest) {
41
- const installedVersion = systemInstalledPackage.manifest.get().version;
42
- tableData.push(installedVersion);
43
- if ((0, semver_1.satisfies)(installedVersion, dependency.version)) {
44
- tableData.push('OK');
45
- context.runtime.dependenciesStatus.goodVersion.push(dependency);
46
- }
47
- else {
48
- tableData.push('ERR!');
49
- context.runtime.dependenciesStatus.badVersion.push(dependency);
50
- }
51
- }
52
- else {
50
+ const installed = (0, utils_1.getInstalledDependency)(context.rawInput.contextData.systemPackages, dependencyTrmPackage, dependency.version);
51
+ const status = installed.status;
52
+ if (status === 'notFound') {
53
53
  tableData.push('Not found');
54
- tableData.push('ERR!');
55
- context.runtime.dependenciesStatus.badVersion.push(dependency);
56
54
  }
57
- table.data.push(tableData);
58
- }
59
- trm_commons_1.Logger.table(table.header, table.data, !context.rawInput.printOptions.dependencyStatus);
60
- context.runtime.dependenciesStatus.goodVersion.forEach(o => {
61
- const i = context.output.dependencyStatus.findIndex(k => k.dependency.name === o.name && k.dependency.registry === o.registry);
62
- if (i >= 0) {
63
- context.output.dependencyStatus[i].match = true;
55
+ else if (status === 'manifestUnreadable') {
56
+ if (installed.error) {
57
+ trm_commons_1.Logger.error(installed.error.toString(), true);
58
+ }
59
+ tableData.push('Installed, manifest unreadable');
64
60
  }
65
61
  else {
66
- context.output.dependencyStatus.push({
67
- dependency: o,
68
- match: true
69
- });
62
+ tableData.push(installed.installedVersion);
70
63
  }
71
- });
72
- context.runtime.dependenciesStatus.badVersion.forEach(o => {
73
- const i = context.output.dependencyStatus.findIndex(k => k.dependency.name === o.name && k.dependency.registry === o.registry);
74
- if (i >= 0) {
75
- context.output.dependencyStatus[i].match = false;
64
+ const match = status === 'ok';
65
+ tableData.push(match ? 'OK' : 'ERR!');
66
+ if (match) {
67
+ context.runtime.dependenciesStatus.goodVersion.push(dependency);
76
68
  }
77
69
  else {
78
- context.output.dependencyStatus.push({
79
- dependency: o,
80
- match: false
81
- });
70
+ context.runtime.dependenciesStatus.badVersion.push(dependency);
82
71
  }
83
- });
72
+ context.output.dependencyStatus.push({
73
+ dependency,
74
+ match,
75
+ status,
76
+ installedVersion: installed.installedVersion
77
+ });
78
+ table.data.push(tableData);
79
+ }
80
+ //3- print tables
81
+ trm_commons_1.Logger.table(table.header, table.data, !context.rawInput.printOptions.dependencyStatus);
84
82
  })
85
83
  };