trm-core 6.2.5 → 6.3.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.
- package/changelog.txt +29 -0
- package/dist/abapgit/DotAbapGit.d.ts +8 -0
- package/dist/abapgit/DotAbapGit.js +80 -0
- package/dist/abapgit/index.d.ts +1 -0
- package/dist/abapgit/index.js +17 -0
- package/dist/actions/checkPackageDependencies/analyze.js +1 -1
- package/dist/actions/findDependencies/parseSenvi.js +3 -0
- package/dist/actions/findDependencies/setTrmDependencies.js +93 -36
- package/dist/actions/install/checkTransports.js +71 -1
- package/dist/actions/install/executePostActivities.d.ts +3 -0
- package/dist/actions/install/executePostActivities.js +62 -0
- package/dist/actions/install/generateInstallTransport.js +1 -0
- package/dist/actions/install/importCustTransport.js +1 -0
- package/dist/actions/install/importDevcTransport.js +4 -0
- package/dist/actions/install/importLangTransport.js +1 -0
- package/dist/actions/install/importTadirTransport.js +2 -0
- package/dist/actions/install/index.d.ts +9 -4
- package/dist/actions/install/index.js +7 -1
- package/dist/actions/install/init.js +19 -3
- package/dist/actions/install/installDependencies.js +1 -9
- package/dist/actions/install/migrate.d.ts +3 -0
- package/dist/actions/install/migrate.js +35 -0
- package/dist/actions/install/readTadir.js +41 -2
- package/dist/actions/install/refreshTmsTxt.d.ts +3 -0
- package/dist/actions/install/refreshTmsTxt.js +33 -0
- package/dist/actions/install/setInstallDevclass.js +11 -1
- package/dist/actions/installDependency/index.d.ts +2 -2
- package/dist/actions/installDependency/init.js +4 -0
- package/dist/actions/publish/findDependencies.js +20 -15
- package/dist/actions/publish/generateCustTransport.js +2 -0
- package/dist/actions/publish/generateDevcTransport.js +2 -0
- package/dist/actions/publish/generateLangTransport.js +4 -0
- package/dist/actions/publish/generateTadirTransport.js +15 -1
- package/dist/actions/publish/getSourceCode.d.ts +3 -0
- package/dist/actions/publish/getSourceCode.js +36 -0
- package/dist/actions/publish/index.d.ts +12 -3
- package/dist/actions/publish/index.js +2 -0
- package/dist/actions/publish/init.js +10 -2
- package/dist/actions/publish/publishToRegistry.js +5 -1
- package/dist/actions/publish/setManifestValues.js +69 -1
- package/dist/actions/publish/setReadme.js +8 -1
- package/dist/client/RESTClient.d.ts +11 -0
- package/dist/client/RESTClient.js +91 -0
- package/dist/client/RFCClient.d.ts +11 -0
- package/dist/client/RFCClient.js +104 -19
- package/dist/client/components/LANGU.d.ts +1 -0
- package/dist/client/components/LANGU.js +2 -0
- package/dist/client/components/SEOCLSNAME.d.ts +1 -0
- package/dist/client/components/SEOCLSNAME.js +2 -0
- package/dist/client/components/SEODESCR.d.ts +1 -0
- package/dist/client/components/SEODESCR.js +2 -0
- package/dist/client/components/SYMSGID.d.ts +1 -0
- package/dist/client/components/SYMSGID.js +2 -0
- package/dist/client/components/SYMSGNO.d.ts +1 -0
- package/dist/client/components/SYMSGNO.js +2 -0
- package/dist/client/components/SYMSGTY.d.ts +1 -0
- package/dist/client/components/SYMSGTY.js +2 -0
- package/dist/client/components/SYMSGV.d.ts +1 -0
- package/dist/client/components/SYMSGV.js +2 -0
- package/dist/client/components/TRSTATUS.d.ts +1 -0
- package/dist/client/components/TRSTATUS.js +2 -0
- package/dist/client/components/ZTRM_TRKORR.d.ts +1 -0
- package/dist/client/components/ZTRM_TRKORR.js +2 -0
- package/dist/client/components/index.d.ts +9 -0
- package/dist/client/components/index.js +9 -0
- package/dist/client/struct/E070.d.ts +2 -1
- package/dist/client/struct/SEOCLASSTX.d.ts +6 -0
- package/dist/client/struct/SEOCLASSTX.js +2 -0
- package/dist/client/struct/SYMSG.d.ts +10 -0
- package/dist/client/struct/SYMSG.js +2 -0
- package/dist/client/struct/index.d.ts +2 -0
- package/dist/client/struct/index.js +2 -0
- package/dist/commons/checkCoreTrmDependencies.d.ts +7 -0
- package/dist/commons/checkCoreTrmDependencies.js +49 -0
- package/dist/commons/getCoreTrmDependencies.d.ts +3 -0
- package/dist/commons/getCoreTrmDependencies.js +8 -0
- package/dist/commons/getNodePackage.d.ts +1 -0
- package/dist/commons/getNodePackage.js +61 -0
- package/dist/commons/index.d.ts +3 -0
- package/dist/commons/index.js +3 -0
- package/dist/logger/CliLogger.d.ts +1 -0
- package/dist/logger/CliLogger.js +19 -0
- package/dist/logger/ConsoleLogger.d.ts +1 -0
- package/dist/logger/ConsoleLogger.js +19 -0
- package/dist/logger/DummyLogger.d.ts +1 -0
- package/dist/logger/DummyLogger.js +1 -0
- package/dist/logger/ILogger.d.ts +1 -0
- package/dist/logger/Logger.d.ts +1 -0
- package/dist/logger/Logger.js +5 -0
- package/dist/manifest/Manifest.d.ts +1 -0
- package/dist/manifest/Manifest.js +69 -5
- package/dist/manifest/PostActivity.d.ts +11 -0
- package/dist/manifest/PostActivity.js +150 -0
- package/dist/manifest/TrmManifest.d.ts +1 -0
- package/dist/manifest/TrmManifestBase.d.ts +2 -0
- package/dist/manifest/TrmManifestNamespace.d.ts +1 -0
- package/dist/manifest/TrmManifestPostActivity.d.ts +7 -0
- package/dist/manifest/TrmManifestPostActivity.js +2 -0
- package/dist/manifest/index.d.ts +2 -0
- package/dist/manifest/index.js +2 -0
- package/dist/registry/AbstractRegistry.d.ts +19 -0
- package/dist/registry/AbstractRegistry.js +6 -0
- package/dist/registry/FileSystem.d.ts +23 -0
- package/dist/registry/FileSystem.js +161 -0
- package/dist/registry/Registry.d.ts +4 -3
- package/dist/registry/Registry.js +8 -5
- package/dist/registry/RegistryProvider.d.ts +5 -0
- package/dist/registry/RegistryProvider.js +35 -0
- package/dist/registry/RegistryType.d.ts +2 -1
- package/dist/registry/RegistryType.js +1 -0
- package/dist/registry/index.d.ts +3 -1
- package/dist/registry/index.js +3 -1
- package/dist/systemConnector/ISystemConnector.d.ts +11 -0
- package/dist/systemConnector/ISystemConnectorBase.d.ts +4 -3
- package/dist/systemConnector/RESTSystemConnector.d.ts +11 -0
- package/dist/systemConnector/RESTSystemConnector.js +40 -0
- package/dist/systemConnector/RFCSystemConnector.d.ts +11 -0
- package/dist/systemConnector/RFCSystemConnector.js +40 -0
- package/dist/systemConnector/SystemConnector.d.ts +15 -3
- package/dist/systemConnector/SystemConnector.js +65 -2
- package/dist/systemConnector/SystemConnectorBase.d.ts +8 -5
- package/dist/systemConnector/SystemConnectorBase.js +86 -41
- package/dist/transport/Transport.d.ts +13 -3
- package/dist/transport/Transport.js +124 -39
- package/dist/trmPackage/TrmArtifact.d.ts +9 -2
- package/dist/trmPackage/TrmArtifact.js +30 -9
- package/dist/trmPackage/TrmPackage.d.ts +6 -6
- package/dist/trmPackage/TrmPackage.js +1 -2
- package/package.json +18 -8
|
@@ -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,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
|
+
}
|
package/dist/commons/index.d.ts
CHANGED
|
@@ -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";
|
package/dist/commons/index.js
CHANGED
|
@@ -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);
|
package/dist/logger/CliLogger.js
CHANGED
|
@@ -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;
|
|
@@ -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;
|
package/dist/logger/ILogger.d.ts
CHANGED
|
@@ -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
|
}
|
package/dist/logger/Logger.d.ts
CHANGED
package/dist/logger/Logger.js
CHANGED
|
@@ -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 = [];
|
|
@@ -280,14 +294,13 @@ class Manifest {
|
|
|
280
294
|
}
|
|
281
295
|
getPackage() {
|
|
282
296
|
const manifest = this.get(true);
|
|
283
|
-
const registry =
|
|
297
|
+
const registry = registry_1.RegistryProvider.getRegistry(manifest.registry);
|
|
284
298
|
return new trmPackage_1.TrmPackage(manifest.name, registry, this);
|
|
285
299
|
}
|
|
286
300
|
static normalize(manifest, keepRuntimeValues) {
|
|
287
301
|
var manifestClone = lodash_1.default.cloneDeep(manifest);
|
|
288
302
|
if (!keepRuntimeValues) {
|
|
289
303
|
delete manifestClone.linkedTransport;
|
|
290
|
-
delete manifestClone.registry;
|
|
291
304
|
}
|
|
292
305
|
if (!manifestClone.name) {
|
|
293
306
|
throw new Error('Package name missing.');
|
|
@@ -304,6 +317,11 @@ class Manifest {
|
|
|
304
317
|
throw new Error('Invalid package version declared.');
|
|
305
318
|
}
|
|
306
319
|
}
|
|
320
|
+
if (manifestClone.registry) {
|
|
321
|
+
if (manifestClone.registry === registry_1.PUBLIC_RESERVED_KEYWORD) {
|
|
322
|
+
delete manifestClone.registry;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
307
325
|
manifestClone.private = manifestClone.private ? true : false;
|
|
308
326
|
manifestClone.backwardsCompatible = manifestClone.backwardsCompatible ? true : false;
|
|
309
327
|
if (manifestClone.git) {
|
|
@@ -506,6 +524,49 @@ class Manifest {
|
|
|
506
524
|
else {
|
|
507
525
|
delete manifestClone.distFolder;
|
|
508
526
|
}
|
|
527
|
+
if (manifestClone.srcFolder) {
|
|
528
|
+
try {
|
|
529
|
+
manifestClone.srcFolder = manifestClone.srcFolder.replace(/^\//, '');
|
|
530
|
+
manifestClone.srcFolder = manifestClone.srcFolder.replace(/\/$/, '');
|
|
531
|
+
}
|
|
532
|
+
catch (e) {
|
|
533
|
+
delete manifestClone.srcFolder;
|
|
534
|
+
}
|
|
535
|
+
}
|
|
536
|
+
else {
|
|
537
|
+
delete manifestClone.srcFolder;
|
|
538
|
+
}
|
|
539
|
+
if (manifestClone.postActivities && manifestClone.postActivities.length > 0) {
|
|
540
|
+
var originalPostActivities = manifestClone.postActivities;
|
|
541
|
+
delete manifestClone.postActivities;
|
|
542
|
+
originalPostActivities.forEach((pa) => {
|
|
543
|
+
if (!pa.name) {
|
|
544
|
+
throw new Error(`Invalid post activity: name must be declared.`);
|
|
545
|
+
}
|
|
546
|
+
pa.name = pa.name.toUpperCase();
|
|
547
|
+
if (Array.isArray(pa.parameters)) {
|
|
548
|
+
manifestClone.postActivities = [];
|
|
549
|
+
pa.parameters.forEach(param => {
|
|
550
|
+
if (!param.name) {
|
|
551
|
+
throw new Error(`Invalid post activity: parameter name must be declared.`);
|
|
552
|
+
}
|
|
553
|
+
param.name = param.name.toUpperCase();
|
|
554
|
+
});
|
|
555
|
+
manifestClone.postActivities.push({
|
|
556
|
+
name: pa.name,
|
|
557
|
+
parameters: pa.parameters
|
|
558
|
+
});
|
|
559
|
+
}
|
|
560
|
+
else {
|
|
561
|
+
manifestClone.postActivities.push({
|
|
562
|
+
name: pa.name
|
|
563
|
+
});
|
|
564
|
+
}
|
|
565
|
+
});
|
|
566
|
+
}
|
|
567
|
+
else {
|
|
568
|
+
delete manifestClone.postActivities;
|
|
569
|
+
}
|
|
509
570
|
return manifestClone;
|
|
510
571
|
}
|
|
511
572
|
static fromAbapXml(sXml) {
|
|
@@ -545,7 +606,7 @@ class Manifest {
|
|
|
545
606
|
manifest.private = oAbapManifest.private.text === 'X';
|
|
546
607
|
}
|
|
547
608
|
if (oAbapManifest.registry && oAbapManifest.registry.text) {
|
|
548
|
-
manifest.registry = oAbapManifest.registry;
|
|
609
|
+
manifest.registry = oAbapManifest.registry.text;
|
|
549
610
|
}
|
|
550
611
|
if (oAbapManifest.git && oAbapManifest.git.text) {
|
|
551
612
|
manifest.git = oAbapManifest.git.text;
|
|
@@ -556,11 +617,14 @@ class Manifest {
|
|
|
556
617
|
if (oAbapManifest.license && oAbapManifest.license.text) {
|
|
557
618
|
manifest.license = oAbapManifest.license.text;
|
|
558
619
|
}
|
|
559
|
-
if (oAbapManifest.replicense) {
|
|
620
|
+
if (oAbapManifest.replicense && oAbapManifest.replicense.text) {
|
|
560
621
|
manifest.namespace = {
|
|
561
622
|
replicense: oAbapManifest.replicense.text,
|
|
562
623
|
texts: []
|
|
563
624
|
};
|
|
625
|
+
if (oAbapManifest.ns && oAbapManifest.ns.text) {
|
|
626
|
+
manifest.namespace.ns = oAbapManifest.ns.text;
|
|
627
|
+
}
|
|
564
628
|
if (oAbapManifest.replicenseT && oAbapManifest.replicenseT.item) {
|
|
565
629
|
if (Array.isArray(oAbapManifest.replicenseT.item)) {
|
|
566
630
|
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
|
+
}
|
|
@@ -0,0 +1,150 @@
|
|
|
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
exports.PostActivity = void 0;
|
|
46
|
+
const systemConnector_1 = require("../systemConnector");
|
|
47
|
+
const xml = __importStar(require("xml-js"));
|
|
48
|
+
const logger_1 = require("../logger");
|
|
49
|
+
class PostActivity {
|
|
50
|
+
constructor(data) {
|
|
51
|
+
this.data = data;
|
|
52
|
+
this._xml = this.getAbapXml(this.data);
|
|
53
|
+
if (!this._xml) {
|
|
54
|
+
throw new Error(`Can't parse post activity.`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
execute(silent) {
|
|
58
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
logger_1.Logger.loading(`Executing post activity: ${this.data.name}`, silent);
|
|
60
|
+
if (!PostActivity.exists(this.data.name)) {
|
|
61
|
+
throw new Error(`Class "${this.data.name}" doesn't exist.`);
|
|
62
|
+
}
|
|
63
|
+
const description = yield this.getDescription();
|
|
64
|
+
logger_1.Logger.loading(`Executing post activity: ${description}`, silent);
|
|
65
|
+
const messages = yield systemConnector_1.SystemConnector.executePostActivity(Buffer.from(this._xml, 'utf8'));
|
|
66
|
+
if (messages && messages.length > 0) {
|
|
67
|
+
for (const message of messages) {
|
|
68
|
+
const parsedMessage = yield systemConnector_1.SystemConnector.getMessage({
|
|
69
|
+
class: message.msgid,
|
|
70
|
+
no: message.msgno,
|
|
71
|
+
v1: message.msgv1,
|
|
72
|
+
v2: message.msgv2,
|
|
73
|
+
v3: message.msgv3,
|
|
74
|
+
v4: message.msgv4,
|
|
75
|
+
});
|
|
76
|
+
logger_1.Logger.msgty(message.msgty, parsedMessage, silent);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
logger_1.Logger.success(`Executed post activity: ${this.getDescription()}`, silent);
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
getDescription() {
|
|
85
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
86
|
+
if (this._descriptions === undefined) {
|
|
87
|
+
this._descriptions = yield systemConnector_1.SystemConnector.readClassDescriptions(this.data.name);
|
|
88
|
+
}
|
|
89
|
+
if (!this._descriptions || this._descriptions.length === 0) {
|
|
90
|
+
return this.data.name || `Unknown`;
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
if (this._descriptions.find(o => o.langu === systemConnector_1.SystemConnector.getLogonLanguage(true))) {
|
|
94
|
+
return this._descriptions.find(o => o.langu === systemConnector_1.SystemConnector.getLogonLanguage(true)).descript;
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
return this._descriptions[0].descript;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
getAbapXml(data) {
|
|
103
|
+
var oAbapXml = {
|
|
104
|
+
"_declaration": {
|
|
105
|
+
"_attributes": {
|
|
106
|
+
"version": "1.0",
|
|
107
|
+
"encoding": "utf-8"
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
"asx:abap": {
|
|
111
|
+
"_attributes": {
|
|
112
|
+
"xmlns:asx": "http://www.sap.com/abapxml",
|
|
113
|
+
"version": "1.0"
|
|
114
|
+
},
|
|
115
|
+
"asx:values": {
|
|
116
|
+
"DATA": {
|
|
117
|
+
"NAME": {
|
|
118
|
+
"_text": data.name
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
if (Array.isArray(data.parameters)) {
|
|
125
|
+
var parameters = data.parameters.map(param => {
|
|
126
|
+
return {
|
|
127
|
+
"NAME": {
|
|
128
|
+
"_text": param.name
|
|
129
|
+
},
|
|
130
|
+
"VALUE": {
|
|
131
|
+
"_text": param.value || ''
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
});
|
|
135
|
+
if (parameters.length > 0) {
|
|
136
|
+
oAbapXml['asx:abap']['asx:values']['DATA']['PARAMETERS'] = {
|
|
137
|
+
"item": parameters
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return xml.js2xml(oAbapXml, { compact: true });
|
|
142
|
+
}
|
|
143
|
+
static exists(className) {
|
|
144
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
145
|
+
const classObject = systemConnector_1.SystemConnector.getObject('R3TR', 'CLAS', className.trim().toUpperCase());
|
|
146
|
+
return classObject ? true : false;
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
exports.PostActivity = PostActivity;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { TrmManifestAuthor } from "./TrmManifestAuthor";
|
|
2
2
|
import { TrmManifestDependency } from "./TrmManifestDependency";
|
|
3
|
+
import { TrmManifestPostActivity } from "./TrmManifestPostActivity";
|
|
3
4
|
export interface TrmManifestBase {
|
|
4
5
|
backwardsCompatible?: boolean;
|
|
5
6
|
description?: string;
|
|
@@ -10,4 +11,5 @@ export interface TrmManifestBase {
|
|
|
10
11
|
keywords?: string | string[];
|
|
11
12
|
dependencies?: TrmManifestDependency[];
|
|
12
13
|
sapEntries?: any;
|
|
14
|
+
postActivities?: TrmManifestPostActivity[];
|
|
13
15
|
}
|
package/dist/manifest/index.d.ts
CHANGED
package/dist/manifest/index.js
CHANGED
|
@@ -20,3 +20,5 @@ __exportStar(require("./TrmManifest"), exports);
|
|
|
20
20
|
__exportStar(require("./TrmManifestAuthor"), exports);
|
|
21
21
|
__exportStar(require("./TrmManifestDependency"), exports);
|
|
22
22
|
__exportStar(require("./TrmManifestNamespace"), exports);
|
|
23
|
+
__exportStar(require("./TrmManifestPostActivity"), exports);
|
|
24
|
+
__exportStar(require("./PostActivity"), exports);
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Ping, Release, View, WhoAmI } from "trm-registry-types";
|
|
2
|
+
import { RegistryType } from "./RegistryType";
|
|
3
|
+
import { TrmArtifact } from "../trmPackage";
|
|
4
|
+
export declare abstract class AbstractRegistry {
|
|
5
|
+
endpoint: string;
|
|
6
|
+
name: string;
|
|
7
|
+
abstract compare: (registry: AbstractRegistry) => boolean;
|
|
8
|
+
getRegistryType: () => RegistryType;
|
|
9
|
+
authenticate: (defaultData: any) => Promise<AbstractRegistry>;
|
|
10
|
+
getAuthData: () => any;
|
|
11
|
+
ping: () => Promise<Ping>;
|
|
12
|
+
whoAmI: () => Promise<WhoAmI>;
|
|
13
|
+
packageExists: (name: string, version?: string) => Promise<boolean>;
|
|
14
|
+
view: (name: string, version: string) => Promise<View>;
|
|
15
|
+
getArtifact: (name: string, version: string) => Promise<TrmArtifact>;
|
|
16
|
+
publishArtifact: (packageName: string, version: string, artifact: TrmArtifact, readme?: string) => Promise<void>;
|
|
17
|
+
unpublish: (packageName: string, version: string) => Promise<void>;
|
|
18
|
+
getReleases: (packageName: string, versionRange: string) => Promise<Release[]>;
|
|
19
|
+
}
|