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
@@ -0,0 +1,84 @@
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.setCustomizingTransports = void 0;
13
+ const logger_1 = require("../../logger");
14
+ const inquirer_1 = require("../../inquirer");
15
+ const transport_1 = require("../../transport");
16
+ exports.setCustomizingTransports = {
17
+ name: 'set-customizing-transports',
18
+ filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
19
+ if (context.rawInput.publishData.skipCustomizingTransports) {
20
+ logger_1.Logger.log(`Skipping customizing transports publish (user input)`, true);
21
+ return false;
22
+ }
23
+ else {
24
+ return true;
25
+ }
26
+ }),
27
+ run: (context) => __awaiter(void 0, void 0, void 0, function* () {
28
+ logger_1.Logger.log('Set customizing transports step', true);
29
+ if (!context.rawInput.contextData.noInquirer) {
30
+ var defaultTransports;
31
+ if (Array.isArray(context.rawInput.publishData.customizingTransports)) {
32
+ defaultTransports = context.rawInput.publishData.customizingTransports.map(o => {
33
+ return o.trkorr;
34
+ }).join(', ');
35
+ }
36
+ else {
37
+ defaultTransports = context.rawInput.publishData.customizingTransports;
38
+ }
39
+ const inq = yield inquirer_1.Inquirer.prompt({
40
+ message: `Add customizing transports (separated by comma)`,
41
+ name: 'transports',
42
+ type: 'input',
43
+ default: defaultTransports
44
+ });
45
+ context.rawInput.publishData.customizingTransports = inq.transports;
46
+ }
47
+ if (typeof (context.rawInput.publishData.customizingTransports) === 'string') {
48
+ context.rawInput.publishData.customizingTransports = context.rawInput.publishData.customizingTransports.split(',').map(o => {
49
+ if (o) {
50
+ try {
51
+ return new transport_1.Transport(o.trim());
52
+ }
53
+ catch (e) {
54
+ throw new Error(`Invalid customizing transport values: trkorr.`);
55
+ }
56
+ }
57
+ }).filter(o => o !== undefined);
58
+ }
59
+ var validatedTransports = [];
60
+ if (Array.isArray(context.rawInput.publishData.customizingTransports) && context.rawInput.publishData.customizingTransports.length > 0) {
61
+ logger_1.Logger.loading(`Reading customizing transports...`);
62
+ for (const transport of context.rawInput.publishData.customizingTransports) {
63
+ logger_1.Logger.log(`Checking transport ${transport.trkorr}`, true);
64
+ if (yield transport.getE070()) {
65
+ if (!validatedTransports.find(o => o.trkorr === transport.trkorr)) {
66
+ logger_1.Logger.log(`Transport ${transport.trkorr} is validated`, true);
67
+ validatedTransports.push(transport);
68
+ }
69
+ const tasks = yield transport.getTasks();
70
+ tasks.forEach(task => {
71
+ if (!validatedTransports.find(o => o.trkorr === task.trkorr)) {
72
+ logger_1.Logger.log(`Transport ${transport.trkorr} task is validated`, true);
73
+ validatedTransports.push(task);
74
+ }
75
+ });
76
+ }
77
+ else {
78
+ logger_1.Logger.log(`Transport ${transport.trkorr} doesn't exist`, true);
79
+ }
80
+ }
81
+ logger_1.Logger.info(`${context.rawInput.publishData.customizingTransports.length} customizing transports will be published.`);
82
+ }
83
+ })
84
+ };
@@ -10,33 +10,65 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.setDevclass = void 0;
13
- const Inquirer_1 = require("../../inquirer/Inquirer");
14
- const inquirer_1 = require("../../inquirer");
15
13
  const logger_1 = require("../../logger");
14
+ const trmPackage_1 = require("../../trmPackage");
15
+ const inquirer_1 = require("../../inquirer");
16
+ const systemConnector_1 = require("../../systemConnector");
17
+ const commons_1 = require("../../commons");
16
18
  exports.setDevclass = {
17
19
  name: 'set-devclass',
18
20
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
19
- var devclass = context.parsedInput.devclass;
20
- if (!devclass) {
21
- if (context.parsedInput.silent) {
22
- throw new Error(`Running in silent mode and devclass was not set.`);
21
+ logger_1.Logger.log('Set devclass step', true);
22
+ var needsValidation;
23
+ var devclass = context.rawInput.packageData.devclass;
24
+ if (devclass === undefined) {
25
+ const trmPackage = context.rawInput.contextData.systemPackages.find(o => trmPackage_1.TrmPackage.compare(o, new trmPackage_1.TrmPackage(context.rawInput.packageData.name, context.rawInput.packageData.registry)));
26
+ if (trmPackage) {
27
+ devclass = trmPackage.getDevclass();
28
+ }
29
+ if (!context.rawInput.contextData.noInquirer) {
30
+ devclass = (yield inquirer_1.Inquirer.prompt({
31
+ type: 'input',
32
+ message: 'ABAP package name',
33
+ name: 'devclass',
34
+ default: devclass,
35
+ validate: (input) => __awaiter(void 0, void 0, void 0, function* () {
36
+ return yield (0, inquirer_1.validateDevclass)(input, false);
37
+ })
38
+ })).devclass.trim().toUpperCase();
39
+ logger_1.Logger.log(`Publish devclass set to "${devclass}"`, true);
40
+ needsValidation = false;
23
41
  }
24
- const inq1 = yield Inquirer_1.Inquirer.prompt({
25
- type: "input",
26
- message: "Package devclass",
27
- name: "devclass",
28
- validate: (input) => __awaiter(void 0, void 0, void 0, function* () {
29
- return yield (0, inquirer_1.validateDevclass)(input);
30
- })
31
- });
32
- devclass = inq1.devclass;
42
+ else {
43
+ needsValidation = true;
44
+ }
45
+ }
46
+ else {
47
+ needsValidation = true;
33
48
  }
34
- devclass = devclass.trim().toUpperCase();
35
- const devclassValid = yield (0, inquirer_1.validateDevclass)(devclass);
36
- if (devclassValid && devclassValid !== true) {
37
- throw new Error(devclassValid);
49
+ if (needsValidation) {
50
+ const validate = yield (0, inquirer_1.validateDevclass)(devclass, false);
51
+ if (validate && validate !== true) {
52
+ throw new Error(validate);
53
+ }
54
+ logger_1.Logger.info(`Publish ABAP package: "${devclass}"`);
55
+ }
56
+ context.rawInput.packageData.devclass = devclass;
57
+ logger_1.Logger.loading(`Reading "${context.rawInput.packageData.devclass}" objects...`);
58
+ context.runtime.packageData.tadir = yield systemConnector_1.SystemConnector.getDevclassObjects(context.rawInput.packageData.devclass, true);
59
+ const packageNamespace = (0, commons_1.getPackageNamespace)(context.rawInput.packageData.devclass);
60
+ if (packageNamespace[0] === '/') {
61
+ logger_1.Logger.loading(`Reading namespace ${packageNamespace}...`);
62
+ const namespace = yield systemConnector_1.SystemConnector.getNamespace(packageNamespace);
63
+ if (namespace && namespace.trnspacet && namespace.trnspacett.length > 0) {
64
+ context.runtime.packageData.namespace = {
65
+ trnspacet: namespace.trnspacet,
66
+ trnspacett: namespace.trnspacett
67
+ };
68
+ }
69
+ else {
70
+ throw new Error(`Namespace ${packageNamespace} couldn't be found on ${systemConnector_1.SystemConnector.getDest()}.`);
71
+ }
38
72
  }
39
- logger_1.Logger.log(`Publish devclass: ${devclass}`, true);
40
- context.parsedInput.devclass = devclass;
41
73
  })
42
74
  };
@@ -11,101 +11,153 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.setManifestValues = void 0;
13
13
  const logger_1 = require("../../logger");
14
- const Inquirer_1 = require("../../inquirer/Inquirer");
14
+ const inquirer_1 = require("../../inquirer");
15
+ const registry_1 = require("../../registry");
16
+ const manifest_1 = require("../../manifest");
15
17
  exports.setManifestValues = {
16
18
  name: 'set-manifest-values',
17
- filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
18
- if (context.parsedInput.forceManifestInput || (!context.parsedInput.forceManifestInput && !context.runtime.packageExistsOnRegistry)) {
19
- return true;
20
- }
21
- else {
22
- logger_1.Logger.log(`Skip manifest input values step (force: ${context.parsedInput.forceManifestInput}, already exists: ${context.runtime.packageExistsOnRegistry})`, true);
23
- return false;
24
- }
25
- }),
26
19
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
27
- var defaultAuthors;
28
- var defaultKeywords;
29
- if (context.runtime.manifest.authors) {
30
- if (typeof (context.runtime.manifest.authors) === 'string') {
31
- defaultAuthors = context.runtime.manifest.authors;
20
+ logger_1.Logger.log('Set manifest values step', true);
21
+ if (context.rawInput.publishData.keepLatestReleaseManifestValues) {
22
+ if (context.runtime.trmPackage.latestReleaseManifest) {
23
+ logger_1.Logger.log(`Setting manifest values like latest version (${context.runtime.trmPackage.latestReleaseManifest.version})`, true);
24
+ context.runtime.trmPackage.manifest = Object.assign(Object.assign({}, context.runtime.trmPackage.latestReleaseManifest), context.runtime.trmPackage.manifest);
25
+ }
26
+ }
27
+ if (!context.rawInput.contextData.noInquirer) {
28
+ var defaultAuthors;
29
+ var defaultKeywords;
30
+ if (Array.isArray(context.runtime.trmPackage.manifest.authors)) {
31
+ defaultAuthors = context.runtime.trmPackage.manifest.authors.map(o => {
32
+ var author;
33
+ if (o.name) {
34
+ author = o.name;
35
+ if (o.email) {
36
+ author += ` <${o.email}>`;
37
+ }
38
+ }
39
+ else if (o.email) {
40
+ author = o.email;
41
+ }
42
+ else {
43
+ throw new Error(`Invalid manifest values: authors.`);
44
+ }
45
+ return author;
46
+ }).join(', ');
47
+ }
48
+ else {
49
+ defaultAuthors = context.runtime.trmPackage.manifest.authors;
50
+ }
51
+ if (Array.isArray(context.runtime.trmPackage.manifest.keywords)) {
52
+ defaultKeywords = context.runtime.trmPackage.manifest.keywords.join(', ');
32
53
  }
33
54
  else {
34
- try {
35
- defaultAuthors = context.runtime.manifest.authors.map(o => {
36
- if (o.name) {
37
- if (o.email) {
38
- return `${o.name} <${o.email}>`;
55
+ defaultKeywords = context.runtime.trmPackage.manifest.keywords;
56
+ }
57
+ var inq = yield inquirer_1.Inquirer.prompt([{
58
+ type: "input",
59
+ message: "Short description",
60
+ name: "description",
61
+ default: context.runtime.trmPackage.manifest.description,
62
+ validate: (input) => {
63
+ if (context.rawInput.packageData.registry.getRegistryType() === registry_1.RegistryType.PUBLIC) {
64
+ if (input.length > 50) {
65
+ return "Maximum length: 50 characters";
39
66
  }
40
67
  else {
41
- return o.name;
68
+ return true;
42
69
  }
43
70
  }
44
71
  else {
45
- return o.email;
72
+ return true;
46
73
  }
47
- }).filter(s => s).join(', ');
74
+ }
75
+ }, {
76
+ type: "input",
77
+ message: "Website",
78
+ name: "website",
79
+ default: context.runtime.trmPackage.manifest.website,
80
+ validate: (input) => {
81
+ if (context.rawInput.packageData.registry.getRegistryType() === registry_1.RegistryType.PUBLIC) {
82
+ if (input.length > 100) {
83
+ return "Maximum length: 100 characters";
84
+ }
85
+ else {
86
+ return true;
87
+ }
88
+ }
89
+ else {
90
+ return true;
91
+ }
92
+ }
93
+ }, {
94
+ type: "input",
95
+ message: "Git repository",
96
+ name: "git",
97
+ default: context.runtime.trmPackage.manifest.git,
98
+ validate: (input) => {
99
+ if (context.rawInput.packageData.registry.getRegistryType() === registry_1.RegistryType.PUBLIC) {
100
+ if (input.length > 100) {
101
+ return "Maximum length: 100 characters";
102
+ }
103
+ else {
104
+ return true;
105
+ }
106
+ }
107
+ else {
108
+ return true;
109
+ }
110
+ }
111
+ }, {
112
+ type: "input",
113
+ message: "Authors (separated by comma)",
114
+ name: "authors",
115
+ default: defaultAuthors
116
+ }, {
117
+ type: "input",
118
+ message: "Keywords (separated by comma)",
119
+ name: "keywords",
120
+ default: defaultKeywords
121
+ }, {
122
+ type: "input",
123
+ message: "License",
124
+ name: "license",
125
+ default: context.runtime.trmPackage.manifest.license
126
+ }]);
127
+ inq.authors = inq.authors.split(',').map(s => {
128
+ const match = s.trim().match(/^(.*?)(?:\s*<([^>]+)>)?$/);
129
+ if (match && match.length >= 3) {
130
+ return {
131
+ name: match[1] ? match[1].trim() : undefined,
132
+ email: match[2] ? match[2].trim() : undefined
133
+ };
48
134
  }
49
- catch (e) {
50
- defaultAuthors = '';
135
+ else {
136
+ throw new Error(`Invalid manifest values: authors.`);
51
137
  }
52
- }
53
- }
54
- if (context.runtime.manifest.keywords) {
55
- if (typeof (context.runtime.manifest.keywords) === 'string') {
56
- defaultKeywords = context.runtime.manifest.keywords;
57
- }
58
- else {
59
- try {
60
- defaultKeywords = context.runtime.manifest.keywords.filter(s => s).join(', ');
138
+ });
139
+ inq.keywords = inq.keywords.split(',').map(s => {
140
+ if (s) {
141
+ return s.trim();
61
142
  }
62
- catch (e) {
63
- defaultKeywords = '';
143
+ else {
144
+ throw new Error(`Invalid manifest values: keywords.`);
64
145
  }
65
- }
146
+ });
147
+ context.runtime.trmPackage.manifest = Object.assign(Object.assign({}, context.runtime.trmPackage.manifest), inq);
148
+ }
149
+ if (context.runtime.packageData.namespace) {
150
+ context.runtime.trmPackage.manifest.namespace = {
151
+ replicense: context.runtime.packageData.namespace.trnspacet.replicense,
152
+ texts: context.runtime.packageData.namespace.trnspacett.map(o => {
153
+ return {
154
+ description: o.descriptn,
155
+ language: o.spras,
156
+ owner: o.owner
157
+ };
158
+ })
159
+ };
66
160
  }
67
- const inq1 = yield Inquirer_1.Inquirer.prompt([{
68
- type: "input",
69
- message: "Package short description",
70
- name: "description",
71
- default: context.runtime.manifest.description,
72
- when: !context.parsedInput.silent
73
- }, {
74
- type: "input",
75
- message: "Website",
76
- name: "website",
77
- default: context.runtime.manifest.website,
78
- when: !context.parsedInput.silent
79
- }, {
80
- type: "input",
81
- message: "Package Git repository",
82
- name: "git",
83
- default: context.runtime.manifest.git,
84
- when: !context.parsedInput.silent
85
- }, {
86
- type: "input",
87
- message: "Authors (separated by comma)",
88
- name: "authors",
89
- when: !context.parsedInput.silent,
90
- default: defaultAuthors
91
- }, {
92
- type: "input",
93
- message: "Keywords (separated by comma)",
94
- name: "keywords",
95
- when: !context.parsedInput.silent,
96
- default: defaultKeywords
97
- }, {
98
- type: "input",
99
- message: "License",
100
- name: "license",
101
- default: context.runtime.manifest.license,
102
- when: !context.parsedInput.silent
103
- }]);
104
- context.runtime.manifest.description = context.runtime.manifest.description || inq1.description;
105
- context.runtime.manifest.website = context.runtime.manifest.website || inq1.website;
106
- context.runtime.manifest.git = context.runtime.manifest.git || inq1.git;
107
- context.runtime.manifest.authors = context.runtime.manifest.authors || inq1.authors;
108
- context.runtime.manifest.keywords = context.runtime.manifest.keywords || inq1.keywords;
109
- context.runtime.manifest.license = context.runtime.manifest.license || inq1.license;
161
+ context.runtime.trmPackage.manifest = manifest_1.Manifest.normalize(context.runtime.trmPackage.manifest, false);
110
162
  })
111
163
  };
@@ -10,13 +10,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.setReadme = void 0;
13
- const Inquirer_1 = require("../../inquirer/Inquirer");
14
13
  const logger_1 = require("../../logger");
14
+ const inquirer_1 = require("../../inquirer");
15
15
  exports.setReadme = {
16
16
  name: 'set-readme',
17
17
  filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
18
- if (context.parsedInput.silent) {
19
- logger_1.Logger.log(`Skipping set readme (input)`, true);
18
+ if (context.rawInput.publishData.readme !== undefined) {
19
+ logger_1.Logger.log(`Skipping readme input (user provided)`, true);
20
20
  return false;
21
21
  }
22
22
  else {
@@ -24,24 +24,23 @@ exports.setReadme = {
24
24
  }
25
25
  }),
26
26
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
27
- const inq1 = yield Inquirer_1.Inquirer.prompt([{
28
- message: 'Write readme?',
29
- type: 'confirm',
30
- name: 'editReadme',
31
- default: false,
32
- when: !context.parsedInput.skipReadme
33
- }, {
34
- message: 'Write readme',
35
- type: 'editor',
36
- name: 'readme',
37
- postfix: '.md',
38
- when: (hash) => {
39
- return hash.editReadme;
40
- },
41
- default: context.parsedInput.readme
42
- }]);
43
- if (inq1.readme) {
44
- context.parsedInput.readme = inq1.readme;
27
+ logger_1.Logger.log('Set readme step', true);
28
+ if (!context.rawInput.contextData.noInquirer) {
29
+ context.rawInput.publishData.readme = (yield inquirer_1.Inquirer.prompt([{
30
+ message: 'Write readme?',
31
+ type: 'confirm',
32
+ name: 'editReadme',
33
+ default: false
34
+ }, {
35
+ message: 'Write readme',
36
+ type: 'editor',
37
+ name: 'readme',
38
+ postfix: '.md',
39
+ when: (hash) => {
40
+ return hash.editReadme;
41
+ },
42
+ default: `#${context.rawInput.packageData.name}`
43
+ }])).readme;
45
44
  }
46
45
  })
47
46
  };
@@ -10,54 +10,46 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.setTransportTarget = void 0;
13
- const Inquirer_1 = require("../../inquirer/Inquirer");
14
- const inquirer_1 = require("../../inquirer");
15
- const systemConnector_1 = require("../../systemConnector");
16
13
  const logger_1 = require("../../logger");
14
+ const inquirer_1 = require("../../inquirer");
17
15
  exports.setTransportTarget = {
18
16
  name: 'set-transport-target',
19
17
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
20
- var trTarget = context.parsedInput.target;
21
- var systemTmscsys = yield systemConnector_1.SystemConnector.getTransportTargets();
22
- systemTmscsys = systemTmscsys.sort((a, b) => {
23
- if (a.systyp === 'V') {
24
- return -1;
25
- }
26
- else if (b.systyp === 'V') {
27
- return 1;
18
+ logger_1.Logger.log('Set transport target step', true);
19
+ var needsValidation;
20
+ var transportTarget = context.rawInput.systemData.transportTarget;
21
+ if (transportTarget === undefined) {
22
+ if (!context.rawInput.contextData.noInquirer) {
23
+ transportTarget = (yield inquirer_1.Inquirer.prompt({
24
+ type: "list",
25
+ message: "Publish transport target",
26
+ name: "transportTarget",
27
+ validate: (input) => __awaiter(void 0, void 0, void 0, function* () {
28
+ return yield (0, inquirer_1.validateTransportTarget)(input, context.runtime.systemData.transportTargets);
29
+ }),
30
+ choices: context.runtime.systemData.transportTargets.map(o => {
31
+ return {
32
+ name: `${o.sysnam} (${o.systxt})`,
33
+ value: o.sysnam
34
+ };
35
+ })
36
+ })).transportTarget;
28
37
  }
29
38
  else {
30
- return 0;
39
+ throw new Error(`Release transport target was not declared.`);
31
40
  }
32
- });
33
- if (!trTarget) {
34
- if (context.parsedInput.silent) {
35
- throw new Error(`Running in silent mode and transport target was not set.`);
36
- }
37
- const inq2 = yield Inquirer_1.Inquirer.prompt({
38
- type: "list",
39
- message: "Transport request target",
40
- name: "trTarget",
41
- validate: (input) => __awaiter(void 0, void 0, void 0, function* () {
42
- return yield (0, inquirer_1.validateTransportTarget)(input, systemTmscsys);
43
- }),
44
- choices: systemTmscsys.map(o => {
45
- return {
46
- name: `${o.sysnam} (${o.systxt})`,
47
- value: o.sysnam
48
- };
49
- })
50
- });
51
- trTarget = inq2.trTarget.trim().toUpperCase();
41
+ needsValidation = false;
52
42
  }
53
43
  else {
54
- trTarget = trTarget.trim().toUpperCase();
55
- const trTargetValid = yield (0, inquirer_1.validateTransportTarget)(trTarget, systemTmscsys);
56
- if (trTargetValid && trTargetValid !== true) {
57
- throw new Error(trTargetValid);
44
+ needsValidation = true;
45
+ }
46
+ if (needsValidation) {
47
+ const validate = yield (0, inquirer_1.validateTransportTarget)(transportTarget, context.runtime.systemData.transportTargets);
48
+ if (validate && validate !== true) {
49
+ throw new Error(validate);
58
50
  }
51
+ logger_1.Logger.info(`Publish transport target: "${transportTarget}"`);
59
52
  }
60
- logger_1.Logger.log(`Publish target: ${trTarget}`, true);
61
- context.parsedInput.trTarget = trTarget;
53
+ context.rawInput.systemData.transportTarget = transportTarget;
62
54
  })
63
55
  };
@@ -1,4 +1,6 @@
1
+ import { SapMessage } from "../systemConnector";
1
2
  export interface IClient {
2
3
  open: () => Promise<void>;
3
4
  checkConnection: () => Promise<boolean>;
5
+ getMessage: (data: SapMessage) => Promise<string>;
4
6
  }
@@ -1,6 +1,6 @@
1
1
  export type Login = {
2
- client: string;
3
2
  user: string;
4
3
  passwd: string;
5
4
  lang: string;
5
+ client?: string;
6
6
  };
@@ -0,0 +1,52 @@
1
+ import * as components from "./components";
2
+ import * as struct from "./struct";
3
+ import { IClient } from "./IClient";
4
+ import { Login, SapMessage } from ".";
5
+ export declare class RESTClient implements IClient {
6
+ endpoint: string;
7
+ rfcdest: components.RFCDEST;
8
+ private _login;
9
+ private _cLangu;
10
+ private _axiosInstance;
11
+ private _connected;
12
+ constructor(endpoint: string, rfcdest: components.RFCDEST, _login: Login, _cLangu: string);
13
+ open(): Promise<void>;
14
+ checkConnection(): Promise<boolean>;
15
+ getMessage(data: SapMessage): Promise<string>;
16
+ readTable(tableName: components.TABNAME, fields: struct.RFC_DB_FLD[], options?: string): Promise<any[]>;
17
+ getFileSystem(): Promise<struct.FILESYS>;
18
+ getDirTrans(): Promise<components.PFEVALUE>;
19
+ getBinaryFile(filePath: string): Promise<Buffer>;
20
+ writeBinaryFile(filePath: string, binary: Buffer): Promise<void>;
21
+ createTocTransport(text: components.AS4TEXT, target: components.TR_TARGET): Promise<components.TRKORR>;
22
+ createWbTransport(text: components.AS4TEXT, target?: components.TR_TARGET): Promise<components.TRKORR>;
23
+ setTransportDoc(trkorr: components.TRKORR, doc: struct.TLINE[]): Promise<void>;
24
+ getDevclassObjects(devclass: components.DEVCLASS): Promise<struct.TADIR[]>;
25
+ addToTransportRequest(trkorr: components.TRKORR, content: struct.E071[], lock: boolean): Promise<void>;
26
+ repositoryEnvironment(objectType: components.SEU_OBJ, objectName: components.SOBJ_NAME): Promise<struct.SENVI[]>;
27
+ deleteTrkorr(trkorr: components.TRKORR): Promise<void>;
28
+ releaseTrkorr(trkorr: components.TRKORR, lock: boolean, timeout?: number): Promise<void>;
29
+ addSkipTrkorr(trkorr: components.TRKORR): Promise<void>;
30
+ addSrcTrkorr(trkorr: components.TRKORR): Promise<void>;
31
+ readTmsQueue(target: components.TMSSYSNAM): Promise<struct.STMSIQREQ[]>;
32
+ createPackage(scompkdtln: struct.SCOMPKDTLN): Promise<void>;
33
+ tdevcInterface(devclass: components.DEVCLASS, parentcl?: components.DEVCLASS, rmParentCl?: boolean, devlayer?: components.DEVLAYER): Promise<void>;
34
+ getDefaultTransportLayer(): Promise<components.DEVLAYER>;
35
+ tadirInterface(tadir: struct.TADIR): Promise<void>;
36
+ dequeueTransport(trkorr: components.TRKORR): Promise<void>;
37
+ forwardTransport(trkorr: components.TRKORR, target: components.TMSSYSNAM, source: components.TMSSYSNAM, importAgain?: boolean): Promise<void>;
38
+ importTransport(trkorr: components.TRKORR, system: components.TMSSYSNAM): Promise<void>;
39
+ setInstallDevc(installDevc: struct.ZTRM_INSTALLDEVC[]): Promise<void>;
40
+ getObjectsList(): Promise<struct.KO100[]>;
41
+ getTrmServerVersion(): Promise<string>;
42
+ trmServerPing(): Promise<string>;
43
+ renameTransportRequest(trkorr: components.TRKORR, as4text: components.AS4TEXT): Promise<void>;
44
+ setPackageIntegrity(integrity: struct.ZTRM_INTEGRITY): Promise<void>;
45
+ addTranslationToTr(trkorr: components.TRKORR, devclassFilter: struct.LXE_TT_PACKG_LINE[]): Promise<void>;
46
+ trCopy(from: components.TRKORR, to: components.TRKORR, doc?: boolean): Promise<void>;
47
+ getDest(): Promise<string>;
48
+ getTransportObjectsBulk(trkorr: components.TRKORR): Promise<struct.TADIR[]>;
49
+ getExistingObjectsBulk(objects: struct.TADIR[]): Promise<struct.TADIR[]>;
50
+ addNamespace(namespace: components.NAMESPACE, replicense: components.TRNLICENSE, texts: struct.TRNSPACETT[]): Promise<void>;
51
+ getR3transInfo(): Promise<string>;
52
+ }