trm-client 4.1.0 → 4.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.
- package/changelog.txt +17 -0
- package/dist/commands/addRegistry.js +5 -2
- package/dist/commands/arguments/ContentArguments.d.ts +6 -0
- package/dist/commands/arguments/ContentArguments.js +2 -0
- package/dist/commands/arguments/ImportArguments.d.ts +19 -0
- package/dist/commands/arguments/ImportArguments.js +2 -0
- package/dist/commands/arguments/ListArguments.d.ts +3 -1
- package/dist/commands/arguments/PackArguments.d.ts +22 -0
- package/dist/commands/arguments/PackArguments.js +2 -0
- package/dist/commands/arguments/index.d.ts +2 -0
- package/dist/commands/arguments/index.js +2 -0
- package/dist/commands/check.js +3 -2
- package/dist/commands/commons/CommandContext.d.ts +4 -4
- package/dist/commands/commons/CommandContext.js +21 -1
- package/dist/commands/commons/viewRegistryPackage.js +1 -1
- package/dist/commands/compare.js +3 -2
- package/dist/commands/content.d.ts +2 -0
- package/dist/commands/content.js +179 -0
- package/dist/commands/import.d.ts +2 -0
- package/dist/commands/import.js +82 -0
- package/dist/commands/index.d.ts +3 -0
- package/dist/commands/index.js +3 -0
- package/dist/commands/info.js +66 -23
- package/dist/commands/install.js +2 -1
- package/dist/commands/list.js +18 -4
- package/dist/commands/pack.d.ts +2 -0
- package/dist/commands/pack.js +95 -0
- package/dist/commands/prompts/connect.d.ts +1 -1
- package/dist/commands/prompts/connect.js +17 -7
- package/dist/commands/publish.js +2 -1
- package/dist/commands/view.js +36 -29
- package/dist/index.d.ts +1 -1
- package/dist/index.js +61 -2
- package/dist/registryAlias/RegistryAlias.d.ts +3 -2
- package/dist/registryAlias/RegistryAlias.js +9 -6
- package/dist/utils/NoConnection.d.ts +75 -0
- package/dist/utils/NoConnection.js +106 -0
- package/dist/utils/checkCliUpdate.d.ts +4 -1
- package/dist/utils/checkCliUpdate.js +18 -31
- package/dist/utils/checkTrmDependencies.js +20 -35
- package/dist/utils/executeCommand.js +27 -10
- package/dist/utils/getClientNodeDependencies.d.ts +3 -0
- package/dist/utils/getClientNodeDependencies.js +9 -0
- package/dist/utils/getClientVersion.js +2 -2
- package/dist/utils/getNodePackage.d.ts +1 -0
- package/dist/utils/{getClientPackage.js → getNodePackage.js} +3 -3
- package/dist/utils/getNpmPackageLatestVersion.d.ts +1 -0
- package/dist/utils/getNpmPackageLatestVersion.js +42 -0
- package/dist/utils/index.d.ts +4 -3
- package/dist/utils/index.js +4 -3
- package/dist/utils/registerCommand.d.ts +1 -0
- package/dist/utils/registerCommand.js +4 -0
- package/package.json +10 -9
- package/dist/utils/getClientDependencies.d.ts +0 -1
- package/dist/utils/getClientDependencies.js +0 -9
- package/dist/utils/getClientPackage.d.ts +0 -1
- package/dist/utils/getTrmDependencies.d.ts +0 -1
- package/dist/utils/getTrmDependencies.js +0 -9
package/changelog.txt
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
trm-client changelog
|
|
2
|
+
=================
|
|
3
|
+
|
|
4
|
+
Legend
|
|
5
|
+
------
|
|
6
|
+
* : fixed
|
|
7
|
+
! : changed
|
|
8
|
+
+ : added
|
|
9
|
+
- : removed
|
|
10
|
+
|
|
11
|
+
2025-02-26 v4.2.0
|
|
12
|
+
-------------------
|
|
13
|
+
|
|
14
|
+
! connect to registry via option
|
|
15
|
+
- trm dependencies on client
|
|
16
|
+
+ content command
|
|
17
|
+
+ pack/import command
|
|
@@ -18,8 +18,11 @@ function addRegistry(commandArgs) {
|
|
|
18
18
|
const auth = commandArgs.authentication;
|
|
19
19
|
var endpoint = commandArgs.endpoint;
|
|
20
20
|
var oAuth;
|
|
21
|
-
if (registryName.toLowerCase() ===
|
|
22
|
-
throw new Error(`Registry name "
|
|
21
|
+
if (registryName.toLowerCase() === trm_core_1.PUBLIC_RESERVED_KEYWORD) {
|
|
22
|
+
throw new Error(`Registry name "${trm_core_1.PUBLIC_RESERVED_KEYWORD}" is a reserved keyword.`);
|
|
23
|
+
}
|
|
24
|
+
if (registryName.toLowerCase() === trm_core_1.LOCAL_RESERVED_KEYWORD) {
|
|
25
|
+
throw new Error(`Registry name "${trm_core_1.LOCAL_RESERVED_KEYWORD}" is a reserved keyword.`);
|
|
23
26
|
}
|
|
24
27
|
if (auth) {
|
|
25
28
|
try {
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export type ImportArguments = {
|
|
2
|
+
file: string;
|
|
3
|
+
noPrompts: boolean;
|
|
4
|
+
overwrite: boolean;
|
|
5
|
+
safe: boolean;
|
|
6
|
+
noDependencies: boolean;
|
|
7
|
+
noObjectTypes: boolean;
|
|
8
|
+
noSapEntries: boolean;
|
|
9
|
+
noLanguageTransport: boolean;
|
|
10
|
+
noCustomizingTransport: boolean;
|
|
11
|
+
importTimeout: string;
|
|
12
|
+
keepOriginalPackages: boolean;
|
|
13
|
+
createInstallTransport: boolean;
|
|
14
|
+
r3transPath?: string;
|
|
15
|
+
integrity?: string;
|
|
16
|
+
transportLayer?: string;
|
|
17
|
+
packageReplacements?: string;
|
|
18
|
+
installTransportTargetSys?: string;
|
|
19
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export type PackArguments = {
|
|
2
|
+
package: string;
|
|
3
|
+
version?: string;
|
|
4
|
+
outputPath?: string;
|
|
5
|
+
noPrompts: boolean;
|
|
6
|
+
noLanguageTransport: boolean;
|
|
7
|
+
noDependenciesDetection: boolean;
|
|
8
|
+
skipCustomizingTransports: boolean;
|
|
9
|
+
releaseTimeout: string;
|
|
10
|
+
devclass?: string;
|
|
11
|
+
customizingTransports?: string;
|
|
12
|
+
transportTarget?: string;
|
|
13
|
+
backwardsCompatible: boolean;
|
|
14
|
+
description?: string;
|
|
15
|
+
git?: string;
|
|
16
|
+
website?: string;
|
|
17
|
+
license?: string;
|
|
18
|
+
authors?: string;
|
|
19
|
+
keywords?: string;
|
|
20
|
+
dependencies?: string;
|
|
21
|
+
sapEntries?: string;
|
|
22
|
+
};
|
|
@@ -35,3 +35,5 @@ __exportStar(require("./RemoveRegistryArguments"), exports);
|
|
|
35
35
|
__exportStar(require("./FindDependenciesArguments"), exports);
|
|
36
36
|
__exportStar(require("./SettingsArgument"), exports);
|
|
37
37
|
__exportStar(require("./UpdateArguments"), exports);
|
|
38
|
+
__exportStar(require("./ContentArguments"), exports);
|
|
39
|
+
__exportStar(require("./PackArguments"), exports);
|
package/dist/commands/check.js
CHANGED
|
@@ -15,9 +15,10 @@ const commons_1 = require("./commons");
|
|
|
15
15
|
var systemPackages = [];
|
|
16
16
|
const _dependencies = (oPackage) => __awaiter(void 0, void 0, void 0, function* () {
|
|
17
17
|
trm_core_1.Logger.loading(`Analyzing package dependencies...`);
|
|
18
|
+
const packages = yield commons_1.CommandContext.getSystemPackages();
|
|
18
19
|
yield (0, trm_core_1.checkPackageDependencies)({
|
|
19
20
|
contextData: {
|
|
20
|
-
systemPackages:
|
|
21
|
+
systemPackages: packages
|
|
21
22
|
},
|
|
22
23
|
packageData: {
|
|
23
24
|
package: oPackage
|
|
@@ -64,7 +65,7 @@ function check(commandArgs) {
|
|
|
64
65
|
analysisType = inq1.analysisType;
|
|
65
66
|
}
|
|
66
67
|
trm_core_1.Logger.loading(`Searching package "${packageName}"...`);
|
|
67
|
-
systemPackages = yield
|
|
68
|
+
systemPackages = yield commons_1.CommandContext.getSystemPackages();
|
|
68
69
|
const oPackage = systemPackages.find(o => o.compareName(packageName) && o.compareRegistry(commons_1.CommandContext.getRegistry()));
|
|
69
70
|
if (!oPackage) {
|
|
70
71
|
throw new Error(`Package "${packageName}" not found.`);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AbstractRegistry, TrmPackage } from "trm-core";
|
|
2
2
|
export declare namespace CommandContext {
|
|
3
|
-
var registry:
|
|
4
|
-
var systemPackages: TrmPackage[];
|
|
3
|
+
var registry: AbstractRegistry;
|
|
5
4
|
var trmDependencies: TrmPackage[];
|
|
6
5
|
var missingTrmDependencies: (TrmPackage | string)[];
|
|
7
|
-
function getRegistry():
|
|
6
|
+
function getRegistry(): AbstractRegistry;
|
|
7
|
+
function getSystemPackages(): Promise<TrmPackage[]>;
|
|
8
8
|
}
|
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
12
|
exports.CommandContext = void 0;
|
|
13
|
+
const trm_core_1 = require("trm-core");
|
|
4
14
|
var CommandContext;
|
|
5
15
|
(function (CommandContext) {
|
|
16
|
+
var _systemPackages = undefined;
|
|
6
17
|
CommandContext.registry = undefined;
|
|
7
|
-
CommandContext.systemPackages = undefined;
|
|
8
18
|
CommandContext.trmDependencies = [];
|
|
9
19
|
CommandContext.missingTrmDependencies = [];
|
|
10
20
|
function getRegistry() {
|
|
@@ -16,4 +26,14 @@ var CommandContext;
|
|
|
16
26
|
}
|
|
17
27
|
}
|
|
18
28
|
CommandContext.getRegistry = getRegistry;
|
|
29
|
+
function getSystemPackages() {
|
|
30
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
+
if (!this._systemPackages) {
|
|
32
|
+
trm_core_1.Logger.loading(`Reading system packages...`);
|
|
33
|
+
this._systemPackages = yield trm_core_1.SystemConnector.getInstalledPackages(true, true, true);
|
|
34
|
+
}
|
|
35
|
+
return this._systemPackages;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
CommandContext.getSystemPackages = getSystemPackages;
|
|
19
39
|
})(CommandContext || (exports.CommandContext = CommandContext = {}));
|
|
@@ -21,7 +21,7 @@ function viewRegistryPackage(packageName, print = true) {
|
|
|
21
21
|
trm_core_1.Logger.loading(`Reading registry data...`);
|
|
22
22
|
var oRegistryView;
|
|
23
23
|
try {
|
|
24
|
-
oRegistryView = yield CommandContext_1.CommandContext.getRegistry().view(packageName);
|
|
24
|
+
oRegistryView = yield CommandContext_1.CommandContext.getRegistry().view(packageName, 'latest');
|
|
25
25
|
}
|
|
26
26
|
catch (e) {
|
|
27
27
|
trm_core_1.Logger.error(e, true);
|
package/dist/commands/compare.js
CHANGED
|
@@ -150,12 +150,13 @@ function compare(commandArgs) {
|
|
|
150
150
|
catch (e) { }
|
|
151
151
|
trm_core_1.Logger.loading(`Reading system data...`);
|
|
152
152
|
for (const oConnection of aConnections) {
|
|
153
|
-
|
|
153
|
+
trm_core_1.SystemConnector.systemConnector = oConnection;
|
|
154
|
+
const system = trm_core_1.SystemConnector.getDest() || '';
|
|
154
155
|
var installed;
|
|
155
156
|
var version;
|
|
156
157
|
var devclass;
|
|
157
158
|
var importTransport;
|
|
158
|
-
const aSystemPackages = yield
|
|
159
|
+
const aSystemPackages = yield trm_core_1.SystemConnector.getInstalledPackages(true);
|
|
159
160
|
const oSystemView = aSystemPackages.find(o => o.compareName(packageName) && o.compareRegistry(registry));
|
|
160
161
|
if (oSystemView && oSystemView.manifest) {
|
|
161
162
|
installed = 'Yes';
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.content = void 0;
|
|
16
|
+
const trm_core_1 = require("trm-core");
|
|
17
|
+
const commons_1 = require("./commons");
|
|
18
|
+
const utils_1 = require("../utils");
|
|
19
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
20
|
+
function content(commandArgs) {
|
|
21
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
+
trm_core_1.Logger.loading(`Searching package "${commandArgs.package}"...`);
|
|
23
|
+
const remotePackage = new trm_core_1.TrmPackage(commandArgs.package, commons_1.CommandContext.getRegistry());
|
|
24
|
+
const remoteManifest = yield remotePackage.fetchRemoteManifest(commandArgs.version);
|
|
25
|
+
trm_core_1.Logger.loading(`Reading content...`);
|
|
26
|
+
var transports = {};
|
|
27
|
+
var aNodes = [];
|
|
28
|
+
var iOtherEntries = 0;
|
|
29
|
+
const packageContent = yield remotePackage.fetchRemoteContent(commandArgs.version, {
|
|
30
|
+
tempDirPath: (0, utils_1.getTempFolder)(),
|
|
31
|
+
r3transDirPath: commandArgs.r3transPath
|
|
32
|
+
});
|
|
33
|
+
if (!commandArgs.all) {
|
|
34
|
+
transports.TADIR = packageContent.TADIR.trkorr;
|
|
35
|
+
aNodes.push({
|
|
36
|
+
tableName: 'TADIR',
|
|
37
|
+
content: packageContent.TADIR.content.TADIR
|
|
38
|
+
});
|
|
39
|
+
Object.keys(packageContent).forEach(type => {
|
|
40
|
+
if (type === 'TADIR') {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
Object.keys(packageContent[type].content).forEach(tableName => {
|
|
44
|
+
iOtherEntries += packageContent[type].content[tableName].length;
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
Object.keys(packageContent).forEach(type => {
|
|
50
|
+
transports[type] = packageContent[type].trkorr;
|
|
51
|
+
Object.keys(packageContent[type].content).forEach(tableName => {
|
|
52
|
+
var nodeIndex = aNodes.findIndex(o => o.tableName === tableName);
|
|
53
|
+
if (nodeIndex < 0) {
|
|
54
|
+
nodeIndex = (aNodes.push({
|
|
55
|
+
tableName,
|
|
56
|
+
content: []
|
|
57
|
+
})) - 1;
|
|
58
|
+
}
|
|
59
|
+
aNodes[nodeIndex].content = aNodes[nodeIndex].content.concat(packageContent[type].content[tableName].map(o => {
|
|
60
|
+
o.__isDevc = type === 'DEVC';
|
|
61
|
+
o.__isLang = type === 'LANG';
|
|
62
|
+
o.__isCust = type === 'CUST';
|
|
63
|
+
return o;
|
|
64
|
+
}));
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
var tree = {
|
|
69
|
+
text: `${chalk_1.default.bold(commandArgs.package)} v${remoteManifest.get().version} content`,
|
|
70
|
+
children: []
|
|
71
|
+
};
|
|
72
|
+
aNodes.forEach(node => {
|
|
73
|
+
if (node.content.length > 0) {
|
|
74
|
+
var tableNode = {
|
|
75
|
+
text: `${chalk_1.default.bold(node.tableName)} (${node.content.length} record${node.content.length > 1 ? 's' : ''})`,
|
|
76
|
+
children: []
|
|
77
|
+
};
|
|
78
|
+
node.content.forEach(record => {
|
|
79
|
+
var sRecord = [];
|
|
80
|
+
Object.keys(record).filter(k => !k.startsWith('__')).forEach(field => {
|
|
81
|
+
var fieldValue = record[field];
|
|
82
|
+
if (field && fieldValue) {
|
|
83
|
+
if (node.tableName === 'TADIR') {
|
|
84
|
+
if (field === 'SRCSYSTEM') {
|
|
85
|
+
fieldValue = chalk_1.default.strikethrough(fieldValue);
|
|
86
|
+
}
|
|
87
|
+
else if (field === 'DEVCLASS') {
|
|
88
|
+
fieldValue = chalk_1.default.italic(fieldValue);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
sRecord.push(`${chalk_1.default.bold(field)}: ${fieldValue}`);
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
if (sRecord.length > 0) {
|
|
95
|
+
if (record.__isDevc) {
|
|
96
|
+
tableNode.children.push({
|
|
97
|
+
text: chalk_1.default.bgGrey(sRecord.join(', ')),
|
|
98
|
+
children: []
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
else if (record.__isLang) {
|
|
102
|
+
tableNode.children.push({
|
|
103
|
+
text: chalk_1.default.bgGreen(sRecord.join(', ')),
|
|
104
|
+
children: []
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
else if (record.__isCust) {
|
|
108
|
+
tableNode.children.push({
|
|
109
|
+
text: chalk_1.default.bgYellow(sRecord.join(', ')),
|
|
110
|
+
children: []
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
tableNode.children.push({
|
|
115
|
+
text: sRecord.join(', '),
|
|
116
|
+
children: []
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
tree.children.push(tableNode);
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
trm_core_1.Logger.tree(tree);
|
|
125
|
+
var header = ['Namespace', 'ABAP Package', 'TRM Transport', 'Customizing', 'Translations'];
|
|
126
|
+
var row1 = [];
|
|
127
|
+
var row2 = [];
|
|
128
|
+
if (remoteManifest.get().namespace) {
|
|
129
|
+
row1.push(`\u2714`);
|
|
130
|
+
row2.push(remoteManifest.get().namespace.replicense);
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
row1.push(`\u274C`);
|
|
134
|
+
row2.push(``);
|
|
135
|
+
}
|
|
136
|
+
if (Object.keys(packageContent).includes('DEVC')) {
|
|
137
|
+
row1.push(`\u2714 ${packageContent['DEVC'].trkorr}`);
|
|
138
|
+
row2.push(`${chalk_1.default.bgGrey('Highlight')}`);
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
row1.push(`\u274C`);
|
|
142
|
+
row2.push(``);
|
|
143
|
+
}
|
|
144
|
+
if (Object.keys(packageContent).includes('TADIR')) {
|
|
145
|
+
row1.push(`\u2714 ${packageContent['TADIR'].trkorr}`);
|
|
146
|
+
row2.push(``);
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
row1.push(`\u274C`);
|
|
150
|
+
row2.push(``);
|
|
151
|
+
}
|
|
152
|
+
if (Object.keys(packageContent).includes('CUST')) {
|
|
153
|
+
row1.push(`\u2714 ${packageContent['CUST'].trkorr}`);
|
|
154
|
+
row2.push(`${chalk_1.default.bgYellow('Highlight')}`);
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
row1.push(`\u274C`);
|
|
158
|
+
row2.push(``);
|
|
159
|
+
}
|
|
160
|
+
if (Object.keys(packageContent).includes('LANG')) {
|
|
161
|
+
row1.push(`\u2714 ${packageContent['LANG'].trkorr}`);
|
|
162
|
+
row2.push(`${chalk_1.default.bgGreen('Highlight')}`);
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
row1.push(`\u274C`);
|
|
166
|
+
row2.push(``);
|
|
167
|
+
}
|
|
168
|
+
if (row2.filter(s => s.length > 0).length > 0) {
|
|
169
|
+
trm_core_1.Logger.table(header, [row1, row2]);
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
trm_core_1.Logger.table(header, [row1]);
|
|
173
|
+
}
|
|
174
|
+
if (iOtherEntries > 0) {
|
|
175
|
+
trm_core_1.Logger.warning(`There are ${iOtherEntries} other records to show. Run with option --all in order to see them.`);
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
exports.content = content;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports._import = void 0;
|
|
13
|
+
const trm_core_1 = require("trm-core");
|
|
14
|
+
const utils_1 = require("../utils");
|
|
15
|
+
const commons_1 = require("./commons");
|
|
16
|
+
const _parsePackageReplacementsArgument = (arg) => {
|
|
17
|
+
if (arg) {
|
|
18
|
+
try {
|
|
19
|
+
return JSON.parse(arg);
|
|
20
|
+
}
|
|
21
|
+
catch (e) { }
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
const _parseImportTimeoutArg = (arg) => {
|
|
25
|
+
if (arg) {
|
|
26
|
+
try {
|
|
27
|
+
return parseInt(arg);
|
|
28
|
+
}
|
|
29
|
+
catch (e) { }
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
function _import(commandArgs) {
|
|
33
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
34
|
+
const registry = new trm_core_1.FileSystem(commandArgs.file);
|
|
35
|
+
const packages = yield commons_1.CommandContext.getSystemPackages();
|
|
36
|
+
const result = yield (0, trm_core_1.install)({
|
|
37
|
+
contextData: {
|
|
38
|
+
r3transOptions: {
|
|
39
|
+
tempDirPath: (0, utils_1.getTempFolder)(),
|
|
40
|
+
r3transDirPath: commandArgs.r3transPath
|
|
41
|
+
},
|
|
42
|
+
noInquirer: commandArgs.noPrompts,
|
|
43
|
+
systemPackages: packages,
|
|
44
|
+
noR3transInfo: false
|
|
45
|
+
},
|
|
46
|
+
packageData: {
|
|
47
|
+
name: 'dummy',
|
|
48
|
+
overwrite: commandArgs.overwrite,
|
|
49
|
+
integrity: commandArgs.integrity,
|
|
50
|
+
registry
|
|
51
|
+
},
|
|
52
|
+
installData: {
|
|
53
|
+
checks: {
|
|
54
|
+
safe: commandArgs.safe,
|
|
55
|
+
noDependencies: commandArgs.noDependencies,
|
|
56
|
+
noObjectTypes: commandArgs.noObjectTypes,
|
|
57
|
+
noSapEntries: commandArgs.noSapEntries
|
|
58
|
+
},
|
|
59
|
+
import: {
|
|
60
|
+
noLang: commandArgs.noLanguageTransport,
|
|
61
|
+
noCust: commandArgs.noCustomizingTransport,
|
|
62
|
+
timeout: _parseImportTimeoutArg(commandArgs.importTimeout)
|
|
63
|
+
},
|
|
64
|
+
installDevclass: {
|
|
65
|
+
keepOriginal: commandArgs.keepOriginalPackages,
|
|
66
|
+
transportLayer: commandArgs.transportLayer,
|
|
67
|
+
replacements: _parsePackageReplacementsArgument(commandArgs.packageReplacements)
|
|
68
|
+
},
|
|
69
|
+
installTransport: {
|
|
70
|
+
create: commandArgs.createInstallTransport,
|
|
71
|
+
targetSystem: commandArgs.installTransportTargetSys
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
var sOutput = `${result.trmPackage.packageName} installed`;
|
|
76
|
+
if (result.installTransport) {
|
|
77
|
+
sOutput += `, use ${result.installTransport.trkorr} transport in landscape`;
|
|
78
|
+
}
|
|
79
|
+
trm_core_1.Logger.success(sOutput);
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
exports._import = _import;
|
package/dist/commands/index.d.ts
CHANGED
package/dist/commands/index.js
CHANGED
|
@@ -36,3 +36,6 @@ __exportStar(require("./check"), exports);
|
|
|
36
36
|
__exportStar(require("./findDependencies"), exports);
|
|
37
37
|
__exportStar(require("./settings"), exports);
|
|
38
38
|
__exportStar(require("./update"), exports);
|
|
39
|
+
__exportStar(require("./content"), exports);
|
|
40
|
+
__exportStar(require("./pack"), exports);
|
|
41
|
+
__exportStar(require("./import"), exports);
|
package/dist/commands/info.js
CHANGED
|
@@ -20,6 +20,7 @@ const fs_1 = require("fs");
|
|
|
20
20
|
const path_1 = __importDefault(require("path"));
|
|
21
21
|
const get_root_path_1 = require("get-root-path");
|
|
22
22
|
const chalk_1 = __importDefault(require("chalk"));
|
|
23
|
+
const semver_1 = require("semver");
|
|
23
24
|
const _getDependencyVersion = (moduleName) => {
|
|
24
25
|
var file;
|
|
25
26
|
try {
|
|
@@ -49,43 +50,77 @@ const _getNodeRfcVersion = (npmGlobal) => {
|
|
|
49
50
|
return JSON.parse(file.toString()).version;
|
|
50
51
|
}
|
|
51
52
|
};
|
|
53
|
+
const _getNpmLatestForText = (packageName, installedVersion, text) => __awaiter(void 0, void 0, void 0, function* () {
|
|
54
|
+
try {
|
|
55
|
+
const latestVersion = yield (0, utils_1.getNpmPackageLatestVersion)(packageName);
|
|
56
|
+
if ((0, semver_1.gte)(installedVersion, latestVersion)) {
|
|
57
|
+
text += ` ${chalk_1.default.bgGreen('LATEST')}`;
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
text += ` ${chalk_1.default.bold('v' + latestVersion + ' available')}`;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
catch (e) {
|
|
64
|
+
text += ` ${chalk_1.default.bgGray('Can\'t fetch latest version')}`;
|
|
65
|
+
}
|
|
66
|
+
return text;
|
|
67
|
+
});
|
|
52
68
|
function info(commandArgs) {
|
|
53
69
|
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
trm_core_1.Logger.loading(`Reading data...`);
|
|
54
71
|
const npmGlobal = yield (0, trm_core_1.getNpmGlobalPath)();
|
|
72
|
+
const clientLatest = yield (0, utils_1.checkCliUpdate)(false);
|
|
55
73
|
const clientVersion = (0, utils_1.getClientVersion)();
|
|
56
|
-
const clientDependencies = (0, utils_1.
|
|
57
|
-
const trmDependencies = (0,
|
|
74
|
+
const clientDependencies = (0, utils_1.getClientNodeDependencies)();
|
|
75
|
+
const trmDependencies = (0, trm_core_1.getCoreTrmDependencies)();
|
|
58
76
|
const trmDependenciesInstances = commons_1.CommandContext.trmDependencies;
|
|
59
77
|
const trmMissingDependencies = commons_1.CommandContext.missingTrmDependencies;
|
|
60
78
|
const nodeRfcVersion = _getNodeRfcVersion(npmGlobal);
|
|
61
|
-
const
|
|
79
|
+
const nodeR3transVersion = _getDependencyVersion("node-r3trans");
|
|
80
|
+
const packages = yield commons_1.CommandContext.getSystemPackages();
|
|
81
|
+
const trmRest = packages.find(o => o.compareName("trm-rest") && o.compareRegistry(new trm_core_1.Registry(trm_core_1.PUBLIC_RESERVED_KEYWORD)));
|
|
62
82
|
var clientDependenciesTree = [];
|
|
63
83
|
if (clientDependencies) {
|
|
64
|
-
Object.keys(clientDependencies).filter(
|
|
65
|
-
var
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
installedVersion = ``;
|
|
84
|
+
for (const d of Object.keys(clientDependencies).filter(k => k.startsWith('trm'))) {
|
|
85
|
+
var dText = ``;
|
|
86
|
+
var dInstalledVersion = _getDependencyVersion(d);
|
|
87
|
+
if (dInstalledVersion) {
|
|
88
|
+
dText = ` -> ${dInstalledVersion}`;
|
|
89
|
+
dText = yield _getNpmLatestForText(d, dInstalledVersion, dText);
|
|
71
90
|
}
|
|
72
91
|
clientDependenciesTree.push({
|
|
73
|
-
text: `${d} ${clientDependencies[d]}${
|
|
92
|
+
text: `${d} ${clientDependencies[d]}${dText}`,
|
|
74
93
|
children: []
|
|
75
94
|
});
|
|
76
|
-
}
|
|
95
|
+
}
|
|
77
96
|
}
|
|
78
97
|
var serverDependenciesTree = [];
|
|
79
98
|
if (trmDependencies) {
|
|
80
|
-
Object.keys(trmDependencies)
|
|
81
|
-
var
|
|
99
|
+
for (const d of Object.keys(trmDependencies)) {
|
|
100
|
+
var dText = ``;
|
|
82
101
|
const oTrmPackage = trmDependenciesInstances.find(o => o.compareName(d));
|
|
83
102
|
if (oTrmPackage) {
|
|
103
|
+
var dInstalledVersion;
|
|
84
104
|
try {
|
|
85
|
-
|
|
105
|
+
dInstalledVersion = oTrmPackage.manifest.get().version;
|
|
86
106
|
}
|
|
87
107
|
catch (e) {
|
|
88
|
-
|
|
108
|
+
dText = ` -> ${e.message}`;
|
|
109
|
+
}
|
|
110
|
+
if (dInstalledVersion) {
|
|
111
|
+
dText = ` -> ${dInstalledVersion}`;
|
|
112
|
+
try {
|
|
113
|
+
const dLatestVersion = (yield oTrmPackage.fetchRemoteManifest('latest')).get().version;
|
|
114
|
+
if ((0, semver_1.gte)(dInstalledVersion, dLatestVersion)) {
|
|
115
|
+
dText += ` ${chalk_1.default.bgGreen('LATEST')}`;
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
dText += ` ${chalk_1.default.bold('v' + dLatestVersion + ' available')}`;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
catch (e) {
|
|
122
|
+
dText += ` ${chalk_1.default.bgGray('Can\'t fetch latest version')}`;
|
|
123
|
+
}
|
|
89
124
|
}
|
|
90
125
|
}
|
|
91
126
|
else {
|
|
@@ -103,18 +138,18 @@ function info(commandArgs) {
|
|
|
103
138
|
});
|
|
104
139
|
if (missingDependency) {
|
|
105
140
|
try {
|
|
106
|
-
|
|
141
|
+
dText = ` -> ${chalk_1.default.bgRed(missingDependency.manifest.get().version)}`;
|
|
107
142
|
}
|
|
108
143
|
catch (e) {
|
|
109
|
-
|
|
144
|
+
dText = ` -> ${chalk_1.default.bgRed('Not found')}`;
|
|
110
145
|
}
|
|
111
146
|
}
|
|
112
147
|
}
|
|
113
148
|
serverDependenciesTree.push({
|
|
114
|
-
text: `${d} ${trmDependencies[d]}${
|
|
149
|
+
text: `${d} ${trmDependencies[d]}${dText}`,
|
|
115
150
|
children: []
|
|
116
151
|
});
|
|
117
|
-
}
|
|
152
|
+
}
|
|
118
153
|
}
|
|
119
154
|
if (trmRest && trmRest.manifest) {
|
|
120
155
|
serverDependenciesTree.push({
|
|
@@ -123,12 +158,18 @@ function info(commandArgs) {
|
|
|
123
158
|
});
|
|
124
159
|
}
|
|
125
160
|
var clientChildrenTree = [{
|
|
126
|
-
text: `trm-client ${clientVersion}`,
|
|
161
|
+
text: `trm-client ${clientVersion} ${(0, semver_1.gte)(clientLatest.localVersion, clientLatest.latestVersion) ? chalk_1.default.bgGreen('LATEST') : chalk_1.default.bold('v' + clientLatest.latestVersion + ' available')}`,
|
|
127
162
|
children: clientDependenciesTree
|
|
128
163
|
}];
|
|
129
164
|
if (nodeRfcVersion) {
|
|
130
165
|
clientChildrenTree.push({
|
|
131
|
-
text: `node-rfc ${nodeRfcVersion}
|
|
166
|
+
text: yield _getNpmLatestForText('node-rfc', nodeRfcVersion, `node-rfc ${nodeRfcVersion}`),
|
|
167
|
+
children: []
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
if (nodeR3transVersion) {
|
|
171
|
+
clientChildrenTree.push({
|
|
172
|
+
text: yield _getNpmLatestForText('node-r3trans', nodeR3transVersion, `node-r3trans ${nodeR3transVersion}`),
|
|
132
173
|
children: []
|
|
133
174
|
});
|
|
134
175
|
}
|
|
@@ -141,7 +182,9 @@ function info(commandArgs) {
|
|
|
141
182
|
text: chalk_1.default.bold(`Server (${trm_core_1.SystemConnector.getDest()})`),
|
|
142
183
|
children: serverDependenciesTree
|
|
143
184
|
};
|
|
144
|
-
trm_core_1.
|
|
185
|
+
if (!(trm_core_1.SystemConnector.systemConnector instanceof utils_1.NoConnection)) {
|
|
186
|
+
trm_core_1.Logger.tree(serverTree);
|
|
187
|
+
}
|
|
145
188
|
});
|
|
146
189
|
}
|
|
147
190
|
exports.info = info;
|