trm-core 6.2.5 → 6.4.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 (129) hide show
  1. package/changelog.txt +35 -0
  2. package/dist/abapgit/DotAbapGit.d.ts +8 -0
  3. package/dist/abapgit/DotAbapGit.js +80 -0
  4. package/dist/abapgit/index.d.ts +1 -0
  5. package/dist/abapgit/index.js +17 -0
  6. package/dist/actions/checkPackageDependencies/analyze.js +1 -1
  7. package/dist/actions/findDependencies/parseSenvi.js +3 -0
  8. package/dist/actions/findDependencies/setTrmDependencies.js +93 -36
  9. package/dist/actions/install/checkTransports.js +71 -1
  10. package/dist/actions/install/executePostActivities.d.ts +3 -0
  11. package/dist/actions/install/executePostActivities.js +62 -0
  12. package/dist/actions/install/generateInstallTransport.js +1 -0
  13. package/dist/actions/install/importCustTransport.js +1 -0
  14. package/dist/actions/install/importDevcTransport.js +4 -0
  15. package/dist/actions/install/importLangTransport.js +1 -0
  16. package/dist/actions/install/importTadirTransport.js +2 -0
  17. package/dist/actions/install/index.d.ts +9 -4
  18. package/dist/actions/install/index.js +7 -1
  19. package/dist/actions/install/init.js +19 -3
  20. package/dist/actions/install/installDependencies.js +1 -9
  21. package/dist/actions/install/migrate.d.ts +3 -0
  22. package/dist/actions/install/migrate.js +35 -0
  23. package/dist/actions/install/readTadir.js +41 -2
  24. package/dist/actions/install/refreshTmsTxt.d.ts +3 -0
  25. package/dist/actions/install/refreshTmsTxt.js +33 -0
  26. package/dist/actions/install/setInstallDevclass.js +11 -1
  27. package/dist/actions/installDependency/index.d.ts +2 -2
  28. package/dist/actions/installDependency/init.js +4 -0
  29. package/dist/actions/publish/findDependencies.js +20 -15
  30. package/dist/actions/publish/generateCustTransport.js +2 -0
  31. package/dist/actions/publish/generateDevcTransport.js +2 -0
  32. package/dist/actions/publish/generateLangTransport.js +4 -0
  33. package/dist/actions/publish/generateTadirTransport.js +15 -1
  34. package/dist/actions/publish/getSourceCode.d.ts +3 -0
  35. package/dist/actions/publish/getSourceCode.js +36 -0
  36. package/dist/actions/publish/index.d.ts +12 -3
  37. package/dist/actions/publish/index.js +2 -0
  38. package/dist/actions/publish/init.js +10 -2
  39. package/dist/actions/publish/publishToRegistry.js +5 -1
  40. package/dist/actions/publish/setManifestValues.js +69 -1
  41. package/dist/actions/publish/setReadme.js +8 -1
  42. package/dist/client/RESTClient.d.ts +11 -0
  43. package/dist/client/RESTClient.js +141 -39
  44. package/dist/client/RFCClient.d.ts +11 -0
  45. package/dist/client/RFCClient.js +104 -19
  46. package/dist/client/components/LANGU.d.ts +1 -0
  47. package/dist/client/components/LANGU.js +2 -0
  48. package/dist/client/components/SEOCLSNAME.d.ts +1 -0
  49. package/dist/client/components/SEOCLSNAME.js +2 -0
  50. package/dist/client/components/SEODESCR.d.ts +1 -0
  51. package/dist/client/components/SEODESCR.js +2 -0
  52. package/dist/client/components/SYMSGID.d.ts +1 -0
  53. package/dist/client/components/SYMSGID.js +2 -0
  54. package/dist/client/components/SYMSGNO.d.ts +1 -0
  55. package/dist/client/components/SYMSGNO.js +2 -0
  56. package/dist/client/components/SYMSGTY.d.ts +1 -0
  57. package/dist/client/components/SYMSGTY.js +2 -0
  58. package/dist/client/components/SYMSGV.d.ts +1 -0
  59. package/dist/client/components/SYMSGV.js +2 -0
  60. package/dist/client/components/TRSTATUS.d.ts +1 -0
  61. package/dist/client/components/TRSTATUS.js +2 -0
  62. package/dist/client/components/ZTRM_TRKORR.d.ts +1 -0
  63. package/dist/client/components/ZTRM_TRKORR.js +2 -0
  64. package/dist/client/components/index.d.ts +9 -0
  65. package/dist/client/components/index.js +9 -0
  66. package/dist/client/struct/E070.d.ts +2 -1
  67. package/dist/client/struct/SEOCLASSTX.d.ts +6 -0
  68. package/dist/client/struct/SEOCLASSTX.js +2 -0
  69. package/dist/client/struct/SYMSG.d.ts +10 -0
  70. package/dist/client/struct/SYMSG.js +2 -0
  71. package/dist/client/struct/index.d.ts +2 -0
  72. package/dist/client/struct/index.js +2 -0
  73. package/dist/commons/checkCoreTrmDependencies.d.ts +7 -0
  74. package/dist/commons/checkCoreTrmDependencies.js +49 -0
  75. package/dist/commons/getCoreTrmDependencies.d.ts +3 -0
  76. package/dist/commons/getCoreTrmDependencies.js +8 -0
  77. package/dist/commons/getNodePackage.d.ts +1 -0
  78. package/dist/commons/getNodePackage.js +61 -0
  79. package/dist/commons/index.d.ts +3 -0
  80. package/dist/commons/index.js +3 -0
  81. package/dist/logger/CliLogger.d.ts +1 -0
  82. package/dist/logger/CliLogger.js +19 -0
  83. package/dist/logger/ConsoleLogger.d.ts +1 -0
  84. package/dist/logger/ConsoleLogger.js +19 -0
  85. package/dist/logger/DummyLogger.d.ts +1 -0
  86. package/dist/logger/DummyLogger.js +1 -0
  87. package/dist/logger/ILogger.d.ts +1 -0
  88. package/dist/logger/Logger.d.ts +1 -0
  89. package/dist/logger/Logger.js +5 -0
  90. package/dist/manifest/Manifest.d.ts +1 -0
  91. package/dist/manifest/Manifest.js +106 -8
  92. package/dist/manifest/PostActivity.d.ts +11 -0
  93. package/dist/manifest/PostActivity.js +150 -0
  94. package/dist/manifest/TrmManifest.d.ts +1 -0
  95. package/dist/manifest/TrmManifestBase.d.ts +2 -0
  96. package/dist/manifest/TrmManifestNamespace.d.ts +1 -0
  97. package/dist/manifest/TrmManifestPostActivity.d.ts +7 -0
  98. package/dist/manifest/TrmManifestPostActivity.js +2 -0
  99. package/dist/manifest/index.d.ts +2 -0
  100. package/dist/manifest/index.js +2 -0
  101. package/dist/registry/AbstractRegistry.d.ts +19 -0
  102. package/dist/registry/AbstractRegistry.js +6 -0
  103. package/dist/registry/FileSystem.d.ts +23 -0
  104. package/dist/registry/FileSystem.js +161 -0
  105. package/dist/registry/Registry.d.ts +4 -3
  106. package/dist/registry/Registry.js +8 -5
  107. package/dist/registry/RegistryProvider.d.ts +5 -0
  108. package/dist/registry/RegistryProvider.js +35 -0
  109. package/dist/registry/RegistryType.d.ts +2 -1
  110. package/dist/registry/RegistryType.js +1 -0
  111. package/dist/registry/index.d.ts +3 -1
  112. package/dist/registry/index.js +3 -1
  113. package/dist/systemConnector/ISystemConnector.d.ts +11 -0
  114. package/dist/systemConnector/ISystemConnectorBase.d.ts +4 -3
  115. package/dist/systemConnector/RESTSystemConnector.d.ts +11 -0
  116. package/dist/systemConnector/RESTSystemConnector.js +40 -0
  117. package/dist/systemConnector/RFCSystemConnector.d.ts +11 -0
  118. package/dist/systemConnector/RFCSystemConnector.js +40 -0
  119. package/dist/systemConnector/SystemConnector.d.ts +15 -3
  120. package/dist/systemConnector/SystemConnector.js +65 -2
  121. package/dist/systemConnector/SystemConnectorBase.d.ts +8 -5
  122. package/dist/systemConnector/SystemConnectorBase.js +86 -41
  123. package/dist/transport/Transport.d.ts +13 -3
  124. package/dist/transport/Transport.js +134 -39
  125. package/dist/trmPackage/TrmArtifact.d.ts +9 -2
  126. package/dist/trmPackage/TrmArtifact.js +30 -9
  127. package/dist/trmPackage/TrmPackage.d.ts +6 -6
  128. package/dist/trmPackage/TrmPackage.js +1 -2
  129. package/package.json +18 -8
@@ -61,3 +61,12 @@ __exportStar(require("./NAMESPACE"), exports);
61
61
  __exportStar(require("./TRNLICENSE"), exports);
62
62
  __exportStar(require("./NSP_TEXT"), exports);
63
63
  __exportStar(require("./NSP_OWNER"), exports);
64
+ __exportStar(require("./TRSTATUS"), exports);
65
+ __exportStar(require("./ZTRM_TRKORR"), exports);
66
+ __exportStar(require("./SYMSGTY"), exports);
67
+ __exportStar(require("./SYMSGID"), exports);
68
+ __exportStar(require("./SYMSGNO"), exports);
69
+ __exportStar(require("./SYMSGV"), exports);
70
+ __exportStar(require("./SEOCLSNAME"), exports);
71
+ __exportStar(require("./LANGU"), exports);
72
+ __exportStar(require("./SEODESCR"), exports);
@@ -1,7 +1,8 @@
1
- import { AS4DATE, AS4TIME, TRKORR, TRFUNCTION } from "../components";
1
+ import { AS4DATE, AS4TIME, TRKORR, TRFUNCTION, TRSTATUS } from "../components";
2
2
  export type E070 = {
3
3
  trkorr: TRKORR;
4
4
  trfunction: TRFUNCTION;
5
+ trstatus: TRSTATUS;
5
6
  as4Date: AS4DATE;
6
7
  as4Time: AS4TIME;
7
8
  };
@@ -0,0 +1,6 @@
1
+ import { LANGU, SEOCLSNAME, SEODESCR } from "../components";
2
+ export type SEOCLASSTX = {
3
+ clsname: SEOCLSNAME;
4
+ langu: LANGU;
5
+ descript: SEODESCR;
6
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,10 @@
1
+ import { SYMSGID, SYMSGNO, SYMSGTY, SYMSGV } from "../components";
2
+ export type SYMSG = {
3
+ msgty: SYMSGTY;
4
+ msgid: SYMSGID;
5
+ msgno: SYMSGNO;
6
+ msgv1?: SYMSGV;
7
+ msgv2?: SYMSGV;
8
+ msgv3?: SYMSGV;
9
+ msgv4?: SYMSGV;
10
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -20,3 +20,5 @@ export * from "./LXE_TT_PACKG_LINE";
20
20
  export * from "./TFDIR";
21
21
  export * from "./TRNSPACET";
22
22
  export * from "./TRNSPACETT";
23
+ export * from "./SYMSG";
24
+ export * from "./SEOCLASSTX";
@@ -36,3 +36,5 @@ __exportStar(require("./LXE_TT_PACKG_LINE"), exports);
36
36
  __exportStar(require("./TFDIR"), exports);
37
37
  __exportStar(require("./TRNSPACET"), exports);
38
38
  __exportStar(require("./TRNSPACETT"), exports);
39
+ __exportStar(require("./SYMSG"), exports);
40
+ __exportStar(require("./SEOCLASSTX"), exports);
@@ -0,0 +1,7 @@
1
+ import { TrmPackage } from "../trmPackage";
2
+ export type CheckTrmDependencies = {
3
+ missingDependencies: string[];
4
+ versionNotSatisfiedDependencies: TrmPackage[];
5
+ dependencies: TrmPackage[];
6
+ };
7
+ export declare function checkCoreTrmDependencies(systemPackages?: TrmPackage[]): Promise<CheckTrmDependencies>;
@@ -0,0 +1,49 @@
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.checkCoreTrmDependencies = checkCoreTrmDependencies;
13
+ const getCoreTrmDependencies_1 = require("./getCoreTrmDependencies");
14
+ const registry_1 = require("../registry");
15
+ const systemConnector_1 = require("../systemConnector");
16
+ const semver_1 = require("semver");
17
+ function checkCoreTrmDependencies(systemPackages) {
18
+ return __awaiter(this, void 0, void 0, function* () {
19
+ var returnData = {
20
+ dependencies: [],
21
+ versionNotSatisfiedDependencies: [],
22
+ missingDependencies: []
23
+ };
24
+ const trmDependencies = (0, getCoreTrmDependencies_1.getCoreTrmDependencies)();
25
+ if (trmDependencies && Object.keys(trmDependencies).length > 0) {
26
+ const oPublicRegistry = registry_1.RegistryProvider.getRegistry();
27
+ if (!systemPackages) {
28
+ systemPackages = yield systemConnector_1.SystemConnector.getInstalledPackages(true);
29
+ }
30
+ Object.keys(trmDependencies).forEach(packageName => {
31
+ const versionRange = trmDependencies[packageName];
32
+ const installedPackage = systemPackages.find(o => o.packageName === packageName && o.compareRegistry(oPublicRegistry));
33
+ if (!installedPackage || !installedPackage.manifest) {
34
+ returnData.missingDependencies.push(packageName);
35
+ }
36
+ else {
37
+ const installedVersion = installedPackage.manifest.get().version;
38
+ if (!(0, semver_1.satisfies)(installedVersion, versionRange)) {
39
+ returnData.versionNotSatisfiedDependencies.push(installedPackage);
40
+ }
41
+ else {
42
+ returnData.dependencies.push(installedPackage);
43
+ }
44
+ }
45
+ });
46
+ }
47
+ return returnData;
48
+ });
49
+ }
@@ -0,0 +1,3 @@
1
+ export declare function getCoreTrmDependencies(): {
2
+ [key: string]: string;
3
+ };
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCoreTrmDependencies = getCoreTrmDependencies;
4
+ const getNodePackage_1 = require("./getNodePackage");
5
+ function getCoreTrmDependencies() {
6
+ const nodePackage = (0, getNodePackage_1.getNodePackage)();
7
+ return nodePackage.trmDependencies || {};
8
+ }
@@ -0,0 +1 @@
1
+ export declare function getNodePackage(): any;
@@ -0,0 +1,61 @@
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.getNodePackage = getNodePackage;
40
+ const fs = __importStar(require("fs"));
41
+ const path_1 = __importDefault(require("path"));
42
+ const get_root_path_1 = require("get-root-path");
43
+ const logger_1 = require("../logger");
44
+ function getNodePackage() {
45
+ var file;
46
+ var packageData;
47
+ logger_1.Logger.log(`root path: ${get_root_path_1.rootPath}`, true);
48
+ try {
49
+ file = fs.readFileSync(path_1.default.join(get_root_path_1.rootPath, "/node_modules/trm-core/package.json"));
50
+ }
51
+ catch (e) {
52
+ file = fs.readFileSync(path_1.default.join(get_root_path_1.rootPath, "package.json"));
53
+ }
54
+ if (file) {
55
+ packageData = JSON.parse(file.toString());
56
+ }
57
+ if (!packageData || packageData.name !== 'trm-core') {
58
+ throw new Error(`package.json not found!`);
59
+ }
60
+ return packageData;
61
+ }
@@ -11,3 +11,6 @@ export * from "./getPackageNamespace";
11
11
  export * from "./LogTableStruct";
12
12
  export * from "./getAxiosInstance";
13
13
  export * from "./getNpmGlobalPath";
14
+ export * from "./getNodePackage";
15
+ export * from "./getCoreTrmDependencies";
16
+ export * from "./checkCoreTrmDependencies";
@@ -27,3 +27,6 @@ __exportStar(require("./getPackageNamespace"), exports);
27
27
  __exportStar(require("./LogTableStruct"), exports);
28
28
  __exportStar(require("./getAxiosInstance"), exports);
29
29
  __exportStar(require("./getNpmGlobalPath"), exports);
30
+ __exportStar(require("./getNodePackage"), exports);
31
+ __exportStar(require("./getCoreTrmDependencies"), exports);
32
+ __exportStar(require("./checkCoreTrmDependencies"), exports);
@@ -21,4 +21,5 @@ export declare class CliLogger implements ILogger {
21
21
  setPrefix(text: string): void;
22
22
  removePrefix(): void;
23
23
  getPrefix(): string;
24
+ msgty(msgty: string, text: string, debug?: boolean): void;
24
25
  }
@@ -204,5 +204,24 @@ class CliLogger {
204
204
  getPrefix() {
205
205
  return this._prefix;
206
206
  }
207
+ msgty(msgty, text, debug) {
208
+ switch (msgty) {
209
+ case 'A':
210
+ this.error(text, debug);
211
+ break;
212
+ case 'E':
213
+ this.error(text, debug);
214
+ break;
215
+ case 'I':
216
+ this.info(text, debug);
217
+ break;
218
+ case 'S':
219
+ this.success(text, debug);
220
+ break;
221
+ case 'W':
222
+ this.warning(text, debug);
223
+ break;
224
+ }
225
+ }
207
226
  }
208
227
  exports.CliLogger = CliLogger;
@@ -17,4 +17,5 @@ export declare class ConsoleLogger implements ILogger {
17
17
  setPrefix(text: string): void;
18
18
  removePrefix(): void;
19
19
  getPrefix(): string;
20
+ msgty(msgty: string, text: string, debug?: boolean): void;
20
21
  }
@@ -81,5 +81,24 @@ class ConsoleLogger {
81
81
  getPrefix() {
82
82
  return this._prefix;
83
83
  }
84
+ msgty(msgty, text, debug) {
85
+ switch (msgty) {
86
+ case 'A':
87
+ this.error(text, debug);
88
+ break;
89
+ case 'E':
90
+ this.error(text, debug);
91
+ break;
92
+ case 'I':
93
+ this.info(text, debug);
94
+ break;
95
+ case 'S':
96
+ this.success(text, debug);
97
+ break;
98
+ case 'W':
99
+ this.warning(text, debug);
100
+ break;
101
+ }
102
+ }
84
103
  }
85
104
  exports.ConsoleLogger = ConsoleLogger;
@@ -16,4 +16,5 @@ export declare class DummyLogger implements ILogger {
16
16
  setPrefix(text: string): void;
17
17
  removePrefix(): void;
18
18
  getPrefix(): string;
19
+ msgty(msgty: string, text: string, debug?: boolean): void;
19
20
  }
@@ -17,5 +17,6 @@ class DummyLogger {
17
17
  getPrefix() {
18
18
  return '';
19
19
  }
20
+ msgty(msgty, text, debug) { }
20
21
  }
21
22
  exports.DummyLogger = DummyLogger;
@@ -14,4 +14,5 @@ export interface ILogger {
14
14
  table: (header: string[], data: string[][], debug?: boolean) => void;
15
15
  registryResponse: (response: ResponseMessage, debug?: boolean) => void;
16
16
  tree: (data: TreeLog, debug?: boolean) => void;
17
+ msgty: (msgty: string, text: string, debug?: boolean) => void;
17
18
  }
@@ -17,4 +17,5 @@ export declare namespace Logger {
17
17
  function setPrefix(text: string): void;
18
18
  function removePrefix(): void;
19
19
  function getPrefix(): string;
20
+ function msgty(msgty: string, text: string, debug?: boolean): void;
20
21
  }
@@ -78,4 +78,9 @@ var Logger;
78
78
  return Logger.logger.getPrefix();
79
79
  }
80
80
  Logger.getPrefix = getPrefix;
81
+ function msgty(msgty, text, debug) {
82
+ checkLogger();
83
+ return Logger.logger.msgty(msgty, text, debug);
84
+ }
85
+ Logger.msgty = msgty;
81
86
  })(Logger || (exports.Logger = Logger = {}));
@@ -8,6 +8,7 @@ export declare class Manifest {
8
8
  get(keepRuntimeValues?: boolean): TrmManifest;
9
9
  getKey(keepVersion?: boolean): string;
10
10
  setDistFolder(dist: string): Manifest;
11
+ setSrcFolder(src: string): Manifest;
11
12
  setLinkedTransport(transport: Transport): Manifest;
12
13
  getLinkedTransport(): Transport | null;
13
14
  setRegistryEndpoint(endpoint: string): void;
@@ -45,7 +45,7 @@ const registry_1 = require("../registry");
45
45
  const normalize_url_1 = __importDefault(require("@esm2cjs/normalize-url"));
46
46
  const email_validator_1 = require("email-validator");
47
47
  const SpdxLicenseIds = __importStar(require("spdx-license-ids/index.json"));
48
- const xmldom_1 = require("xmldom");
48
+ const xmldom_1 = require("@xmldom/xmldom");
49
49
  const lodash_1 = __importDefault(require("lodash"));
50
50
  const xml_beautify_1 = __importDefault(require("xml-beautify"));
51
51
  const logger_1 = require("../logger");
@@ -76,6 +76,10 @@ class Manifest {
76
76
  this._manifest.distFolder = dist;
77
77
  return this;
78
78
  }
79
+ setSrcFolder(src) {
80
+ this._manifest.srcFolder = src;
81
+ return this;
82
+ }
79
83
  setLinkedTransport(transport) {
80
84
  this._manifest.linkedTransport = transport;
81
85
  return this;
@@ -112,6 +116,11 @@ class Manifest {
112
116
  }
113
117
  }
114
118
  };
119
+ if (manifest.registry) {
120
+ oAbapXml['asx:abap']['asx:values']['TRM_MANIFEST']['REGISTRY'] = {
121
+ "_text": manifest.registry
122
+ };
123
+ }
115
124
  if (manifest.description) {
116
125
  oAbapXml['asx:abap']['asx:values']['TRM_MANIFEST']['DESCRIPTION'] = {
117
126
  "_text": manifest.description
@@ -175,6 +184,11 @@ class Manifest {
175
184
  };
176
185
  }
177
186
  }
187
+ if (manifest.namespace.ns) {
188
+ oAbapXml['asx:abap']['asx:values']['TRM_MANIFEST']['NS'] = {
189
+ "_text": manifest.namespace.ns
190
+ };
191
+ }
178
192
  }
179
193
  if (manifest.authors) {
180
194
  var authors = [];
@@ -271,23 +285,54 @@ class Manifest {
271
285
  }
272
286
  catch (e) { }
273
287
  });
274
- oAbapXml['asx:abap']['asx:values']['TRM_MANIFEST']['SAP_ENTRIES'] = {
275
- "item": sapEntries
276
- };
288
+ if (sapEntries.length > 0) {
289
+ oAbapXml['asx:abap']['asx:values']['TRM_MANIFEST']['SAP_ENTRIES'] = {
290
+ "item": sapEntries
291
+ };
292
+ }
293
+ }
294
+ if (manifest.postActivities) {
295
+ var postActivities = [];
296
+ manifest.postActivities.forEach(pa => {
297
+ var postActivity = {
298
+ 'NAME': {
299
+ "_text": pa.name
300
+ }
301
+ };
302
+ if (pa.parameters && pa.parameters.length > 0) {
303
+ postActivity['PARAMETERS'] = {
304
+ "item": pa.parameters.map(param => {
305
+ return {
306
+ 'NAME': {
307
+ "_text": param.name
308
+ },
309
+ 'VALUE': {
310
+ "_text": param.value
311
+ },
312
+ };
313
+ })
314
+ };
315
+ }
316
+ postActivities.push(postActivity);
317
+ });
318
+ if (postActivities.length > 0) {
319
+ oAbapXml['asx:abap']['asx:values']['TRM_MANIFEST']['POST_ACTIVITIES'] = {
320
+ "item": postActivities
321
+ };
322
+ }
277
323
  }
278
324
  const sXml = xml.js2xml(oAbapXml, { compact: true });
279
325
  return sXml ? new xml_beautify_1.default({ useSelfClosingElement: true, parser: xmldom_1.DOMParser }).beautify(sXml) : null;
280
326
  }
281
327
  getPackage() {
282
328
  const manifest = this.get(true);
283
- const registry = new registry_1.Registry(manifest.registry || registry_1.PUBLIC_RESERVED_KEYWORD);
329
+ const registry = registry_1.RegistryProvider.getRegistry(manifest.registry);
284
330
  return new trmPackage_1.TrmPackage(manifest.name, registry, this);
285
331
  }
286
332
  static normalize(manifest, keepRuntimeValues) {
287
333
  var manifestClone = lodash_1.default.cloneDeep(manifest);
288
334
  if (!keepRuntimeValues) {
289
335
  delete manifestClone.linkedTransport;
290
- delete manifestClone.registry;
291
336
  }
292
337
  if (!manifestClone.name) {
293
338
  throw new Error('Package name missing.');
@@ -304,6 +349,11 @@ class Manifest {
304
349
  throw new Error('Invalid package version declared.');
305
350
  }
306
351
  }
352
+ if (manifestClone.registry) {
353
+ if (manifestClone.registry === registry_1.PUBLIC_RESERVED_KEYWORD) {
354
+ delete manifestClone.registry;
355
+ }
356
+ }
307
357
  manifestClone.private = manifestClone.private ? true : false;
308
358
  manifestClone.backwardsCompatible = manifestClone.backwardsCompatible ? true : false;
309
359
  if (manifestClone.git) {
@@ -506,6 +556,51 @@ class Manifest {
506
556
  else {
507
557
  delete manifestClone.distFolder;
508
558
  }
559
+ if (manifestClone.srcFolder) {
560
+ try {
561
+ manifestClone.srcFolder = manifestClone.srcFolder.replace(/^\//, '');
562
+ manifestClone.srcFolder = manifestClone.srcFolder.replace(/\/$/, '');
563
+ }
564
+ catch (e) {
565
+ delete manifestClone.srcFolder;
566
+ }
567
+ }
568
+ else {
569
+ delete manifestClone.srcFolder;
570
+ }
571
+ if (manifestClone.postActivities && manifestClone.postActivities.length > 0) {
572
+ var originalPostActivities = manifestClone.postActivities;
573
+ delete manifestClone.postActivities;
574
+ if (Array.isArray(originalPostActivities) && originalPostActivities.length > 0) {
575
+ manifestClone.postActivities = [];
576
+ originalPostActivities.forEach((pa) => {
577
+ if (!pa.name) {
578
+ throw new Error(`Invalid post activity: name must be declared.`);
579
+ }
580
+ pa.name = pa.name.toUpperCase();
581
+ if (Array.isArray(pa.parameters)) {
582
+ pa.parameters.forEach(param => {
583
+ if (!param.name) {
584
+ throw new Error(`Invalid post activity: parameter name must be declared.`);
585
+ }
586
+ param.name = param.name.toUpperCase();
587
+ });
588
+ manifestClone.postActivities.push({
589
+ name: pa.name,
590
+ parameters: pa.parameters
591
+ });
592
+ }
593
+ else {
594
+ manifestClone.postActivities.push({
595
+ name: pa.name
596
+ });
597
+ }
598
+ });
599
+ }
600
+ }
601
+ else {
602
+ delete manifestClone.postActivities;
603
+ }
509
604
  return manifestClone;
510
605
  }
511
606
  static fromAbapXml(sXml) {
@@ -545,7 +640,7 @@ class Manifest {
545
640
  manifest.private = oAbapManifest.private.text === 'X';
546
641
  }
547
642
  if (oAbapManifest.registry && oAbapManifest.registry.text) {
548
- manifest.registry = oAbapManifest.registry;
643
+ manifest.registry = oAbapManifest.registry.text;
549
644
  }
550
645
  if (oAbapManifest.git && oAbapManifest.git.text) {
551
646
  manifest.git = oAbapManifest.git.text;
@@ -556,11 +651,14 @@ class Manifest {
556
651
  if (oAbapManifest.license && oAbapManifest.license.text) {
557
652
  manifest.license = oAbapManifest.license.text;
558
653
  }
559
- if (oAbapManifest.replicense) {
654
+ if (oAbapManifest.replicense && oAbapManifest.replicense.text) {
560
655
  manifest.namespace = {
561
656
  replicense: oAbapManifest.replicense.text,
562
657
  texts: []
563
658
  };
659
+ if (oAbapManifest.ns && oAbapManifest.ns.text) {
660
+ manifest.namespace.ns = oAbapManifest.ns.text;
661
+ }
564
662
  if (oAbapManifest.replicenseT && oAbapManifest.replicenseT.item) {
565
663
  if (Array.isArray(oAbapManifest.replicenseT.item)) {
566
664
  manifest.namespace.texts = oAbapManifest.replicenseT.item.map(o => {
@@ -0,0 +1,11 @@
1
+ import { TrmManifestPostActivity } from "./TrmManifestPostActivity";
2
+ export declare class PostActivity {
3
+ data: TrmManifestPostActivity;
4
+ private _xml;
5
+ private _descriptions;
6
+ constructor(data: TrmManifestPostActivity);
7
+ execute(silent?: boolean): Promise<void>;
8
+ getDescription(): Promise<string>;
9
+ private getAbapXml;
10
+ static exists(className: string): Promise<boolean>;
11
+ }