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.
Files changed (129) hide show
  1. package/changelog.txt +29 -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 +6 -2
  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 +91 -0
  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 +69 -5
  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 +124 -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
@@ -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._fileNames = Transport._getFileNames(trkorr, systemConnector_1.SystemConnector.getDest());
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 e070 = yield systemConnector_1.SystemConnector.readTable('E070', [{ fieldName: 'TRKORR' }, { fieldName: 'TRFUNCTION' }, { fieldName: 'AS4DATE' }, { fieldName: 'AS4TIME' }], `TRKORR EQ '${this.trkorr}'`);
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
- this._e071 = yield systemConnector_1.SystemConnector.readTable('E071', [{ fieldName: 'PGMID' }, { fieldName: 'OBJECT' }, { fieldName: 'OBJ_NAME' }], `TRKORR EQ '${this.trkorr}'`);
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
- const e071 = yield this.getE071();
153
- const trmComments = e071.filter(o => o.pgmid === '*' && o.object === exports.COMMENT_OBJ);
154
- const hasName = trmComments.find(o => /name=/i.test(o.objName));
155
- const hasVersion = trmComments.find(o => /version=/i.test(o.objName));
156
- return (hasName && hasVersion) ? true : false;
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 doktl = yield systemConnector_1.SystemConnector.readTable('DOKTL', [{ fieldName: 'LANGU' }, { fieldName: 'DOKVERSION' }, { fieldName: 'LINE' }, { fieldName: 'DOKTEXT' }], `ID EQ 'TA' AND OBJECT EQ '${this.trkorr}'`);
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
- const trmRelevant = yield this.isTrmRelevant();
279
- if (!trmRelevant) {
280
- return;
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
- try {
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
- const oTransport = new Transport(trkorr);
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 systemConnector_1.SystemConnector.getTransportStatus(this.trkorr);
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(transports: Transport[], manifest: Manifest, distFolder?: string): Promise<TrmArtifact>;
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(transports_1, manifest_2) {
163
- return __awaiter(this, arguments, void 0, function* (transports, manifest, distFolder = DIST_FOLDER) {
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.setDistFolder(distFolder);
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 { Registry } from "../registry";
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: 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: Registry, manifest?: Manifest);
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: Registry): boolean;
31
+ compareRegistry(registry: AbstractRegistry): boolean;
32
32
  compareName(name: string): boolean;
33
33
  private _viewLatest;
34
- static create(manifest: Manifest, registry: Registry): Promise<TrmPackage>;
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: Registry): Promise<string>;
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 registry_1.Registry.compare(this.registry, registry);
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.2.4",
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
- "/dist",
9
- "!dist/test.*"
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.6",
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
- "rimraf": "^6.0.1"
88
+ "typescript": "^5.8.2"
79
89
  }
80
90
  }