trm-core 9.1.2 → 9.2.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 (38) hide show
  1. package/changelog.txt +12 -3
  2. package/dist/actions/cg3z/upload.js +2 -3
  3. package/dist/actions/install/addNamespace.js +2 -2
  4. package/dist/actions/install/checkAlreadyInstalled.js +18 -1
  5. package/dist/actions/install/checkTransports.js +1 -1
  6. package/dist/actions/install/generateInstallTransport.js +1 -1
  7. package/dist/actions/install/importCustTransport.js +2 -3
  8. package/dist/actions/install/importDevcTransport.js +13 -4
  9. package/dist/actions/install/importLangTransport.js +2 -3
  10. package/dist/actions/install/importTadirTransport.js +2 -3
  11. package/dist/actions/install/init.js +1 -1
  12. package/dist/actions/install/setInstallDevclass.js +4 -18
  13. package/dist/actions/install/updatePackageData.js +3 -1
  14. package/dist/actions/publish/findDependencies.js +1 -1
  15. package/dist/client/RESTClient.d.ts +4 -1
  16. package/dist/client/RESTClient.js +8 -3
  17. package/dist/client/RFCClient.d.ts +4 -1
  18. package/dist/client/RFCClient.js +5 -2
  19. package/dist/client/struct/ZTRM_DIRTY.d.ts +2 -1
  20. package/dist/dependencies/ObjectDependencies.js +1 -1
  21. package/dist/dependencies/PackageDependencies.d.ts +1 -1
  22. package/dist/dependencies/PackageDependencies.js +10 -35
  23. package/dist/lockfile/Lockfile.js +2 -2
  24. package/dist/registry/AbstractRegistry.d.ts +2 -2
  25. package/dist/registry/RegistryV2.d.ts +2 -2
  26. package/dist/registry/RegistryV2.js +17 -54
  27. package/dist/systemConnector/ISystemConnectorBase.d.ts +5 -2
  28. package/dist/systemConnector/RESTSystemConnector.d.ts +4 -1
  29. package/dist/systemConnector/RESTSystemConnector.js +2 -2
  30. package/dist/systemConnector/RFCSystemConnector.d.ts +4 -1
  31. package/dist/systemConnector/RFCSystemConnector.js +2 -2
  32. package/dist/systemConnector/SystemConnector.d.ts +5 -2
  33. package/dist/systemConnector/SystemConnector.js +4 -4
  34. package/dist/systemConnector/SystemConnectorBase.d.ts +9 -3
  35. package/dist/systemConnector/SystemConnectorBase.js +10 -52
  36. package/dist/transport/Transport.d.ts +1 -5
  37. package/dist/transport/Transport.js +2 -27
  38. package/package.json +6 -8
package/changelog.txt CHANGED
@@ -8,9 +8,18 @@ Legend
8
8
  + : added
9
9
  - : removed
10
10
 
11
- 2026-04-22 v9.1.1
12
- -------------------
13
- + import devc flag when all replacements are identical
11
+ 2026-04-21 v9.2.0
12
+ -------------------
13
+ * avoid useless transport unpack for reading transport number
14
+ ! usage with devc transport import when replacements are like original
15
+ * ignore namespace import error when doesnt exist
16
+ + optional filter installed packages
17
+ - optional log parameter
18
+ * install transport update in table
19
+ + confirm overwrite on dirty package
20
+ ! trm-server ^6.1.0
21
+ ! trm-commons ^4.0.0
22
+ ! node-r3trans ^2.0.2
14
23
 
15
24
  2026-04-21 v9.1.0
16
25
  -------------------
@@ -79,13 +79,12 @@ exports.upload = {
79
79
  throw new Error(`Transport header and data don't match!`);
80
80
  }
81
81
  trm_commons_1.Logger.loading(`Uploading transport ${transport_1.Transport.getTransportIcon()} ${context.output.trkorr}...`);
82
- yield transport_1.Transport.upload({
82
+ yield transport_1.Transport.upload(context.output.trkorr, {
83
83
  binary: {
84
84
  header: aHeader[0].getData(),
85
85
  data: aData[0].getData()
86
86
  },
87
- trTarget: systemConnector_1.SystemConnector.getDest(),
88
- r3transOption: context.rawInput.r3transOptions
87
+ trTarget: systemConnector_1.SystemConnector.getDest()
89
88
  });
90
89
  trm_commons_1.Logger.loading(`Forwarding transport ${transport_1.Transport.getTransportIcon()} ${context.output.trkorr}...`);
91
90
  yield systemConnector_1.SystemConnector.forwardTransport(context.output.trkorr, systemConnector_1.SystemConnector.getDest(), systemConnector_1.SystemConnector.getDest(), true);
@@ -42,11 +42,11 @@ exports.addNamespace = {
42
42
  }
43
43
  else {
44
44
  if (context.rawInput.installData.installDevclass.keepOriginal) {
45
- trm_commons_1.Logger.warning(`Install will continue but namespace ${context.runtime.installData.namespace} will not be installed and it's missing in ${systemConnector_1.SystemConnector.getDest()}. Either install with namespace import or create it manually later.`);
45
+ trm_commons_1.Logger.warning(`Install will continue without importing namespace ${context.runtime.installData.namespace}. Run install with namespace import or manually add namespace in SE03.`, context.runtime.installData.namespace === '/ATRM/');
46
46
  return;
47
47
  }
48
48
  if (context.rawInput.installData.installDevclass.skipNamespace) {
49
- throw new Error(`Cannot generate packages without namespace ${context.runtime.installData.namespace}. Run install with namespace import or do not rename install packages.`);
49
+ throw new Error(`Cannot generate packages without namespace ${context.runtime.installData.namespace}. Run install with namespace import or avoid renaming packages.`);
50
50
  }
51
51
  }
52
52
  var replicense;
@@ -13,6 +13,7 @@ exports.checkAlreadyInstalled = void 0;
13
13
  const trm_commons_1 = require("trm-commons");
14
14
  const manifest_1 = require("../../manifest");
15
15
  const semver_1 = require("semver");
16
+ const systemConnector_1 = require("../../systemConnector");
16
17
  exports.checkAlreadyInstalled = {
17
18
  name: 'check-already-installed',
18
19
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
@@ -27,7 +28,7 @@ exports.checkAlreadyInstalled = {
27
28
  context.runtime.update = true;
28
29
  if ((0, semver_1.eq)(installVersion, installedVersion)) {
29
30
  if (context.rawInput.packageData.overwrite) {
30
- trm_commons_1.Logger.info(`Package "${trmManifest.name}" version ${installedVersion} already installed.`);
31
+ trm_commons_1.Logger.info(`Package "${trmManifest.name}" version ${installedVersion} already installed, overwriting.`);
31
32
  }
32
33
  else {
33
34
  throw new Error(`Package "${trmManifest.name}" version ${installedVersion} already installed.`);
@@ -41,6 +42,22 @@ exports.checkAlreadyInstalled = {
41
42
  trm_commons_1.Logger.warning(`Downgrading ${installedVersion} -> ${installVersion}`);
42
43
  }
43
44
  }
45
+ if (context.runtime.installData.upgradingPackage.isDirty()) {
46
+ var ignoreDirty = false;
47
+ trm_commons_1.Logger.warning(`There are some changes on ${systemConnector_1.SystemConnector.getDest()} that may be overwritten!`);
48
+ trm_commons_1.Logger.warning(`Consider analyzing dirty entries for package "${trmManifest.name}"`);
49
+ if (!context.rawInput.contextData.noInquirer) {
50
+ ignoreDirty = (yield trm_commons_1.Inquirer.prompt({
51
+ message: `Continue with install?`,
52
+ type: 'confirm',
53
+ default: false,
54
+ name: 'ignoreDirty'
55
+ })).ignoreDirty;
56
+ }
57
+ if (!ignoreDirty) {
58
+ throw new Error(`Install of package "${trmManifest.name}" aborted.`);
59
+ }
60
+ }
44
61
  }
45
62
  else {
46
63
  context.runtime.update = false;
@@ -21,7 +21,7 @@ exports.checkTransports = {
21
21
  trm_commons_1.Logger.log('Check transports step', true);
22
22
  var checkExistance = [];
23
23
  try {
24
- context.runtime.packageTransportsData = yield context.rawInput.packageData.registry.contents(context.rawInput.packageData.name, context.rawInput.packageData.version || 'latest', true);
24
+ context.runtime.packageTransportsData = yield context.rawInput.packageData.registry.contents(context.rawInput.packageData.name, context.rawInput.packageData.version || 'latest');
25
25
  context.runtime.remotePackageData.contents = true;
26
26
  }
27
27
  catch (_a) {
@@ -159,12 +159,12 @@ exports.generateInstallTransport = {
159
159
  if (o.success) {
160
160
  if (o.len > 0) {
161
161
  trm_commons_1.Logger.success(`Use ${o.type === transport_1.TrmTransportIdentifier.TADIR ? 'workbench' : 'customizing'} transport ${chalk_1.default.bold(o.trkorr)} in ${systemConnector_1.SystemConnector.getDest()} landscape transports.`);
162
- context.runtime.installData.transports = context.runtime.installData.transports.filter(o => o.transport.trkorr !== o.transport.trkorr);
163
162
  }
164
163
  }
165
164
  else {
166
165
  if (o.len > 0) {
167
166
  trm_commons_1.Logger.error(`Error on release of ${o.type === transport_1.TrmTransportIdentifier.TADIR ? 'workbench' : 'customizing'} transport ${chalk_1.default.bold(o.trkorr)}.`);
167
+ context.runtime.installData.transports = context.runtime.installData.transports.filter(o => o.transport.trkorr !== o.transport.trkorr);
168
168
  }
169
169
  }
170
170
  });
@@ -40,10 +40,9 @@ exports.importCustTransport = {
40
40
  context.runtime.stopWarningShown = true;
41
41
  (0, stopWarning_1.stopWarning)('install');
42
42
  }
43
- transport.instance = yield transport_1.Transport.upload({
43
+ transport.instance = yield transport_1.Transport.upload(transport.binaries.trkorr, {
44
44
  binary: transport.binaries.binaries,
45
- trTarget: systemConnector_1.SystemConnector.getDest(),
46
- r3transOption: context.rawInput.contextData.r3transOptions
45
+ trTarget: systemConnector_1.SystemConnector.getDest()
47
46
  });
48
47
  yield transport.instance.deleteFromTms(systemConnector_1.SystemConnector.getDest());
49
48
  const originalLPrefix = trm_commons_1.Logger.getPrefix();
@@ -35,10 +35,9 @@ exports.importDevcTransport = {
35
35
  (0, stopWarning_1.stopWarning)('install');
36
36
  }
37
37
  trm_commons_1.Logger.loading(`Uploading ${context.runtime.packageTransports.devc.binaries.trkorr}`, true);
38
- context.runtime.packageTransports.devc.instance = yield transport_1.Transport.upload({
38
+ context.runtime.packageTransports.devc.instance = yield transport_1.Transport.upload(context.runtime.packageTransports.devc.binaries.trkorr, {
39
39
  binary: context.runtime.packageTransports.devc.binaries.binaries,
40
- trTarget: systemConnector_1.SystemConnector.getDest(),
41
- r3transOption: context.rawInput.contextData.r3transOptions
40
+ trTarget: systemConnector_1.SystemConnector.getDest()
42
41
  });
43
42
  yield context.runtime.packageTransports.devc.instance.deleteFromTms(systemConnector_1.SystemConnector.getDest());
44
43
  const originalLPrefix = trm_commons_1.Logger.getPrefix();
@@ -77,7 +76,17 @@ exports.importDevcTransport = {
77
76
  srcsystem: 'TRM'
78
77
  };
79
78
  trm_commons_1.Logger.log(`Running TADIR interface for object ${object.pgmid} ${object.object} ${object.objName}, devclass ${object.devclass} -> src system ${object.srcsystem}`, true);
80
- yield systemConnector_1.SystemConnector.tadirInterface(object);
79
+ try {
80
+ yield systemConnector_1.SystemConnector.tadirInterface(object);
81
+ }
82
+ catch (e) {
83
+ if (e.sapMessage && e.sapMessage.class === 'TO' && e.sapMessage.no === '123') {
84
+ trm_commons_1.Logger.log(e.toString(), true);
85
+ }
86
+ else {
87
+ throw e;
88
+ }
89
+ }
81
90
  }
82
91
  for (const tdevc of context.runtime.packageTransportsData.tdevc) {
83
92
  trm_commons_1.Logger.log(`Running TDEVC interface for devclass ${tdevc.devclass} -> transport layer ${context.rawInput.installData.installDevclass.transportLayer}`, true);
@@ -39,10 +39,9 @@ exports.importLangTransport = {
39
39
  context.runtime.stopWarningShown = true;
40
40
  (0, stopWarning_1.stopWarning)('install');
41
41
  }
42
- context.runtime.packageTransports.lang.instance = yield transport_1.Transport.upload({
42
+ context.runtime.packageTransports.lang.instance = yield transport_1.Transport.upload(context.runtime.packageTransports.lang.binaries.trkorr, {
43
43
  binary: context.runtime.packageTransports.lang.binaries.binaries,
44
- trTarget: systemConnector_1.SystemConnector.getDest(),
45
- r3transOption: context.rawInput.contextData.r3transOptions
44
+ trTarget: systemConnector_1.SystemConnector.getDest()
46
45
  });
47
46
  yield context.runtime.packageTransports.lang.instance.deleteFromTms(systemConnector_1.SystemConnector.getDest());
48
47
  const originalLPrefix = trm_commons_1.Logger.getPrefix();
@@ -28,10 +28,9 @@ exports.importTadirTransport = {
28
28
  context.runtime.stopWarningShown = true;
29
29
  (0, stopWarning_1.stopWarning)('install');
30
30
  }
31
- context.runtime.packageTransports.tadir.instance = yield transport_1.Transport.upload({
31
+ context.runtime.packageTransports.tadir.instance = yield transport_1.Transport.upload(context.runtime.packageTransports.tadir.binaries.trkorr, {
32
32
  binary: context.runtime.packageTransports.tadir.binaries.binaries,
33
- trTarget: systemConnector_1.SystemConnector.getDest(),
34
- r3transOption: context.rawInput.contextData.r3transOptions
33
+ trTarget: systemConnector_1.SystemConnector.getDest()
35
34
  });
36
35
  yield context.runtime.packageTransports.tadir.instance.deleteFromTms(systemConnector_1.SystemConnector.getDest());
37
36
  const originalLPrefix = trm_commons_1.Logger.getPrefix();
@@ -40,7 +40,7 @@ exports.init = {
40
40
  if (registry.getRegistryType() !== registry_1.RegistryType.LOCAL) {
41
41
  trm_commons_1.Logger.loading(`Fetching package in registry ${registry.name}...`);
42
42
  packageData = yield registry.getPackage(context.rawInput.packageData.name, context.rawInput.packageData.version || 'latest');
43
- artifact = yield registry.downloadArtifact(packageData.name, packageData.manifest.version, true);
43
+ artifact = yield registry.downloadArtifact(packageData.name, packageData.manifest.version);
44
44
  const checksum = (0, crypto_1.createHash)("sha512").update(artifact.binary).digest("base64");
45
45
  if (checksum !== packageData.checksum) {
46
46
  var ping;
@@ -40,18 +40,8 @@ exports.setInstallDevclass = {
40
40
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
41
41
  var _a;
42
42
  trm_commons_1.Logger.log('Set install devclass step', true);
43
- if (context.rawInput.installData.installDevclass.keepOriginal) {
44
- context.rawInput.installData.installDevclass.replacements = context.runtime.packageTransportsData.tdevc.map(o => {
45
- return {
46
- originalDevclass: o.devclass,
47
- installDevclass: o.devclass
48
- };
49
- });
50
- }
51
- else {
52
- if (context.rawInput.installData.installDevclass.replacements.length <= 0) {
53
- context.rawInput.installData.installDevclass.replacements = yield systemConnector_1.SystemConnector.getInstallPackages(context.rawInput.packageData.name, context.rawInput.packageData.registry);
54
- }
43
+ if (context.rawInput.installData.installDevclass.replacements.length <= 0) {
44
+ context.rawInput.installData.installDevclass.replacements = yield systemConnector_1.SystemConnector.getInstallPackages(context.rawInput.packageData.name, context.rawInput.packageData.registry);
55
45
  }
56
46
  var rootDevclass = (_a = context.rawInput.installData.installDevclass.replacements.find(o => o.originalDevclass === context.runtime.originalData.hierarchy.devclass)) === null || _a === void 0 ? void 0 : _a.installDevclass;
57
47
  if (!rootDevclass) {
@@ -134,15 +124,11 @@ exports.setInstallDevclass = {
134
124
  });
135
125
  });
136
126
  yield systemConnector_1.SystemConnector.setInstallDevc(installDevc);
137
- var allEqual = true;
127
+ context.rawInput.installData.installDevclass.keepOriginal = true;
138
128
  context.rawInput.installData.installDevclass.replacements.forEach(o => {
139
129
  if (o.installDevclass !== o.originalDevclass) {
140
- allEqual = false;
130
+ context.rawInput.installData.installDevclass.keepOriginal = false;
141
131
  }
142
132
  });
143
- if (allEqual) {
144
- trm_commons_1.Logger.log(`All packages name are identical, setting DEVC import flag to true`, true);
145
- context.rawInput.installData.installDevclass.keepOriginal = true;
146
- }
147
133
  })
148
134
  };
@@ -22,7 +22,9 @@ exports.updatePackageData = {
22
22
  trm_commons_1.Logger.loading(`Finalizing install...`);
23
23
  const originalTransport = context.runtime.packageTransports.tadir.binaries.trkorr;
24
24
  const installTransport = context.runtime.installData.transports.find(o => o.type === transport_1.TrmTransportIdentifier.TADIR);
25
- const devclass = context.rawInput.installData.installDevclass.replacements.find(o => o.originalDevclass = context.runtime.originalData.hierarchy.devclass).installDevclass;
25
+ const devclass = context.rawInput.installData.installDevclass.keepOriginal ?
26
+ context.runtime.originalData.hierarchy.devclass :
27
+ context.rawInput.installData.installDevclass.replacements.find(o => o.originalDevclass = context.runtime.originalData.hierarchy.devclass).installDevclass;
26
28
  yield systemConnector_1.SystemConnector.updateTrmPackageData({
27
29
  package_name: context.rawInput.packageData.name,
28
30
  package_registry: context.runtime.registry.getRegistryType() === registry_1.RegistryType.PUBLIC ? registry_1.PUBLIC_RESERVED_KEYWORD : context.runtime.registry.endpoint,
@@ -61,7 +61,7 @@ exports.findDependencies = {
61
61
  }),
62
62
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
63
63
  trm_commons_1.Logger.log('Find dependencies step', true);
64
- const dependencies = yield systemConnector_1.SystemConnector.getPackageDependencies(context.rawInput.packageData.devclass, true, true);
64
+ const dependencies = yield systemConnector_1.SystemConnector.getPackageDependencies(context.rawInput.packageData.devclass, true);
65
65
  const trmDependencies = dependencies.trmPackageDependencies;
66
66
  const trmLocalDependencies = trmDependencies.filter(o => o.trmPackage.registry.getRegistryType() === registry_1.RegistryType.LOCAL);
67
67
  const sapDependencies = dependencies.abapPackageDependencies.filter(o => !o.isCustomerPackage);
@@ -61,7 +61,10 @@ export declare class RESTClient implements IClient {
61
61
  messages: struct.SYMSG[];
62
62
  execute?: boolean;
63
63
  }>;
64
- getInstalledPackagesBackend(): Promise<struct.ZTRM_PACKAGE[]>;
64
+ getInstalledPackagesBackend(filter?: {
65
+ name: string;
66
+ registry: string;
67
+ }): Promise<struct.ZTRM_PACKAGE[]>;
65
68
  isServerApisAllowed(): Promise<true | RESTClientError>;
66
69
  changeTrOwner(trkorr: components.TRKORR, owner: components.TR_AS4USER): Promise<void>;
67
70
  getPackageDependencies(devclass: components.DEVCLASS, includeSubPackages: boolean, logId?: components.ZTRM_POLLING_ID): Promise<struct.ZTRM_OBJECT_DEPENDENCIES[]>;
@@ -590,7 +590,7 @@ class RESTClient {
590
590
  }
591
591
  });
592
592
  try {
593
- const boundary = headers['content-type'].match(/boundary=([-0-9A-Za-z]+)/i)[1];
593
+ const boundary = (headers['content-type']).toString().match(/boundary=([-0-9A-Za-z]+)/i)[1];
594
594
  const parsedData = (0, parse_multipart_data_1.parse)(data, boundary);
595
595
  return {
596
596
  zip: parsedData.find(o => o.name === 'zip').data,
@@ -616,9 +616,14 @@ class RESTClient {
616
616
  };
617
617
  });
618
618
  }
619
- getInstalledPackagesBackend() {
619
+ getInstalledPackagesBackend(filter) {
620
620
  return __awaiter(this, void 0, void 0, function* () {
621
- const result = (yield this._axiosInstance.get('/get_installed_packages')).data;
621
+ const result = (yield this._axiosInstance.get('/get_installed_packages', filter ? {
622
+ data: {
623
+ package_name: filter.name,
624
+ package_registry: filter.registry
625
+ }
626
+ } : undefined)).data;
622
627
  return result.packages.map(o => {
623
628
  return Object.assign(Object.assign({}, o), {
624
629
  manifest: Buffer.from(o.manifest, 'base64').toString('utf8'),
@@ -62,7 +62,10 @@ export declare class RFCClient implements IClient {
62
62
  messages: struct.SYMSG[];
63
63
  execute?: boolean;
64
64
  }>;
65
- getInstalledPackagesBackend(): Promise<struct.ZTRM_PACKAGE[]>;
65
+ getInstalledPackagesBackend(filter?: {
66
+ name: string;
67
+ registry: string;
68
+ }): Promise<struct.ZTRM_PACKAGE[]>;
66
69
  isServerApisAllowed(): Promise<true | RFCClientError>;
67
70
  changeTrOwner(trkorr: components.TRKORR, owner: components.TR_AS4USER): Promise<void>;
68
71
  getPackageDependencies(devclass: components.DEVCLASS, includeSubPackages: boolean, logId?: components.ZTRM_POLLING_ID): Promise<struct.ZTRM_OBJECT_DEPENDENCIES[]>;
@@ -615,9 +615,12 @@ class RFCClient {
615
615
  };
616
616
  });
617
617
  }
618
- getInstalledPackagesBackend() {
618
+ getInstalledPackagesBackend(filter) {
619
619
  return __awaiter(this, void 0, void 0, function* () {
620
- const result = yield this._call("/ATRM/GET_INSTALLED_PACKAGES");
620
+ const result = yield this._call("/ATRM/GET_INSTALLED_PACKAGES", filter ? {
621
+ package_name: filter.name,
622
+ package_registry: filter.registry
623
+ } : undefined);
621
624
  return result['packages'].map(o => {
622
625
  return Object.assign(Object.assign({}, o), {
623
626
  manifest: o.manifest.toString()
@@ -1,7 +1,8 @@
1
- import { PGMID, TRKORR, TROBJ_NAME, TROBJTYPE } from "../components";
1
+ import { AS4TEXT, PGMID, TRKORR, TROBJ_NAME, TROBJTYPE } from "../components";
2
2
  export type ZTRM_DIRTY = {
3
3
  trkorr: TRKORR;
4
4
  pgmid: PGMID;
5
5
  object: TROBJTYPE;
6
6
  objName: TROBJ_NAME;
7
+ as4Text: AS4TEXT;
7
8
  };
@@ -25,7 +25,7 @@ class ObjectDependencies {
25
25
  for (const d of dependencies) {
26
26
  const tabkey = yield this.addTableKey(d.tabname, d.tabkey);
27
27
  if (d.trmPackageName) {
28
- var trmPackage = (yield systemConnector_1.SystemConnector.getInstalledPackages(true, false, true)).find(o => o.compareName(d.trmPackageName) && o.compareRegistry(registry_1.RegistryProvider.getRegistry(d.trmPackageRegistry)));
28
+ var trmPackage = (yield systemConnector_1.SystemConnector.getInstalledPackages(false, true)).find(o => o.compareName(d.trmPackageName) && o.compareRegistry(registry_1.RegistryProvider.getRegistry(d.trmPackageRegistry)));
29
29
  if (trmPackage) {
30
30
  var iTrmPackage = this.trmPackages.findIndex(o => o.trmPackage.compareName(trmPackage.packageName) && o.trmPackage.compareRegistry(trmPackage.registry));
31
31
  if (iTrmPackage < 0) {
@@ -29,6 +29,6 @@ export declare class PackageDependencies {
29
29
  readonly abapPackageDependencies: AbapPackageDependency[];
30
30
  private devclasses;
31
31
  constructor(devclass: DEVCLASS);
32
- setDependencies(packageDependencies: ZTRM_OBJECT_DEPENDENCIES[], log?: boolean): Promise<PackageDependencies>;
32
+ setDependencies(packageDependencies: ZTRM_OBJECT_DEPENDENCIES[]): Promise<PackageDependencies>;
33
33
  private getDevclasses;
34
34
  }
@@ -47,7 +47,6 @@ const trm_commons_1 = require("trm-commons");
47
47
  const systemConnector_1 = require("../systemConnector");
48
48
  const ObjectDependencies_1 = require("./ObjectDependencies");
49
49
  const _ = __importStar(require("lodash"));
50
- const cliProgress = __importStar(require("cli-progress"));
51
50
  class PackageDependencies {
52
51
  constructor(devclass) {
53
52
  this.devclass = devclass;
@@ -55,40 +54,20 @@ class PackageDependencies {
55
54
  this.trmPackageDependencies = [];
56
55
  this.abapPackageDependencies = [];
57
56
  }
58
- setDependencies(packageDependencies, log) {
57
+ setDependencies(packageDependencies) {
59
58
  return __awaiter(this, void 0, void 0, function* () {
60
59
  var i = 0;
61
- var logProgress;
62
- if (log) {
63
- i = 0;
64
- logProgress = new cliProgress.SingleBar({
65
- clearOnComplete: true,
66
- hideCursor: true,
67
- format: 'Analyzing dependencies [{bar}] {percentage}% ({value}/{total})',
68
- barGlue: '>'
69
- }, cliProgress.Presets.legacy);
70
- trm_commons_1.Logger.forceStop();
71
- logProgress.start(packageDependencies.length, 0);
72
- }
60
+ var logProgress = trm_commons_1.Logger.progressbar('Analyzing dependencies [{bar}] {percentage}% ({value}/{total})', '>');
61
+ logProgress.start(packageDependencies.length, 0);
73
62
  for (const d of packageDependencies) {
74
63
  this.allDependencies.push(yield (new ObjectDependencies_1.ObjectDependencies(d.object, d.objName).setDependencies(d.dependencies || [])));
75
64
  i++;
76
- if (log) {
77
- logProgress.update(i);
78
- }
79
- }
80
- if (log) {
81
- logProgress.stop();
82
- i = 0;
83
- logProgress = new cliProgress.SingleBar({
84
- clearOnComplete: true,
85
- hideCursor: true,
86
- format: 'Building dependency tree [{bar}] {percentage}% ({value}/{total})',
87
- barGlue: '>'
88
- }, cliProgress.Presets.legacy);
89
- trm_commons_1.Logger.forceStop();
90
- logProgress.start(this.allDependencies.length, 0);
65
+ logProgress.update(i);
91
66
  }
67
+ logProgress.stop();
68
+ i = 0;
69
+ logProgress = trm_commons_1.Logger.progressbar('Building dependency tree [{bar}] {percentage}% ({value}/{total})', '>');
70
+ logProgress.start(this.allDependencies.length, 0);
92
71
  for (const o of this.allDependencies) {
93
72
  for (const trmPackage of o.trmPackages) {
94
73
  if (trmPackage.trmPackage.getDevclass() !== this.devclass) {
@@ -144,13 +123,9 @@ class PackageDependencies {
144
123
  }
145
124
  }
146
125
  i++;
147
- if (log) {
148
- logProgress.update(i);
149
- }
150
- }
151
- if (log) {
152
- logProgress.stop();
126
+ logProgress.update(i);
153
127
  }
128
+ logProgress.stop();
154
129
  return this;
155
130
  });
156
131
  }
@@ -28,7 +28,7 @@ class Lockfile {
28
28
  packages: []
29
29
  };
30
30
  if (!packages) {
31
- packages = yield systemConnector_1.SystemConnector.getInstalledPackages(true, true, true);
31
+ packages = yield systemConnector_1.SystemConnector.getInstalledPackages(true, true);
32
32
  }
33
33
  const rootManifest = root.manifest.get();
34
34
  var dependencies = rootManifest.dependencies || [];
@@ -93,7 +93,7 @@ class Lockfile {
93
93
  const registry = registry_1.RegistryProvider.getRegistry(lock.registry);
94
94
  const ping = yield registry.ping();
95
95
  const release = yield registry.getPackage(lock.name, lock.version);
96
- const artifact = yield registry.downloadArtifact(lock.name, lock.version, true);
96
+ const artifact = yield registry.downloadArtifact(lock.name, lock.version);
97
97
  const checksum = (0, crypto_1.createHash)("sha512").update(artifact.binary).digest("base64");
98
98
  if (release.checksum !== lock.integrity || checksum !== lock.integrity) {
99
99
  trm_commons_1.Logger.error(`SECURITY ISSUE! Release "${lock.name}", registry "${lock.registry}", integrity in lockfile does NOT match!`);
@@ -11,12 +11,12 @@ export declare abstract class AbstractRegistry {
11
11
  abstract ping: () => Promise<Ping>;
12
12
  abstract whoAmI: () => Promise<WhoAmI>;
13
13
  abstract getPackage: (fullName: string, version: string) => Promise<Package>;
14
- abstract downloadArtifact: (fullName: string, version: string, log?: boolean) => Promise<TrmArtifact>;
14
+ abstract downloadArtifact: (fullName: string, version: string) => Promise<TrmArtifact>;
15
15
  abstract validatePublish: (fullName: string, version: string, isPrivate: boolean) => Promise<void>;
16
16
  abstract publish: (fullName: string, version: string, artifact: TrmArtifact, readme?: string, tags?: string) => Promise<Package>;
17
17
  abstract unpublish: (fullName: string, version: string) => Promise<void>;
18
18
  abstract deprecate: (fullName: string, version: string, deprecate: Deprecate) => Promise<void>;
19
19
  abstract addDistTag: (fullName: string, distTag: DistTagAdd) => Promise<void>;
20
20
  abstract rmDistTag: (fullName: string, distTag: DistTagRm) => Promise<void>;
21
- abstract contents: (fullName: string, version: string, log?: boolean) => Promise<any>;
21
+ abstract contents: (fullName: string, version: string) => Promise<any>;
22
22
  }
@@ -24,12 +24,12 @@ export declare class RegistryV2 implements AbstractRegistry {
24
24
  ping(): Promise<Ping>;
25
25
  whoAmI(): Promise<WhoAmI>;
26
26
  getPackage(fullName: string, version?: string): Promise<Package>;
27
- downloadArtifact(fullName: string, version?: string, log?: boolean): Promise<TrmArtifact>;
27
+ downloadArtifact(fullName: string, version?: string): Promise<TrmArtifact>;
28
28
  validatePublish(fullName: string, version: string, isPrivate: boolean): Promise<void>;
29
29
  publish(fullName: string, version: string, artifact: TrmArtifact, readme?: string, tags?: string): Promise<Package>;
30
30
  unpublish(fullName: string, version: string): Promise<void>;
31
31
  deprecate(fullName: string, version: string, deprecate: Deprecate): Promise<void>;
32
32
  addDistTag(fullName: string, distTag: DistTagAdd): Promise<void>;
33
33
  rmDistTag(fullName: string, distTag: DistTagRm): Promise<void>;
34
- contents(fullName: string, version?: string, log?: boolean): Promise<any>;
34
+ contents(fullName: string, version?: string): Promise<any>;
35
35
  }
@@ -58,7 +58,6 @@ const protocol_1 = require("../protocol");
58
58
  const opener_1 = __importDefault(require("opener"));
59
59
  const commons_1 = require("../commons");
60
60
  const node_cache_1 = __importDefault(require("node-cache"));
61
- const cliProgress = __importStar(require("cli-progress"));
62
61
  const AXIOS_CTX = "RegistryV2";
63
62
  exports.PUBLIC_RESERVED_KEYWORD = 'public';
64
63
  class RegistryV2 {
@@ -398,20 +397,12 @@ class RegistryV2 {
398
397
  });
399
398
  }
400
399
  downloadArtifact(fullName_1) {
401
- return __awaiter(this, arguments, void 0, function* (fullName, version = 'latest', log) {
400
+ return __awaiter(this, arguments, void 0, function* (fullName, version = 'latest') {
402
401
  var _a;
403
402
  const packageData = yield this.getPackage(fullName, version);
404
403
  const chunks = [];
405
404
  let buffer;
406
- var logProgress;
407
- if (log) {
408
- logProgress = new cliProgress.SingleBar({
409
- clearOnComplete: true,
410
- hideCursor: true,
411
- format: `${fullName} ${version} [{bar}] {percentage}% | {value}/{total} bytes`,
412
- barGlue: '>'
413
- }, cliProgress.Presets.legacy);
414
- }
405
+ const logProgress = trm_commons_1.Logger.progressbar(`${fullName} ${version} [{bar}] {percentage}% | {value}/{total} bytes`, '>');
415
406
  try {
416
407
  const response = yield this._axiosInstance.get(packageData.download_link, {
417
408
  headers: {
@@ -423,32 +414,22 @@ class RegistryV2 {
423
414
  });
424
415
  const totalBytes = Number((_a = response.headers['content-length']) !== null && _a !== void 0 ? _a : 0);
425
416
  let downloadedBytes = 0;
426
- if (log) {
427
- if (totalBytes > 0) {
428
- trm_commons_1.Logger.forceStop();
429
- logProgress.start(totalBytes, 0);
430
- }
431
- else {
432
- trm_commons_1.Logger.warning('content-length header missing, percentage progress is unavailable');
433
- }
417
+ if (totalBytes > 0) {
418
+ logProgress.start(totalBytes, 0);
434
419
  }
435
420
  yield new Promise((resolve, reject) => {
436
421
  response.data.on('data', (chunk) => {
437
422
  chunks.push(chunk);
438
423
  downloadedBytes += chunk.length;
439
- if (log) {
440
- if (totalBytes > 0) {
441
- logProgress.update(downloadedBytes);
442
- }
424
+ if (totalBytes > 0) {
425
+ logProgress.update(downloadedBytes);
443
426
  }
444
427
  });
445
428
  response.data.on('end', () => resolve());
446
429
  response.data.on('error', reject);
447
430
  });
448
- if (log) {
449
- if (totalBytes > 0) {
450
- logProgress.stop();
451
- }
431
+ if (totalBytes > 0) {
432
+ logProgress.stop();
452
433
  }
453
434
  buffer = Buffer.concat(chunks);
454
435
  }
@@ -541,18 +522,10 @@ class RegistryV2 {
541
522
  });
542
523
  }
543
524
  contents(fullName_1) {
544
- return __awaiter(this, arguments, void 0, function* (fullName, version = 'latest', log) {
525
+ return __awaiter(this, arguments, void 0, function* (fullName, version = 'latest') {
545
526
  var _a;
546
527
  const chunks = [];
547
- var logProgress;
548
- if (log) {
549
- logProgress = new cliProgress.SingleBar({
550
- clearOnComplete: true,
551
- hideCursor: true,
552
- format: `${fullName} ${version} contents [{bar}] {percentage}% | {value}/{total} bytes`,
553
- barGlue: '>'
554
- }, cliProgress.Presets.legacy);
555
- }
528
+ const logProgress = trm_commons_1.Logger.progressbar(`${fullName} ${version} contents [{bar}] {percentage}% | {value}/{total} bytes`, '>');
556
529
  try {
557
530
  const response = yield this._axiosInstance.get(`/package/contents/${fullName}`, {
558
531
  params: {
@@ -562,32 +535,22 @@ class RegistryV2 {
562
535
  });
563
536
  const totalBytes = Number((_a = response.headers['content-length']) !== null && _a !== void 0 ? _a : 0);
564
537
  let downloadedBytes = 0;
565
- if (log) {
566
- if (totalBytes > 0) {
567
- trm_commons_1.Logger.forceStop();
568
- logProgress.start(totalBytes, 0);
569
- }
570
- else {
571
- trm_commons_1.Logger.warning('content-length header missing, percentage progress is unavailable');
572
- }
538
+ if (totalBytes > 0) {
539
+ logProgress.start(totalBytes, 0);
573
540
  }
574
541
  yield new Promise((resolve, reject) => {
575
542
  response.data.on('data', (chunk) => {
576
543
  chunks.push(chunk);
577
544
  downloadedBytes += chunk.length;
578
- if (log) {
579
- if (totalBytes > 0) {
580
- logProgress.update(downloadedBytes);
581
- }
545
+ if (totalBytes > 0) {
546
+ logProgress.update(downloadedBytes);
582
547
  }
583
548
  });
584
549
  response.data.on('end', () => resolve());
585
550
  response.data.on('error', reject);
586
551
  });
587
- if (log) {
588
- if (totalBytes > 0) {
589
- logProgress.stop();
590
- }
552
+ if (totalBytes > 0) {
553
+ logProgress.stop();
591
554
  }
592
555
  const buffer = Buffer.concat(chunks);
593
556
  return JSON.parse(buffer.toString('utf-8'));
@@ -598,7 +561,7 @@ class RegistryV2 {
598
561
  }
599
562
  catch (_b) { }
600
563
  trm_commons_1.Logger.error(e.toString(), true);
601
- trm_commons_1.Logger.error(`Failed to fetch contents for ${fullName}: ${e.message}`);
564
+ trm_commons_1.Logger.error(`Failed to fetch contents for ${fullName}: ${e.message}`, true);
602
565
  throw e;
603
566
  }
604
567
  });
@@ -9,7 +9,10 @@ export interface ISystemConnectorBase {
9
9
  getSourceTrkorr: () => Promise<components.TRKORR[]>;
10
10
  getIgnoredTrkorr: () => Promise<components.TRKORR[]>;
11
11
  getObject: (pgmid: components.PGMID, object: components.TROBJTYPE, objName: components.SOBJ_NAME) => Promise<struct.TADIR>;
12
- getInstalledPackages: (includeSoruces: boolean, refresh?: boolean, includeLocals?: boolean) => Promise<TrmPackage[]>;
12
+ getInstalledPackages: (refresh?: boolean, includeLocals?: boolean, filter?: {
13
+ name: string;
14
+ registry: string;
15
+ }) => Promise<TrmPackage[]>;
13
16
  getDevclass: (devclass: components.DEVCLASS) => Promise<struct.TDEVC>;
14
17
  getSubpackages: (devclass: components.DEVCLASS) => Promise<struct.TDEVC[]>;
15
18
  getDevclassObjects: (devclass: components.DEVCLASS, includeSubpackages: boolean) => Promise<struct.TADIR[]>;
@@ -31,7 +34,7 @@ export interface ISystemConnectorBase {
31
34
  getTrmServerPackage: () => Promise<TrmPackage>;
32
35
  getTrmRestPackage: () => Promise<TrmPackage>;
33
36
  readClassDescriptions: (clsname: components.SEOCLSNAME) => Promise<struct.SEOCLASSTX[]>;
34
- getPackageDependencies: (devclass: components.DEVCLASS, includeSubPackages: boolean, log?: boolean) => Promise<PackageDependencies>;
37
+ getPackageDependencies: (devclass: components.DEVCLASS, includeSubPackages: boolean) => Promise<PackageDependencies>;
35
38
  getObjectDependencies: (object: components.TROBJTYPE, objName: components.SOBJ_NAME) => Promise<ObjectDependencies>;
36
39
  getTableKeys: (tabname: components.TABNAME) => Promise<struct.DD03L[]>;
37
40
  getRootDevclass: (devclass: components.DEVCLASS) => Promise<components.DEVCLASS>;
@@ -31,7 +31,10 @@ export declare class RESTSystemConnector extends SystemConnectorBase implements
31
31
  protected listDevclassObjects(devclass: DEVCLASS): Promise<TADIR[]>;
32
32
  protected tdevcInterface(devclass: components.DEVCLASS, parentcl?: components.DEVCLASS, rmParentCl?: boolean, devlayer?: components.DEVLAYER): Promise<void>;
33
33
  protected getR3transInfo(): Promise<string>;
34
- protected getInstalledPackagesBackend(): Promise<struct.ZTRM_PACKAGE[]>;
34
+ protected getInstalledPackagesBackend(filter?: {
35
+ name: string;
36
+ registry: string;
37
+ }): Promise<struct.ZTRM_PACKAGE[]>;
35
38
  protected getPackageDependenciesInternal(devclass: DEVCLASS, includeSubPackages: boolean, logId?: components.ZTRM_POLLING_ID): Promise<struct.ZTRM_OBJECT_DEPENDENCIES[]>;
36
39
  protected getObjectDependenciesInternal(object: components.TROBJTYPE, objName: components.SOBJ_NAME): Promise<struct.ZTRM_OBJECT_DEPENDENCY[]>;
37
40
  getConnectionData(): RESTConnection;
@@ -103,8 +103,8 @@ class RESTSystemConnector extends SystemConnectorBase_1.SystemConnectorBase {
103
103
  return this._client.getR3transInfo();
104
104
  });
105
105
  }
106
- getInstalledPackagesBackend() {
107
- return this._client.getInstalledPackagesBackend();
106
+ getInstalledPackagesBackend(filter) {
107
+ return this._client.getInstalledPackagesBackend(filter);
108
108
  }
109
109
  getPackageDependenciesInternal(devclass, includeSubPackages, logId) {
110
110
  return this._client.getPackageDependencies(devclass, includeSubPackages, logId);
@@ -31,7 +31,10 @@ export declare class RFCSystemConnector extends SystemConnectorBase implements I
31
31
  protected listDevclassObjects(devclass: DEVCLASS): Promise<TADIR[]>;
32
32
  protected tdevcInterface(devclass: components.DEVCLASS, parentcl?: components.DEVCLASS, rmParentCl?: boolean, devlayer?: components.DEVLAYER): Promise<void>;
33
33
  protected getR3transInfo(): Promise<string>;
34
- protected getInstalledPackagesBackend(): Promise<struct.ZTRM_PACKAGE[]>;
34
+ protected getInstalledPackagesBackend(filter?: {
35
+ name: string;
36
+ registry: string;
37
+ }): Promise<struct.ZTRM_PACKAGE[]>;
35
38
  protected getPackageDependenciesInternal(devclass: DEVCLASS, includeSubPackages: boolean, logId?: components.ZTRM_POLLING_ID): Promise<struct.ZTRM_OBJECT_DEPENDENCIES[]>;
36
39
  protected getObjectDependenciesInternal(object: components.TROBJTYPE, objName: components.SOBJ_NAME): Promise<struct.ZTRM_OBJECT_DEPENDENCY[]>;
37
40
  getConnectionData(): RFCConnection;
@@ -83,8 +83,8 @@ class RFCSystemConnector extends SystemConnectorBase_1.SystemConnectorBase {
83
83
  return this._client.getR3transInfo();
84
84
  });
85
85
  }
86
- getInstalledPackagesBackend() {
87
- return this._client.getInstalledPackagesBackend();
86
+ getInstalledPackagesBackend(filter) {
87
+ return this._client.getInstalledPackagesBackend(filter);
88
88
  }
89
89
  getPackageDependenciesInternal(devclass, includeSubPackages, logId) {
90
90
  return this._client.getPackageDependencies(devclass, includeSubPackages, logId);
@@ -21,7 +21,10 @@ export declare namespace SystemConnector {
21
21
  function closeConnection(): Promise<void>;
22
22
  function checkConnection(): Promise<boolean>;
23
23
  function getTransportStatus(trkorr: TRKORR): Promise<string>;
24
- function getInstalledPackages(includeSources: boolean, refresh?: boolean, includeLocals?: boolean): Promise<TrmPackage[]>;
24
+ function getInstalledPackages(refresh?: boolean, includeLocals?: boolean, filter?: {
25
+ name: string;
26
+ registry: string;
27
+ }): Promise<TrmPackage[]>;
25
28
  function getDevclass(devclass: DEVCLASS): Promise<TDEVC>;
26
29
  function getTransportTargets(): Promise<components.TARSYSTEM[]>;
27
30
  function getSubpackages(devclass: DEVCLASS): Promise<TDEVC[]>;
@@ -91,7 +94,7 @@ export declare namespace SystemConnector {
91
94
  function readClassDescriptions(clsname: components.SEOCLSNAME): Promise<struct.SEOCLASSTX[]>;
92
95
  function isServerApisAllowed(): Promise<true | ClientError>;
93
96
  function changeTrOwner(trkorr: components.TRKORR, owner: components.TR_AS4USER): Promise<void>;
94
- function getPackageDependencies(devclass: components.DEVCLASS, includeSubPackages: boolean, log?: boolean): Promise<PackageDependencies>;
97
+ function getPackageDependencies(devclass: components.DEVCLASS, includeSubPackages: boolean): Promise<PackageDependencies>;
95
98
  function getObjectDependencies(object: TROBJTYPE, objName: SOBJ_NAME): Promise<ObjectDependencies>;
96
99
  function getTableKeys(tabname: components.TABNAME): Promise<struct.DD03L[]>;
97
100
  function getRootDevclass(devclass: DEVCLASS): Promise<DEVCLASS>;
@@ -89,10 +89,10 @@ var SystemConnector;
89
89
  });
90
90
  }
91
91
  SystemConnector.getTransportStatus = getTransportStatus;
92
- function getInstalledPackages(includeSources, refresh, includeLocals) {
92
+ function getInstalledPackages(refresh, includeLocals, filter) {
93
93
  return __awaiter(this, void 0, void 0, function* () {
94
94
  yield checkSystemConnector();
95
- return SystemConnector.systemConnector.getInstalledPackages(includeSources, refresh, includeLocals);
95
+ return SystemConnector.systemConnector.getInstalledPackages(refresh, includeLocals, filter);
96
96
  });
97
97
  }
98
98
  SystemConnector.getInstalledPackages = getInstalledPackages;
@@ -516,10 +516,10 @@ var SystemConnector;
516
516
  });
517
517
  }
518
518
  SystemConnector.changeTrOwner = changeTrOwner;
519
- function getPackageDependencies(devclass, includeSubPackages, log) {
519
+ function getPackageDependencies(devclass, includeSubPackages) {
520
520
  return __awaiter(this, void 0, void 0, function* () {
521
521
  yield checkSystemConnector();
522
- return SystemConnector.systemConnector.getPackageDependencies(devclass, includeSubPackages, log);
522
+ return SystemConnector.systemConnector.getPackageDependencies(devclass, includeSubPackages);
523
523
  });
524
524
  }
525
525
  SystemConnector.getPackageDependencies = getPackageDependencies;
@@ -29,7 +29,10 @@ export declare abstract class SystemConnectorBase implements ISystemConnectorBas
29
29
  protected abstract listDevclassObjects(devclass: components.DEVCLASS): Promise<struct.TADIR[]>;
30
30
  protected abstract tdevcInterface(devclass: components.DEVCLASS, parentcl?: components.DEVCLASS, rmParentCl?: boolean, devlayer?: components.DEVLAYER): Promise<void>;
31
31
  protected abstract getR3transInfo(): Promise<string>;
32
- protected abstract getInstalledPackagesBackend(): Promise<struct.ZTRM_PACKAGE[]>;
32
+ protected abstract getInstalledPackagesBackend(filter?: {
33
+ name: string;
34
+ registry: string;
35
+ }): Promise<struct.ZTRM_PACKAGE[]>;
33
36
  protected abstract getPackageDependenciesInternal(devclass: components.DEVCLASS, includeSubPackages: boolean, logId?: components.ZTRM_POLLING_ID): Promise<struct.ZTRM_OBJECT_DEPENDENCIES[]>;
34
37
  protected abstract getObjectDependenciesInternal(object: components.TROBJTYPE, objName: components.SOBJ_NAME): Promise<struct.ZTRM_OBJECT_DEPENDENCY[]>;
35
38
  constructor();
@@ -39,7 +42,10 @@ export declare abstract class SystemConnectorBase implements ISystemConnectorBas
39
42
  getIgnoredTrkorr(refresh?: boolean): Promise<components.TRKORR[]>;
40
43
  getTrmServerPackage(): Promise<TrmPackage>;
41
44
  getTrmRestPackage(): Promise<TrmPackage>;
42
- getInstalledPackages(refresh?: boolean, includeLocals?: boolean): Promise<TrmPackage[]>;
45
+ getInstalledPackages(refresh?: boolean, includeLocals?: boolean, filter?: {
46
+ name: string;
47
+ registry: string;
48
+ }): Promise<TrmPackage[]>;
43
49
  getDevclass(devclass: components.DEVCLASS): Promise<TDEVC>;
44
50
  getSubpackages(devclass: components.DEVCLASS): Promise<TDEVC[]>;
45
51
  getDevclassObjects(devclass: components.DEVCLASS, includeSubpackages?: boolean): Promise<TADIR[]>;
@@ -59,7 +65,7 @@ export declare abstract class SystemConnectorBase implements ISystemConnectorBas
59
65
  getR3transUnicode(): Promise<boolean>;
60
66
  isTransportLayerExist(devlayer: components.DEVLAYER): Promise<boolean>;
61
67
  readClassDescriptions(clsname: components.SEOCLSNAME): Promise<struct.SEOCLASSTX[]>;
62
- getPackageDependencies(devclass: components.DEVCLASS, includeSubPackages: boolean, log?: boolean): Promise<PackageDependencies>;
68
+ getPackageDependencies(devclass: components.DEVCLASS, includeSubPackages: boolean): Promise<PackageDependencies>;
63
69
  getObjectDependencies(object: components.TROBJTYPE, objName: components.SOBJ_NAME): Promise<ObjectDependencies>;
64
70
  getTableKeys(tabname: components.TABNAME): Promise<struct.DD03L[]>;
65
71
  getRootDevclass(devclass: components.DEVCLASS): Promise<components.DEVCLASS>;
@@ -1,37 +1,4 @@
1
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
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -52,7 +19,6 @@ const registry_1 = require("../registry");
52
19
  const node_r3trans_1 = require("node-r3trans");
53
20
  const dependencies_1 = require("../dependencies");
54
21
  const SystemConnector_1 = require("./SystemConnector");
55
- const cliProgress = __importStar(require("cli-progress"));
56
22
  exports.TRM_SERVER_PACKAGE_NAME = 'trm-server';
57
23
  exports.TRM_SERVER_INTF = '/ATRM/IF_SERVER';
58
24
  exports.TRM_REST_INTF = '/ATRM/IF_REST';
@@ -168,7 +134,7 @@ class SystemConnectorBase {
168
134
  return oPackage;
169
135
  });
170
136
  }
171
- getInstalledPackages(refresh, includeLocals) {
137
+ getInstalledPackages(refresh, includeLocals, filter) {
172
138
  return __awaiter(this, void 0, void 0, function* () {
173
139
  var trmPackages = [];
174
140
  var fromBackend = false;
@@ -180,7 +146,7 @@ class SystemConnectorBase {
180
146
  if (serverExists.length === 1) {
181
147
  trm_commons_1.Logger.log(`INTF ${exports.TRM_SERVER_INTF} exists, reading packages from backend API`, true);
182
148
  try {
183
- var installedPackagesBackend = yield this.getInstalledPackagesBackend();
149
+ var installedPackagesBackend = yield this.getInstalledPackagesBackend(filter);
184
150
  installedPackagesBackend = installedPackagesBackend.sort((a, b) => Number(`${b.as4Date}${b.as4Time}`) - Number(`${a.as4Date}${a.as4Time}`));
185
151
  if (!includeLocals) {
186
152
  installedPackagesBackend = installedPackagesBackend.filter(o => o.packageRegistry !== registry_1.LOCAL_RESERVED_KEYWORD);
@@ -419,23 +385,15 @@ class SystemConnectorBase {
419
385
  return yield this.readTable('SEOCLASSTX', [{ fieldName: 'CLSNAME' }, { fieldName: 'LANGU' }, { fieldName: 'DESCRIPT' }], `CLSNAME EQ '${clsname.trim().toUpperCase()}'`);
420
386
  });
421
387
  }
422
- getPackageDependencies(devclass, includeSubPackages, log) {
388
+ getPackageDependencies(devclass, includeSubPackages) {
423
389
  return __awaiter(this, void 0, void 0, function* () {
424
390
  var packageDependencies;
425
- if (log) {
426
- trm_commons_1.Logger.forceStop();
427
- const logProgress = new cliProgress.SingleBar({
428
- clearOnComplete: true,
429
- hideCursor: true,
430
- format: 'Finding dependencies [{bar}] {percentage}%',
431
- barGlue: '>'
432
- }, cliProgress.Presets.legacy);
433
- logProgress.start(100, 0);
434
- const isStateless = SystemConnector_1.SystemConnector.isStateless();
435
- const newConnection = isStateless ? SystemConnector_1.SystemConnector.systemConnector : SystemConnector_1.SystemConnector.getNewConnection();
436
- if (!isStateless) {
437
- yield newConnection.connect(true);
438
- }
391
+ const logProgress = trm_commons_1.Logger.progressbar('Finding dependencies [{bar}] {percentage}%', '>');
392
+ logProgress.start(100, 0);
393
+ const isStateless = SystemConnector_1.SystemConnector.isStateless();
394
+ const newConnection = isStateless ? SystemConnector_1.SystemConnector.systemConnector : SystemConnector_1.SystemConnector.getNewConnection();
395
+ if (!isStateless) {
396
+ yield newConnection.connect(true);
439
397
  const logId = yield newConnection.createLogPolling('DEVCLASS_D');
440
398
  const job = this.getPackageDependenciesInternal(devclass, includeSubPackages, logId);
441
399
  var stopped = false;
@@ -475,7 +433,7 @@ class SystemConnectorBase {
475
433
  }
476
434
  catch (_b) { }
477
435
  logProgress.stop();
478
- return (yield new dependencies_1.PackageDependencies(devclass).setDependencies(packageDependencies || [], log));
436
+ return (yield new dependencies_1.PackageDependencies(devclass).setDependencies(packageDependencies || []));
479
437
  }
480
438
  else {
481
439
  packageDependencies = yield this.getPackageDependenciesInternal(devclass, includeSubPackages);
@@ -1,8 +1,6 @@
1
1
  import { BinaryTransport } from "./BinaryTransport";
2
2
  import { FileNames } from "./FileNames";
3
3
  import { FilePaths } from "./FilePaths";
4
- import { R3transOptions } from "node-r3trans";
5
- import { TransportContent } from "./TransportContent";
6
4
  import { Documentation } from "./Documentation";
7
5
  import { TrmTransportIdentifier } from "./TrmTransportIdentifier";
8
6
  import { TrmPackage } from "../trmPackage";
@@ -76,11 +74,9 @@ export declare class Transport {
76
74
  text: AS4TEXT;
77
75
  target?: TR_TARGET;
78
76
  }): Promise<Transport>;
79
- static getContent(data: Buffer, r3transOption?: R3transOptions): Promise<TransportContent>;
80
- static upload(data: {
77
+ static upload(trkorr: any, data: {
81
78
  binary: BinaryTransport;
82
79
  trTarget?: TR_TARGET;
83
- r3transOption?: R3transOptions;
84
80
  }): Promise<Transport>;
85
81
  static getTransportsFromObject(objectKeys: {
86
82
  pgmid: PGMID;
@@ -53,7 +53,6 @@ const manifest_1 = require("../manifest");
53
53
  const promises_1 = require("timers/promises");
54
54
  const fs = __importStar(require("fs"));
55
55
  const path_1 = __importDefault(require("path"));
56
- const cliProgress = __importStar(require("cli-progress"));
57
56
  const trm_commons_1 = require("trm-commons");
58
57
  const systemConnector_1 = require("../systemConnector");
59
58
  const chalk_1 = __importDefault(require("chalk"));
@@ -427,13 +426,7 @@ class Transport {
427
426
  const systemR3transUnicode = yield systemConnector_1.SystemConnector.getR3transUnicode();
428
427
  trm_commons_1.Logger.log(`System R3trans: ${systemR3transVersion}`, true);
429
428
  trm_commons_1.Logger.log(`System R3trans unicode: ${systemR3transUnicode}`, true);
430
- trm_commons_1.Logger.forceStop();
431
- const multibar = new cliProgress.MultiBar({
432
- clearOnComplete: true,
433
- hideCursor: true,
434
- format: '{stage} [{bar}] {exitCode} {result}',
435
- barGlue: Transport.getTransportIcon()
436
- }, cliProgress.Presets.legacy);
429
+ const multibar = trm_commons_1.Logger.multibar('{stage} [{bar}] {exitCode} {result}', Transport.getTransportIcon());
437
430
  var iEtp182 = 0;
438
431
  var iEtp183 = 0;
439
432
  var iEtp150 = 0;
@@ -732,27 +725,9 @@ class Transport {
732
725
  return new Transport(trkorr, null);
733
726
  });
734
727
  }
735
- static getContent(data, r3transOption) {
736
- return __awaiter(this, void 0, void 0, function* () {
737
- const r3trans = new node_r3trans_1.R3trans(r3transOption);
738
- const trkorr = yield r3trans.getTransportTrkorr(data);
739
- var transportContent = {
740
- trkorr,
741
- tdevc: [],
742
- tdevct: [],
743
- tadir: []
744
- };
745
- transportContent.tdevc = yield r3trans.getTableEntries(data, 'TDEVC');
746
- transportContent.tdevct = yield r3trans.getTableEntries(data, 'TDEVCT');
747
- transportContent.tadir = yield r3trans.getTableEntries(data, 'TADIR');
748
- return transportContent;
749
- });
750
- }
751
- static upload(data) {
728
+ static upload(trkorr, data) {
752
729
  return __awaiter(this, void 0, void 0, function* () {
753
730
  trm_commons_1.Logger.loading(`Reading binary content...`, true);
754
- const fileContent = yield Transport.getContent(data.binary.data, data.r3transOption);
755
- const trkorr = fileContent.trkorr;
756
731
  trm_commons_1.Logger.success(`Transport ${trkorr} read success.`, true);
757
732
  const fileNames = Transport._getFileNames(trkorr, systemConnector_1.SystemConnector.getDest());
758
733
  const filePaths = yield Transport._getFilePaths(fileNames);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "trm-core",
3
- "version": "9.1.2",
3
+ "version": "9.2.0",
4
4
  "description": "TRM (Transport Request Manager) Core",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -34,7 +34,7 @@
34
34
  },
35
35
  "license": "MIT",
36
36
  "trmDependencies": {
37
- "trm-server": "^6.0.0"
37
+ "trm-server": "^6.1.0"
38
38
  },
39
39
  "dependencies": {
40
40
  "@esm2cjs/normalize-url": "^8.0.0",
@@ -44,7 +44,6 @@
44
44
  "adm-zip": "^0.5.10",
45
45
  "axios": "^1.7.9",
46
46
  "chalk": "^4.1.2",
47
- "cli-progress": "^3.12.0",
48
47
  "dotenv": "^17.2.2",
49
48
  "email-validator": "^2.0.4",
50
49
  "express": "^4.18.2",
@@ -55,7 +54,7 @@
55
54
  "minimatch": "^10.0.1",
56
55
  "node-cache": "^5.1.2",
57
56
  "node-html-parser": "^7.0.1",
58
- "node-r3trans": "^2.0.1",
57
+ "node-r3trans": "^2.0.2",
59
58
  "object-keys-normalizer": "^1.0.1",
60
59
  "opener": "^1.5.2",
61
60
  "parse-multipart-data": "^1.5.0",
@@ -64,16 +63,15 @@
64
63
  "semver-sort": "^1.0.0",
65
64
  "spdx-license-ids": "^3.0.13",
66
65
  "trm-registry-types": "^2.1.0",
67
- "uuid": "^9.0.1",
66
+ "uuid": "^14.0.0",
68
67
  "xml-beautify": "^1.2.3",
69
68
  "xml-js": "^1.6.11"
70
69
  },
71
70
  "peerDependencies": {
72
- "trm-commons": "^3.7.1"
71
+ "trm-commons": "^4.0.0"
73
72
  },
74
73
  "devDependencies": {
75
74
  "@types/adm-zip": "^0.5.0",
76
- "@types/cli-progress": "^3.11.3",
77
75
  "@types/debug": "^4.1.12",
78
76
  "@types/express": "^4.17.17",
79
77
  "@types/inquirer": "^9.0.3",
@@ -86,7 +84,7 @@
86
84
  "@types/stack-trace": "^0.0.33",
87
85
  "@types/uuid": "^9.0.8",
88
86
  "rimraf": "^6.0.1",
89
- "trm-commons": "^3.7.1",
87
+ "trm-commons": "^4.0.0",
90
88
  "ts-node": "^10.9.2",
91
89
  "typescript": "^5.8.2"
92
90
  },