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,3 @@
1
+ import { Step } from "@simonegaffurini/sammarksworkflow";
2
+ import { CheckPackageDependenciesWorkflowContext } from ".";
3
+ export declare const analyze: Step<CheckPackageDependenciesWorkflowContext>;
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.analyze = void 0;
13
+ const logger_1 = require("../../logger");
14
+ const trmPackage_1 = require("../../trmPackage");
15
+ const registry_1 = require("../../registry");
16
+ const semver_1 = require("semver");
17
+ const systemConnector_1 = require("../../systemConnector");
18
+ exports.analyze = {
19
+ name: 'analyze',
20
+ filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
21
+ if (context.output.dependencies.length > 0) {
22
+ return true;
23
+ }
24
+ else {
25
+ logger_1.Logger.info(`Package ${context.rawInput.packageData.package.packageName} has no TRM package dependencies`, !context.rawInput.printOptions.information);
26
+ return false;
27
+ }
28
+ }),
29
+ run: (context) => __awaiter(void 0, void 0, void 0, function* () {
30
+ logger_1.Logger.log('Analyze step', true);
31
+ logger_1.Logger.info(`Package ${context.rawInput.packageData.package.packageName} has ${context.output.dependencies.length} TRM package dependencies`, !context.rawInput.printOptions.information);
32
+ var table = {
33
+ header: ['Dependency', 'Registry', 'Dependency range', 'Version on system', 'Version status', 'Integrity status'],
34
+ data: []
35
+ };
36
+ var tableData;
37
+ for (const dependency of context.output.dependencies) {
38
+ tableData = [dependency.name, dependency.registry || registry_1.PUBLIC_RESERVED_KEYWORD, dependency.version];
39
+ const dependencyTrmPackage = new trmPackage_1.TrmPackage(dependency.name, new registry_1.Registry(dependency.registry || registry_1.PUBLIC_RESERVED_KEYWORD));
40
+ const systemInstalledPackage = context.rawInput.contextData.systemPackages.find(o => trmPackage_1.TrmPackage.compare(o, dependencyTrmPackage));
41
+ if (systemInstalledPackage && systemInstalledPackage.manifest) {
42
+ const installedVersion = systemInstalledPackage.manifest.get().version;
43
+ tableData.push(installedVersion);
44
+ if ((0, semver_1.satisfies)(installedVersion, dependency.version)) {
45
+ tableData.push('OK');
46
+ context.runtime.dependenciesStatus.goodVersion.push(dependency);
47
+ }
48
+ else {
49
+ tableData.push('ERR!');
50
+ context.runtime.dependenciesStatus.badVersion.push(dependency);
51
+ }
52
+ }
53
+ else {
54
+ tableData.push('Not found');
55
+ tableData.push('ERR!');
56
+ context.runtime.dependenciesStatus.badVersion.push(dependency);
57
+ }
58
+ try {
59
+ const installedPackageIntegrity = yield systemConnector_1.SystemConnector.getPackageIntegrity(systemInstalledPackage);
60
+ if (installedPackageIntegrity === dependency.integrity) {
61
+ tableData.push('Safe');
62
+ context.runtime.dependenciesStatus.goodIntegrity.push(dependency);
63
+ }
64
+ else {
65
+ tableData.push('Unsafe');
66
+ context.runtime.dependenciesStatus.badIntegrity.push(dependency);
67
+ }
68
+ }
69
+ catch (e) {
70
+ tableData.push('Unknown');
71
+ context.runtime.dependenciesStatus.badIntegrity.push(dependency);
72
+ logger_1.Logger.error(e.toString(), true);
73
+ logger_1.Logger.error(`Couldn't retrieve package integrity`, true);
74
+ }
75
+ table.data.push(tableData);
76
+ }
77
+ logger_1.Logger.table(table.header, table.data, !context.rawInput.printOptions.dependencyStatus);
78
+ context.runtime.dependenciesStatus.goodVersion.forEach(o => {
79
+ const i = context.output.dependencyStatus.findIndex(k => k.dependency.name === o.name && k.dependency.registry === o.registry);
80
+ if (i >= 0) {
81
+ context.output.dependencyStatus[i].match = true;
82
+ }
83
+ else {
84
+ context.output.dependencyStatus.push({
85
+ dependency: o,
86
+ match: true,
87
+ safe: null
88
+ });
89
+ }
90
+ });
91
+ context.runtime.dependenciesStatus.badVersion.forEach(o => {
92
+ const i = context.output.dependencyStatus.findIndex(k => k.dependency.name === o.name && k.dependency.registry === o.registry);
93
+ if (i >= 0) {
94
+ context.output.dependencyStatus[i].match = false;
95
+ }
96
+ else {
97
+ context.output.dependencyStatus.push({
98
+ dependency: o,
99
+ match: false,
100
+ safe: null
101
+ });
102
+ }
103
+ });
104
+ context.runtime.dependenciesStatus.goodIntegrity.forEach(o => {
105
+ const i = context.output.dependencyStatus.findIndex(k => k.dependency.name === o.name && k.dependency.registry === o.registry);
106
+ if (i >= 0) {
107
+ context.output.dependencyStatus[i].safe = true;
108
+ }
109
+ else {
110
+ context.output.dependencyStatus.push({
111
+ dependency: o,
112
+ match: null,
113
+ safe: true
114
+ });
115
+ }
116
+ });
117
+ context.runtime.dependenciesStatus.badIntegrity.forEach(o => {
118
+ const i = context.output.dependencyStatus.findIndex(k => k.dependency.name === o.name && k.dependency.registry === o.registry);
119
+ if (i >= 0) {
120
+ context.output.dependencyStatus[i].safe = false;
121
+ }
122
+ else {
123
+ context.output.dependencyStatus.push({
124
+ dependency: o,
125
+ match: null,
126
+ safe: false
127
+ });
128
+ }
129
+ });
130
+ })
131
+ };
@@ -1,37 +1,38 @@
1
1
  import { TrmPackage } from "../../trmPackage";
2
+ import { IActionContext } from "../commons";
2
3
  import { TrmManifestDependency } from "../../manifest";
3
- import { LogTableStruct } from "../../commons";
4
- export type CheckPackageDependencyActionInput = {
5
- trmPackage: TrmPackage;
6
- print: boolean;
7
- systemPackages?: TrmPackage[];
8
- };
9
- type WorkflowParsedInput = {
10
- print?: boolean;
11
- packageName?: string;
12
- dependencies?: TrmManifestDependency[];
13
- systemPackages?: TrmPackage[];
14
- };
4
+ export interface CheckPackageDependenciesActionInput {
5
+ contextData?: {
6
+ systemPackages?: TrmPackage[];
7
+ };
8
+ packageData: {
9
+ package: TrmPackage;
10
+ };
11
+ printOptions?: {
12
+ dependencyStatus?: boolean;
13
+ information?: boolean;
14
+ };
15
+ }
15
16
  type WorkflowRuntime = {
16
- table?: LogTableStruct;
17
- versionOkDependencies?: TrmManifestDependency[];
18
- versionKoDependencies?: TrmManifestDependency[];
19
- integrityOkDependencies?: TrmManifestDependency[];
20
- integrityKoDependencies?: TrmManifestDependency[];
17
+ dependenciesStatus: {
18
+ goodVersion: TrmManifestDependency[];
19
+ badVersion: TrmManifestDependency[];
20
+ goodIntegrity: TrmManifestDependency[];
21
+ badIntegrity: TrmManifestDependency[];
22
+ };
21
23
  };
22
- export type CheckPackageDependencyActionOutput = {
23
- dependencies?: TrmManifestDependency[];
24
- dependencyStatus?: {
24
+ export type CheckPackageDependenciesActionOutput = {
25
+ dependencies: TrmManifestDependency[];
26
+ dependencyStatus: {
25
27
  dependency: TrmManifestDependency;
26
28
  match: boolean;
27
29
  safe: boolean;
28
30
  }[];
29
31
  };
30
- export type CheckPackageDependencyWorkflowContext = {
31
- rawInput: CheckPackageDependencyActionInput;
32
- parsedInput: WorkflowParsedInput;
33
- runtime: WorkflowRuntime;
34
- output: CheckPackageDependencyActionOutput;
35
- };
36
- export declare function checkPackageDependencies(inputData: CheckPackageDependencyActionInput): Promise<CheckPackageDependencyActionOutput>;
32
+ export interface CheckPackageDependenciesWorkflowContext extends IActionContext {
33
+ rawInput: CheckPackageDependenciesActionInput;
34
+ runtime?: WorkflowRuntime;
35
+ output?: CheckPackageDependenciesActionOutput;
36
+ }
37
+ export declare function checkPackageDependencies(inputData: CheckPackageDependenciesActionInput): Promise<CheckPackageDependenciesActionOutput>;
37
38
  export {};
@@ -12,32 +12,27 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.checkPackageDependencies = void 0;
15
+ exports.checkPackageDependencies = checkPackageDependencies;
16
16
  const sammarksworkflow_1 = __importDefault(require("@simonegaffurini/sammarksworkflow"));
17
+ const util_1 = require("util");
17
18
  const logger_1 = require("../../logger");
19
+ const commons_1 = require("../commons");
18
20
  const init_1 = require("./init");
19
- const setSystemPackages_1 = require("./setSystemPackages");
20
- const analizeDependencies_1 = require("./analizeDependencies");
21
- const buildOutput_1 = require("./buildOutput");
22
- const WORKFLOW_NAME = 'check-package-dependencies';
21
+ const analyze_1 = require("./analyze");
22
+ ;
23
+ const WORKFLOW_NAME = 'check-dependencies';
23
24
  function checkPackageDependencies(inputData) {
24
25
  return __awaiter(this, void 0, void 0, function* () {
25
26
  const workflow = [
26
27
  init_1.init,
27
- setSystemPackages_1.setSystemPackages,
28
- analizeDependencies_1.analizeDependencies,
29
- buildOutput_1.buildOutput
28
+ commons_1.setSystemPackages,
29
+ analyze_1.analyze
30
30
  ];
31
- logger_1.Logger.log(`Ready to execute workflow ${WORKFLOW_NAME}, input data: ${(0, logger_1.inspect)(inputData, { breakLength: Infinity, compact: true })}`, true);
31
+ logger_1.Logger.log(`Ready to execute workflow ${WORKFLOW_NAME}, input data: ${(0, util_1.inspect)(inputData, { breakLength: Infinity, compact: true })}`, true);
32
32
  const result = yield (0, sammarksworkflow_1.default)(WORKFLOW_NAME, workflow, {
33
- rawInput: inputData,
34
- parsedInput: {},
35
- runtime: {},
36
- output: {}
33
+ rawInput: inputData
37
34
  });
38
- logger_1.Logger.log(`Workflow ${WORKFLOW_NAME} result: ${(0, logger_1.inspect)(result, { breakLength: Infinity, compact: true })}`, true);
39
- const output = result.output;
40
- return output;
35
+ logger_1.Logger.log(`Workflow ${WORKFLOW_NAME} result: ${(0, util_1.inspect)(result, { breakLength: Infinity, compact: true })}`, true);
36
+ return result.output;
41
37
  });
42
38
  }
43
- exports.checkPackageDependencies = checkPackageDependencies;
@@ -1,3 +1,3 @@
1
1
  import { Step } from "@simonegaffurini/sammarksworkflow";
2
- import { CheckPackageDependencyWorkflowContext } from ".";
3
- export declare const init: Step<CheckPackageDependencyWorkflowContext>;
2
+ import { CheckPackageDependenciesWorkflowContext } from ".";
3
+ export declare const init: Step<CheckPackageDependenciesWorkflowContext>;
@@ -10,21 +10,29 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.init = void 0;
13
+ const logger_1 = require("../../logger");
13
14
  exports.init = {
14
15
  name: 'init',
15
16
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
16
- context.parsedInput.packageName = context.rawInput.trmPackage.packageName;
17
- context.parsedInput.print = !(context.rawInput.print ? true : false);
18
- context.parsedInput.systemPackages = context.rawInput.systemPackages || [];
19
- if (context.rawInput.trmPackage.manifest) {
20
- const manifest = context.rawInput.trmPackage.manifest.get();
21
- context.parsedInput.dependencies = manifest.dependencies || [];
22
- }
23
- else {
24
- context.parsedInput.dependencies = [];
25
- }
17
+ logger_1.Logger.log('Init step', true);
26
18
  context.output = {
27
- dependencies: context.parsedInput.dependencies
19
+ dependencies: [],
20
+ dependencyStatus: []
21
+ };
22
+ context.runtime = {
23
+ dependenciesStatus: {
24
+ goodVersion: [],
25
+ badVersion: [],
26
+ goodIntegrity: [],
27
+ badIntegrity: []
28
+ }
28
29
  };
30
+ if (context.rawInput.packageData.package.manifest) {
31
+ const manifest = context.rawInput.packageData.package.manifest.get();
32
+ context.output.dependencies = manifest.dependencies || [];
33
+ }
34
+ if (!context.rawInput.printOptions) {
35
+ context.rawInput.printOptions = {};
36
+ }
29
37
  })
30
38
  };
@@ -1,3 +1,3 @@
1
1
  import { Step } from "@simonegaffurini/sammarksworkflow";
2
2
  import { CheckSapEntriesWorkflowContext } from ".";
3
- export declare const buildOutput: Step<CheckSapEntriesWorkflowContext>;
3
+ export declare const analyze: Step<CheckSapEntriesWorkflowContext>;
@@ -9,30 +9,28 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.analizeSapEntries = void 0;
12
+ exports.analyze = void 0;
13
13
  const logger_1 = require("../../logger");
14
14
  const systemConnector_1 = require("../../systemConnector");
15
- exports.analizeSapEntries = {
16
- name: 'analize-sap-entries',
15
+ exports.analyze = {
16
+ name: 'analyze',
17
17
  filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
18
- if (context.parsedInput.sapEntries && Object.keys(context.parsedInput.sapEntries).length > 0) {
18
+ if (Object.keys(context.output.sapEntries).length > 0) {
19
19
  return true;
20
20
  }
21
21
  else {
22
- logger_1.Logger.info(`Package ${context.parsedInput.packageName} has no SAP entries`, context.parsedInput.print);
22
+ logger_1.Logger.info(`Package ${context.rawInput.packageData.package.packageName} has no SAP entries`, !context.rawInput.printOptions.information);
23
23
  return false;
24
24
  }
25
25
  }),
26
26
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
27
- const sapEntries = context.parsedInput.sapEntries;
28
- context.runtime.okEntries = [];
29
- context.runtime.koEntries = [];
30
- context.runtime.tables = [];
27
+ logger_1.Logger.log('Analyze step', true);
28
+ var logTable = [];
31
29
  var entriesCount = 0;
32
30
  var tableFields = [];
33
- Object.keys(sapEntries).forEach(tableName => {
31
+ Object.keys(context.output.sapEntries).forEach(tableName => {
34
32
  var aFields = [];
35
- sapEntries[tableName].forEach(o => {
33
+ context.output.sapEntries[tableName].forEach(o => {
36
34
  entriesCount++;
37
35
  Object.keys(o).forEach(field => {
38
36
  if (!aFields.includes(field)) {
@@ -45,11 +43,11 @@ exports.analizeSapEntries = {
45
43
  fields: aFields
46
44
  });
47
45
  });
46
+ logger_1.Logger.info(`Package ${context.rawInput.packageData.package.packageName} has ${entriesCount} SAP entries`, !context.rawInput.printOptions.information);
48
47
  if (entriesCount === 0) {
49
48
  return;
50
49
  }
51
- logger_1.Logger.info(`Package ${context.parsedInput.packageName} has ${entriesCount} SAP entries`, context.parsedInput.print);
52
- for (const table of Object.keys(sapEntries)) {
50
+ for (const table of Object.keys(context.output.sapEntries)) {
53
51
  var tableExists;
54
52
  try {
55
53
  tableExists = yield systemConnector_1.SystemConnector.checkSapEntryExists('TADIR', {
@@ -62,8 +60,8 @@ exports.analizeSapEntries = {
62
60
  tableExists = false;
63
61
  }
64
62
  if (!tableExists) {
65
- context.output.unknownTables.push(table);
66
- logger_1.Logger.error(`Required ${sapEntries[table].length} entries in ${table}, but table was not found`, context.parsedInput.print);
63
+ context.runtime.missingTables.push(table);
64
+ logger_1.Logger.error(`Required ${context.output.sapEntries[table].length} entries in ${table}, but table was not found`, !context.rawInput.printOptions.information);
67
65
  }
68
66
  else {
69
67
  var printTableHead = ['Table name'];
@@ -71,21 +69,21 @@ exports.analizeSapEntries = {
71
69
  var tableData;
72
70
  printTableHead = printTableHead.concat(tableFields.find(o => o.tableName === table).fields);
73
71
  printTableHead.push('Status');
74
- for (const tableEntry of sapEntries[table]) {
72
+ for (const tableEntry of context.output.sapEntries[table]) {
75
73
  tableData = [table];
76
74
  var entryStatus;
77
75
  try {
78
76
  const exists = yield systemConnector_1.SystemConnector.checkSapEntryExists(table, tableEntry);
79
77
  if (exists) {
80
78
  entryStatus = `OK`;
81
- context.runtime.okEntries.push({
79
+ context.runtime.entriesStatus.good.push({
82
80
  table,
83
81
  tableEntry
84
82
  });
85
83
  }
86
84
  else {
87
85
  entryStatus = `NOT FOUND`;
88
- context.runtime.koEntries.push({
86
+ context.runtime.entriesStatus.bad.push({
89
87
  table,
90
88
  tableEntry
91
89
  });
@@ -95,7 +93,7 @@ exports.analizeSapEntries = {
95
93
  logger_1.Logger.error(e.toString(), true);
96
94
  logger_1.Logger.error(`Error during check of SAP entry ${JSON.stringify(tableEntry)}`, true);
97
95
  entryStatus = `Unknown`;
98
- context.runtime.koEntries.push({
96
+ context.runtime.entriesStatus.bad.push({
99
97
  table,
100
98
  tableEntry
101
99
  });
@@ -107,14 +105,33 @@ exports.analizeSapEntries = {
107
105
  tableData.push(entryStatus);
108
106
  printTableData.push(tableData);
109
107
  }
110
- context.runtime.tables.push({
111
- head: printTableHead,
108
+ logTable.push({
109
+ header: printTableHead,
112
110
  data: printTableData
113
111
  });
114
112
  }
115
113
  }
116
- context.runtime.tables.forEach(t => {
117
- logger_1.Logger.table(t.head, t.data, context.parsedInput.print);
114
+ logTable.forEach(t => {
115
+ logger_1.Logger.table(t.header, t.data, !context.rawInput.printOptions.entriesStatus);
116
+ });
117
+ context.output.sapEntriesStatus = {};
118
+ context.runtime.entriesStatus.good.forEach(o => {
119
+ if (!context.output.sapEntriesStatus[o.table]) {
120
+ context.output.sapEntriesStatus[o.table] = [];
121
+ }
122
+ context.output.sapEntriesStatus[o.table].push({
123
+ status: true,
124
+ entry: o.tableEntry
125
+ });
126
+ });
127
+ context.runtime.entriesStatus.bad.forEach(o => {
128
+ if (!context.output.sapEntriesStatus[o.table]) {
129
+ context.output.sapEntriesStatus[o.table] = [];
130
+ }
131
+ context.output.sapEntriesStatus[o.table].push({
132
+ status: false,
133
+ entry: o.tableEntry
134
+ });
118
135
  });
119
136
  })
120
137
  };
@@ -1,29 +1,40 @@
1
1
  import { TrmPackage } from "../../trmPackage";
2
- import { LogTableStruct } from "../../commons";
3
- export type CheckSapEntriesActionInput = {
4
- trmPackage: TrmPackage;
5
- print: boolean;
6
- };
7
- type WorkflowParsedInput = {
8
- packageName?: string;
9
- sapEntries?: any;
10
- print?: boolean;
11
- };
2
+ export interface CheckSapEntriesActionInput {
3
+ packageData: {
4
+ package: TrmPackage;
5
+ };
6
+ printOptions?: {
7
+ entriesStatus?: boolean;
8
+ information?: boolean;
9
+ };
10
+ }
12
11
  type WorkflowRuntime = {
13
- tables?: LogTableStruct[];
14
- okEntries?: any;
15
- koEntries?: any;
12
+ entriesStatus: {
13
+ good: {
14
+ table: string;
15
+ tableEntry: any;
16
+ }[];
17
+ bad: {
18
+ table: string;
19
+ tableEntry: any;
20
+ }[];
21
+ };
22
+ missingTables: string[];
23
+ };
24
+ export type SapEntriesStatus = {
25
+ [key: string]: {
26
+ status: boolean;
27
+ entry: any;
28
+ }[];
16
29
  };
17
30
  export type CheckSapEntriesActionOutput = {
18
- sapEntries?: any;
19
- sapEntriesStatus?: any;
20
- unknownTables?: string[];
31
+ sapEntries: any;
32
+ sapEntriesStatus: SapEntriesStatus;
21
33
  };
22
- export type CheckSapEntriesWorkflowContext = {
34
+ export interface CheckSapEntriesWorkflowContext {
23
35
  rawInput: CheckSapEntriesActionInput;
24
- parsedInput: WorkflowParsedInput;
25
- runtime: WorkflowRuntime;
26
- output: CheckSapEntriesActionOutput;
27
- };
36
+ runtime?: WorkflowRuntime;
37
+ output?: CheckSapEntriesActionOutput;
38
+ }
28
39
  export declare function checkSapEntries(inputData: CheckSapEntriesActionInput): Promise<CheckSapEntriesActionOutput>;
29
40
  export {};
@@ -12,30 +12,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.checkSapEntries = void 0;
15
+ exports.checkSapEntries = checkSapEntries;
16
16
  const sammarksworkflow_1 = __importDefault(require("@simonegaffurini/sammarksworkflow"));
17
+ const util_1 = require("util");
17
18
  const logger_1 = require("../../logger");
18
19
  const init_1 = require("./init");
19
- const analizeSapEntries_1 = require("./analizeSapEntries");
20
- const buildOutput_1 = require("./buildOutput");
20
+ const analyze_1 = require("./analyze");
21
+ ;
21
22
  const WORKFLOW_NAME = 'check-sap-entries';
22
23
  function checkSapEntries(inputData) {
23
24
  return __awaiter(this, void 0, void 0, function* () {
24
25
  const workflow = [
25
26
  init_1.init,
26
- analizeSapEntries_1.analizeSapEntries,
27
- buildOutput_1.buildOutput
27
+ analyze_1.analyze
28
28
  ];
29
- logger_1.Logger.log(`Ready to execute workflow ${WORKFLOW_NAME}, input data: ${(0, logger_1.inspect)(inputData, { breakLength: Infinity, compact: true })}`, true);
29
+ logger_1.Logger.log(`Ready to execute workflow ${WORKFLOW_NAME}, input data: ${(0, util_1.inspect)(inputData, { breakLength: Infinity, compact: true })}`, true);
30
30
  const result = yield (0, sammarksworkflow_1.default)(WORKFLOW_NAME, workflow, {
31
- rawInput: inputData,
32
- parsedInput: {},
33
- runtime: {},
34
- output: {}
31
+ rawInput: inputData
35
32
  });
36
- logger_1.Logger.log(`Workflow ${WORKFLOW_NAME} result: ${(0, logger_1.inspect)(result, { breakLength: Infinity, compact: true })}`, true);
37
- const output = result.output;
38
- return output;
33
+ logger_1.Logger.log(`Workflow ${WORKFLOW_NAME} result: ${(0, util_1.inspect)(result, { breakLength: Infinity, compact: true })}`, true);
34
+ return result.output;
39
35
  });
40
36
  }
41
- exports.checkSapEntries = checkSapEntries;
@@ -10,20 +10,28 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.init = void 0;
13
+ const logger_1 = require("../../logger");
13
14
  exports.init = {
14
15
  name: 'init',
15
16
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
16
- context.parsedInput.packageName = context.rawInput.trmPackage.packageName;
17
- context.parsedInput.print = !(context.rawInput.print ? true : false);
18
- if (context.rawInput.trmPackage.manifest) {
19
- const manifest = context.rawInput.trmPackage.manifest.get();
20
- context.parsedInput.sapEntries = manifest.sapEntries || {};
21
- }
22
- else {
23
- context.parsedInput.sapEntries = {};
24
- }
17
+ logger_1.Logger.log('Init step', true);
25
18
  context.output = {
26
- sapEntries: context.parsedInput.sapEntries
19
+ sapEntries: {},
20
+ sapEntriesStatus: {}
21
+ };
22
+ context.runtime = {
23
+ entriesStatus: {
24
+ bad: [],
25
+ good: []
26
+ },
27
+ missingTables: []
27
28
  };
29
+ if (context.rawInput.packageData.package.manifest) {
30
+ const manifest = context.rawInput.packageData.package.manifest.get();
31
+ context.output.sapEntries = manifest.sapEntries || {};
32
+ }
33
+ if (!context.rawInput.printOptions) {
34
+ context.rawInput.printOptions = {};
35
+ }
28
36
  })
29
37
  };
@@ -0,0 +1,9 @@
1
+ import { TrmPackage } from "../../trmPackage";
2
+ export interface IActionContext {
3
+ rawInput: {
4
+ contextData?: {
5
+ systemPackages?: TrmPackage[];
6
+ noInquirer?: boolean;
7
+ };
8
+ };
9
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./IActionContext";
2
+ export * from "./setSystemPackages";
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./IActionContext"), exports);
18
+ __exportStar(require("./setSystemPackages"), exports);
@@ -0,0 +1,3 @@
1
+ import { Step } from "@simonegaffurini/sammarksworkflow";
2
+ import { IActionContext } from "..";
3
+ export declare const setSystemPackages: Step<IActionContext>;
@@ -10,16 +10,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.setSystemPackages = void 0;
13
- const systemConnector_1 = require("../../systemConnector");
14
13
  const logger_1 = require("../../logger");
14
+ const systemConnector_1 = require("../../systemConnector");
15
15
  exports.setSystemPackages = {
16
- name: 'set-system-packages',
16
+ name: 'setSystemPackages',
17
17
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
18
- var systemPackages = context.parsedInput.systemPackages;
19
- if (systemPackages.length === 0) {
18
+ logger_1.Logger.log('Set system packages step', true);
19
+ if (context.rawInput.contextData.systemPackages === undefined) {
20
20
  logger_1.Logger.loading(`Reading system data...`);
21
- systemPackages = yield systemConnector_1.SystemConnector.getInstalledPackages(true);
21
+ context.rawInput.contextData.systemPackages = yield systemConnector_1.SystemConnector.getInstalledPackages(true);
22
22
  }
23
- context.parsedInput.systemPackages = systemPackages;
24
23
  })
25
24
  };