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
@@ -31,29 +31,55 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
31
31
  step((generator = generator.apply(thisArg, _arguments || [])).next());
32
32
  });
33
33
  };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
34
37
  Object.defineProperty(exports, "__esModule", { value: true });
35
38
  exports.RFCClient = void 0;
36
- const noderfc = __importStar(require("node-rfc"));
37
39
  const commons_1 = require("../commons");
38
40
  const logger_1 = require("../logger");
41
+ const fs_1 = require("fs");
42
+ const path_1 = __importDefault(require("path"));
43
+ const nodeRfcLib = 'node-rfc';
39
44
  class RFCClient {
40
- constructor(arg1, traceDir) {
45
+ constructor(_rfcClientArgs, _cLangu, traceDir) {
46
+ this._rfcClientArgs = _rfcClientArgs;
47
+ this._cLangu = _cLangu;
41
48
  this._aliveCheck = false;
42
- process.env["RFC_TRACE_DIR"] = traceDir || process.cwd();
49
+ try {
50
+ process.env["RFC_TRACE_DIR"] = traceDir || process.cwd();
51
+ }
52
+ catch (e) {
53
+ logger_1.Logger.warning(`Couldn't set RFC trace!`, true);
54
+ logger_1.Logger.error(e.toString(), true);
55
+ }
43
56
  logger_1.Logger.log(`RFC_TRACE_DIR: ${process.env["RFC_TRACE_DIR"]}`, true);
44
- this._rfcClient = new noderfc.Client(arg1);
57
+ }
58
+ getRfcClient() {
59
+ return __awaiter(this, void 0, void 0, function* () {
60
+ if (!this._rfcClient) {
61
+ const globalPath = yield (0, commons_1.getNpmGlobalPath)();
62
+ const libPath = path_1.default.join(globalPath, nodeRfcLib);
63
+ logger_1.Logger.log(`Node RFC lib path: ${libPath}`, true);
64
+ if (!(0, fs_1.existsSync)(libPath)) {
65
+ throw new Error(`${nodeRfcLib} not found. Run command "npm install ${nodeRfcLib} -g" to continue.`);
66
+ }
67
+ this._rfcClient = new (yield Promise.resolve(`${libPath}`).then(s => __importStar(require(s)))).Client(this._rfcClientArgs);
68
+ }
69
+ return this._rfcClient;
70
+ });
45
71
  }
46
72
  open() {
47
73
  return __awaiter(this, void 0, void 0, function* () {
48
74
  logger_1.Logger.loading(`Opening RFC connection`, true);
49
- yield this._rfcClient.open();
75
+ yield (yield this.getRfcClient()).open();
50
76
  logger_1.Logger.success(`RFC open`, true);
51
77
  });
52
78
  }
53
79
  checkConnection() {
54
80
  return __awaiter(this, void 0, void 0, function* () {
55
81
  if (!this._aliveCheck) {
56
- if (this._rfcClient.alive) {
82
+ if ((yield this.getRfcClient()).alive) {
57
83
  logger_1.Logger.success(`RFC open`, true);
58
84
  }
59
85
  else {
@@ -61,10 +87,10 @@ class RFCClient {
61
87
  }
62
88
  this._aliveCheck = true;
63
89
  }
64
- return this._rfcClient.alive;
90
+ return (yield this.getRfcClient()).alive;
65
91
  });
66
92
  }
67
- _call(fm, arg, timeout) {
93
+ _call(fm, arg, timeout, noErrorParsing) {
68
94
  return __awaiter(this, void 0, void 0, function* () {
69
95
  var argNormalized;
70
96
  if (arg) {
@@ -88,14 +114,72 @@ class RFCClient {
88
114
  timeout
89
115
  };
90
116
  }
91
- logger_1.Logger.loading(`Executing RFC, FM ${fm}, args ${JSON.stringify(argNormalized)}, opts ${JSON.stringify(callOptions)}`, true);
92
- const response = yield this._rfcClient.call(fm, argNormalized, callOptions);
93
- const responseNormalized = (0, commons_1.normalize)(response);
94
- logger_1.Logger.success(`RFC resonse: ${JSON.stringify(responseNormalized)}`, true);
95
- return responseNormalized;
117
+ try {
118
+ logger_1.Logger.loading(`Executing RFC, FM ${fm}, args ${JSON.stringify(argNormalized)}, opts ${JSON.stringify(callOptions)}`, true);
119
+ const response = yield (yield this.getRfcClient()).call(fm, argNormalized, callOptions);
120
+ const responseNormalized = (0, commons_1.normalize)(response);
121
+ logger_1.Logger.success(`RFC resonse: ${JSON.stringify(responseNormalized)}`, true);
122
+ return responseNormalized;
123
+ }
124
+ catch (e) {
125
+ if (noErrorParsing) {
126
+ throw e;
127
+ }
128
+ else {
129
+ var message;
130
+ var messageError;
131
+ try {
132
+ message = yield this._getMessage(true, {
133
+ no: `${e.abapMsgNumber}`,
134
+ class: e.abapMsgClass,
135
+ v1: e.abapMsgV1,
136
+ v2: e.abapMsgV2,
137
+ v3: e.abapMsgV3,
138
+ v4: e.abapMsgV4
139
+ });
140
+ }
141
+ catch (k) {
142
+ messageError = k;
143
+ message = `Couldn't read error message ${e.abapMsgClass} ${e.abapMsgNumber} ${e.abapMsgV1} ${e.abapMsgV2} ${e.abapMsgV3} ${e.abapMsgV4}`;
144
+ }
145
+ var rfcClientError = new Error(message.trim());
146
+ rfcClientError.name = 'TrmRFCClient';
147
+ rfcClientError.rfcError = e;
148
+ if (messageError) {
149
+ rfcClientError.messageError = messageError;
150
+ }
151
+ logger_1.Logger.error(rfcClientError.toString(), true);
152
+ throw rfcClientError;
153
+ }
154
+ }
96
155
  });
97
156
  }
98
- readTable(tableName, fields, options) {
157
+ _getMessage(noErrorParsing, data) {
158
+ return __awaiter(this, void 0, void 0, function* () {
159
+ var msgnr = data.no;
160
+ while (msgnr.length < 3) {
161
+ msgnr = `0${msgnr}`;
162
+ }
163
+ const aT100 = yield this._readTable(noErrorParsing, 'T100', [{ fieldName: 'SPRSL' }, { fieldName: 'ARBGB' }, { fieldName: 'MSGNR' }, { fieldName: 'TEXT' }], `SPRSL EQ '${this._cLangu}' AND ARBGB EQ '${data.class}' AND MSGNR EQ '${msgnr}'`);
164
+ if (aT100.length === 1 && aT100[0].text) {
165
+ var msg = aT100[0].text;
166
+ msg = msg.replace("&1", data.v1 || '');
167
+ msg = msg.replace("&2", data.v2 || '');
168
+ msg = msg.replace("&3", data.v3 || '');
169
+ msg = msg.replace("&4", data.v4 || '');
170
+ return msg.trim();
171
+ }
172
+ else {
173
+ throw new Error(`Message ${msgnr}, class ${data.class}, lang ${this._cLangu} not found.`);
174
+ }
175
+ });
176
+ }
177
+ getMessage(data) {
178
+ return __awaiter(this, void 0, void 0, function* () {
179
+ return this._getMessage(false, data);
180
+ });
181
+ }
182
+ _readTable(noErrorParsing, tableName, fields, options) {
99
183
  return __awaiter(this, void 0, void 0, function* () {
100
184
  var sqlOutput = [];
101
185
  const delimiter = '|';
@@ -124,7 +208,7 @@ class RFCClient {
124
208
  delimiter,
125
209
  options: aOptions,
126
210
  fields: fields
127
- });
211
+ }, undefined, noErrorParsing);
128
212
  const data = result['data'];
129
213
  data.forEach(tab512 => {
130
214
  var sqlLine = {};
@@ -137,6 +221,11 @@ class RFCClient {
137
221
  return (0, commons_1.normalize)(sqlOutput);
138
222
  });
139
223
  }
224
+ readTable(tableName, fields, options) {
225
+ return __awaiter(this, void 0, void 0, function* () {
226
+ return this._readTable(false, tableName, fields, options);
227
+ });
228
+ }
140
229
  getFileSystem() {
141
230
  return __awaiter(this, void 0, void 0, function* () {
142
231
  const result = yield this._call("ZTRM_GET_FILE_SYS", {});
@@ -178,7 +267,7 @@ class RFCClient {
178
267
  return __awaiter(this, void 0, void 0, function* () {
179
268
  const result = yield this._call("ZTRM_CREATE_IMPORT_TR", {
180
269
  iv_text: text,
181
- iv_target: target
270
+ iv_target: target.trim().toUpperCase()
182
271
  });
183
272
  return result['evTrkorr'];
184
273
  });
@@ -267,12 +356,13 @@ class RFCClient {
267
356
  });
268
357
  });
269
358
  }
270
- tdevcInterface(devclass, parentcl, rmParentCl) {
359
+ tdevcInterface(devclass, parentcl, rmParentCl, devlayer) {
271
360
  return __awaiter(this, void 0, void 0, function* () {
272
361
  yield this._call("ZTRM_TDEVC_INTERFACE", {
273
362
  iv_devclass: devclass.trim().toUpperCase(),
274
363
  iv_parentcl: parentcl ? parentcl.trim().toUpperCase() : '',
275
- iv_rm_parentcl: rmParentCl ? 'X' : ' '
364
+ iv_rm_parentcl: rmParentCl ? 'X' : ' ',
365
+ iv_devlayer: devlayer ? devlayer.trim().toUpperCase() : ''
276
366
  });
277
367
  });
278
368
  }
@@ -376,5 +466,20 @@ class RFCClient {
376
466
  });
377
467
  });
378
468
  }
469
+ addNamespace(namespace, replicense, texts) {
470
+ return __awaiter(this, void 0, void 0, function* () {
471
+ yield this._call("ZTRM_ADD_NAMESPACE", {
472
+ iv_namespace: namespace,
473
+ iv_replicense: replicense,
474
+ it_texts: texts
475
+ });
476
+ });
477
+ }
478
+ getR3transInfo() {
479
+ return __awaiter(this, void 0, void 0, function* () {
480
+ const result = yield this._call("ZTRM_GET_R3TRANS_INFO");
481
+ return result['evLog'];
482
+ });
483
+ }
379
484
  }
380
485
  exports.RFCClient = RFCClient;
@@ -0,0 +1 @@
1
+ export type NAMESPACE = string;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export type NSP_OWNER = string;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export type NSP_TEXT = string;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export type RFCDEST = string;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export type TRNLICENSE = string;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -40,3 +40,8 @@ export * from "./TRPARFLAG";
40
40
  export * from "./RS38L_FNAME";
41
41
  export * from "./PNAME";
42
42
  export * from "./TRFUNCTION";
43
+ export * from "./RFCDEST";
44
+ export * from "./NAMESPACE";
45
+ export * from "./TRNLICENSE";
46
+ export * from "./NSP_TEXT";
47
+ export * from "./NSP_OWNER";
@@ -56,3 +56,8 @@ __exportStar(require("./TRPARFLAG"), exports);
56
56
  __exportStar(require("./RS38L_FNAME"), exports);
57
57
  __exportStar(require("./PNAME"), exports);
58
58
  __exportStar(require("./TRFUNCTION"), exports);
59
+ __exportStar(require("./RFCDEST"), exports);
60
+ __exportStar(require("./NAMESPACE"), exports);
61
+ __exportStar(require("./TRNLICENSE"), exports);
62
+ __exportStar(require("./NSP_TEXT"), exports);
63
+ __exportStar(require("./NSP_OWNER"), exports);
@@ -2,3 +2,6 @@ export * from "./components";
2
2
  export * from "./struct";
3
3
  export * from "./IClient";
4
4
  export * from "./RFCClient";
5
+ export * from "./RESTClient";
6
+ export * from "./SapMessage";
7
+ export * from "./Login";
@@ -18,3 +18,6 @@ __exportStar(require("./components"), exports);
18
18
  __exportStar(require("./struct"), exports);
19
19
  __exportStar(require("./IClient"), exports);
20
20
  __exportStar(require("./RFCClient"), exports);
21
+ __exportStar(require("./RESTClient"), exports);
22
+ __exportStar(require("./SapMessage"), exports);
23
+ __exportStar(require("./Login"), exports);
@@ -3,4 +3,5 @@ export type STMSIQREQ = {
3
3
  trkorr: TRKORR;
4
4
  bufpos: DDPOSITION;
5
5
  impsing: string;
6
+ maxrc: string;
6
7
  };
@@ -0,0 +1,5 @@
1
+ import { NAMESPACE, TRNLICENSE } from "../components";
2
+ export type TRNSPACET = {
3
+ namespace: NAMESPACE;
4
+ replicense: TRNLICENSE;
5
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,7 @@
1
+ import { NAMESPACE, NSP_OWNER, NSP_TEXT, SPRAS } from "../components";
2
+ export type TRNSPACETT = {
3
+ namespace: NAMESPACE;
4
+ spras: SPRAS;
5
+ descriptn: NSP_TEXT;
6
+ owner: NSP_OWNER;
7
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -18,3 +18,5 @@ export * from "./T100";
18
18
  export * from "./ZTRM_INTEGRITY";
19
19
  export * from "./LXE_TT_PACKG_LINE";
20
20
  export * from "./TFDIR";
21
+ export * from "./TRNSPACET";
22
+ export * from "./TRNSPACETT";
@@ -34,3 +34,5 @@ __exportStar(require("./T100"), exports);
34
34
  __exportStar(require("./ZTRM_INTEGRITY"), exports);
35
35
  __exportStar(require("./LXE_TT_PACKG_LINE"), exports);
36
36
  __exportStar(require("./TFDIR"), exports);
37
+ __exportStar(require("./TRNSPACET"), exports);
38
+ __exportStar(require("./TRNSPACETT"), exports);
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fromAbapToDate = void 0;
3
+ exports.fromAbapToDate = fromAbapToDate;
4
4
  function fromAbapToDate(as4date, as4time) {
5
5
  const aDate = Array.from(as4date);
6
6
  const aTime = Array.from(as4time);
@@ -12,4 +12,3 @@ function fromAbapToDate(as4date, as4time) {
12
12
  const seconds = parseInt(`${aTime[4]}${aTime[5]}`);
13
13
  return new Date(year, month, day, hour, minutes, seconds);
14
14
  }
15
- exports.fromAbapToDate = fromAbapToDate;
@@ -0,0 +1,5 @@
1
+ import { CreateAxiosDefaults } from "axios";
2
+ export declare const AXIOS_SESSION_HEADER = "X-TRM-SESSION-ID";
3
+ export declare const AXIOS_INTERNAL_HEADER = "X-TRM-REQUEST-ID";
4
+ export type AxiosCtx = 'Registry' | 'RestServer';
5
+ export declare function getAxiosInstance(config: CreateAxiosDefaults<any>, sCtx: AxiosCtx): import("axios").AxiosInstance;
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.AXIOS_INTERNAL_HEADER = exports.AXIOS_SESSION_HEADER = void 0;
7
+ exports.getAxiosInstance = getAxiosInstance;
8
+ const axios_1 = __importDefault(require("axios"));
9
+ const util_1 = require("util");
10
+ const logger_1 = require("../logger");
11
+ const uuid_1 = require("uuid");
12
+ exports.AXIOS_SESSION_HEADER = 'X-TRM-SESSION-ID';
13
+ exports.AXIOS_INTERNAL_HEADER = 'X-TRM-REQUEST-ID';
14
+ function _getInternalId(response) {
15
+ try {
16
+ return response.request.getHeader(exports.AXIOS_INTERNAL_HEADER);
17
+ }
18
+ catch (e) {
19
+ return 'Unknown';
20
+ }
21
+ }
22
+ function getAxiosInstance(config, sCtx) {
23
+ const instance = axios_1.default.create(config);
24
+ instance.interceptors.request.use((request) => {
25
+ const internalId = (0, uuid_1.v4)();
26
+ request.headers.set(exports.AXIOS_INTERNAL_HEADER, internalId);
27
+ if (logger_1.Logger.logger instanceof logger_1.CliLogFileLogger) {
28
+ request.headers.set(exports.AXIOS_SESSION_HEADER, logger_1.Logger.logger.getSessionId());
29
+ }
30
+ var sRequest = `${request.method} ${request.baseURL}${request.url}`;
31
+ if (request.params) {
32
+ sRequest += `, parameters: ${(0, util_1.inspect)(request.params, { breakLength: Infinity, compact: true })}`;
33
+ }
34
+ if (request.headers.getAuthorization()) {
35
+ sRequest += `, authorization: HIDDEN`;
36
+ }
37
+ if (request.data) {
38
+ sRequest += `, data: ${(0, util_1.inspect)(request.data, { breakLength: Infinity, compact: true })}`;
39
+ }
40
+ logger_1.Logger.log(`${sCtx} AXIOS request ${internalId}: ${sRequest}`, true);
41
+ return request;
42
+ }, (error) => {
43
+ logger_1.Logger.error(`${sCtx} AXIOS request error: ${error}`, true);
44
+ return Promise.reject(error);
45
+ });
46
+ instance.interceptors.response.use((response) => {
47
+ const internalId = _getInternalId(response);
48
+ var sResponse = `status: ${response.status}, status text: ${response.statusText}`;
49
+ if (response.data) {
50
+ sResponse += `, data: ${(0, util_1.inspect)(response.data, { breakLength: Infinity, compact: true })}`;
51
+ }
52
+ logger_1.Logger.log(`Ending ${sCtx} AXIOS request ${internalId}: ${sResponse}`, true);
53
+ return response;
54
+ }, (error) => {
55
+ if (error.response) {
56
+ const internalId = _getInternalId(error.response);
57
+ var sError;
58
+ if (error.response.data) {
59
+ if (error.config.responseType === 'arraybuffer') {
60
+ try {
61
+ const charset = /^application\/json;.*charset=([^;]*)/i.exec(error.response.headers['content-type'])[1];
62
+ const enc = new TextDecoder(charset);
63
+ error.response.data = JSON.parse(enc.decode(error.response.data));
64
+ }
65
+ catch (e) { }
66
+ }
67
+ if (error.response.data.message && typeof (error.response.data.message) === 'string') {
68
+ sError = error.response.data.message;
69
+ }
70
+ else if (typeof (error.response.data) === 'string') {
71
+ sError = error.response.data;
72
+ }
73
+ else {
74
+ sError = error.response.statusText;
75
+ }
76
+ }
77
+ else {
78
+ sError = error.response.statusText;
79
+ }
80
+ var oError = new Error(sError);
81
+ oError.name = `Trm${sCtx}Error`;
82
+ oError.status = error.response.status;
83
+ oError.response = error.response.data || {};
84
+ oError.axiosError = error;
85
+ logger_1.Logger.error(`${sCtx} response id ${internalId} error: ${error} (${JSON.stringify(sError)})`, true);
86
+ return Promise.reject(oError);
87
+ }
88
+ else {
89
+ logger_1.Logger.error(`${sCtx} response error: ${error}`, true);
90
+ return Promise.reject(error);
91
+ }
92
+ });
93
+ return instance;
94
+ }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getFileSysSeparator = void 0;
3
+ exports.getFileSysSeparator = getFileSysSeparator;
4
4
  function getFileSysSeparator(fileSys) {
5
5
  if (fileSys === 'WINDOWS NT' || fileSys === 'DOS') {
6
6
  return '\\';
@@ -12,4 +12,3 @@ function getFileSysSeparator(fileSys) {
12
12
  throw new Error(`Unknown file system type ${fileSys}`);
13
13
  }
14
14
  }
15
- exports.getFileSysSeparator = getFileSysSeparator;
@@ -0,0 +1 @@
1
+ export declare function getNpmGlobalPath(): Promise<string>;
@@ -0,0 +1,30 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.getNpmGlobalPath = getNpmGlobalPath;
16
+ const child_process_1 = require("child_process");
17
+ const path_1 = __importDefault(require("path"));
18
+ const util_1 = require("util");
19
+ const logger_1 = require("../logger");
20
+ function getNpmGlobalPath() {
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ logger_1.Logger.loading(`Reading NPM global path...`);
23
+ const execPromise = (0, util_1.promisify)(child_process_1.exec);
24
+ const { stdout } = yield execPromise(`npm config get prefix`);
25
+ const prefixPath = stdout.replace(/\n$/, '');
26
+ const globalPath = path_1.default.join(prefixPath, 'node_modules');
27
+ logger_1.Logger.log(`NPM Global path: ${globalPath}`, true);
28
+ return globalPath;
29
+ });
30
+ }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPackageHierarchy = void 0;
3
+ exports.getPackageHierarchy = getPackageHierarchy;
4
4
  function getPackageHierarchy(input) {
5
5
  const map = new Map();
6
6
  input.forEach(item => {
@@ -25,4 +25,3 @@ function getPackageHierarchy(input) {
25
25
  }
26
26
  return roots[0];
27
27
  }
28
- exports.getPackageHierarchy = getPackageHierarchy;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPackageNamespace = void 0;
3
+ exports.getPackageNamespace = getPackageNamespace;
4
4
  function getPackageNamespace(devclass) {
5
5
  const aDevclass = Array.from(devclass.toUpperCase());
6
6
  if (aDevclass[0] === 'Z') {
@@ -13,10 +13,9 @@ function getPackageNamespace(devclass) {
13
13
  return '$';
14
14
  }
15
15
  else if (/^(\/.*\/)/.test(devclass)) {
16
- return devclass.toUpperCase().match(/^(\/.*\/)/)[1];
16
+ return devclass.toUpperCase().match(/^(\/.*\/)/)[1].toUpperCase();
17
17
  }
18
18
  else {
19
19
  throw new Error(`Devclass ${devclass.toUpperCase()} uses a non-custom namespace.`);
20
20
  }
21
21
  }
22
- exports.getPackageNamespace = getPackageNamespace;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getParentFromHierarchy = void 0;
3
+ exports.getParentFromHierarchy = getParentFromHierarchy;
4
4
  function getParentFromHierarchy(hierarchy, targetDevclass) {
5
5
  if (hierarchy.devclass === targetDevclass) {
6
6
  return null;
@@ -16,4 +16,3 @@ function getParentFromHierarchy(hierarchy, targetDevclass) {
16
16
  }
17
17
  return null;
18
18
  }
19
- exports.getParentFromHierarchy = getParentFromHierarchy;
@@ -9,3 +9,5 @@ export * from "./getPackageHierarchy";
9
9
  export * from "./getParentFromHierarchy";
10
10
  export * from "./getPackageNamespace";
11
11
  export * from "./LogTableStruct";
12
+ export * from "./getAxiosInstance";
13
+ export * from "./getNpmGlobalPath";
@@ -25,3 +25,5 @@ __exportStar(require("./getPackageHierarchy"), exports);
25
25
  __exportStar(require("./getParentFromHierarchy"), exports);
26
26
  __exportStar(require("./getPackageNamespace"), exports);
27
27
  __exportStar(require("./LogTableStruct"), exports);
28
+ __exportStar(require("./getAxiosInstance"), exports);
29
+ __exportStar(require("./getNpmGlobalPath"), exports);
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.normalize = void 0;
26
+ exports.normalize = normalize;
27
27
  const objKeysNormalizer = __importStar(require("object-keys-normalizer"));
28
28
  function normalize(arg, kind) {
29
29
  if (Array.isArray(arg)) {
@@ -33,4 +33,3 @@ function normalize(arg, kind) {
33
33
  return objKeysNormalizer.normalizeKeys(Object.assign({}, arg), kind || 'camel');
34
34
  }
35
35
  }
36
- exports.normalize = normalize;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parsePackageName = void 0;
3
+ exports.parsePackageName = parsePackageName;
4
4
  const validateOrganizationName_1 = require("./validateOrganizationName");
5
5
  function parsePackageName(args) {
6
6
  var result;
@@ -50,4 +50,3 @@ function parsePackageName(args) {
50
50
  }
51
51
  return result;
52
52
  }
53
- exports.parsePackageName = parsePackageName;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateOrganizationName = void 0;
3
+ exports.validateOrganizationName = validateOrganizationName;
4
4
  function validateOrganizationName(organization) {
5
5
  organization = organization.toLowerCase();
6
6
  if (!organization.match(/^[a-z]*$/)) {
@@ -8,4 +8,3 @@ function validateOrganizationName(organization) {
8
8
  }
9
9
  return organization;
10
10
  }
11
- exports.validateOrganizationName = validateOrganizationName;
@@ -1,6 +1,10 @@
1
1
  import { Question } from "./Question";
2
2
  import { IInquirer } from "./IInquirer";
3
3
  export declare class CliInquirer implements IInquirer {
4
+ private _prefix;
4
5
  constructor();
5
6
  prompt(arg1: Question | Question[]): Promise<any>;
7
+ setPrefix(text: string): void;
8
+ removePrefix(): void;
9
+ getPrefix(): string;
6
10
  }
@@ -36,7 +36,9 @@ exports.CliInquirer = void 0;
36
36
  const logger_1 = require("../logger");
37
37
  const cliInquirer = __importStar(require("@inquirer/prompts"));
38
38
  class CliInquirer {
39
- constructor() { }
39
+ constructor() {
40
+ this._prefix = '';
41
+ }
40
42
  prompt(arg1) {
41
43
  return __awaiter(this, void 0, void 0, function* () {
42
44
  if (logger_1.Logger.logger instanceof logger_1.CliLogger || logger_1.Logger.logger instanceof logger_1.CliLogFileLogger) {
@@ -66,6 +68,7 @@ class CliInquirer {
66
68
  prompt = yield question.when(hash);
67
69
  }
68
70
  if (prompt) {
71
+ question.message = this._prefix + question.message;
69
72
  const oResponse = yield cliInquirer[question.type](question);
70
73
  hash[question.name] = oResponse;
71
74
  }
@@ -77,5 +80,14 @@ class CliInquirer {
77
80
  return hash;
78
81
  });
79
82
  }
83
+ setPrefix(text) {
84
+ this._prefix = text;
85
+ }
86
+ removePrefix() {
87
+ this._prefix = '';
88
+ }
89
+ getPrefix() {
90
+ return this._prefix;
91
+ }
80
92
  }
81
93
  exports.CliInquirer = CliInquirer;