trm-core 6.2.4 → 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 +6 -2
- 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
|
@@ -60,19 +60,47 @@ const CliLogFileLogger_1 = require("../logger/CliLogFileLogger");
|
|
|
60
60
|
const systemConnector_1 = require("../systemConnector");
|
|
61
61
|
exports.COMMENT_OBJ = 'ZTRM';
|
|
62
62
|
class Transport {
|
|
63
|
-
constructor(trkorr, _trTarget) {
|
|
63
|
+
constructor(trkorr, _trTarget, _migration) {
|
|
64
64
|
this.trkorr = trkorr;
|
|
65
65
|
this._trTarget = _trTarget;
|
|
66
|
-
this.
|
|
66
|
+
this._migration = _migration;
|
|
67
|
+
if (!this._migration) {
|
|
68
|
+
this._fileNames = Transport._getFileNames(trkorr, systemConnector_1.SystemConnector.getDest());
|
|
69
|
+
}
|
|
67
70
|
}
|
|
68
71
|
setTrmIdentifier(identifier) {
|
|
69
72
|
this.trmIdentifier = identifier;
|
|
70
73
|
return this;
|
|
71
74
|
}
|
|
75
|
+
isImported() {
|
|
76
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
77
|
+
const sourceTransports = yield systemConnector_1.SystemConnector.getSourceTrkorr();
|
|
78
|
+
return !sourceTransports.includes(this.trkorr);
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
isIgnored() {
|
|
82
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
83
|
+
const ignoredTransports = yield systemConnector_1.SystemConnector.getIgnoredTrkorr();
|
|
84
|
+
return ignoredTransports.includes(this.trkorr);
|
|
85
|
+
});
|
|
86
|
+
}
|
|
72
87
|
getE070() {
|
|
73
88
|
return __awaiter(this, void 0, void 0, function* () {
|
|
74
89
|
if (!this._e070) {
|
|
75
|
-
const
|
|
90
|
+
const fields = [
|
|
91
|
+
{ fieldName: 'TRKORR' },
|
|
92
|
+
{ fieldName: 'TRFUNCTION' },
|
|
93
|
+
{ fieldName: 'TRSTATUS' },
|
|
94
|
+
{ fieldName: 'AS4DATE' },
|
|
95
|
+
{ fieldName: 'AS4TIME' }
|
|
96
|
+
];
|
|
97
|
+
var e070;
|
|
98
|
+
if (!this._migration) {
|
|
99
|
+
e070 = yield systemConnector_1.SystemConnector.readTable('E070', fields, `TRKORR EQ '${this.trkorr}'`);
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
e070 = yield systemConnector_1.SystemConnector.readTable('ZTRM_E070', fields, `TRM_TRKORR EQ '${this.trkorr}'`);
|
|
103
|
+
}
|
|
76
104
|
if (e070.length === 1) {
|
|
77
105
|
this._e070 = e070[0];
|
|
78
106
|
}
|
|
@@ -83,7 +111,17 @@ class Transport {
|
|
|
83
111
|
getE071() {
|
|
84
112
|
return __awaiter(this, void 0, void 0, function* () {
|
|
85
113
|
if (!this._e071) {
|
|
86
|
-
|
|
114
|
+
const fields = [
|
|
115
|
+
{ fieldName: 'PGMID' },
|
|
116
|
+
{ fieldName: 'OBJECT' },
|
|
117
|
+
{ fieldName: 'OBJ_NAME' }
|
|
118
|
+
];
|
|
119
|
+
if (!this._migration) {
|
|
120
|
+
this._e071 = yield systemConnector_1.SystemConnector.readTable('E071', fields, `TRKORR EQ '${this.trkorr}'`);
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
this._e071 = yield systemConnector_1.SystemConnector.readTable('ZTRM_E071', fields, `TRM_TROKRR EQ '${this.trkorr}'`);
|
|
124
|
+
}
|
|
87
125
|
}
|
|
88
126
|
return this._e071;
|
|
89
127
|
});
|
|
@@ -149,11 +187,14 @@ class Transport {
|
|
|
149
187
|
}
|
|
150
188
|
isTrmRelevant() {
|
|
151
189
|
return __awaiter(this, void 0, void 0, function* () {
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
190
|
+
if (this._trmRelevant === undefined) {
|
|
191
|
+
const e071 = yield this.getE071();
|
|
192
|
+
const trmComments = e071.filter(o => o.pgmid === '*' && o.object === exports.COMMENT_OBJ);
|
|
193
|
+
const hasName = trmComments.find(o => /name=/i.test(o.objName));
|
|
194
|
+
const hasVersion = trmComments.find(o => /version=/i.test(o.objName));
|
|
195
|
+
this._trmRelevant = (hasName && hasVersion) ? true : false;
|
|
196
|
+
}
|
|
197
|
+
return this._trmRelevant;
|
|
157
198
|
});
|
|
158
199
|
}
|
|
159
200
|
download() {
|
|
@@ -205,7 +246,14 @@ class Transport {
|
|
|
205
246
|
return __awaiter(this, void 0, void 0, function* () {
|
|
206
247
|
if (!this._docs || this._docs.length === 0) {
|
|
207
248
|
logger_1.Logger.loading(`Reading ${this.trkorr} documentation...`, true);
|
|
208
|
-
const
|
|
249
|
+
const fields = [{ fieldName: 'LANGU' }, { fieldName: 'DOKVERSION' }, { fieldName: 'LINE' }, { fieldName: 'DOKTEXT' }];
|
|
250
|
+
var doktl;
|
|
251
|
+
if (!this._migration) {
|
|
252
|
+
doktl = yield systemConnector_1.SystemConnector.readTable('DOKTL', fields, `ID EQ 'TA' AND OBJECT EQ '${this.trkorr}'`);
|
|
253
|
+
}
|
|
254
|
+
else {
|
|
255
|
+
doktl = yield systemConnector_1.SystemConnector.readTable('ZTRM_DOKTL', fields, `TRM_TROKRR EQ '${this.trkorr}'`);
|
|
256
|
+
}
|
|
209
257
|
this._docs = Transport.doktlToDoc(doktl);
|
|
210
258
|
this._docs = this._docs.sort((a, b) => b.version - a.version);
|
|
211
259
|
logger_1.Logger.success(`Found ${this.trkorr} ${this._docs.length} documentation.`, true);
|
|
@@ -249,6 +297,11 @@ class Transport {
|
|
|
249
297
|
yield systemConnector_1.SystemConnector.addToTransportRequest(this.trkorr, objects, lock);
|
|
250
298
|
});
|
|
251
299
|
}
|
|
300
|
+
removeComments() {
|
|
301
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
302
|
+
yield systemConnector_1.SystemConnector.removeComments(this.trkorr, exports.COMMENT_OBJ);
|
|
303
|
+
});
|
|
304
|
+
}
|
|
252
305
|
addComment(comment) {
|
|
253
306
|
return __awaiter(this, void 0, void 0, function* () {
|
|
254
307
|
yield systemConnector_1.SystemConnector.addToTransportRequest(this.trkorr, [{
|
|
@@ -275,34 +328,37 @@ class Transport {
|
|
|
275
328
|
}
|
|
276
329
|
getLinkedPackage() {
|
|
277
330
|
return __awaiter(this, void 0, void 0, function* () {
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
var oTrmPackage;
|
|
283
|
-
const aDocumentation = yield this.getDocumentation();
|
|
284
|
-
const logonLanguage = systemConnector_1.SystemConnector.getLogonLanguage(true);
|
|
285
|
-
const oDocumentationLang = aDocumentation.find(o => o.langu === logonLanguage);
|
|
286
|
-
var docVal;
|
|
287
|
-
if (oDocumentationLang) {
|
|
288
|
-
docVal = oDocumentationLang.value;
|
|
289
|
-
}
|
|
290
|
-
else {
|
|
291
|
-
if (aDocumentation.length > 0) {
|
|
292
|
-
docVal = aDocumentation[0].value;
|
|
331
|
+
if (!this._linkedTrmPackage) {
|
|
332
|
+
const trmRelevant = yield this.isTrmRelevant();
|
|
333
|
+
if (!trmRelevant) {
|
|
334
|
+
return;
|
|
293
335
|
}
|
|
336
|
+
var oTrmPackage;
|
|
337
|
+
const aDocumentation = yield this.getDocumentation();
|
|
338
|
+
const logonLanguage = systemConnector_1.SystemConnector.getLogonLanguage(true);
|
|
339
|
+
const oDocumentationLang = aDocumentation.find(o => o.langu === logonLanguage);
|
|
340
|
+
var docVal;
|
|
341
|
+
if (oDocumentationLang) {
|
|
342
|
+
docVal = oDocumentationLang.value;
|
|
343
|
+
}
|
|
344
|
+
else {
|
|
345
|
+
if (aDocumentation.length > 0) {
|
|
346
|
+
docVal = aDocumentation[0].value;
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
try {
|
|
350
|
+
oTrmPackage = manifest_1.Manifest.fromAbapXml(docVal).setLinkedTransport(this).getPackage();
|
|
351
|
+
}
|
|
352
|
+
catch (e) {
|
|
353
|
+
}
|
|
354
|
+
try {
|
|
355
|
+
oTrmPackage.setDevclass(yield this.getDevclass());
|
|
356
|
+
}
|
|
357
|
+
catch (e) {
|
|
358
|
+
}
|
|
359
|
+
this._linkedTrmPackage = oTrmPackage;
|
|
294
360
|
}
|
|
295
|
-
|
|
296
|
-
oTrmPackage = manifest_1.Manifest.fromAbapXml(docVal).setLinkedTransport(this).getPackage();
|
|
297
|
-
}
|
|
298
|
-
catch (e) {
|
|
299
|
-
}
|
|
300
|
-
try {
|
|
301
|
-
oTrmPackage.setDevclass(yield this.getDevclass());
|
|
302
|
-
}
|
|
303
|
-
catch (e) {
|
|
304
|
-
}
|
|
305
|
-
return oTrmPackage;
|
|
361
|
+
return this._linkedTrmPackage;
|
|
306
362
|
});
|
|
307
363
|
}
|
|
308
364
|
delete() {
|
|
@@ -645,14 +701,17 @@ class Transport {
|
|
|
645
701
|
return new Transport(trkorr, data.trTarget);
|
|
646
702
|
});
|
|
647
703
|
}
|
|
648
|
-
static getTransportsFromObject(objectKeys) {
|
|
704
|
+
static getTransportsFromObject(objectKeys, transportsCache) {
|
|
649
705
|
return __awaiter(this, void 0, void 0, function* () {
|
|
650
706
|
var transports = [];
|
|
651
707
|
const aSkipTrkorr = yield systemConnector_1.SystemConnector.getIgnoredTrkorr();
|
|
652
708
|
const objectInTransport = (yield systemConnector_1.SystemConnector.readTable('E071', [{ fieldName: 'TRKORR' }], `PGMID EQ '${objectKeys.pgmid.trim().toUpperCase()}' AND OBJECT EQ '${objectKeys.object.trim().toUpperCase()}' AND OBJ_NAME EQ '${objectKeys.objName.trim().toUpperCase()}'`)).map(o => o.trkorr).filter(trkorr => !aSkipTrkorr.includes(trkorr));
|
|
653
709
|
for (const trkorr of objectInTransport) {
|
|
654
710
|
try {
|
|
655
|
-
|
|
711
|
+
var oTransport = (transportsCache || []).find(o => o.trkorr === trkorr);
|
|
712
|
+
if (!oTransport) {
|
|
713
|
+
oTransport = new Transport(trkorr);
|
|
714
|
+
}
|
|
656
715
|
const e070 = yield oTransport.getE070();
|
|
657
716
|
if (e070.trfunction !== 'K' && e070.trfunction !== 'S' && e070.trfunction !== 'R' && e070.trfunction !== 'T') {
|
|
658
717
|
throw new Error(`Unexpected TRFUNCTION for transport ${trkorr}: ${e070.trfunction}`);
|
|
@@ -718,14 +777,40 @@ class Transport {
|
|
|
718
777
|
}
|
|
719
778
|
canBeDeleted() {
|
|
720
779
|
return __awaiter(this, void 0, void 0, function* () {
|
|
721
|
-
const status = yield
|
|
780
|
+
const status = (yield this.getE070()).trstatus;
|
|
722
781
|
return status === 'D';
|
|
723
782
|
});
|
|
724
783
|
}
|
|
784
|
+
isReleased() {
|
|
785
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
786
|
+
const status = (yield this.getE070()).trstatus;
|
|
787
|
+
return status === 'R' || status === 'N';
|
|
788
|
+
});
|
|
789
|
+
}
|
|
725
790
|
addObjectsFromTransport(from) {
|
|
726
791
|
return __awaiter(this, void 0, void 0, function* () {
|
|
727
792
|
yield systemConnector_1.SystemConnector.trCopy(from, this.trkorr, false);
|
|
728
793
|
});
|
|
729
794
|
}
|
|
795
|
+
migrate(rollback) {
|
|
796
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
797
|
+
if (!rollback) {
|
|
798
|
+
const trmTrkorr = yield systemConnector_1.SystemConnector.migrateTransport(this.trkorr);
|
|
799
|
+
return new Transport(trmTrkorr, null, true);
|
|
800
|
+
}
|
|
801
|
+
else {
|
|
802
|
+
}
|
|
803
|
+
});
|
|
804
|
+
}
|
|
805
|
+
deleteFromTms(system) {
|
|
806
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
807
|
+
yield systemConnector_1.SystemConnector.deleteTmsTransport(this.trkorr, system);
|
|
808
|
+
});
|
|
809
|
+
}
|
|
810
|
+
refreshTmsTxt() {
|
|
811
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
812
|
+
yield systemConnector_1.SystemConnector.refreshTransportTmsTxt(this.trkorr);
|
|
813
|
+
});
|
|
814
|
+
}
|
|
730
815
|
}
|
|
731
816
|
exports.Transport = Transport;
|
|
@@ -5,15 +5,22 @@ import { TransportBinary } from "./TransportBinary";
|
|
|
5
5
|
export declare class TrmArtifact {
|
|
6
6
|
binary: Buffer;
|
|
7
7
|
private _distFolder?;
|
|
8
|
+
private _srcFolder?;
|
|
8
9
|
private _manifest?;
|
|
9
10
|
private _zip;
|
|
10
11
|
private _binaries;
|
|
11
12
|
private _content;
|
|
12
|
-
constructor(binary: Buffer, _distFolder?: string, _manifest?: Manifest);
|
|
13
|
+
constructor(binary: Buffer, _distFolder?: string, _srcFolder?: string, _manifest?: Manifest);
|
|
13
14
|
getManifest(): Manifest | null;
|
|
14
15
|
replaceManifest(oManifest: Manifest): void;
|
|
15
16
|
getDistFolder(): string | null;
|
|
16
17
|
getTransportBinaries(r3transOption?: R3transOptions): Promise<TransportBinary[]>;
|
|
17
18
|
getContent(r3transConfig?: R3transOptions): Promise<any>;
|
|
18
|
-
static create(
|
|
19
|
+
static create(data: {
|
|
20
|
+
transports: Transport[];
|
|
21
|
+
manifest: Manifest;
|
|
22
|
+
sourceCode?: Buffer;
|
|
23
|
+
distFolder?: string;
|
|
24
|
+
srcFolder?: string;
|
|
25
|
+
}): Promise<TrmArtifact>;
|
|
19
26
|
}
|
|
@@ -48,10 +48,12 @@ const manifest_1 = require("../manifest");
|
|
|
48
48
|
const AdmZip = __importStar(require("adm-zip"));
|
|
49
49
|
const node_r3trans_1 = require("node-r3trans");
|
|
50
50
|
const DIST_FOLDER = 'dist';
|
|
51
|
+
const SRC_FOLDER = 'src';
|
|
51
52
|
class TrmArtifact {
|
|
52
|
-
constructor(binary, _distFolder, _manifest) {
|
|
53
|
+
constructor(binary, _distFolder, _srcFolder, _manifest) {
|
|
53
54
|
this.binary = binary;
|
|
54
55
|
this._distFolder = _distFolder;
|
|
56
|
+
this._srcFolder = _srcFolder;
|
|
55
57
|
this._manifest = _manifest;
|
|
56
58
|
this._zip = new AdmZip.default(binary);
|
|
57
59
|
}
|
|
@@ -159,15 +161,17 @@ class TrmArtifact {
|
|
|
159
161
|
return this._content || {};
|
|
160
162
|
});
|
|
161
163
|
}
|
|
162
|
-
static create(
|
|
163
|
-
return __awaiter(this,
|
|
164
|
-
logger_1.Logger.log(`Generating artifact with transports ${JSON.stringify(transports.map(o => o.trkorr))}`, true);
|
|
164
|
+
static create(data) {
|
|
165
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
166
|
+
logger_1.Logger.log(`Generating artifact with transports ${JSON.stringify(data.transports.map(o => o.trkorr))}`, true);
|
|
165
167
|
const artifact = new AdmZip.default();
|
|
168
|
+
data.distFolder = data.distFolder || DIST_FOLDER;
|
|
169
|
+
data.srcFolder = data.srcFolder || SRC_FOLDER;
|
|
166
170
|
logger_1.Logger.log(`Adding ZIP comment`, true);
|
|
167
171
|
artifact.addZipComment(`TRM Package`);
|
|
168
172
|
var binaries = [];
|
|
169
173
|
var packedTransports = [];
|
|
170
|
-
for (const transport of transports) {
|
|
174
|
+
for (const transport of data.transports) {
|
|
171
175
|
logger_1.Logger.log(`Downloading transport ${transport.trmIdentifier}`, true);
|
|
172
176
|
const trBinary = yield transport.download();
|
|
173
177
|
binaries.push({
|
|
@@ -191,10 +195,27 @@ class TrmArtifact {
|
|
|
191
195
|
}
|
|
192
196
|
for (const file of packedTransports) {
|
|
193
197
|
logger_1.Logger.log(`Adding packed transport ${file.comment} to artifact`, true);
|
|
194
|
-
artifact.addFile(`${distFolder}/${file.filename}`, file.binary, file.comment);
|
|
198
|
+
artifact.addFile(`${data.distFolder}/${file.filename}`, file.binary, file.comment);
|
|
199
|
+
}
|
|
200
|
+
data.manifest.setDistFolder(data.distFolder);
|
|
201
|
+
if (data.sourceCode) {
|
|
202
|
+
logger_1.Logger.log(`Adding source code`, true);
|
|
203
|
+
try {
|
|
204
|
+
if (data.srcFolder === data.distFolder) {
|
|
205
|
+
throw new Error(`Source code folder and build folder are identical.`);
|
|
206
|
+
}
|
|
207
|
+
const sourceCode = new AdmZip.default(data.sourceCode);
|
|
208
|
+
sourceCode.forEach((entry) => {
|
|
209
|
+
artifact.addFile(`${data.srcFolder}/${entry.rawEntryName}`, entry.getData(), `ABAPGIT`);
|
|
210
|
+
});
|
|
211
|
+
data.manifest.setSrcFolder(data.srcFolder);
|
|
212
|
+
}
|
|
213
|
+
catch (e) {
|
|
214
|
+
logger_1.Logger.error(e.toString(), true);
|
|
215
|
+
logger_1.Logger.error(`Couldn't add source code to TRM artifact!`);
|
|
216
|
+
}
|
|
195
217
|
}
|
|
196
|
-
manifest.
|
|
197
|
-
var oManifest = manifest.get(false);
|
|
218
|
+
var oManifest = data.manifest.get(false);
|
|
198
219
|
var oSapEntries = oManifest.sapEntries;
|
|
199
220
|
delete oManifest.sapEntries;
|
|
200
221
|
const manifestBuffer = Buffer.from(JSON.stringify(oManifest, null, 2), 'utf8');
|
|
@@ -205,7 +226,7 @@ class TrmArtifact {
|
|
|
205
226
|
logger_1.Logger.log(`Adding sap_entries.json`, true);
|
|
206
227
|
artifact.addFile(`sap_entries.json`, sapEntriesBuffer, `sap_entries`);
|
|
207
228
|
}
|
|
208
|
-
return new TrmArtifact(artifact.toBuffer(), distFolder, manifest);
|
|
229
|
+
return new TrmArtifact(artifact.toBuffer(), data.distFolder, data.srcFolder, data.manifest);
|
|
209
230
|
});
|
|
210
231
|
}
|
|
211
232
|
}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { Manifest } from "../manifest";
|
|
2
|
-
import {
|
|
2
|
+
import { AbstractRegistry } from "../registry";
|
|
3
3
|
import { TrmArtifact } from "./TrmArtifact";
|
|
4
4
|
import { DEVCLASS } from "../client";
|
|
5
5
|
import { R3transOptions } from "node-r3trans";
|
|
6
6
|
export declare const DEFAULT_VERSION: string;
|
|
7
7
|
export declare class TrmPackage {
|
|
8
8
|
packageName: string;
|
|
9
|
-
registry:
|
|
9
|
+
registry: AbstractRegistry;
|
|
10
10
|
manifest?: Manifest;
|
|
11
11
|
private _userAuthorizations;
|
|
12
12
|
private _canPublishReleasesCause;
|
|
13
13
|
private _remoteArtifacts;
|
|
14
14
|
private _remoteContent;
|
|
15
15
|
private _devclass;
|
|
16
|
-
constructor(packageName: string, registry:
|
|
16
|
+
constructor(packageName: string, registry: AbstractRegistry, manifest?: Manifest);
|
|
17
17
|
setDevclass(devclass: DEVCLASS): TrmPackage;
|
|
18
18
|
getDevclass(): DEVCLASS;
|
|
19
19
|
exists(version?: string): Promise<boolean>;
|
|
@@ -28,10 +28,10 @@ export declare class TrmPackage {
|
|
|
28
28
|
artifact: TrmArtifact;
|
|
29
29
|
readme?: string;
|
|
30
30
|
}): Promise<TrmPackage>;
|
|
31
|
-
compareRegistry(registry:
|
|
31
|
+
compareRegistry(registry: AbstractRegistry): boolean;
|
|
32
32
|
compareName(name: string): boolean;
|
|
33
33
|
private _viewLatest;
|
|
34
|
-
static create(manifest: Manifest, registry:
|
|
34
|
+
static create(manifest: Manifest, registry: AbstractRegistry): Promise<TrmPackage>;
|
|
35
35
|
static compare(o1: TrmPackage, o2: TrmPackage): boolean;
|
|
36
|
-
static normalizeVersion(packageName: string, version: string, registry:
|
|
36
|
+
static normalizeVersion(packageName: string, version: string, registry: AbstractRegistry): Promise<string>;
|
|
37
37
|
}
|
|
@@ -46,7 +46,6 @@ exports.TrmPackage = exports.DEFAULT_VERSION = void 0;
|
|
|
46
46
|
const semver = __importStar(require("semver"));
|
|
47
47
|
const logger_1 = require("../logger");
|
|
48
48
|
const manifest_1 = require("../manifest");
|
|
49
|
-
const registry_1 = require("../registry");
|
|
50
49
|
exports.DEFAULT_VERSION = "1.0.0";
|
|
51
50
|
class TrmPackage {
|
|
52
51
|
constructor(packageName, registry, manifest) {
|
|
@@ -137,7 +136,7 @@ class TrmPackage {
|
|
|
137
136
|
});
|
|
138
137
|
}
|
|
139
138
|
compareRegistry(registry) {
|
|
140
|
-
return
|
|
139
|
+
return this.registry.compare(registry);
|
|
141
140
|
}
|
|
142
141
|
compareName(name) {
|
|
143
142
|
return this.packageName.trim().toUpperCase() === name.trim().toUpperCase();
|
package/package.json
CHANGED
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "trm-core",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.3.0",
|
|
4
4
|
"description": "TRM (Transport Request Manager) Core",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"files": [
|
|
8
|
-
"
|
|
9
|
-
"
|
|
8
|
+
"changelog.txt",
|
|
9
|
+
"dist",
|
|
10
|
+
"!dist/test.js",
|
|
11
|
+
"!dist/test.js.map",
|
|
12
|
+
"!dist/test.d.ts",
|
|
13
|
+
"!dist/.env",
|
|
14
|
+
"!dist/dev_rfc.log"
|
|
10
15
|
],
|
|
11
16
|
"scripts": {
|
|
12
17
|
"cleanBuild": "rimraf dist/",
|
|
@@ -28,10 +33,14 @@
|
|
|
28
33
|
"email": "simone.gaffurini@regestaitalia.it"
|
|
29
34
|
},
|
|
30
35
|
"license": "MIT",
|
|
36
|
+
"trmDependencies": {
|
|
37
|
+
"trm-server": "^2.2.0"
|
|
38
|
+
},
|
|
31
39
|
"dependencies": {
|
|
32
40
|
"@esm2cjs/normalize-url": "^8.0.0",
|
|
33
41
|
"@inquirer/prompts": "^5.1.1",
|
|
34
42
|
"@simonegaffurini/sammarksworkflow": "^1.3.2-fork",
|
|
43
|
+
"@xmldom/xmldom": "^0.9.8",
|
|
35
44
|
"adm-zip": "^0.5.10",
|
|
36
45
|
"axios": "^1.7.9",
|
|
37
46
|
"chalk": "^4.1.2",
|
|
@@ -40,12 +49,14 @@
|
|
|
40
49
|
"dotenv": "^16.3.1",
|
|
41
50
|
"email-validator": "^2.0.4",
|
|
42
51
|
"express": "^4.18.2",
|
|
52
|
+
"get-root-path": "^3.0.1",
|
|
43
53
|
"get-stack-trace": "^3.1.1",
|
|
44
54
|
"loading-cli": "^1.1.0",
|
|
45
55
|
"lodash": "^4.17.21",
|
|
46
|
-
"node-r3trans": "^1.4.
|
|
56
|
+
"node-r3trans": "^1.4.7",
|
|
47
57
|
"object-keys-normalizer": "^1.0.1",
|
|
48
58
|
"opener": "^1.5.2",
|
|
59
|
+
"parse-multipart-data": "^1.5.0",
|
|
49
60
|
"print-tree": "^0.1.5",
|
|
50
61
|
"protocol-registry": "^1.4.0",
|
|
51
62
|
"semver": "^7.5.4",
|
|
@@ -54,8 +65,7 @@
|
|
|
54
65
|
"trm-registry-types": "^1.1.1",
|
|
55
66
|
"uuid": "^9.0.1",
|
|
56
67
|
"xml-beautify": "^1.2.3",
|
|
57
|
-
"xml-js": "^1.6.11"
|
|
58
|
-
"xmldom": "^0.6.0"
|
|
68
|
+
"xml-js": "^1.6.11"
|
|
59
69
|
},
|
|
60
70
|
"devDependencies": {
|
|
61
71
|
"@types/adm-zip": "^0.5.0",
|
|
@@ -71,10 +81,10 @@
|
|
|
71
81
|
"@types/semver-sort": "^0.0.1",
|
|
72
82
|
"@types/stack-trace": "^0.0.33",
|
|
73
83
|
"@types/uuid": "^9.0.8",
|
|
74
|
-
"@types/xmldom": "^0.1.32",
|
|
75
84
|
"jest": "^29.7.0",
|
|
85
|
+
"rimraf": "^6.0.1",
|
|
76
86
|
"ts-jest": "^29.1.2",
|
|
77
87
|
"ts-node": "^10.9.2",
|
|
78
|
-
"
|
|
88
|
+
"typescript": "^5.8.2"
|
|
79
89
|
}
|
|
80
90
|
}
|