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,76 +1,69 @@
1
- import { DEVCLASS, TADIR, TR_TARGET } from "../../client";
2
- import { TrmManifest } from "../../manifest";
3
- import { Registry } from "../../registry";
4
1
  import { TrmArtifact, TrmPackage } from "../../trmPackage";
2
+ import { IActionContext } from "..";
3
+ import { Registry } from "../../registry";
4
+ import { DEVCLASS, TADIR, TMSCSYS, TR_TARGET, TRNSPACET, TRNSPACETT } from "../../client";
5
+ import { TrmManifest, TrmManifestBase } from "../../manifest";
5
6
  import { Transport } from "../../transport";
6
- import { FindDependencyActionOutput } from "../findDependencies";
7
- export type PublishActionInput = {
8
- package: TrmManifest;
9
- registry: Registry;
10
- devclass?: DEVCLASS;
11
- target?: TR_TARGET;
12
- skipDependencies?: boolean;
13
- forceManifestInput?: boolean;
14
- overwriteManifestValues?: boolean;
15
- skipEditSapEntries?: boolean;
16
- skipEditDependencies?: boolean;
17
- skipReadme?: boolean;
18
- skipLang?: boolean;
19
- skipCust?: boolean;
20
- customizingTransports?: string[];
21
- readme?: string;
22
- releaseTimeout?: number;
23
- tmpFolder?: string;
24
- silent?: boolean;
25
- };
26
- export type WorkflowParsedInput = {
27
- packageName?: string;
28
- version?: string;
29
- devclass?: string;
30
- trTarget?: string;
31
- readme?: string;
32
- releaseFolder?: string;
33
- releaseTimeout?: number;
34
- customizingTransports?: string[];
35
- skipEditSapEntries?: boolean;
36
- skipEditDependencies?: boolean;
37
- skipDependencies?: boolean;
38
- skipLang?: boolean;
39
- overwriteManifestValues?: boolean;
40
- packageBackwardsCompatible?: boolean;
41
- skipCust?: boolean;
42
- forceManifestInput?: boolean;
43
- packagePrivate?: boolean;
44
- skipReadme?: boolean;
45
- target?: string;
46
- silent?: boolean;
47
- };
48
- export type WorkflowRuntime = {
49
- registry?: Registry;
50
- dummyPackage?: TrmPackage;
51
- packageExistsOnRegistry?: boolean;
52
- tadirObjects?: TADIR[];
53
- manifest?: TrmManifest;
54
- trmPackage?: TrmPackage;
55
- devcTransport?: Transport;
56
- tryDevcDeleteRevert?: boolean;
57
- tadirTransport?: Transport;
58
- tryTadirDeleteRevert?: boolean;
59
- langTransport?: Transport;
60
- tryLangDeleteRevert?: boolean;
61
- inputCustTransports?: Transport[];
62
- custTransport?: Transport;
63
- tryCustDeleteRevert?: boolean;
64
- artifact?: TrmArtifact;
65
- dependencies?: FindDependencyActionOutput;
7
+ export interface PublishActionInput {
8
+ contextData?: {
9
+ systemPackages?: TrmPackage[];
10
+ noInquirer?: boolean;
11
+ logTemporaryFolder?: string;
12
+ };
13
+ packageData: {
14
+ name: string;
15
+ version?: string;
16
+ registry: Registry;
17
+ devclass?: DEVCLASS;
18
+ manifest?: TrmManifestBase;
19
+ };
20
+ systemData?: {
21
+ transportTarget?: TR_TARGET;
22
+ releaseTimeout: number;
23
+ };
24
+ publishData?: {
25
+ noDependenciesDetection?: boolean;
26
+ keepLatestReleaseManifestValues?: boolean;
27
+ private?: boolean;
28
+ readme?: string;
29
+ skipCustomizingTransports?: boolean;
30
+ customizingTransports?: string | Transport[];
31
+ noLanguageTransport?: boolean;
32
+ };
33
+ }
34
+ type WorkflowRuntime = {
35
+ rollback: boolean;
36
+ trmPackage: {
37
+ package: TrmPackage;
38
+ registry: Registry;
39
+ latestReleaseManifest?: TrmManifest;
40
+ manifest: TrmManifest;
41
+ artifact?: TrmArtifact;
42
+ };
43
+ systemData: {
44
+ transportTargets: TMSCSYS[];
45
+ devcTransport: Transport;
46
+ tadirTransport: Transport;
47
+ langTransport?: Transport;
48
+ custTransport?: Transport;
49
+ releasedTransports: Transport[];
50
+ };
51
+ packageData: {
52
+ tadir: TADIR[];
53
+ namespace?: {
54
+ trnspacet: TRNSPACET;
55
+ trnspacett: TRNSPACETT[];
56
+ };
57
+ };
66
58
  };
67
59
  export type PublishActionOutput = {
68
60
  trmPackage: TrmPackage;
61
+ trmArtifact: TrmArtifact;
69
62
  };
70
- export type PublishWorkflowContext = {
63
+ export interface PublishWorkflowContext extends IActionContext {
71
64
  rawInput: PublishActionInput;
72
- parsedInput: WorkflowParsedInput;
73
- runtime: WorkflowRuntime;
65
+ runtime?: WorkflowRuntime;
74
66
  output?: PublishActionOutput;
75
- };
76
- export declare function publish(inputData: PublishActionInput): Promise<TrmPackage>;
67
+ }
68
+ export declare function publish(inputData: PublishActionInput): Promise<PublishActionOutput>;
69
+ export {};
@@ -12,87 +12,56 @@ 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.publish = void 0;
15
+ exports.publish = publish;
16
16
  const sammarksworkflow_1 = __importDefault(require("@simonegaffurini/sammarksworkflow"));
17
+ const util_1 = require("util");
18
+ const logger_1 = require("../../logger");
19
+ const __1 = require("..");
17
20
  const init_1 = require("./init");
18
21
  const setDevclass_1 = require("./setDevclass");
19
- const checkPublishAllowed_1 = require("./checkPublishAllowed");
20
22
  const setTransportTarget_1 = require("./setTransportTarget");
21
- const setDevclassObjs_1 = require("./setDevclassObjs");
22
23
  const findDependencies_1 = require("./findDependencies");
23
- const logger_1 = require("../../logger");
24
- const setTrmDependencies_1 = require("./setTrmDependencies");
25
- const setSapEntries_1 = require("./setSapEntries");
26
- const editSapEntries_1 = require("./editSapEntries");
27
- const editTrmDependencies_1 = require("./editTrmDependencies");
28
- const logDependencies_1 = require("./logDependencies");
29
- const checkPackageExistance_1 = require("./checkPackageExistance");
30
- const overwriteManifestValues_1 = require("./overwriteManifestValues");
31
- const setBackwardsCompatible_1 = require("./setBackwardsCompatible");
32
- const setPrivate_1 = require("./setPrivate");
33
24
  const setManifestValues_1 = require("./setManifestValues");
34
- const buildTrmPackageInstance_1 = require("./buildTrmPackageInstance");
35
25
  const setReadme_1 = require("./setReadme");
36
- const generateDevcTr_1 = require("./generateDevcTr");
37
- const generateTadirTr_1 = require("./generateTadirTr");
38
- const generateLangTr_1 = require("./generateLangTr");
39
- const releaseTadirTr_1 = require("./releaseTadirTr");
40
- const releaseLangTr_1 = require("./releaseLangTr");
41
- const releaseDevcTr_1 = require("./releaseDevcTr");
42
- const generateTrmArtifact_1 = require("./generateTrmArtifact");
43
- const publishTrmArtifact_1 = require("./publishTrmArtifact");
26
+ const setCustomizingTransports_1 = require("./setCustomizingTransports");
27
+ const generateDevcTransport_1 = require("./generateDevcTransport");
28
+ const generateTadirTransport_1 = require("./generateTadirTransport");
29
+ const generateLangTransport_1 = require("./generateLangTransport");
30
+ const generateCustTransport_1 = require("./generateCustTransport");
31
+ const releaseTransports_1 = require("./releaseTransports");
44
32
  const finalizePublish_1 = require("./finalizePublish");
45
- const generateCustTr_1 = require("./generateCustTr");
46
- const releaseCustTr_1 = require("./releaseCustTr");
47
- const setCustTransports_1 = require("./setCustTransports");
33
+ const publishToRegistry_1 = require("./publishToRegistry");
34
+ ;
48
35
  const WORKFLOW_NAME = 'publish';
49
36
  function publish(inputData) {
50
37
  return __awaiter(this, void 0, void 0, function* () {
51
38
  const workflow = [
52
39
  init_1.init,
53
- checkPackageExistance_1.checkPackageExistance,
54
- checkPublishAllowed_1.checkPublishAllowed,
55
- setDevclass_1.setDevclass,
40
+ __1.setSystemPackages,
56
41
  setTransportTarget_1.setTransportTarget,
57
- setDevclassObjs_1.setDevclassObjs,
42
+ setDevclass_1.setDevclass,
58
43
  findDependencies_1.findDependencies,
59
- setTrmDependencies_1.setTrmDependencies,
60
- setSapEntries_1.setSapEntries,
61
- editTrmDependencies_1.editTrmDependencies,
62
- editSapEntries_1.editSapEntries,
63
- logDependencies_1.logDependencies,
64
- overwriteManifestValues_1.overwriteManifestValues,
65
- setBackwardsCompatible_1.setBackwardsCompatible,
66
- setPrivate_1.setPrivate,
67
44
  setManifestValues_1.setManifestValues,
68
- buildTrmPackageInstance_1.buildTrmPackageInstance,
69
45
  setReadme_1.setReadme,
70
- setCustTransports_1.setCustTransports,
71
- generateDevcTr_1.generateDevcTr,
72
- generateTadirTr_1.generateTadirTr,
73
- generateLangTr_1.generateLangTr,
74
- generateCustTr_1.generateCustTr,
75
- releaseTadirTr_1.releaseTadirTr,
76
- releaseLangTr_1.releaseLangTr,
77
- releaseCustTr_1.releaseCustTr,
78
- releaseDevcTr_1.releaseDevcTr,
79
- generateTrmArtifact_1.generateTrmArtifact,
80
- publishTrmArtifact_1.publishTrmArtifact,
46
+ setCustomizingTransports_1.setCustomizingTransports,
47
+ generateDevcTransport_1.generateDevcTransport,
48
+ generateTadirTransport_1.generateTadirTransport,
49
+ generateLangTransport_1.generateLangTransport,
50
+ generateCustTransport_1.generateCustTransport,
51
+ releaseTransports_1.releaseTransports,
52
+ publishToRegistry_1.publishToRegistry,
81
53
  finalizePublish_1.finalizePublish
82
54
  ];
83
- logger_1.Logger.log(`Ready to execute workflow ${WORKFLOW_NAME}, input data: ${(0, logger_1.inspect)(inputData, { breakLength: Infinity, compact: true })}`, true);
55
+ logger_1.Logger.log(`Ready to execute workflow ${WORKFLOW_NAME}, input data: ${(0, util_1.inspect)(inputData, { breakLength: Infinity, compact: true })}`, true);
84
56
  const result = yield (0, sammarksworkflow_1.default)(WORKFLOW_NAME, workflow, {
85
- rawInput: inputData,
86
- parsedInput: {},
87
- runtime: {}
57
+ rawInput: inputData
88
58
  });
89
- logger_1.Logger.log(`Workflow ${WORKFLOW_NAME} result: ${(0, logger_1.inspect)(result, { breakLength: Infinity, compact: true })}`, true);
90
- if (result.output && result.output.trmPackage) {
91
- return result.output.trmPackage;
92
- }
93
- else {
94
- throw new Error(`An error occurred during publish.`);
95
- }
59
+ logger_1.Logger.log(`Workflow ${WORKFLOW_NAME} result: ${(0, util_1.inspect)(result, { breakLength: Infinity, compact: true })}`, true);
60
+ const trmPackage = result.runtime.trmPackage.package;
61
+ const trmArtifact = result.runtime.trmPackage.artifact;
62
+ return {
63
+ trmPackage,
64
+ trmArtifact
65
+ };
96
66
  });
97
67
  }
98
- exports.publish = publish;
@@ -11,105 +11,182 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.init = void 0;
13
13
  const logger_1 = require("../../logger");
14
+ const commons_1 = require("../../commons");
14
15
  const trmPackage_1 = require("../../trmPackage");
15
- const Inquirer_1 = require("../../inquirer/Inquirer");
16
+ const inquirer_1 = require("../../inquirer");
16
17
  const semver_1 = require("semver");
17
- const commons_1 = require("../../commons");
18
+ const systemConnector_1 = require("../../systemConnector");
19
+ const registry_1 = require("../../registry");
20
+ const transport_1 = require("../../transport");
18
21
  exports.init = {
19
22
  name: 'init',
20
23
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
21
- const registry = context.rawInput.registry;
22
- if (process.env.TRM_ENV === 'DEV') {
23
- logger_1.Logger.warning(`Running in development, rolling back after publish (PACKAGE WON'T BE UNPUBLISHED FROM REGISTRY!)`);
24
+ logger_1.Logger.log('Init step', true);
25
+ const registry = context.rawInput.packageData.registry;
26
+ if (registry.getRegistryType() === registry_1.RegistryType.PUBLIC) {
27
+ logger_1.Logger.log(`Public registry, checking if logged in`, true);
28
+ try {
29
+ yield registry.whoAmI();
30
+ }
31
+ catch (e) {
32
+ throw new Error(`Publish not allowed: ${e.message}`);
33
+ }
24
34
  }
25
- var packageName = context.rawInput.package.name.toLowerCase().trim();
26
- packageName = (0, commons_1.parsePackageName)({
27
- fullName: packageName
35
+ context.rawInput.packageData.name = (0, commons_1.parsePackageName)({
36
+ fullName: context.rawInput.packageData.name
28
37
  }).fullName;
29
- var packageVersion = context.rawInput.package.version;
30
- if (!packageVersion) {
31
- throw new Error(`Package version empty.`);
38
+ if (!context.rawInput.contextData) {
39
+ context.rawInput.contextData = {};
40
+ }
41
+ if (!context.rawInput.systemData) {
42
+ context.rawInput.systemData = {
43
+ releaseTimeout: 180
44
+ };
45
+ }
46
+ if (!context.rawInput.publishData) {
47
+ context.rawInput.publishData = {
48
+ keepLatestReleaseManifestValues: true,
49
+ customizingTransports: []
50
+ };
51
+ }
52
+ if (context.rawInput.packageData.manifest === undefined) {
53
+ context.rawInput.packageData.manifest = {};
54
+ }
55
+ if (!context.rawInput.packageData.manifest.authors) {
56
+ context.rawInput.packageData.manifest.authors = [];
57
+ }
58
+ if (!context.rawInput.packageData.manifest.dependencies) {
59
+ context.rawInput.packageData.manifest.dependencies = [];
60
+ }
61
+ if (!context.rawInput.packageData.manifest.keywords) {
62
+ context.rawInput.packageData.manifest.keywords = [];
63
+ }
64
+ if (context.rawInput.packageData.manifest.sapEntries === undefined) {
65
+ context.rawInput.packageData.manifest.sapEntries = {};
66
+ }
67
+ if (typeof (context.rawInput.publishData.customizingTransports) === 'string') {
68
+ context.rawInput.publishData.customizingTransports = context.rawInput.publishData.customizingTransports.split(',').map(o => {
69
+ try {
70
+ return new transport_1.Transport(o.trim());
71
+ }
72
+ catch (e) {
73
+ throw new Error(`Invalid customizing transport values: trkorr.`);
74
+ }
75
+ });
76
+ }
77
+ if (!context.rawInput.packageData.version) {
78
+ context.rawInput.packageData.version = 'latest';
32
79
  }
33
- context.parsedInput.silent = context.rawInput.silent;
34
80
  var normalizeVersion = true;
35
81
  var normalizedVersion;
36
82
  logger_1.Logger.loading(`Checking package version...`);
37
83
  while (normalizeVersion) {
38
- normalizedVersion = yield trmPackage_1.TrmPackage.normalizeVersion(packageName, packageVersion, registry);
39
- if (normalizedVersion !== packageVersion) {
40
- logger_1.Logger.info(`Version ${packageVersion} -> ${normalizedVersion}`);
41
- const inq1 = yield Inquirer_1.Inquirer.prompt([{
42
- name: 'acceptNormalized',
43
- message: `Continue publish as version ${normalizedVersion}?`,
44
- type: 'confirm',
45
- default: true,
46
- when: !context.parsedInput.silent
47
- }, {
48
- name: 'inputVersion',
49
- message: `Input version to publish`,
50
- type: 'input',
51
- when: (hash) => {
52
- return !context.parsedInput.silent && !hash.acceptNormalized;
53
- },
54
- validate: (input) => {
55
- if (!input) {
56
- return false;
57
- }
58
- else {
59
- if (input.trim().toLowerCase() === 'latest') {
60
- return true;
84
+ normalizedVersion = yield trmPackage_1.TrmPackage.normalizeVersion(context.rawInput.packageData.name, context.rawInput.packageData.version, registry);
85
+ if (normalizedVersion !== context.rawInput.packageData.version) {
86
+ logger_1.Logger.info(`Version ${context.rawInput.packageData.version} -> ${normalizedVersion}`);
87
+ if (!context.rawInput.contextData.noInquirer) {
88
+ const inq = yield inquirer_1.Inquirer.prompt([{
89
+ name: 'acceptNormalized',
90
+ message: `Continue publish as version ${normalizedVersion}?`,
91
+ type: 'confirm',
92
+ default: true
93
+ }, {
94
+ name: 'inputVersion',
95
+ message: `Input version to publish`,
96
+ type: 'input',
97
+ when: (hash) => {
98
+ return !hash.acceptNormalized;
99
+ },
100
+ validate: (input) => {
101
+ if (!input) {
102
+ return false;
61
103
  }
62
104
  else {
63
- return (0, semver_1.clean)(input) ? true : false;
105
+ if (input.trim().toLowerCase() === 'latest') {
106
+ return true;
107
+ }
108
+ else {
109
+ return (0, semver_1.clean)(input) ? true : false;
110
+ }
64
111
  }
65
112
  }
66
- }
67
- }]);
68
- if (inq1.acceptNormalized || context.parsedInput.silent) {
69
- normalizeVersion = false;
113
+ }]);
114
+ if (inq.acceptNormalized) {
115
+ normalizeVersion = false;
116
+ context.rawInput.packageData.version = normalizedVersion;
117
+ }
118
+ else {
119
+ normalizeVersion = true;
120
+ context.rawInput.packageData.version = inq.inputVersion;
121
+ }
70
122
  }
71
123
  else {
72
- normalizeVersion = true;
73
- packageVersion = inq1.inputVersion;
124
+ normalizeVersion = false;
125
+ context.rawInput.packageData.version = normalizedVersion;
74
126
  }
75
127
  }
76
128
  else {
77
129
  normalizeVersion = false;
78
130
  }
79
131
  }
80
- context.parsedInput.packageName = packageName;
81
- context.parsedInput.version = normalizedVersion;
82
- context.parsedInput.releaseFolder = context.rawInput.tmpFolder;
83
- context.parsedInput.releaseTimeout = context.rawInput.releaseTimeout || 180;
84
- context.parsedInput.customizingTransports = context.rawInput.customizingTransports || [];
85
- context.parsedInput.skipEditSapEntries = context.rawInput.skipEditSapEntries;
86
- context.parsedInput.skipEditDependencies = context.rawInput.skipEditDependencies;
87
- context.parsedInput.skipDependencies = context.rawInput.skipDependencies;
88
- context.parsedInput.skipLang = context.rawInput.skipLang;
89
- context.parsedInput.overwriteManifestValues = context.rawInput.overwriteManifestValues;
90
- context.parsedInput.packageBackwardsCompatible = context.rawInput.package ? context.rawInput.package.backwardsCompatible : null;
91
- context.parsedInput.skipCust = context.rawInput.skipCust;
92
- context.parsedInput.devclass = context.rawInput.devclass;
93
- context.parsedInput.forceManifestInput = context.rawInput.forceManifestInput;
94
- context.parsedInput.packagePrivate = context.rawInput.package ? context.rawInput.package.private : null;
95
- context.parsedInput.skipReadme = context.rawInput.skipReadme;
96
- context.parsedInput.readme = context.rawInput.readme || '';
97
- context.parsedInput.target = context.rawInput.target;
98
- context.runtime.registry = registry;
99
- context.runtime.dummyPackage = new trmPackage_1.TrmPackage(packageName, registry);
100
- context.runtime.manifest = context.rawInput.package;
101
- context.runtime.manifest.name = packageName;
102
- context.runtime.manifest.version = normalizedVersion;
103
- if (!context.runtime.manifest.sapEntries) {
104
- context.runtime.manifest.sapEntries = {};
105
- }
106
- if (!context.runtime.manifest.dependencies) {
107
- context.runtime.manifest.dependencies = [];
108
- }
109
- context.runtime.dependencies = {
110
- sapEntries: [],
111
- trmDependencies: [],
112
- unknownDependencies: []
132
+ context.runtime = {
133
+ rollback: false,
134
+ trmPackage: {
135
+ package: new trmPackage_1.TrmPackage(context.rawInput.packageData.name, registry),
136
+ registry,
137
+ manifest: Object.assign(Object.assign({}, context.rawInput.packageData.manifest), {
138
+ name: context.rawInput.packageData.name,
139
+ version: context.rawInput.packageData.version
140
+ })
141
+ },
142
+ systemData: {
143
+ transportTargets: [],
144
+ devcTransport: undefined,
145
+ tadirTransport: undefined,
146
+ releasedTransports: []
147
+ },
148
+ packageData: {
149
+ tadir: []
150
+ }
113
151
  };
152
+ logger_1.Logger.loading(`Reading ${systemConnector_1.SystemConnector.getDest()} transport targets...`);
153
+ context.runtime.systemData.transportTargets = (yield systemConnector_1.SystemConnector.getTransportTargets()).sort((a, b) => {
154
+ if (a.systyp === 'V') {
155
+ return -1;
156
+ }
157
+ else if (b.systyp === 'V') {
158
+ return 1;
159
+ }
160
+ else {
161
+ return 0;
162
+ }
163
+ });
164
+ if (context.rawInput.publishData.skipCustomizingTransports) {
165
+ context.rawInput.publishData.customizingTransports = [];
166
+ }
167
+ logger_1.Logger.loading(`Checking package "${context.rawInput.packageData.name}"...`);
168
+ const packageExists = yield context.runtime.trmPackage.package.exists();
169
+ const canPublishReleases = yield context.runtime.trmPackage.package.canPublishReleases();
170
+ if (!canPublishReleases.canPublishReleases) {
171
+ if (canPublishReleases.cause) {
172
+ logger_1.Logger.error(canPublishReleases.cause);
173
+ }
174
+ throw new Error(`You are not not authorized to publish "${context.rawInput.packageData.name}" releases.`);
175
+ }
176
+ if (!packageExists) {
177
+ logger_1.Logger.info(`First time publishing "${context.rawInput.packageData.name}". Congratulations!`);
178
+ }
179
+ else {
180
+ context.runtime.trmPackage.latestReleaseManifest = (yield context.runtime.trmPackage.package.fetchRemoteManifest('latest')).get();
181
+ if (context.rawInput.packageData.registry.getRegistryType() === registry_1.RegistryType.PUBLIC && !!(context.rawInput.publishData.private) !== !!(context.runtime.trmPackage.latestReleaseManifest.private)) {
182
+ throw new Error(`Cannot change package "${context.rawInput.packageData.name}" visibility from ${context.runtime.trmPackage.latestReleaseManifest.private ? 'private' : 'public'} to ${context.rawInput.publishData.private ? 'private' : 'public'}.`);
183
+ }
184
+ }
185
+ }),
186
+ revert: (context) => __awaiter(void 0, void 0, void 0, function* () {
187
+ logger_1.Logger.log('Rollback init step', true);
188
+ if (context.runtime && context.runtime.rollback) {
189
+ logger_1.Logger.success(`Rollback executed.`);
190
+ }
114
191
  })
115
192
  };
@@ -1,3 +1,3 @@
1
1
  import { Step } from "@simonegaffurini/sammarksworkflow";
2
2
  import { PublishWorkflowContext } from ".";
3
- export declare const setCustTransports: Step<PublishWorkflowContext>;
3
+ export declare const publishToRegistry: Step<PublishWorkflowContext>;
@@ -9,14 +9,20 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.buildTrmPackageInstance = void 0;
13
- const manifest_1 = require("../../manifest");
12
+ exports.publishToRegistry = void 0;
13
+ const logger_1 = require("../../logger");
14
14
  const trmPackage_1 = require("../../trmPackage");
15
- exports.buildTrmPackageInstance = {
16
- name: 'build-trm-package-instance',
15
+ const manifest_1 = require("../../manifest");
16
+ exports.publishToRegistry = {
17
+ name: 'publish-to-registry',
17
18
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
18
- context.runtime.manifest = manifest_1.Manifest.normalize(context.runtime.manifest, false);
19
- const oManifest = new manifest_1.Manifest(context.runtime.manifest);
20
- context.runtime.trmPackage = new trmPackage_1.TrmPackage(context.runtime.manifest.name, context.runtime.registry, oManifest);
19
+ logger_1.Logger.log('Publish to registry step', true);
20
+ logger_1.Logger.loading(`Creating TRM package...`);
21
+ context.runtime.trmPackage.artifact = yield trmPackage_1.TrmArtifact.create(context.runtime.systemData.releasedTransports, new manifest_1.Manifest(context.runtime.trmPackage.manifest));
22
+ logger_1.Logger.loading(`Publishing...`);
23
+ yield context.runtime.trmPackage.package.publish({
24
+ artifact: context.runtime.trmPackage.artifact,
25
+ readme: context.rawInput.publishData.readme
26
+ });
21
27
  })
22
28
  };
@@ -1,3 +1,3 @@
1
1
  import { Step } from "@simonegaffurini/sammarksworkflow";
2
2
  import { PublishWorkflowContext } from ".";
3
- export declare const generateLangTr: Step<PublishWorkflowContext>;
3
+ export declare const releaseTransports: Step<PublishWorkflowContext>;
@@ -0,0 +1,42 @@
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.releaseTransports = void 0;
13
+ const logger_1 = require("../../logger");
14
+ const inquirer_1 = require("../../inquirer");
15
+ exports.releaseTransports = {
16
+ name: 'release-transport',
17
+ run: (context) => __awaiter(void 0, void 0, void 0, function* () {
18
+ logger_1.Logger.log('Release transports step', true);
19
+ const tmpFolder = context.rawInput.contextData.logTemporaryFolder;
20
+ const releaseTimeout = context.rawInput.systemData.releaseTimeout;
21
+ context.runtime.systemData.releasedTransports.push(context.runtime.systemData.tadirTransport);
22
+ if (context.runtime.systemData.langTransport) {
23
+ context.runtime.systemData.releasedTransports.push(context.runtime.systemData.langTransport);
24
+ }
25
+ if (context.runtime.systemData.custTransport) {
26
+ context.runtime.systemData.releasedTransports.push(context.runtime.systemData.custTransport);
27
+ }
28
+ context.runtime.systemData.releasedTransports.push(context.runtime.systemData.devcTransport);
29
+ var counter = 0;
30
+ for (const transport of context.runtime.systemData.releasedTransports) {
31
+ counter++;
32
+ const prefix = `(${counter}/${context.runtime.systemData.releasedTransports.length}) `;
33
+ logger_1.Logger.setPrefix(prefix);
34
+ inquirer_1.Inquirer.setPrefix(prefix);
35
+ logger_1.Logger.log(`Ready to release transport ${transport.trkorr}, ${transport.trmIdentifier}`, true);
36
+ logger_1.Logger.loading(`Releasing transport...`);
37
+ yield transport.release(false, releaseTimeout ? true : false, tmpFolder, releaseTimeout);
38
+ logger_1.Logger.removePrefix();
39
+ inquirer_1.Inquirer.removePrefix();
40
+ }
41
+ })
42
+ };
@@ -1,3 +1,3 @@
1
1
  import { Step } from "@simonegaffurini/sammarksworkflow";
2
2
  import { PublishWorkflowContext } from ".";
3
- export declare const buildTrmPackageInstance: Step<PublishWorkflowContext>;
3
+ export declare const setCustomizingTransports: Step<PublishWorkflowContext>;