trm-core 4.0.4 → 4.1.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.
@@ -41,7 +41,8 @@ exports.checkSapEntries = {
41
41
  missingEntries = missingEntries.concat(sapEntriesOutput[t].filter(o => !o.status));
42
42
  });
43
43
  if (missingEntries.length > 0) {
44
- throw new Error(`Package requires SAP entries that don't exist on your system.`);
44
+ logger_1.Logger.error(JSON.stringify(missingEntries), true);
45
+ throw new Error(`Package requires ${missingEntries.length} SAP entries that don't exist on your system (run in verbose for more detail).`);
45
46
  }
46
47
  else {
47
48
  logger_1.Logger.success(`SAP entries checked.`);
@@ -35,9 +35,18 @@ exports.checkTadirObjectTypes = {
35
35
  logger_1.Logger.loading(`Checking package objects types...`);
36
36
  const systemObjectList = yield systemConnector_1.SystemConnector.getObjectsList();
37
37
  aTadir.forEach(o => {
38
+ var unknownObjects = [];
38
39
  if (!systemObjectList.find(k => k.pgmid === o.pgmid && k.object === o.object)) {
40
+ unknownObjects.push(`${o.pgmid} ${o.object}`);
39
41
  logger_1.Logger.error(`TADIR transport contains object ${o.pgmid} ${o.object} ${o.objName}, which is not supported by target install system`, true);
40
- throw new Error(`Transport contains unknown object type ${o.pgmid} ${o.object}.`);
42
+ }
43
+ if (unknownObjects.length > 0) {
44
+ if (unknownObjects.length === 1) {
45
+ throw new Error(`Transport contains unknown object type ${unknownObjects[0]}.`);
46
+ }
47
+ else {
48
+ throw new Error(`Transport contains ${unknownObjects.length} unknown object types (run in verbose for more detail).`);
49
+ }
41
50
  }
42
51
  });
43
52
  logger_1.Logger.success(`All objects in package "${packageName}" supported.`);
@@ -17,7 +17,7 @@ exports.setSystemPackages = {
17
17
  run: (context) => __awaiter(void 0, void 0, void 0, function* () {
18
18
  var systemPackages = context.parsedInput.systemPackages;
19
19
  if (systemPackages.length === 0) {
20
- logger_1.Logger.loading(`Reading system packages`, true);
20
+ logger_1.Logger.loading(`Reading system data...`);
21
21
  systemPackages = yield systemConnector_1.SystemConnector.getInstalledPackages(true);
22
22
  }
23
23
  context.parsedInput.systemPackages = systemPackages;
@@ -4,6 +4,7 @@ import * as struct from "./struct";
4
4
  import { IClient } from "./IClient";
5
5
  export declare class RFCClient implements IClient {
6
6
  private _rfcClient;
7
+ private _aliveCheck;
7
8
  constructor(arg1: any, traceDir?: string);
8
9
  open(): Promise<void>;
9
10
  checkConnection(): Promise<boolean>;
@@ -38,6 +38,7 @@ const commons_1 = require("../commons");
38
38
  const logger_1 = require("../logger");
39
39
  class RFCClient {
40
40
  constructor(arg1, traceDir) {
41
+ this._aliveCheck = false;
41
42
  process.env["RFC_TRACE_DIR"] = traceDir || process.cwd();
42
43
  logger_1.Logger.log(`RFC_TRACE_DIR: ${process.env["RFC_TRACE_DIR"]}`, true);
43
44
  this._rfcClient = new noderfc.Client(arg1);
@@ -51,11 +52,14 @@ class RFCClient {
51
52
  }
52
53
  checkConnection() {
53
54
  return __awaiter(this, void 0, void 0, function* () {
54
- if (this._rfcClient.alive) {
55
- logger_1.Logger.success(`RFC open`, true);
56
- }
57
- else {
58
- logger_1.Logger.warning(`RFC closed`, true);
55
+ if (!this._aliveCheck) {
56
+ if (this._rfcClient.alive) {
57
+ logger_1.Logger.success(`RFC open`, true);
58
+ }
59
+ else {
60
+ logger_1.Logger.warning(`RFC closed`, true);
61
+ }
62
+ this._aliveCheck = true;
59
63
  }
60
64
  return this._rfcClient.alive;
61
65
  });
@@ -33,8 +33,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
33
33
  };
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
35
  exports.CliInquirer = void 0;
36
- const cliInquirer = __importStar(require("inquirer"));
37
36
  const logger_1 = require("../logger");
37
+ const cliInquirer = __importStar(require("@inquirer/prompts"));
38
38
  class CliInquirer {
39
39
  constructor() { }
40
40
  prompt(arg1) {
@@ -42,7 +42,39 @@ class CliInquirer {
42
42
  if (logger_1.Logger.logger instanceof logger_1.CliLogger || logger_1.Logger.logger instanceof logger_1.CliLogFileLogger) {
43
43
  logger_1.Logger.logger.forceStop();
44
44
  }
45
- return yield cliInquirer.default.prompt(arg1);
45
+ var aQuestions;
46
+ var hash = {};
47
+ if (!Array.isArray(arg1)) {
48
+ aQuestions = [arg1];
49
+ }
50
+ else {
51
+ aQuestions = arg1;
52
+ }
53
+ for (var question of aQuestions) {
54
+ if (question.type === 'list') {
55
+ question.type = 'select';
56
+ }
57
+ if (cliInquirer[question.type]) {
58
+ var prompt;
59
+ if (question.when === undefined) {
60
+ prompt = true;
61
+ }
62
+ else if (typeof (question.when) === 'boolean') {
63
+ prompt = question.when;
64
+ }
65
+ else {
66
+ prompt = yield question.when(hash);
67
+ }
68
+ if (prompt) {
69
+ const oResponse = yield cliInquirer[question.type](question);
70
+ hash[question.name] = oResponse;
71
+ }
72
+ }
73
+ else {
74
+ throw new Error(`Unknown CLI inquirer type "${question.type}".`);
75
+ }
76
+ }
77
+ return hash;
46
78
  });
47
79
  }
48
80
  }
@@ -17,7 +17,7 @@ export interface ISystemConnector {
17
17
  checkConnection: () => Promise<boolean>;
18
18
  getTransportStatus: (trkorr: TRKORR) => Promise<string>;
19
19
  getPackageWorkbenchTransport: (oPackage: TrmPackage) => Promise<Transport>;
20
- getInstalledPackages: (includeSoruces: boolean) => Promise<TrmPackage[]>;
20
+ getInstalledPackages: (includeSoruces: boolean, refresh?: boolean) => Promise<TrmPackage[]>;
21
21
  generateTrmServerPackage: () => Promise<TrmPackage>;
22
22
  getDevclass: (devclass: DEVCLASS) => Promise<TDEVC>;
23
23
  getTransportTargets: () => Promise<TMSCSYS[]>;
@@ -20,6 +20,8 @@ export declare class ServerSystemConnector implements ISystemConnector {
20
20
  private _lang;
21
21
  private _user;
22
22
  private _client;
23
+ private _installedPackages;
24
+ private _installedPackagesI;
23
25
  constructor(_connection: Connection, _login: Login);
24
26
  getConnectionData(): Connection;
25
27
  getDest(): string;
@@ -29,7 +31,7 @@ export declare class ServerSystemConnector implements ISystemConnector {
29
31
  checkConnection(): Promise<boolean>;
30
32
  getTransportStatus(trkorr: TRKORR): Promise<string>;
31
33
  getPackageWorkbenchTransport(oPackage: TrmPackage): Promise<Transport>;
32
- getInstalledPackages(includeSoruces?: boolean): Promise<TrmPackage[]>;
34
+ getInstalledPackages(includeSoruces?: boolean, refresh?: boolean): Promise<TrmPackage[]>;
33
35
  generateTrmServerPackage(): Promise<TrmPackage>;
34
36
  getDevclass(devclass: DEVCLASS): Promise<TDEVC>;
35
37
  getTransportTargets(): Promise<TMSCSYS[]>;
@@ -113,7 +113,17 @@ class ServerSystemConnector {
113
113
  });
114
114
  }
115
115
  getInstalledPackages() {
116
- return __awaiter(this, arguments, void 0, function* (includeSoruces = true) {
116
+ return __awaiter(this, arguments, void 0, function* (includeSoruces = true, refresh) {
117
+ if (!refresh) {
118
+ if (includeSoruces && this._installedPackagesI) {
119
+ logger_1.Logger.log(`Cached version of installed packages with sources`, true);
120
+ return this._installedPackagesI;
121
+ }
122
+ else if (!includeSoruces && this._installedPackages) {
123
+ logger_1.Logger.log(`Cached version of installed packages without sources`, true);
124
+ return this._installedPackages;
125
+ }
126
+ }
117
127
  var trmPackages = [];
118
128
  var packageTransports = [];
119
129
  logger_1.Logger.log(`Ready to read installed packages`, true);
@@ -184,6 +194,12 @@ class ServerSystemConnector {
184
194
  catch (e) {
185
195
  logger_1.Logger.warning(`trm-server is not installed`, true);
186
196
  }
197
+ if (includeSoruces) {
198
+ this._installedPackagesI = trmPackages;
199
+ }
200
+ else {
201
+ this._installedPackages = trmPackages;
202
+ }
187
203
  return trmPackages;
188
204
  });
189
205
  }
@@ -18,7 +18,7 @@ export declare namespace SystemConnector {
18
18
  function checkConnection(): Promise<boolean>;
19
19
  function getTransportStatus(trkorr: TRKORR): Promise<string>;
20
20
  function getPackageWorkbenchTransport(oPackage: TrmPackage): Promise<Transport>;
21
- function getInstalledPackages(includeSources: boolean): Promise<TrmPackage[]>;
21
+ function getInstalledPackages(includeSources: boolean, refresh?: boolean): Promise<TrmPackage[]>;
22
22
  function generateTrmServerPackage(): Promise<TrmPackage>;
23
23
  function getDevclass(devclass: DEVCLASS): Promise<TDEVC>;
24
24
  function getTransportTargets(): Promise<TMSCSYS[]>;
@@ -74,10 +74,10 @@ var SystemConnector;
74
74
  });
75
75
  }
76
76
  SystemConnector.getPackageWorkbenchTransport = getPackageWorkbenchTransport;
77
- function getInstalledPackages(includeSources) {
77
+ function getInstalledPackages(includeSources, refresh) {
78
78
  return __awaiter(this, void 0, void 0, function* () {
79
79
  yield checkSystemConnector();
80
- return SystemConnector.systemConnector.getInstalledPackages(includeSources);
80
+ return SystemConnector.systemConnector.getInstalledPackages(includeSources, refresh);
81
81
  });
82
82
  }
83
83
  SystemConnector.getInstalledPackages = getInstalledPackages;
@@ -108,7 +108,6 @@ class TrmPackage {
108
108
  const readme = data.readme || '';
109
109
  logger_1.Logger.loading(`Publishing "${packageName}" ${packageVersion} to registry "${this.registry.name}"...`, false);
110
110
  yield this.registry.publishArtifact(packageName, packageVersion, artifact, readme);
111
- logger_1.Logger.success(`"${packageName}" ${packageVersion} published.`, false);
112
111
  this.manifest = new manifest_1.Manifest(trmManifest);
113
112
  return this;
114
113
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "trm-core",
3
- "version": "4.0.4",
3
+ "version": "4.1.0",
4
4
  "description": "TRM (Transport Request Manager) Core",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -29,6 +29,7 @@
29
29
  "license": "MIT",
30
30
  "dependencies": {
31
31
  "@esm2cjs/normalize-url": "^8.0.0",
32
+ "@inquirer/prompts": "^5.1.1",
32
33
  "@simonegaffurini/sammarksworkflow": "^1.3.2-fork",
33
34
  "adm-zip": "^0.5.10",
34
35
  "axios": "^1.4.0",
@@ -38,7 +39,6 @@
38
39
  "email-validator": "^2.0.4",
39
40
  "express": "^4.18.2",
40
41
  "get-stack-trace": "^3.1.1",
41
- "inquirer": "^8.0.0",
42
42
  "loading-cli": "^1.1.0",
43
43
  "lodash": "^4.17.21",
44
44
  "node-r3trans": "^1.0.10",