trm-client 4.10.0 → 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/changelog.txt +10 -0
- package/dist/commands/alias.js +12 -125
- package/dist/commands/arguments/ConnectArguments.d.ts +1 -2
- package/dist/commands/compare.js +5 -46
- package/dist/commands/content.js +2 -3
- package/dist/commands/createAlias.js +14 -44
- package/dist/commands/import.js +2 -3
- package/dist/commands/install.js +2 -3
- package/dist/commands/prompts/connect.d.ts +2 -1
- package/dist/commands/prompts/connect.js +82 -201
- package/dist/commands/settings.js +3 -3
- package/dist/systemAlias/SystemAlias.d.ts +9 -9
- package/dist/systemAlias/SystemAlias.js +67 -102
- package/dist/systemAlias/SystemAliasData.d.ts +2 -5
- package/dist/utils/Context.d.ts +14 -0
- package/dist/{settings/Settings.js → utils/Context.js} +51 -21
- package/dist/utils/NoConnection.d.ts +1 -0
- package/dist/utils/NoConnection.js +1 -0
- package/dist/utils/executeCommand.js +17 -2
- package/dist/utils/index.d.ts +2 -1
- package/dist/utils/index.js +2 -1
- package/dist/utils/registerCommand.js +4 -4
- package/package.json +4 -4
- package/dist/settings/Settings.d.ts +0 -11
- package/dist/settings/index.d.ts +0 -2
- package/dist/settings/index.js +0 -18
- package/dist/utils/getSystemConnector.d.ts +0 -9
- package/dist/utils/getSystemConnector.js +0 -32
- /package/dist/{settings → utils}/SettingsData.d.ts +0 -0
- /package/dist/{settings → utils}/SettingsData.js +0 -0
|
@@ -32,44 +32,74 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
32
32
|
return result;
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
36
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
37
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
38
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
39
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
40
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
41
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
42
|
+
});
|
|
43
|
+
};
|
|
35
44
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
45
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
46
|
};
|
|
38
47
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.
|
|
48
|
+
exports.Context = void 0;
|
|
40
49
|
const path_1 = __importDefault(require("path"));
|
|
41
|
-
const
|
|
50
|
+
const _1 = require(".");
|
|
42
51
|
const fs = __importStar(require("fs"));
|
|
43
52
|
const ini = __importStar(require("ini"));
|
|
44
53
|
const trm_commons_1 = require("trm-commons");
|
|
54
|
+
const trm_core_1 = require("trm-core");
|
|
45
55
|
const SETTINGS_FILE_NAME = "settings.ini";
|
|
46
|
-
const
|
|
56
|
+
const defaultSettings = {
|
|
47
57
|
loggerType: 'CLI',
|
|
48
58
|
logOutputFolder: 'default'
|
|
49
59
|
};
|
|
50
|
-
class
|
|
60
|
+
class RESTConnectExtended extends trm_commons_1.RESTConnect {
|
|
61
|
+
getSystemConnector() {
|
|
62
|
+
const data = this.getData();
|
|
63
|
+
return new trm_core_1.RESTSystemConnector(data, data);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
class RFCConnectExtended extends trm_commons_1.RFCConnect {
|
|
67
|
+
getSystemConnector() {
|
|
68
|
+
const data = this.getData();
|
|
69
|
+
return new trm_core_1.RFCSystemConnector(data, data, (0, _1.getTempFolder)());
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
class Context {
|
|
51
73
|
constructor() {
|
|
52
|
-
this.
|
|
53
|
-
if (typeof (this.
|
|
74
|
+
this.settings = this.getSettings();
|
|
75
|
+
if (typeof (this.settings.r3transDocker) !== 'boolean') {
|
|
54
76
|
if (process.platform === 'darwin') {
|
|
55
77
|
trm_commons_1.Logger.info(`R3trans defaults to docker in darwin os.`, true);
|
|
56
|
-
this.
|
|
78
|
+
this.settings.r3transDocker = true;
|
|
57
79
|
}
|
|
58
80
|
}
|
|
59
81
|
}
|
|
60
|
-
|
|
61
|
-
|
|
82
|
+
load() {
|
|
83
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
84
|
+
yield trm_commons_1.Plugin.load();
|
|
85
|
+
if (!this.connections) {
|
|
86
|
+
this.connections = yield trm_commons_1.Plugin.call("client", "onContextLoadConnections", [new RESTConnectExtended(), new RFCConnectExtended()]);
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
setSetting(key, value) {
|
|
91
|
+
if (this.settings[key] === undefined) {
|
|
62
92
|
throw new Error(`Invalid key ${key}.`);
|
|
63
93
|
}
|
|
64
|
-
const filePath = this.
|
|
65
|
-
this.
|
|
66
|
-
this.
|
|
94
|
+
const filePath = this.getSettingsFilePath();
|
|
95
|
+
this.settings[key] = value;
|
|
96
|
+
this.generateSettingsFile(this.settings, filePath);
|
|
67
97
|
}
|
|
68
|
-
|
|
69
|
-
return path_1.default.join((0,
|
|
98
|
+
getSettingsFilePath() {
|
|
99
|
+
return path_1.default.join((0, _1.getRoamingFolder)(), SETTINGS_FILE_NAME);
|
|
70
100
|
}
|
|
71
101
|
getSettings() {
|
|
72
|
-
const filePath = this.
|
|
102
|
+
const filePath = this.getSettingsFilePath();
|
|
73
103
|
if (fs.existsSync(filePath)) {
|
|
74
104
|
try {
|
|
75
105
|
const sIni = fs.readFileSync(filePath).toString();
|
|
@@ -78,18 +108,18 @@ class Settings {
|
|
|
78
108
|
}
|
|
79
109
|
catch (e) { }
|
|
80
110
|
}
|
|
81
|
-
this.
|
|
82
|
-
return
|
|
111
|
+
this.generateSettingsFile(defaultSettings, filePath);
|
|
112
|
+
return defaultSettings;
|
|
83
113
|
}
|
|
84
|
-
|
|
114
|
+
generateSettingsFile(data, filePath) {
|
|
85
115
|
fs.writeFileSync(filePath, ini.encode(data), { encoding: 'utf8', flag: 'w' });
|
|
86
116
|
}
|
|
87
117
|
static getInstance() {
|
|
88
118
|
if (!this._instance) {
|
|
89
|
-
this._instance = new
|
|
119
|
+
this._instance = new Context();
|
|
90
120
|
}
|
|
91
121
|
return this._instance;
|
|
92
122
|
}
|
|
93
123
|
}
|
|
94
|
-
exports.
|
|
95
|
-
|
|
124
|
+
exports.Context = Context;
|
|
125
|
+
Context._instance = null;
|
|
@@ -7,6 +7,7 @@ export declare class NoConnection implements ISystemConnector {
|
|
|
7
7
|
getLogonLanguage: (c: boolean) => "X" | "XX";
|
|
8
8
|
getLogonUser: () => string;
|
|
9
9
|
connect: () => Promise<void>;
|
|
10
|
+
closeConnection: () => Promise<any>;
|
|
10
11
|
checkConnection: () => Promise<boolean>;
|
|
11
12
|
ping: () => Promise<string>;
|
|
12
13
|
getFileSystem: () => Promise<any>;
|
|
@@ -30,6 +30,7 @@ class NoConnection {
|
|
|
30
30
|
this.connect = () => __awaiter(this, void 0, void 0, function* () {
|
|
31
31
|
return;
|
|
32
32
|
});
|
|
33
|
+
this.closeConnection = () => __awaiter(this, void 0, void 0, function* () { return this._throw(); });
|
|
33
34
|
this.checkConnection = () => __awaiter(this, void 0, void 0, function* () { return true; });
|
|
34
35
|
this.ping = () => __awaiter(this, void 0, void 0, function* () { return 'PONG'; });
|
|
35
36
|
this.getFileSystem = () => __awaiter(this, void 0, void 0, function* () { return this._throw(); });
|
|
@@ -45,6 +45,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
45
45
|
exports.InquirerType = exports.LoggerType = void 0;
|
|
46
46
|
exports.executeCommand = executeCommand;
|
|
47
47
|
const commands = __importStar(require("../commands"));
|
|
48
|
+
const Core = __importStar(require("trm-core"));
|
|
49
|
+
const Commons = __importStar(require("trm-commons"));
|
|
48
50
|
const systemAlias_1 = require("../systemAlias");
|
|
49
51
|
const logError_1 = require("./logError");
|
|
50
52
|
const checkTrmDependencies_1 = require("./checkTrmDependencies");
|
|
@@ -54,6 +56,7 @@ const getLogFolder_1 = require("./getLogFolder");
|
|
|
54
56
|
const registryAlias_1 = require("../registryAlias");
|
|
55
57
|
const commons_1 = require("../commands/commons");
|
|
56
58
|
const trm_commons_1 = require("trm-commons");
|
|
59
|
+
const Context_1 = require("./Context");
|
|
57
60
|
var LoggerType;
|
|
58
61
|
(function (LoggerType) {
|
|
59
62
|
LoggerType["CLI"] = "CLI";
|
|
@@ -88,6 +91,9 @@ function executeCommand(args) {
|
|
|
88
91
|
return __awaiter(this, void 0, void 0, function* () {
|
|
89
92
|
var exitCode;
|
|
90
93
|
try {
|
|
94
|
+
yield Context_1.Context.getInstance().load();
|
|
95
|
+
yield trm_commons_1.Plugin.call("client", "loadCore", { core: Core });
|
|
96
|
+
yield trm_commons_1.Plugin.call("client", "loadCommons", { commons: Commons });
|
|
91
97
|
trm_commons_1.Inquirer.inquirer = _getInquirer(InquirerType.CLI);
|
|
92
98
|
trm_commons_1.Logger.logger = _getLogger(args.logType, args.debug, args.logOutputFolder);
|
|
93
99
|
if (process.platform !== 'win32' && process.platform !== 'darwin') {
|
|
@@ -158,11 +164,11 @@ function executeCommand(args) {
|
|
|
158
164
|
system = systemAlias_1.SystemAlias.get(args.systemAlias).getConnection();
|
|
159
165
|
}
|
|
160
166
|
else {
|
|
161
|
-
|
|
162
|
-
system = (yield commands.connect(args, !skipCreateAlias.includes(args.command), args.addNoConnection)).connection;
|
|
167
|
+
system = (yield commands.connect(args, true, args.addNoConnection)).getSystemConnector();
|
|
163
168
|
}
|
|
164
169
|
yield system.connect();
|
|
165
170
|
trm_core_1.SystemConnector.systemConnector = system;
|
|
171
|
+
yield trm_commons_1.Plugin.call("client", "onInitializeSystemConnector", trm_core_1.SystemConnector.systemConnector);
|
|
166
172
|
if (requiresTrmDependencies) {
|
|
167
173
|
yield (0, checkTrmDependencies_1.checkTrmDependencies)(args);
|
|
168
174
|
}
|
|
@@ -185,6 +191,15 @@ function executeCommand(args) {
|
|
|
185
191
|
exitCode = 1;
|
|
186
192
|
}
|
|
187
193
|
finally {
|
|
194
|
+
if (trm_core_1.SystemConnector.systemConnector) {
|
|
195
|
+
try {
|
|
196
|
+
yield trm_core_1.SystemConnector.closeConnection();
|
|
197
|
+
}
|
|
198
|
+
catch (e) {
|
|
199
|
+
trm_commons_1.Logger.log(`Couldn't close system connection!`, true);
|
|
200
|
+
trm_commons_1.Logger.log(e.toString(), true);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
188
203
|
if (trm_commons_1.Logger.logger instanceof trm_commons_1.CliLogFileLogger) {
|
|
189
204
|
const sessionId = trm_commons_1.Logger.logger.getSessionId();
|
|
190
205
|
const logFilePath = trm_commons_1.Logger.logger.getFilePath();
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export * from "./getClientVersion";
|
|
|
12
12
|
export * from "./getTempFolder";
|
|
13
13
|
export * from "./getLogFolder";
|
|
14
14
|
export * from "./getClientNodeDependencies";
|
|
15
|
-
export * from "./getSystemConnector";
|
|
16
15
|
export * from "./NoConnection";
|
|
17
16
|
export * from "./getNpmPackageLatestVersion";
|
|
17
|
+
export * from "./SettingsData";
|
|
18
|
+
export * from "./Context";
|
package/dist/utils/index.js
CHANGED
|
@@ -28,6 +28,7 @@ __exportStar(require("./getClientVersion"), exports);
|
|
|
28
28
|
__exportStar(require("./getTempFolder"), exports);
|
|
29
29
|
__exportStar(require("./getLogFolder"), exports);
|
|
30
30
|
__exportStar(require("./getClientNodeDependencies"), exports);
|
|
31
|
-
__exportStar(require("./getSystemConnector"), exports);
|
|
32
31
|
__exportStar(require("./NoConnection"), exports);
|
|
33
32
|
__exportStar(require("./getNpmPackageLatestVersion"), exports);
|
|
33
|
+
__exportStar(require("./SettingsData"), exports);
|
|
34
|
+
__exportStar(require("./Context"), exports);
|
|
@@ -11,7 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.registerCommand = registerCommand;
|
|
13
13
|
const executeCommand_1 = require("./executeCommand");
|
|
14
|
-
const
|
|
14
|
+
const Context_1 = require("./Context");
|
|
15
15
|
function registerCommand(command, args) {
|
|
16
16
|
const commandName = command.name();
|
|
17
17
|
if (!args) {
|
|
@@ -24,9 +24,9 @@ function registerCommand(command, args) {
|
|
|
24
24
|
const ignoreRegistryUnreachable = args.ignoreRegistryUnreachable ? true : false;
|
|
25
25
|
const noSystemAlias = args.noSystemAlias ? true : false;
|
|
26
26
|
const registryAuthBlacklist = args.registryAuthBlacklist || [];
|
|
27
|
-
const defaultLogger =
|
|
28
|
-
const logOutputFolder =
|
|
29
|
-
if (requiresConnection
|
|
27
|
+
const defaultLogger = Context_1.Context.getInstance().settings.loggerType;
|
|
28
|
+
const logOutputFolder = Context_1.Context.getInstance().settings.logOutputFolder;
|
|
29
|
+
if (requiresConnection) {
|
|
30
30
|
command.option(`-de, --dest <dest>`, `System ID.`)
|
|
31
31
|
.option(`-us, --user <user>`, `System User Logon.`)
|
|
32
32
|
.option(`-pw, --passwd <passwd>`, `System User Logon Password.`)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "trm-client",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.1",
|
|
4
4
|
"description": "TRM (Transport Request Manager) Client",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -44,13 +44,13 @@
|
|
|
44
44
|
"get-root-path": "^2.0.2",
|
|
45
45
|
"ini": "^4.1.1",
|
|
46
46
|
"semver": "^7.5.4",
|
|
47
|
-
"trm-
|
|
48
|
-
"trm-core": "^7.4.5",
|
|
47
|
+
"trm-core": "^7.5.1",
|
|
49
48
|
"trm-registry-types": "^1.2.0",
|
|
49
|
+
"trm-commons": "^3.2.0",
|
|
50
50
|
"xml2js": "^0.6.2"
|
|
51
51
|
},
|
|
52
52
|
"peerDependencies": {
|
|
53
|
-
"trm-commons": "^2.0
|
|
53
|
+
"trm-commons": "^3.2.0"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"@types/ini": "^1.3.31",
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { SettingsData } from "./SettingsData";
|
|
2
|
-
export declare class Settings {
|
|
3
|
-
private static _instance;
|
|
4
|
-
data: SettingsData;
|
|
5
|
-
constructor();
|
|
6
|
-
set(key: string, value: string): void;
|
|
7
|
-
private getFilePath;
|
|
8
|
-
private getSettings;
|
|
9
|
-
private generateFile;
|
|
10
|
-
static getInstance(): Settings;
|
|
11
|
-
}
|
package/dist/settings/index.d.ts
DELETED
package/dist/settings/index.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./Settings"), exports);
|
|
18
|
-
__exportStar(require("./SettingsData"), exports);
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ISystemConnector, Login } from "trm-core";
|
|
2
|
-
export declare enum SystemConnectorType {
|
|
3
|
-
RFC = "RFC",
|
|
4
|
-
REST = "REST"
|
|
5
|
-
}
|
|
6
|
-
export declare function getSystemConnector(type: SystemConnectorType, args: {
|
|
7
|
-
connection: any;
|
|
8
|
-
login: Login;
|
|
9
|
-
}): ISystemConnector;
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SystemConnectorType = void 0;
|
|
4
|
-
exports.getSystemConnector = getSystemConnector;
|
|
5
|
-
const trm_core_1 = require("trm-core");
|
|
6
|
-
const getTempFolder_1 = require("./getTempFolder");
|
|
7
|
-
var SystemConnectorType;
|
|
8
|
-
(function (SystemConnectorType) {
|
|
9
|
-
SystemConnectorType["RFC"] = "RFC";
|
|
10
|
-
SystemConnectorType["REST"] = "REST";
|
|
11
|
-
})(SystemConnectorType || (exports.SystemConnectorType = SystemConnectorType = {}));
|
|
12
|
-
function getSystemConnector(type, args) {
|
|
13
|
-
const parsingError = new Error(`Unable to parse connection data of type "${type}".`);
|
|
14
|
-
switch (type) {
|
|
15
|
-
case SystemConnectorType.RFC:
|
|
16
|
-
try {
|
|
17
|
-
return new trm_core_1.RFCSystemConnector(args.connection, args.login, (0, getTempFolder_1.getTempFolder)());
|
|
18
|
-
}
|
|
19
|
-
catch (e) {
|
|
20
|
-
throw parsingError;
|
|
21
|
-
}
|
|
22
|
-
case SystemConnectorType.REST:
|
|
23
|
-
try {
|
|
24
|
-
return new trm_core_1.RESTSystemConnector(args.connection, args.login);
|
|
25
|
-
}
|
|
26
|
-
catch (e) {
|
|
27
|
-
throw parsingError;
|
|
28
|
-
}
|
|
29
|
-
default:
|
|
30
|
-
throw new Error(`Unknown connection type "${type}". Possible values are ${Object.keys(SystemConnectorType).map(k => SystemConnectorType[k]).join(', ')}.`);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
File without changes
|
|
File without changes
|