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
@@ -1,12 +1,26 @@
1
- import { DEVCLASS, SENVI, TADIR } from "../../client";
2
1
  import { TrmPackage } from "../../trmPackage";
3
- export type TadirObjectSenvi = {
2
+ import { IActionContext } from "..";
3
+ import { DEVCLASS, SENVI, TADIR } from "../../client";
4
+ export interface FindDependenciesActionInput {
5
+ contextData?: {
6
+ noInquirer?: boolean;
7
+ };
8
+ packageData: {
9
+ package: DEVCLASS;
10
+ objects?: TADIR[];
11
+ };
12
+ printOptions?: {
13
+ trmDependencies?: boolean;
14
+ sapObjectDependencies?: boolean;
15
+ };
16
+ }
17
+ type ObjectSenvi = {
4
18
  tadir: TADIR;
5
19
  senvi: SENVI[];
6
20
  };
7
21
  export type TableDependency = {
8
- dependencyIn: TADIR;
9
- tableDependency: any;
22
+ foundIn: TADIR;
23
+ object: any;
10
24
  };
11
25
  export type SapEntriesDependency = {
12
26
  table: string;
@@ -14,41 +28,39 @@ export type SapEntriesDependency = {
14
28
  };
15
29
  export type TrmDependency = {
16
30
  devclass: DEVCLASS;
17
- trmPackage?: TrmPackage;
31
+ package: TrmPackage;
18
32
  integrity?: string;
19
33
  sapEntries: SapEntriesDependency[];
20
34
  };
21
- export type FindDependencyActionInput = {
22
- devclass: DEVCLASS;
23
- tadir?: TADIR[];
24
- systemPackages?: TrmPackage[];
25
- print?: boolean;
26
- printSapEntries?: boolean;
27
- silent?: boolean;
28
- };
29
- type WorkflowParsedInput = {
30
- devclass?: DEVCLASS;
31
- tadir?: TADIR[];
32
- systemPackages?: TrmPackage[];
33
- print?: boolean;
34
- printSapEntries?: boolean;
35
- silent?: boolean;
36
- };
37
35
  type WorkflowRuntime = {
38
- devclassIgnore?: DEVCLASS[];
39
- objectsSenvi?: TadirObjectSenvi[];
40
- parsedSenvi?: SapEntriesDependency[];
41
- };
42
- export type FindDependencyActionOutput = {
43
- sapEntries?: SapEntriesDependency[];
44
- trmDependencies?: TrmDependency[];
45
- unknownDependencies?: TrmDependency[];
36
+ abort: boolean;
37
+ packageData: {
38
+ ignoredTadir: TADIR[];
39
+ };
40
+ repositoryEnvironment: {
41
+ senvi: ObjectSenvi[];
42
+ };
43
+ dependencies: {
44
+ customObjects: SapEntriesDependency[];
45
+ sapObjects: SapEntriesDependency[];
46
+ withTrmPackage: TrmDependency[];
47
+ withoutTrmPackage: TrmDependency[];
48
+ };
46
49
  };
47
- export type FindDependenciesWorkflowContext = {
48
- rawInput: FindDependencyActionInput;
49
- parsedInput: WorkflowParsedInput;
50
- runtime: WorkflowRuntime;
51
- output: FindDependencyActionOutput;
50
+ export type FindDependenciesActionOutput = {
51
+ trmPackageDependencies: {
52
+ withTrmPackage: TrmDependency[];
53
+ withoutTrmPackage: TrmDependency[];
54
+ };
55
+ objectDependencies: {
56
+ customObjects: SapEntriesDependency[];
57
+ sapObjects: SapEntriesDependency[];
58
+ };
52
59
  };
53
- export declare function findDependencies(inputData: FindDependencyActionInput): Promise<FindDependencyActionOutput>;
60
+ export interface FindDependenciesWorkflowContext extends IActionContext {
61
+ rawInput: FindDependenciesActionInput;
62
+ runtime?: WorkflowRuntime;
63
+ output?: FindDependenciesActionOutput;
64
+ }
65
+ export declare function findDependencies(inputData: FindDependenciesActionInput): Promise<FindDependenciesActionOutput>;
54
66
  export {};
@@ -12,41 +12,42 @@ 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.findDependencies = void 0;
15
+ exports.findDependencies = findDependencies;
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 setSystemPackages_1 = require("./setSystemPackages");
20
- const readPackageData_1 = require("./readPackageData");
21
- const readPackageObjects_1 = require("./readPackageObjects");
20
+ const setObjects_1 = require("./setObjects");
22
21
  const readRepositoryEnvironment_1 = require("./readRepositoryEnvironment");
23
22
  const parseSenvi_1 = require("./parseSenvi");
24
23
  const setTrmDependencies_1 = require("./setTrmDependencies");
25
24
  const print_1 = require("./print");
26
- const acknowledgementSize_1 = require("./acknowledgementSize");
25
+ ;
27
26
  const WORKFLOW_NAME = 'find-dependencies';
28
27
  function findDependencies(inputData) {
29
28
  return __awaiter(this, void 0, void 0, function* () {
30
29
  const workflow = [
31
30
  init_1.init,
32
- setSystemPackages_1.setSystemPackages,
33
- readPackageData_1.readPackageData,
34
- readPackageObjects_1.readPackageObjects,
35
- acknowledgementSize_1.acknowledgementSize,
31
+ setObjects_1.setObjects,
36
32
  readRepositoryEnvironment_1.readRepositoryEnvironment,
37
33
  parseSenvi_1.parseSenvi,
38
34
  setTrmDependencies_1.setTrmDependencies,
39
35
  print_1.print
40
36
  ];
41
- logger_1.Logger.log(`Ready to execute workflow ${WORKFLOW_NAME}, input data: ${(0, logger_1.inspect)(inputData, { breakLength: Infinity, compact: true })}`, true);
37
+ logger_1.Logger.log(`Ready to execute workflow ${WORKFLOW_NAME}, input data: ${(0, util_1.inspect)(inputData, { breakLength: Infinity, compact: true })}`, true);
42
38
  const result = yield (0, sammarksworkflow_1.default)(WORKFLOW_NAME, workflow, {
43
- rawInput: inputData,
44
- parsedInput: {},
45
- runtime: {},
46
- output: {}
39
+ rawInput: inputData
47
40
  });
48
- logger_1.Logger.log(`Workflow ${WORKFLOW_NAME} result: ${(0, logger_1.inspect)(result, { breakLength: Infinity, compact: true })}`, true);
49
- return result.output;
41
+ logger_1.Logger.log(`Workflow ${WORKFLOW_NAME} result: ${(0, util_1.inspect)(result, { breakLength: Infinity, compact: true })}`, true);
42
+ return {
43
+ trmPackageDependencies: {
44
+ withTrmPackage: result.runtime.dependencies.withTrmPackage,
45
+ withoutTrmPackage: result.runtime.dependencies.withoutTrmPackage,
46
+ },
47
+ objectDependencies: {
48
+ customObjects: result.runtime.dependencies.customObjects,
49
+ sapObjects: result.runtime.dependencies.sapObjects
50
+ }
51
+ };
50
52
  });
51
53
  }
52
- exports.findDependencies = findDependencies;
@@ -10,28 +10,36 @@ 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
  const inquirer_1 = require("../../inquirer");
14
15
  exports.init = {
15
16
  name: 'init',
16
17
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
17
- var devclass = context.rawInput.devclass;
18
- const devclassValid = yield (0, inquirer_1.validateDevclass)(devclass, true);
18
+ logger_1.Logger.log('Init step', true);
19
+ const devclassValid = yield (0, inquirer_1.validateDevclass)(context.rawInput.packageData.package, true);
19
20
  if (devclassValid && devclassValid !== true) {
20
21
  throw new Error(devclassValid);
21
22
  }
22
- context.parsedInput.devclass = devclass;
23
- context.parsedInput.print = context.rawInput.print ? true : false;
24
- if (context.parsedInput.print) {
25
- context.parsedInput.printSapEntries = context.rawInput.printSapEntries ? true : false;
23
+ context.runtime = {
24
+ abort: false,
25
+ packageData: {
26
+ ignoredTadir: []
27
+ },
28
+ repositoryEnvironment: {
29
+ senvi: []
30
+ },
31
+ dependencies: {
32
+ customObjects: [],
33
+ sapObjects: [],
34
+ withTrmPackage: [],
35
+ withoutTrmPackage: []
36
+ }
37
+ };
38
+ if (!context.rawInput.contextData) {
39
+ context.rawInput.contextData = {};
26
40
  }
27
- else {
28
- context.parsedInput.printSapEntries = false;
41
+ if (!context.rawInput.printOptions) {
42
+ context.rawInput.printOptions = {};
29
43
  }
30
- context.parsedInput.tadir = context.rawInput.tadir || [];
31
- context.parsedInput.systemPackages = context.rawInput.systemPackages || [];
32
- context.parsedInput.silent = context.rawInput.silent;
33
- context.output.trmDependencies = [];
34
- context.output.unknownDependencies = [];
35
- context.output.sapEntries = [];
36
44
  })
37
45
  };
@@ -1,4 +1,27 @@
1
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
26
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
27
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -10,8 +33,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
33
  };
11
34
  Object.defineProperty(exports, "__esModule", { value: true });
12
35
  exports.parseSenvi = void 0;
13
- const dependency_1 = require("../../dependency");
14
36
  const logger_1 = require("../../logger");
37
+ const dependency_1 = require("../../dependency");
38
+ const _ = __importStar(require("lodash"));
15
39
  const SAP_SOURCE_SYSTEMS = ['SAP'];
16
40
  const SAP_AUTHORS = ['SAP'];
17
41
  const _addEntry = (tableName, sapEntries, dependencyIn, dependency) => {
@@ -25,51 +49,61 @@ const _addEntry = (tableName, sapEntries, dependencyIn, dependency) => {
25
49
  index--;
26
50
  }
27
51
  sapEntries[index].dependencies.push({
28
- dependencyIn,
29
- tableDependency: dependency
52
+ foundIn: dependencyIn,
53
+ object: dependency
30
54
  });
31
55
  return sapEntries;
32
56
  };
33
57
  exports.parseSenvi = {
34
58
  name: 'parse-senvi',
35
59
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
36
- const objectsSenvi = context.runtime.objectsSenvi;
37
- const aIgnoredDevclass = context.runtime.devclassIgnore;
60
+ logger_1.Logger.log('Parse SENVI step', true);
61
+ const senviObjects = context.runtime.repositoryEnvironment.senvi;
62
+ const aIgnoredDevclass = context.runtime.packageData.ignoredTadir.filter(o => o.pgmid === 'R3TR' && o.object === 'DEVC').map(o => o.devclass);
38
63
  const senviParser = new dependency_1.SenviParser();
39
- context.runtime.parsedSenvi = [];
40
- context.output.sapEntries = [];
41
64
  logger_1.Logger.loading(`Reading object dependencies...`);
42
- for (const objectSenvi of objectsSenvi) {
43
- logger_1.Logger.log(`Parsing SENVI of TADIR object ${objectSenvi.tadir.pgmid} ${objectSenvi.tadir.object} ${objectSenvi.tadir.objName}, ${objectSenvi.senvi} entries`, true);
44
- for (const senvi of objectSenvi.senvi) {
65
+ for (const senviObject of senviObjects) {
66
+ logger_1.Logger.log(`Parsing SENVI of TADIR object ${senviObject.tadir.pgmid} ${senviObject.tadir.object} ${senviObject.tadir.objName}, ${senviObject.senvi} entries`, true);
67
+ for (const senvi of senviObject.senvi) {
45
68
  logger_1.Logger.loading(`Parsing SENVI object ${senvi.type} ${senvi.object} ${senvi.enclObj}...`, true);
46
69
  const parsedSenvi = yield senviParser.parse(senvi);
47
- logger_1.Logger.log(`Result: ${JSON.stringify(parsedSenvi)}`, true);
48
70
  if (parsedSenvi && !aIgnoredDevclass.includes(parsedSenvi.devclass)) {
49
- var aParsedSenvi;
71
+ const dependency = {
72
+ pgmid: parsedSenvi.pgmid,
73
+ object: parsedSenvi.object,
74
+ objName: parsedSenvi.objName,
75
+ devclass: parsedSenvi.devclass
76
+ };
77
+ var subObject;
78
+ if (parsedSenvi.subObject) {
79
+ if (parsedSenvi.subObject.func) {
80
+ subObject = {
81
+ table: 'TFDIR',
82
+ dependency: {
83
+ 'FUNCNAME': parsedSenvi.subObject.func,
84
+ 'PNAME': `SAPL${parsedSenvi.objName}`
85
+ }
86
+ };
87
+ }
88
+ }
50
89
  if (SAP_SOURCE_SYSTEMS.includes(parsedSenvi.srcsystem) || SAP_AUTHORS.includes(parsedSenvi.author)) {
51
- aParsedSenvi = context.output.sapEntries;
52
- logger_1.Logger.log(`Dependency with SAP object`, true);
90
+ logger_1.Logger.log(`Dependency with SAP object ${parsedSenvi.pgmid} ${parsedSenvi.object} ${parsedSenvi.objName}, package ${parsedSenvi.devclass}`, true);
91
+ context.runtime.dependencies.sapObjects = _addEntry('TADIR', _.cloneDeep(context.runtime.dependencies.sapObjects), senviObject.tadir, dependency);
92
+ if (subObject) {
93
+ context.runtime.dependencies.sapObjects = _addEntry(subObject.table, _.cloneDeep(context.runtime.dependencies.sapObjects), senviObject.tadir, subObject.dependency);
94
+ }
53
95
  }
54
96
  else {
55
- aParsedSenvi = context.runtime.parsedSenvi;
56
- logger_1.Logger.log(`Dependency with custom object`, true);
57
- }
58
- aParsedSenvi = _addEntry('TADIR', aParsedSenvi, objectSenvi.tadir, {
59
- 'PGMID': parsedSenvi.pgmid,
60
- 'OBJECT': parsedSenvi.object,
61
- 'OBJ_NAME': parsedSenvi.objName,
62
- 'DEVCLASS': parsedSenvi.devclass
63
- });
64
- if (parsedSenvi.subObject) {
65
- if (parsedSenvi.subObject.func) {
66
- aParsedSenvi = _addEntry('TFDIR', aParsedSenvi, objectSenvi.tadir, {
67
- 'FUNCNAME': parsedSenvi.subObject.func,
68
- 'PNAME': `SAPL${parsedSenvi.objName}`
69
- });
97
+ logger_1.Logger.log(`Dependency with custom object ${parsedSenvi.pgmid} ${parsedSenvi.object} ${parsedSenvi.objName}, package ${parsedSenvi.devclass}`, true);
98
+ context.runtime.dependencies.customObjects = _addEntry('TADIR', _.cloneDeep(context.runtime.dependencies.customObjects), senviObject.tadir, dependency);
99
+ if (subObject) {
100
+ context.runtime.dependencies.customObjects = _addEntry(subObject.table, _.cloneDeep(context.runtime.dependencies.customObjects), senviObject.tadir, subObject.dependency);
70
101
  }
71
102
  }
72
103
  }
104
+ else {
105
+ logger_1.Logger.log(`Skipping!`, true);
106
+ }
73
107
  }
74
108
  }
75
109
  })
@@ -8,10 +8,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.print = void 0;
13
16
  const logger_1 = require("../../logger");
14
17
  const registry_1 = require("../../registry");
18
+ const chalk_1 = __importDefault(require("chalk"));
15
19
  const _getTableTreeText = (tableData) => {
16
20
  var aValues = [];
17
21
  Object.keys(tableData).forEach(k => {
@@ -19,16 +23,16 @@ const _getTableTreeText = (tableData) => {
19
23
  });
20
24
  return aValues.join(', ');
21
25
  };
22
- const _getSapEntriesTreeChildren = (sapEntries) => {
26
+ const _getSapEntriesTreeChildren = (sapEntries, highlightTable) => {
23
27
  var treeChildren = [];
24
28
  sapEntries.forEach(k => {
25
29
  var referenceTableTree = {
26
- text: k.table,
30
+ text: highlightTable ? chalk_1.default.bold(k.table) : k.table,
27
31
  children: []
28
32
  };
29
33
  k.dependencies.forEach(y => {
30
- const tableKey = _getTableTreeText(y.tableDependency);
31
- const tadirKey = `${y.dependencyIn.pgmid} ${y.dependencyIn.object} ${y.dependencyIn.objName}`;
34
+ const tableKey = _getTableTreeText(y.object);
35
+ const tadirKey = `${y.foundIn.pgmid} ${y.foundIn.object} ${y.foundIn.objName}`;
32
36
  const arrayIndex = referenceTableTree.children.findIndex(o => o.text === tableKey);
33
37
  const usedByTree = {
34
38
  text: `Used by`,
@@ -58,63 +62,66 @@ const _getSapEntriesTreeChildren = (sapEntries) => {
58
62
  exports.print = {
59
63
  name: 'print',
60
64
  filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
61
- if (context.parsedInput.print) {
65
+ if (context.rawInput.printOptions.trmDependencies || context.rawInput.printOptions.sapObjectDependencies) {
62
66
  return true;
63
67
  }
64
68
  else {
65
- logger_1.Logger.log(`Skipping print (input)`, true);
69
+ logger_1.Logger.log(`Skipping dependency print status (user input)`, true);
66
70
  return false;
67
71
  }
68
72
  }),
69
73
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
70
- const sapEntries = context.output.sapEntries;
71
- const unknownDependencies = context.output.unknownDependencies;
72
- const trmDependencies = context.output.trmDependencies;
74
+ logger_1.Logger.log('Print step', true);
75
+ const sapEntries = context.runtime.dependencies.sapObjects;
76
+ const unknownDependencies = context.runtime.dependencies.withoutTrmPackage;
77
+ const trmDependencies = context.runtime.dependencies.withTrmPackage;
73
78
  var baseTree = {
74
- text: context.parsedInput.devclass,
79
+ text: chalk_1.default.bold(context.rawInput.packageData.package),
75
80
  children: []
76
81
  };
77
82
  var sapEntriesTree = {
78
- text: `Required SAP Entries`,
79
- children: _getSapEntriesTreeChildren(sapEntries)
83
+ text: chalk_1.default.underline(`Required SAP Entries (${sapEntries.reduce((sum, o) => sum + o.dependencies.length, 0)})`),
84
+ children: _getSapEntriesTreeChildren(sapEntries, true)
80
85
  };
81
86
  var unknownDependenciesTree = {
82
- text: `Without TRM Package`,
87
+ text: chalk_1.default.underline(`Without TRM Package (${unknownDependencies.length})`),
83
88
  children: []
84
89
  };
85
90
  var trmDependenciesTree = {
86
- text: `TRM Packages`,
91
+ text: chalk_1.default.underline(`TRM Packages (${trmDependencies.length})`),
87
92
  children: []
88
93
  };
89
94
  unknownDependencies.forEach(o => {
90
95
  unknownDependenciesTree.children.push({
91
- text: o.devclass,
96
+ text: chalk_1.default.bold(o.devclass),
92
97
  children: [{
93
98
  text: `References`,
94
- children: _getSapEntriesTreeChildren(o.sapEntries)
99
+ children: _getSapEntriesTreeChildren(o.sapEntries, false)
95
100
  }]
96
101
  });
97
102
  });
98
103
  trmDependencies.forEach(o => {
99
104
  trmDependenciesTree.children.push({
100
- text: o.trmPackage.packageName,
105
+ text: chalk_1.default.bold(o.package.packageName),
101
106
  children: [{
102
- text: `Registry: ${o.trmPackage.registry.getRegistryType() === registry_1.RegistryType.PUBLIC ? registry_1.PUBLIC_RESERVED_KEYWORD : o.trmPackage.registry.endpoint}`,
107
+ text: `Registry: ${o.package.registry.getRegistryType() === registry_1.RegistryType.PUBLIC ? registry_1.PUBLIC_RESERVED_KEYWORD : o.package.registry.endpoint}`,
103
108
  children: []
104
109
  }, {
105
- text: `Version: ${o.trmPackage.manifest.get().version}`,
110
+ text: `Version: ${o.package.manifest.get().version}`,
106
111
  children: []
107
112
  }, {
108
113
  text: `References`,
109
- children: _getSapEntriesTreeChildren(o.sapEntries)
114
+ children: _getSapEntriesTreeChildren(o.sapEntries, false)
110
115
  }]
111
116
  });
112
117
  });
113
- if (context.parsedInput.printSapEntries) {
118
+ if (context.rawInput.printOptions.sapObjectDependencies) {
114
119
  baseTree.children.push(sapEntriesTree);
115
120
  }
116
- baseTree.children.push(unknownDependenciesTree);
117
- baseTree.children.push(trmDependenciesTree);
121
+ if (context.rawInput.printOptions.trmDependencies) {
122
+ baseTree.children.push(unknownDependenciesTree);
123
+ baseTree.children.push(trmDependenciesTree);
124
+ }
118
125
  logger_1.Logger.tree(baseTree);
119
126
  })
120
127
  };
@@ -10,22 +10,45 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.readRepositoryEnvironment = void 0;
13
- const systemConnector_1 = require("../../systemConnector");
14
13
  const logger_1 = require("../../logger");
14
+ const systemConnector_1 = require("../../systemConnector");
15
15
  exports.readRepositoryEnvironment = {
16
16
  name: 'read-repository-environment',
17
+ filter: (context) => __awaiter(void 0, void 0, void 0, function* () {
18
+ if (context.runtime.abort) {
19
+ logger_1.Logger.log(`Skipping repository environment read (abort)`, true);
20
+ return false;
21
+ }
22
+ else {
23
+ return true;
24
+ }
25
+ }),
17
26
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
18
- var aSenvi = [];
19
- var tadir = context.parsedInput.tadir;
20
- tadir = tadir.filter(o => !(o.pgmid === 'R3TR' && o.object === 'DEVC'));
27
+ logger_1.Logger.log('Read repository environment step', true);
28
+ const aTadir = context.rawInput.packageData.objects.filter(o => !context.runtime.packageData.ignoredTadir.find(k => k.pgmid === o.pgmid &&
29
+ k.object === o.object &&
30
+ k.objName === o.objName));
21
31
  logger_1.Logger.loading(`Reading objects...`);
22
- for (const tadirObj of tadir) {
23
- const senvi = yield systemConnector_1.SystemConnector.repositoryEnvironment(tadirObj.object, tadirObj.objName);
24
- aSenvi.push({
25
- tadir: tadirObj,
26
- senvi
27
- });
32
+ for (const tadir of aTadir) {
33
+ const senviEntry = context.runtime.repositoryEnvironment.senvi.find(o => o.tadir.object === tadir.object && o.tadir.objName === tadir.objName);
34
+ if (senviEntry) {
35
+ context.runtime.repositoryEnvironment.senvi.push({
36
+ tadir: tadir,
37
+ senvi: senviEntry.senvi
38
+ });
39
+ }
40
+ else {
41
+ logger_1.Logger.log(`Running repository environment on object ${tadir.object} ${tadir.objName}...`, true);
42
+ try {
43
+ context.runtime.repositoryEnvironment.senvi.push({
44
+ tadir: tadir,
45
+ senvi: yield systemConnector_1.SystemConnector.repositoryEnvironment(tadir.object, tadir.objName)
46
+ });
47
+ }
48
+ catch (e) {
49
+ logger_1.Logger.error(e.toString(), true);
50
+ }
51
+ }
28
52
  }
29
- context.runtime.objectsSenvi = aSenvi;
30
53
  })
31
54
  };
@@ -1,3 +1,3 @@
1
1
  import { Step } from "@simonegaffurini/sammarksworkflow";
2
2
  import { FindDependenciesWorkflowContext } from ".";
3
- export declare const readPackageData: Step<FindDependenciesWorkflowContext>;
3
+ export declare const setObjects: Step<FindDependenciesWorkflowContext>;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.setObjects = void 0;
13
+ const logger_1 = require("../../logger");
14
+ const inquirer_1 = require("../../inquirer");
15
+ const systemConnector_1 = require("../../systemConnector");
16
+ exports.setObjects = {
17
+ name: 'set-objects',
18
+ run: (context) => __awaiter(void 0, void 0, void 0, function* () {
19
+ logger_1.Logger.log('Set objects step', true);
20
+ logger_1.Logger.loading(`Reading package data...`);
21
+ const aDevclass = [context.rawInput.packageData.package].concat((yield systemConnector_1.SystemConnector.getSubpackages(context.rawInput.packageData.package)).map(o => o.devclass));
22
+ context.runtime.packageData.ignoredTadir = context.runtime.packageData.ignoredTadir.concat(aDevclass.map(devclass => {
23
+ return {
24
+ pgmid: 'R3TR',
25
+ object: 'DEVC',
26
+ objName: devclass,
27
+ devclass
28
+ };
29
+ }));
30
+ if (context.rawInput.packageData.objects === undefined) {
31
+ context.rawInput.packageData.objects = yield systemConnector_1.SystemConnector.getDevclassObjects(context.rawInput.packageData.package, true);
32
+ }
33
+ const totalSize = context.rawInput.packageData.objects.length - context.runtime.packageData.ignoredTadir.length;
34
+ logger_1.Logger.log(`Objects to analyze: ${totalSize}`, true);
35
+ if (totalSize >= 50) {
36
+ const sMsg = `A total of ${totalSize} objects will be analyzed in order to automatically find dependencies, and it may take a long time.`;
37
+ if (!context.rawInput.contextData.noInquirer) {
38
+ context.runtime.abort = !(yield inquirer_1.Inquirer.prompt({
39
+ type: 'confirm',
40
+ name: 'continue',
41
+ default: true,
42
+ message: `${sMsg} Continue?`
43
+ })).continue;
44
+ }
45
+ else {
46
+ logger_1.Logger.warning(sMsg);
47
+ }
48
+ }
49
+ })
50
+ };