trm-client 4.10.0 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/changelog.txt +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 +15 -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,7 @@ 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"));
|
|
48
49
|
const systemAlias_1 = require("../systemAlias");
|
|
49
50
|
const logError_1 = require("./logError");
|
|
50
51
|
const checkTrmDependencies_1 = require("./checkTrmDependencies");
|
|
@@ -54,6 +55,7 @@ const getLogFolder_1 = require("./getLogFolder");
|
|
|
54
55
|
const registryAlias_1 = require("../registryAlias");
|
|
55
56
|
const commons_1 = require("../commands/commons");
|
|
56
57
|
const trm_commons_1 = require("trm-commons");
|
|
58
|
+
const Context_1 = require("./Context");
|
|
57
59
|
var LoggerType;
|
|
58
60
|
(function (LoggerType) {
|
|
59
61
|
LoggerType["CLI"] = "CLI";
|
|
@@ -88,6 +90,8 @@ function executeCommand(args) {
|
|
|
88
90
|
return __awaiter(this, void 0, void 0, function* () {
|
|
89
91
|
var exitCode;
|
|
90
92
|
try {
|
|
93
|
+
yield Context_1.Context.getInstance().load();
|
|
94
|
+
yield trm_commons_1.Plugin.call("client", "loadCore", { core: Core });
|
|
91
95
|
trm_commons_1.Inquirer.inquirer = _getInquirer(InquirerType.CLI);
|
|
92
96
|
trm_commons_1.Logger.logger = _getLogger(args.logType, args.debug, args.logOutputFolder);
|
|
93
97
|
if (process.platform !== 'win32' && process.platform !== 'darwin') {
|
|
@@ -158,11 +162,11 @@ function executeCommand(args) {
|
|
|
158
162
|
system = systemAlias_1.SystemAlias.get(args.systemAlias).getConnection();
|
|
159
163
|
}
|
|
160
164
|
else {
|
|
161
|
-
|
|
162
|
-
system = (yield commands.connect(args, !skipCreateAlias.includes(args.command), args.addNoConnection)).connection;
|
|
165
|
+
system = (yield commands.connect(args, true, args.addNoConnection)).getSystemConnector();
|
|
163
166
|
}
|
|
164
167
|
yield system.connect();
|
|
165
168
|
trm_core_1.SystemConnector.systemConnector = system;
|
|
169
|
+
yield trm_commons_1.Plugin.call("client", "onInitializeSystemConnector", trm_core_1.SystemConnector.systemConnector);
|
|
166
170
|
if (requiresTrmDependencies) {
|
|
167
171
|
yield (0, checkTrmDependencies_1.checkTrmDependencies)(args);
|
|
168
172
|
}
|
|
@@ -185,6 +189,15 @@ function executeCommand(args) {
|
|
|
185
189
|
exitCode = 1;
|
|
186
190
|
}
|
|
187
191
|
finally {
|
|
192
|
+
if (trm_core_1.SystemConnector.systemConnector) {
|
|
193
|
+
try {
|
|
194
|
+
yield trm_core_1.SystemConnector.closeConnection();
|
|
195
|
+
}
|
|
196
|
+
catch (e) {
|
|
197
|
+
trm_commons_1.Logger.log(`Couldn't close system connection!`, true);
|
|
198
|
+
trm_commons_1.Logger.log(e.toString(), true);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
188
201
|
if (trm_commons_1.Logger.logger instanceof trm_commons_1.CliLogFileLogger) {
|
|
189
202
|
const sessionId = trm_commons_1.Logger.logger.getSessionId();
|
|
190
203
|
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.0",
|
|
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
|