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
@@ -10,10 +10,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.setTrmDependencies = void 0;
13
+ const logger_1 = require("../../logger");
13
14
  const systemConnector_1 = require("../../systemConnector");
14
15
  const transport_1 = require("../../transport");
15
16
  const trmPackage_1 = require("../../trmPackage");
16
- const logger_1 = require("../../logger");
17
17
  var aRootDevclass = [];
18
18
  const _getRootDevclass = (devclass) => __awaiter(void 0, void 0, void 0, function* () {
19
19
  const oRootDevclass = aRootDevclass.find(o => o.devclass === devclass);
@@ -49,7 +49,7 @@ const _getRootDevclass = (devclass) => __awaiter(void 0, void 0, void 0, functio
49
49
  const _getTadirDependencies = (tadirDependencies) => __awaiter(void 0, void 0, void 0, function* () {
50
50
  var trmDependencies = [];
51
51
  for (const tadirDependency of tadirDependencies) {
52
- const tadir = tadirDependency.tableDependency;
52
+ const tadir = tadirDependency.object;
53
53
  var trmRelevantTransports = [];
54
54
  var latestTransport;
55
55
  var devclass;
@@ -57,13 +57,9 @@ const _getTadirDependencies = (tadirDependencies) => __awaiter(void 0, void 0, v
57
57
  var integrity;
58
58
  var arrayIndex1;
59
59
  var arrayIndex2;
60
- logger_1.Logger.log(`Searching transports for object ${tadir.PGMID} ${tadir.OBJECT} ${tadir.OBJ_NAME}`, true);
61
- const allTransports = yield transport_1.Transport.getTransportsFromObject({
62
- pgmid: tadir.PGMID,
63
- object: tadir.OBJECT,
64
- objName: tadir.OBJ_NAME
65
- });
66
- logger_1.Logger.log(`Found ${allTransports.length} transports for object ${tadir.PGMID} ${tadir.OBJECT} ${tadir.OBJ_NAME}`, true);
60
+ logger_1.Logger.log(`Searching transports for object ${tadir.pgmid} ${tadir.object} ${tadir.objName}`, true);
61
+ const allTransports = yield transport_1.Transport.getTransportsFromObject(tadir);
62
+ logger_1.Logger.log(`Found ${allTransports.length} transports for object ${tadir.pgmid} ${tadir.object} ${tadir.objName}`, true);
67
63
  for (const transport of allTransports) {
68
64
  if (yield transport.isTrmRelevant()) {
69
65
  logger_1.Logger.log(`Transport ${transport.trkorr} is TRM relevant`, true);
@@ -74,7 +70,7 @@ const _getTadirDependencies = (tadirDependencies) => __awaiter(void 0, void 0, v
74
70
  if (latestTransport) {
75
71
  logger_1.Logger.log(`Latest transport is ${latestTransport.trkorr}`, true);
76
72
  trmPackage = yield latestTransport.getLinkedPackage();
77
- const alreadyInArray = trmDependencies.find(o => o.trmPackage && trmPackage_1.TrmPackage.compare(o.trmPackage, trmPackage));
73
+ const alreadyInArray = trmDependencies.find(o => o.package && trmPackage_1.TrmPackage.compare(o.package, trmPackage));
78
74
  if (alreadyInArray) {
79
75
  devclass = alreadyInArray.devclass;
80
76
  integrity = alreadyInArray.integrity;
@@ -94,13 +90,13 @@ const _getTadirDependencies = (tadirDependencies) => __awaiter(void 0, void 0, v
94
90
  }
95
91
  else {
96
92
  logger_1.Logger.log(`Object without TRM package`, true);
97
- devclass = yield _getRootDevclass(tadir.DEVCLASS);
93
+ devclass = yield _getRootDevclass(tadir.devclass);
98
94
  }
99
95
  arrayIndex1 = trmDependencies.findIndex(o => o.devclass === devclass);
100
96
  if (arrayIndex1 < 0) {
101
97
  arrayIndex1 = trmDependencies.push({
102
98
  devclass,
103
- trmPackage,
99
+ package: trmPackage,
104
100
  integrity,
105
101
  sapEntries: []
106
102
  });
@@ -120,26 +116,16 @@ const _getTadirDependencies = (tadirDependencies) => __awaiter(void 0, void 0, v
120
116
  });
121
117
  exports.setTrmDependencies = {
122
118
  name: 'set-trm-dependencies',
123
- filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
124
- const aParsedSenvi = context.runtime.parsedSenvi || [];
125
- if (aParsedSenvi.length === 0) {
126
- logger_1.Logger.log(`Skipping set TRM dependencies (no custom object found)`, true);
127
- return false;
128
- }
129
- else {
130
- return true;
131
- }
132
- }),
133
119
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
134
- const aParsedSenvi = context.runtime.parsedSenvi;
120
+ logger_1.Logger.log('Set TRM dependencies step', true);
135
121
  var trmDependencies = [];
136
122
  logger_1.Logger.loading(`Searching TRM dependencies...`);
137
- for (const parsedSenvi of aParsedSenvi) {
138
- if (parsedSenvi.table === 'TADIR') {
139
- trmDependencies = trmDependencies.concat(yield _getTadirDependencies(parsedSenvi.dependencies));
123
+ for (const entryDependency of context.runtime.dependencies.customObjects) {
124
+ if (entryDependency.table === 'TADIR') {
125
+ trmDependencies = trmDependencies.concat(yield _getTadirDependencies(entryDependency.dependencies));
140
126
  }
141
127
  }
142
- context.output.trmDependencies = trmDependencies.filter(o => o.trmPackage);
143
- context.output.unknownDependencies = trmDependencies.filter(o => !o.trmPackage);
128
+ context.runtime.dependencies.withTrmPackage = trmDependencies.filter(o => o.package);
129
+ context.runtime.dependencies.withoutTrmPackage = trmDependencies.filter(o => !o.package);
144
130
  })
145
131
  };
@@ -1,5 +1,7 @@
1
- export * from "./findDependencies";
2
- export * from "./publish";
1
+ export * from "./commons";
2
+ export * from "./installDependency";
3
3
  export * from "./checkPackageDependencies";
4
4
  export * from "./checkSapEntries";
5
+ export * from "./findDependencies";
5
6
  export * from "./install";
7
+ export * from "./publish";
@@ -14,8 +14,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./findDependencies"), exports);
18
- __exportStar(require("./publish"), exports);
17
+ __exportStar(require("./commons"), exports);
18
+ __exportStar(require("./installDependency"), exports);
19
19
  __exportStar(require("./checkPackageDependencies"), exports);
20
20
  __exportStar(require("./checkSapEntries"), exports);
21
+ __exportStar(require("./findDependencies"), exports);
21
22
  __exportStar(require("./install"), exports);
23
+ __exportStar(require("./publish"), exports);
@@ -1,3 +1,3 @@
1
1
  import { Step } from "@simonegaffurini/sammarksworkflow";
2
2
  import { InstallWorkflowContext } from ".";
3
- export declare const readDevcTransport: Step<InstallWorkflowContext>;
3
+ export declare const addNamespace: Step<InstallWorkflowContext>;
@@ -0,0 +1,133 @@
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.addNamespace = void 0;
13
+ const logger_1 = require("../../logger");
14
+ const commons_1 = require("../../commons");
15
+ const systemConnector_1 = require("../../systemConnector");
16
+ const inquirer_1 = require("../../inquirer");
17
+ exports.addNamespace = {
18
+ name: 'add-namespace',
19
+ run: (context) => __awaiter(void 0, void 0, void 0, function* () {
20
+ logger_1.Logger.log('Add namespace step', true);
21
+ context.runtime.rollback = true;
22
+ var originalNamespace = (0, commons_1.getPackageNamespace)(context.runtime.originalData.hierarchy.devclass);
23
+ logger_1.Logger.log(`Package original namespace is ${originalNamespace}`, true);
24
+ if (!context.rawInput.installData.installDevclass.keepOriginal && context.rawInput.installData.installDevclass.replacements.length > 0) {
25
+ context.runtime.installData.namespace = (0, commons_1.getPackageNamespace)(context.rawInput.installData.installDevclass.replacements[0].installDevclass);
26
+ }
27
+ else {
28
+ context.runtime.installData.namespace = originalNamespace;
29
+ }
30
+ if (context.runtime.installData.namespace[0] !== '/') {
31
+ logger_1.Logger.log(`Package install namespace is ${context.runtime.installData.namespace}`, true);
32
+ return;
33
+ }
34
+ logger_1.Logger.loading(`Checking namespace ${context.runtime.installData.namespace}...`);
35
+ var namespace;
36
+ const namespaceCheck = yield systemConnector_1.SystemConnector.getNamespace(context.runtime.installData.namespace);
37
+ if (namespaceCheck) {
38
+ namespace = namespaceCheck.trnspacet;
39
+ }
40
+ if (namespace) {
41
+ logger_1.Logger.log(`Namespace ${context.runtime.installData.namespace} already defined`, true);
42
+ return;
43
+ }
44
+ var replicense;
45
+ var texts;
46
+ var aTexts = [];
47
+ if (context.runtime.installData.namespace !== originalNamespace) {
48
+ if (!context.rawInput.contextData.noInquirer) {
49
+ replicense = (yield inquirer_1.Inquirer.prompt({
50
+ message: `Input repair license for namespace ${context.runtime.installData.namespace}`,
51
+ name: 'replicense',
52
+ type: 'input',
53
+ validate: (input) => {
54
+ if (/^\d+$/.test(input)) {
55
+ return true;
56
+ }
57
+ else {
58
+ return 'Invalid characters';
59
+ }
60
+ }
61
+ })).replicense;
62
+ texts = yield inquirer_1.Inquirer.prompt([{
63
+ message: `dummy`,
64
+ name: 'namespace',
65
+ type: 'input',
66
+ when: false,
67
+ default: context.runtime.installData.namespace
68
+ }, {
69
+ message: `Namespace owner`,
70
+ name: 'owner',
71
+ type: 'input'
72
+ }, {
73
+ message: `Namespace language`,
74
+ name: 'spras',
75
+ type: 'input'
76
+ }, {
77
+ message: `Namespace description`,
78
+ name: 'descriptn',
79
+ type: 'input'
80
+ }]);
81
+ }
82
+ }
83
+ else {
84
+ if (context.runtime.remotePackageData.trmManifest.namespace) {
85
+ replicense = context.runtime.remotePackageData.trmManifest.namespace.replicense;
86
+ if (context.runtime.remotePackageData.trmManifest.namespace.texts && context.runtime.remotePackageData.trmManifest.namespace.texts.length > 0) {
87
+ if (context.runtime.remotePackageData.trmManifest.namespace.texts.length === 1 || context.rawInput.contextData.noInquirer) {
88
+ texts = {
89
+ namespace: context.runtime.installData.namespace,
90
+ descriptn: context.runtime.remotePackageData.trmManifest.namespace.texts[0].description,
91
+ owner: context.runtime.remotePackageData.trmManifest.namespace.texts[0].owner,
92
+ spras: context.runtime.remotePackageData.trmManifest.namespace.texts[0].language
93
+ };
94
+ }
95
+ else {
96
+ if (!context.rawInput.contextData.noInquirer) {
97
+ texts = (yield inquirer_1.Inquirer.prompt({
98
+ type: 'list',
99
+ message: 'Choose namespace install text',
100
+ name: 'choice',
101
+ choices: context.runtime.remotePackageData.trmManifest.namespace.texts.map(o => {
102
+ return {
103
+ name: `${o.language} ${o.description} ${o.owner}`,
104
+ value: o
105
+ };
106
+ })
107
+ })).choice;
108
+ }
109
+ }
110
+ }
111
+ }
112
+ }
113
+ if (!replicense) {
114
+ throw new Error(`Cannot use namespace ${context.runtime.installData.namespace}: repair license missing.`);
115
+ }
116
+ if (!texts) {
117
+ throw new Error(`Cannot use namespace ${context.runtime.installData.namespace}: data missing.`);
118
+ }
119
+ else {
120
+ aTexts.push(texts);
121
+ if (texts.spras != systemConnector_1.SystemConnector.getLogonLanguage(true)) {
122
+ aTexts.push(Object.assign(Object.assign({}, texts), { spras: systemConnector_1.SystemConnector.getLogonLanguage(true) }));
123
+ }
124
+ }
125
+ logger_1.Logger.loading(`Installing namespace ${context.runtime.installData.namespace}...`);
126
+ yield systemConnector_1.SystemConnector.addNamespace(context.runtime.installData.namespace, replicense, aTexts);
127
+ context.runtime.generatedData.namespace = context.runtime.installData.namespace;
128
+ }),
129
+ revert: (context) => __awaiter(void 0, void 0, void 0, function* () {
130
+ if (context.runtime.generatedData.namespace) {
131
+ }
132
+ })
133
+ };
@@ -15,45 +15,36 @@ const manifest_1 = require("../../manifest");
15
15
  const semver_1 = require("semver");
16
16
  exports.checkAlreadyInstalled = {
17
17
  name: 'check-already-installed',
18
- filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
19
- if (context.parsedInput.skipAlreadyInstalledCheck) {
20
- logger_1.Logger.log(`Skipping already installed check (input)`, true);
21
- return false;
22
- }
23
- else {
24
- return true;
25
- }
26
- }),
27
18
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
28
- const installedPackages = context.parsedInput.systemPackages;
29
- const oManifest = context.runtime.manifest;
30
- const trmManifest = context.runtime.trmManifest;
31
- const installedPackage = installedPackages.find(o => manifest_1.Manifest.compare(o.manifest, oManifest, false));
19
+ logger_1.Logger.log('Check already installed step', true);
20
+ const installedPackages = context.rawInput.contextData.systemPackages;
21
+ const manifest = context.runtime.remotePackageData.manifest;
22
+ const trmManifest = context.runtime.remotePackageData.trmManifest;
23
+ const installedPackage = installedPackages.find(o => manifest_1.Manifest.compare(o.manifest, manifest, false));
32
24
  if (installedPackage) {
33
25
  const installVersion = trmManifest.version;
34
26
  const installedVersion = installedPackage.manifest.get().version;
27
+ context.runtime.update = true;
35
28
  if ((0, semver_1.eq)(installVersion, installedVersion)) {
36
- if (context.parsedInput.forceInstallSameVersion) {
37
- logger_1.Logger.log(`Package ${trmManifest.name} version ${installedVersion} already installed, but install is forced (input)`, true);
29
+ if (context.rawInput.packageData.overwrite) {
30
+ logger_1.Logger.info(`Package "${trmManifest.name}" version ${installedVersion} already installed.`);
38
31
  }
39
32
  else {
40
- throw new Error(`Package ${trmManifest.name} version ${installedVersion} already installed.`);
33
+ throw new Error(`Package "${trmManifest.name}" version ${installedVersion} already installed.`);
41
34
  }
42
35
  }
43
36
  else {
44
- if (context.parsedInput.overwriteInstall) {
45
- logger_1.Logger.log(`Package ${trmManifest.name} version ${installedVersion} already installed, but install is forced (input)`, true);
46
- if ((0, semver_1.gt)(installVersion, installedVersion)) {
47
- logger_1.Logger.info(`Upgrading ${installedVersion} -> ${installVersion}`);
48
- }
49
- else {
50
- logger_1.Logger.warning(`Downgrading ${installedVersion} -> ${installVersion}`);
51
- }
37
+ if ((0, semver_1.gt)(installVersion, installedVersion)) {
38
+ logger_1.Logger.info(`Upgrading ${installedVersion} -> ${installVersion}`);
52
39
  }
53
40
  else {
54
- throw new Error(`Package ${trmManifest.name} version ${installedVersion} already installed.`);
41
+ logger_1.Logger.warning(`Downgrading ${installedVersion} -> ${installVersion}`);
55
42
  }
56
43
  }
57
44
  }
45
+ else {
46
+ context.runtime.update = false;
47
+ logger_1.Logger.info(`Package not installed yet`, true);
48
+ }
58
49
  })
59
50
  };
@@ -12,12 +12,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.checkDependencies = void 0;
13
13
  const logger_1 = require("../../logger");
14
14
  const checkPackageDependencies_1 = require("../checkPackageDependencies");
15
- const SUBWORKFLOW_NAME = 'check-dependencies-sub-install';
15
+ const SUBWORKFLOW_NAME = 'check-package-dependencies-sub-install';
16
16
  exports.checkDependencies = {
17
17
  name: 'check-dependencies',
18
18
  filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
19
- if (!context.parsedInput.checkDependencies) {
20
- logger_1.Logger.log(`Skipping dependencies check (input)`, true);
19
+ if (context.rawInput.installData.checks.noDependencies) {
20
+ logger_1.Logger.log(`Skipping dependencies check (user input)`, true);
21
21
  return false;
22
22
  }
23
23
  else {
@@ -25,45 +25,45 @@ exports.checkDependencies = {
25
25
  }
26
26
  }),
27
27
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
28
- const trmManifest = context.runtime.trmManifest;
29
- const dependencies = trmManifest.dependencies || [];
30
- logger_1.Logger.info(`Package has ${dependencies.length} dependencies.`);
31
- context.runtime.dependenciesToInstall = [];
32
- if (dependencies.length === 0) {
33
- return;
34
- }
35
- var trmPackage = context.runtime.trmPackage;
36
- trmPackage.manifest = yield trmPackage.fetchRemoteManifest(context.parsedInput.version);
37
- const systemPackages = context.parsedInput.systemPackages;
28
+ logger_1.Logger.log('Check dependencies step', true);
38
29
  const inputData = {
39
- trmPackage,
40
- systemPackages,
41
- print: false
30
+ packageData: {
31
+ package: context.runtime.remotePackageData.trmPackage
32
+ },
33
+ contextData: {
34
+ systemPackages: context.rawInput.contextData.systemPackages
35
+ },
36
+ printOptions: {
37
+ dependencyStatus: false,
38
+ information: false
39
+ }
42
40
  };
41
+ logger_1.Logger.loading(`Checking dependencies...`);
43
42
  logger_1.Logger.log(`Ready to execute sub-workflow ${SUBWORKFLOW_NAME}, input data: ${(0, logger_1.inspect)(inputData, { breakLength: Infinity, compact: true })}`, true);
44
- logger_1.Logger.loading(`Checking package dependencies...`);
45
43
  const result = yield (0, checkPackageDependencies_1.checkPackageDependencies)(inputData);
46
44
  logger_1.Logger.log(`Workflow ${SUBWORKFLOW_NAME} result: ${(0, logger_1.inspect)(result, { breakLength: Infinity, compact: true })}`, true);
47
- const dependenciesOutput = result.dependencyStatus;
48
- var dependenciesToInstall = [];
49
- if (dependenciesOutput) {
50
- dependenciesOutput.forEach(o => {
51
- if (!o.match) {
52
- dependenciesToInstall.push(o.dependency);
53
- }
54
- else {
55
- if (!o.safe) {
56
- logger_1.Logger.warning(`Dependency "${o.dependency.name}" is installed, but integrity doesn't match.`);
57
- }
58
- }
59
- });
60
- if (dependenciesToInstall.length === 0) {
61
- logger_1.Logger.success(`Package dependencies ok.`);
45
+ if (result.dependencies.length > 0) {
46
+ if (result.dependencies.length === 1) {
47
+ logger_1.Logger.info(`"${context.rawInput.packageData.name}" has ${result.dependencies.length} dependency: ${result.dependencyStatus.filter(o => o.match).length} installed, ${result.dependencyStatus.filter(o => !o.match).length} missing.`);
62
48
  }
63
49
  else {
64
- logger_1.Logger.info(`There's a total of ${dependenciesToInstall.length} dependencies needed in order to install "${trmManifest.name}".`);
50
+ logger_1.Logger.info(`"${context.rawInput.packageData.name}" has ${result.dependencies.length} dependencies: ${result.dependencyStatus.filter(o => o.match).length} installed, ${result.dependencyStatus.filter(o => !o.match).length} missing.`);
65
51
  }
66
52
  }
67
- context.runtime.dependenciesToInstall = dependenciesToInstall;
53
+ result.dependencyStatus.forEach(o => {
54
+ if (!o.match) {
55
+ context.runtime.dependenciesToInstall.push(o.dependency);
56
+ }
57
+ else {
58
+ if (!o.safe) {
59
+ if (context.rawInput.installData.checks.safe) {
60
+ throw new Error(`Dependency "${o.dependency.name}" is installed, but integrity doesn't match.`);
61
+ }
62
+ else {
63
+ logger_1.Logger.warning(`Dependency "${o.dependency.name}" is installed, but integrity doesn't match.`);
64
+ }
65
+ }
66
+ }
67
+ });
68
68
  })
69
69
  };
@@ -13,20 +13,20 @@ exports.checkIntegrity = void 0;
13
13
  const logger_1 = require("../../logger");
14
14
  exports.checkIntegrity = {
15
15
  name: 'check-integrity',
16
- filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
17
- if (!context.parsedInput.installIntegrity) {
18
- logger_1.Logger.log(`Skipping integrity check (input not provided)`, true);
19
- return false;
20
- }
21
- else {
22
- return true;
23
- }
24
- }),
25
16
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
26
- const trmManifest = context.runtime.trmManifest;
27
- const installIntegrity = context.runtime.fetchedIntegrity;
28
- const inputIntegrity = context.parsedInput.installIntegrity;
29
- const safe = context.parsedInput.safeInstall;
17
+ logger_1.Logger.log('Check integrity step', true);
18
+ const inputIntegrity = context.rawInput.packageData.integrity;
19
+ const safe = context.rawInput.installData.checks.safe;
20
+ if (!inputIntegrity) {
21
+ if (safe) {
22
+ throw new Error(`Running in safe mode but no integrity checksum was provided.`);
23
+ }
24
+ else {
25
+ return;
26
+ }
27
+ }
28
+ const trmManifest = context.runtime.remotePackageData.trmManifest;
29
+ const installIntegrity = context.runtime.remotePackageData.integrity;
30
30
  if (installIntegrity !== inputIntegrity) {
31
31
  logger_1.Logger.warning(`ATTENTION!! Integrity check failed on package ${trmManifest.name}, version ${trmManifest.version}.`);
32
32
  logger_1.Logger.warning(` Local: ${inputIntegrity}`);
@@ -35,7 +35,7 @@ exports.checkIntegrity = {
35
35
  logger_1.Logger.warning(` Install will continue.`);
36
36
  }
37
37
  else {
38
- throw new Error(`Package installation aborted due to integrity check failure and running in safe mode.`);
38
+ throw new Error(`Safe mode: package installation aborted due to integrity check failure.`);
39
39
  }
40
40
  }
41
41
  })
@@ -1,3 +1,3 @@
1
1
  import { Step } from "@simonegaffurini/sammarksworkflow";
2
2
  import { InstallWorkflowContext } from ".";
3
- export declare const checkTadirContent: Step<InstallWorkflowContext>;
3
+ export declare const checkObjectTypes: Step<InstallWorkflowContext>;
@@ -0,0 +1,50 @@
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.checkObjectTypes = void 0;
13
+ const logger_1 = require("../../logger");
14
+ const systemConnector_1 = require("../../systemConnector");
15
+ exports.checkObjectTypes = {
16
+ name: 'check-object-types',
17
+ filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
18
+ if (context.rawInput.installData.checks.noObjectTypes) {
19
+ logger_1.Logger.log(`Skipping object types check (user input)`, true);
20
+ return false;
21
+ }
22
+ else {
23
+ return true;
24
+ }
25
+ }),
26
+ run: (context) => __awaiter(void 0, void 0, void 0, function* () {
27
+ logger_1.Logger.log('Check object types step', true);
28
+ logger_1.Logger.loading(`Checking package objects types...`);
29
+ const systemObjectList = yield systemConnector_1.SystemConnector.getObjectsList();
30
+ var unsupportedObjectTypes = [];
31
+ context.runtime.packageTransportsData.e071.forEach(o => {
32
+ if (!systemObjectList.find(k => k.pgmid === o.pgmid && k.object === k.object)) {
33
+ if (!unsupportedObjectTypes.find(k => k.pgmid === o.pgmid && k.object === k.object)) {
34
+ unsupportedObjectTypes.push({
35
+ pgmid: o.pgmid,
36
+ object: o.object,
37
+ text: `${o.pgmid} ${o.object}`
38
+ });
39
+ }
40
+ }
41
+ });
42
+ if (unsupportedObjectTypes.length > 0) {
43
+ logger_1.Logger.error(`Package contains ${unsupportedObjectTypes.length} unsupported objects:`);
44
+ unsupportedObjectTypes.forEach(o => {
45
+ logger_1.Logger.error(` ${o.text}`);
46
+ });
47
+ throw new Error(`Package is not supported on ${systemConnector_1.SystemConnector.getDest()}.`);
48
+ }
49
+ })
50
+ };
@@ -16,8 +16,8 @@ const SUBWORKFLOW_NAME = 'check-sap-entries-sub-install';
16
16
  exports.checkSapEntries = {
17
17
  name: 'check-sap-entries',
18
18
  filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
19
- if (!context.parsedInput.checkSapEntries) {
20
- logger_1.Logger.log(`Skipping SAP entries check (input)`, true);
19
+ if (context.rawInput.installData.checks.noSapEntries) {
20
+ logger_1.Logger.log(`Skipping SAP entries check (user input)`, true);
21
21
  return false;
22
22
  }
23
23
  else {
@@ -25,28 +25,31 @@ exports.checkSapEntries = {
25
25
  }
26
26
  }),
27
27
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
28
- const trmPackage = context.runtime.trmPackage;
28
+ logger_1.Logger.log('Check sap entries step', true);
29
29
  const inputData = {
30
- trmPackage,
31
- print: false
30
+ packageData: {
31
+ package: context.runtime.remotePackageData.trmPackage
32
+ },
33
+ printOptions: {
34
+ entriesStatus: false,
35
+ information: false
36
+ }
32
37
  };
33
- logger_1.Logger.log(`Ready to execute sub-workflow ${SUBWORKFLOW_NAME}, input data: ${(0, logger_1.inspect)(inputData, { breakLength: Infinity, compact: true })}`, true);
34
38
  logger_1.Logger.loading(`Checking SAP entries...`);
39
+ logger_1.Logger.log(`Ready to execute sub-workflow ${SUBWORKFLOW_NAME}, input data: ${(0, logger_1.inspect)(inputData, { breakLength: Infinity, compact: true })}`, true);
35
40
  const result = yield (0, checkSapEntries_1.checkSapEntries)(inputData);
36
41
  logger_1.Logger.log(`Workflow ${SUBWORKFLOW_NAME} result: ${(0, logger_1.inspect)(result, { breakLength: Infinity, compact: true })}`, true);
37
42
  const sapEntriesOutput = result.sapEntriesStatus;
38
- if (sapEntriesOutput) {
39
- var missingEntries = [];
40
- Object.keys(sapEntriesOutput).forEach(t => {
41
- missingEntries = missingEntries.concat(sapEntriesOutput[t].filter(o => !o.status));
42
- });
43
- if (missingEntries.length > 0) {
44
- logger_1.Logger.error(JSON.stringify(missingEntries), true);
45
- throw new Error(`Package requires ${missingEntries.length} SAP entries that don't exist on your system (run in verbose for more detail).`);
46
- }
47
- else {
48
- logger_1.Logger.success(`SAP entries checked.`);
49
- }
43
+ var missingEntries = [];
44
+ Object.keys(sapEntriesOutput).forEach(t => {
45
+ missingEntries = missingEntries.concat(sapEntriesOutput[t].filter(o => !o.status));
46
+ });
47
+ if (missingEntries.length > 0) {
48
+ logger_1.Logger.error(JSON.stringify(missingEntries), true);
49
+ throw new Error(`Package requires ${missingEntries.length} SAP entries that don't exist on your system (run in verbose for more detail).`);
50
+ }
51
+ else {
52
+ logger_1.Logger.success(`SAP entries checked.`);
50
53
  }
51
54
  })
52
55
  };