@sap-ux/environment-check 0.16.86 → 0.17.2
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/dist/archive/index.js +48 -61
- package/dist/archive/index.js.map +1 -1
- package/dist/checks/destination.js +64 -78
- package/dist/checks/destination.js.map +1 -1
- package/dist/checks/endpoint.js +40 -50
- package/dist/checks/endpoint.js.map +1 -1
- package/dist/checks/environment.js +132 -149
- package/dist/checks/environment.js.map +1 -1
- package/dist/checks/get-installed.js +116 -142
- package/dist/checks/get-installed.js.map +1 -1
- package/dist/checks/service-checks.js +120 -142
- package/dist/checks/service-checks.js.map +1 -1
- package/dist/checks/stored-system.js +60 -73
- package/dist/checks/stored-system.js.map +1 -1
- package/dist/checks/workspace.js +53 -69
- package/dist/checks/workspace.js.map +1 -1
- package/dist/cli/index.js +74 -91
- package/dist/cli/index.js.map +1 -1
- package/dist/i18n.js +11 -22
- package/dist/i18n.js.map +1 -1
- package/dist/output/markdown.js +9 -10
- package/dist/output/markdown.js.map +1 -1
- package/dist/output/string.js +4 -4
- package/dist/output/string.js.map +1 -1
- package/dist/output/zip.js +1 -2
- package/dist/output/zip.js.map +1 -1
- package/package.json +8 -8
|
@@ -1,13 +1,4 @@
|
|
|
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
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.checkEnvironment = exports.getEndpointsResults = exports.getEnvironment = void 0;
|
|
13
4
|
const btp_utils_1 = require("@sap-ux/btp-utils");
|
|
@@ -26,35 +17,33 @@ const i18n_1 = require("../i18n");
|
|
|
26
17
|
* @param extensions - installed extensions passed from vscode
|
|
27
18
|
* @returns environment, including ide, versions, ...
|
|
28
19
|
*/
|
|
29
|
-
function getEnvironment(extensions) {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
logger.info((0, i18n_1.t)('info.basDevSpace', { basDevSpace: environment.basDevSpace }));
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
catch (error) {
|
|
47
|
-
logger.info((0, i18n_1.t)('error.basDevSpace', { error: error.message }));
|
|
20
|
+
async function getEnvironment(extensions) {
|
|
21
|
+
const logger = (0, logger_1.getLogger)();
|
|
22
|
+
const processVersions = await (0, get_installed_1.getProcessVersions)(logger);
|
|
23
|
+
const environment = {
|
|
24
|
+
developmentEnvironment: (0, btp_utils_1.isAppStudio)() ? "Business Application Studio" /* DevelopmentEnvironment.BAS */ : "Visual Studio Code" /* DevelopmentEnvironment.VSCode */,
|
|
25
|
+
versions: processVersions,
|
|
26
|
+
platform: process.platform
|
|
27
|
+
};
|
|
28
|
+
logger.info((0, i18n_1.t)('info.platform', { platform: environment.platform }));
|
|
29
|
+
logger.info((0, i18n_1.t)('info.developmentEnvironment', { env: environment.developmentEnvironment }));
|
|
30
|
+
try {
|
|
31
|
+
if ((0, btp_utils_1.isAppStudio)()) {
|
|
32
|
+
environment.basDevSpace = (await bas_sdk_1.devspace.getDevspaceInfo()).packDisplayName;
|
|
33
|
+
logger.info((0, i18n_1.t)('info.basDevSpace', { basDevSpace: environment.basDevSpace }));
|
|
48
34
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
logger.
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
logger.info((0, i18n_1.t)('error.basDevSpace', { error: error.message }));
|
|
38
|
+
}
|
|
39
|
+
const toolsExtensionResults = await getToolsExtensions(extensions);
|
|
40
|
+
environment.toolsExtensions = toolsExtensionResults.toolsExtensions;
|
|
41
|
+
logger.push(...toolsExtensionResults.messages);
|
|
42
|
+
logger.info((0, i18n_1.t)('info.versions', { versions: JSON.stringify(environment.versions, null, 4) }));
|
|
43
|
+
return {
|
|
44
|
+
environment,
|
|
45
|
+
messages: logger.getMessages()
|
|
46
|
+
};
|
|
58
47
|
}
|
|
59
48
|
exports.getEnvironment = getEnvironment;
|
|
60
49
|
/**
|
|
@@ -91,32 +80,33 @@ function getExtVersions(extensions) {
|
|
|
91
80
|
* @param extensions - installed extensions passed from vscode
|
|
92
81
|
* @returns tools and extension versions
|
|
93
82
|
*/
|
|
94
|
-
function getToolsExtensions(extensions) {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
83
|
+
async function getToolsExtensions(extensions) {
|
|
84
|
+
const logger = (0, logger_1.getLogger)();
|
|
85
|
+
const installedExtensions = await (0, get_installed_1.getInstalledExtensions)(extensions, logger);
|
|
86
|
+
const fioriGenVersion = await (0, get_installed_1.getFioriGenVersion)();
|
|
87
|
+
const cloudCli = await (0, get_installed_1.getCFCliToolVersion)();
|
|
88
|
+
let toolsExtensions = {
|
|
89
|
+
cloudCli: cloudCli,
|
|
90
|
+
fioriGenVersion: fioriGenVersion
|
|
91
|
+
};
|
|
92
|
+
if (installedExtensions) {
|
|
93
|
+
const extVersions = getExtVersions(installedExtensions);
|
|
94
|
+
toolsExtensions = {
|
|
95
|
+
...toolsExtensions,
|
|
96
|
+
...extVersions
|
|
103
97
|
};
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
logger.info((0, i18n_1.t)('info.cds', { cds: toolsExtensions.cds }));
|
|
117
|
-
logger.info((0, i18n_1.t)('info.ui5LanguageAssistant', { ui5LanguageAssistant: toolsExtensions.ui5LanguageAssistant }));
|
|
118
|
-
return { toolsExtensions, messages: logger.getMessages() };
|
|
119
|
-
});
|
|
98
|
+
}
|
|
99
|
+
logger.info((0, i18n_1.t)('info.cloudCli', { cloudCli: toolsExtensions.cloudCli }));
|
|
100
|
+
logger.info((0, i18n_1.t)('info.appWizard', { appWizard: toolsExtensions.appWizard }));
|
|
101
|
+
logger.info((0, i18n_1.t)('info.fioriGenVersion', { fioriGenVersion: toolsExtensions.fioriGenVersion }));
|
|
102
|
+
logger.info((0, i18n_1.t)('info.appMod', { appMod: toolsExtensions.appMod }));
|
|
103
|
+
logger.info((0, i18n_1.t)('info.help', { help: toolsExtensions.help }));
|
|
104
|
+
logger.info((0, i18n_1.t)('info.serviceMod', { serviceMod: toolsExtensions.serviceMod }));
|
|
105
|
+
logger.info((0, i18n_1.t)('info.annotationMod', { annotationMod: toolsExtensions.annotationMod }));
|
|
106
|
+
logger.info((0, i18n_1.t)('info.xmlToolkit', { xmlToolkit: toolsExtensions.xmlToolkit }));
|
|
107
|
+
logger.info((0, i18n_1.t)('info.cds', { cds: toolsExtensions.cds }));
|
|
108
|
+
logger.info((0, i18n_1.t)('info.ui5LanguageAssistant', { ui5LanguageAssistant: toolsExtensions.ui5LanguageAssistant }));
|
|
109
|
+
return { toolsExtensions, messages: logger.getMessages() };
|
|
120
110
|
}
|
|
121
111
|
/**
|
|
122
112
|
* Internal function to check an SAP system or BAS Destination.
|
|
@@ -125,32 +115,30 @@ function getToolsExtensions(extensions) {
|
|
|
125
115
|
* @param credentialCallback - callback in case user credentials are required to query a destination
|
|
126
116
|
* @returns - messages and detailed destination check results
|
|
127
117
|
*/
|
|
128
|
-
function getEndpointResults(endpoint, credentialCallback) {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
if (
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
password = credentials.password;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
else {
|
|
142
|
-
logger.warn((0, i18n_1.t)('warning.basicAuthRequired', {
|
|
143
|
-
sapSystem: endpoint.Name
|
|
144
|
-
}));
|
|
118
|
+
async function getEndpointResults(endpoint, credentialCallback) {
|
|
119
|
+
const logger = (0, logger_1.getLogger)();
|
|
120
|
+
let username;
|
|
121
|
+
let password;
|
|
122
|
+
if ((0, destination_1.needsUsernamePassword)(endpoint)) {
|
|
123
|
+
if (typeof credentialCallback === 'function') {
|
|
124
|
+
const credentials = await credentialCallback(endpoint);
|
|
125
|
+
if (credentials && credentials.username && credentials.password) {
|
|
126
|
+
username = credentials.username;
|
|
127
|
+
password = credentials.password;
|
|
145
128
|
}
|
|
146
129
|
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
130
|
+
else {
|
|
131
|
+
logger.warn((0, i18n_1.t)('warning.basicAuthRequired', {
|
|
132
|
+
sapSystem: endpoint.Name
|
|
133
|
+
}));
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
const endpointDetails = await (0, endpoint_1.checkEndpoint)(endpoint, username, password);
|
|
137
|
+
logger.push(...endpointDetails.messages);
|
|
138
|
+
return {
|
|
139
|
+
messages: logger.getMessages(),
|
|
140
|
+
endpointResults: endpointDetails.endpointResults
|
|
141
|
+
};
|
|
154
142
|
}
|
|
155
143
|
/**
|
|
156
144
|
* Check a set of endpoints (SAP systems and BAS Destinations) (deep dive into them).
|
|
@@ -160,29 +148,27 @@ function getEndpointResults(endpoint, credentialCallback) {
|
|
|
160
148
|
* @param credentialCallback - callback in case user credentials are required to query a destination
|
|
161
149
|
* @returns - messages and the map of detailed endpoints check results
|
|
162
150
|
*/
|
|
163
|
-
function getEndpointsResults(deepDiveEndpoints, endpoints, credentialCallback) {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
systemResults[checkEndpoint.Name] = endpointResults;
|
|
176
|
-
}
|
|
177
|
-
else {
|
|
178
|
-
logger.warn((0, i18n_1.t)('warning.endpointsNotFound', { deepDiveEndpoint, sysNumber: endpoints.length }));
|
|
179
|
-
}
|
|
151
|
+
async function getEndpointsResults(deepDiveEndpoints, endpoints, credentialCallback) {
|
|
152
|
+
const logger = (0, logger_1.getLogger)();
|
|
153
|
+
const systemResults = {};
|
|
154
|
+
logger.info(deepDiveEndpoints.size > 0
|
|
155
|
+
? (0, i18n_1.t)('info.detailsForSapSystem', { sapSystems: Array.from(deepDiveEndpoints).join(', ') })
|
|
156
|
+
: (0, i18n_1.t)('info.noDetailsRequested'));
|
|
157
|
+
for (const deepDiveEndpoint of Array.from(deepDiveEndpoints)) {
|
|
158
|
+
const checkEndpoint = endpoints.find((d) => d.Name === deepDiveEndpoint);
|
|
159
|
+
if (checkEndpoint) {
|
|
160
|
+
const { messages: destMessages, endpointResults } = await getEndpointResults(checkEndpoint, credentialCallback);
|
|
161
|
+
logger.push(...destMessages);
|
|
162
|
+
systemResults[checkEndpoint.Name] = endpointResults;
|
|
180
163
|
}
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
164
|
+
else {
|
|
165
|
+
logger.warn((0, i18n_1.t)('warning.endpointsNotFound', { deepDiveEndpoint, sysNumber: endpoints.length }));
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
return {
|
|
169
|
+
messages: logger.getMessages(),
|
|
170
|
+
systemResults
|
|
171
|
+
};
|
|
186
172
|
}
|
|
187
173
|
exports.getEndpointsResults = getEndpointsResults;
|
|
188
174
|
/**
|
|
@@ -191,48 +177,45 @@ exports.getEndpointsResults = getEndpointsResults;
|
|
|
191
177
|
* @param options - see type CheckEnvironmentOptions, includes endpoint for deep dive, workspace roots, ...
|
|
192
178
|
* @returns the result, currently as JSON
|
|
193
179
|
*/
|
|
194
|
-
function checkEnvironment(options) {
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
logger.push(...workspaceResults.messages);
|
|
209
|
-
workspaceResults.destinations.forEach((dest) => deepDiveEndpoints.add(dest));
|
|
210
|
-
}
|
|
211
|
-
requestedChecks.push(types_1.Check.Destinations);
|
|
212
|
-
const basDestResults = yield (0, destination_1.checkBASDestinations)();
|
|
213
|
-
endpoints = basDestResults.destinations;
|
|
214
|
-
logger.push(...basDestResults.messages);
|
|
215
|
-
}
|
|
216
|
-
else {
|
|
217
|
-
requestedChecks.push(types_1.Check.StoredSystems);
|
|
218
|
-
const savedSystemResults = yield (0, stored_system_1.checkStoredSystems)();
|
|
219
|
-
endpoints = savedSystemResults.storedSystems;
|
|
220
|
-
logger.push(...savedSystemResults.messages);
|
|
221
|
-
}
|
|
222
|
-
if (deepDiveEndpoints.size > 0) {
|
|
223
|
-
requestedChecks.push(types_1.Check.EndpointResults);
|
|
180
|
+
async function checkEnvironment(options) {
|
|
181
|
+
const logger = (0, logger_1.getLogger)();
|
|
182
|
+
let endpoints;
|
|
183
|
+
const requestedChecks = [];
|
|
184
|
+
// check environment
|
|
185
|
+
requestedChecks.push(types_1.Check.Environment);
|
|
186
|
+
const { environment, messages } = await getEnvironment();
|
|
187
|
+
logger.push(...messages);
|
|
188
|
+
const deepDiveEndpoints = options?.endpoints ? new Set(options.endpoints) : new Set();
|
|
189
|
+
if ((0, btp_utils_1.isAppStudio)()) {
|
|
190
|
+
if (options?.workspaceRoots?.length > 0) {
|
|
191
|
+
const workspaceResults = await (0, workspace_1.getDestinationsFromWorkspace)(options?.workspaceRoots);
|
|
192
|
+
logger.push(...workspaceResults.messages);
|
|
193
|
+
workspaceResults.destinations.forEach((dest) => deepDiveEndpoints.add(dest));
|
|
224
194
|
}
|
|
225
|
-
|
|
226
|
-
const
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
}
|
|
195
|
+
requestedChecks.push(types_1.Check.Destinations);
|
|
196
|
+
const basDestResults = await (0, destination_1.checkBASDestinations)();
|
|
197
|
+
endpoints = basDestResults.destinations;
|
|
198
|
+
logger.push(...basDestResults.messages);
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
requestedChecks.push(types_1.Check.StoredSystems);
|
|
202
|
+
const savedSystemResults = await (0, stored_system_1.checkStoredSystems)();
|
|
203
|
+
endpoints = savedSystemResults.storedSystems;
|
|
204
|
+
logger.push(...savedSystemResults.messages);
|
|
205
|
+
}
|
|
206
|
+
if (deepDiveEndpoints.size > 0) {
|
|
207
|
+
requestedChecks.push(types_1.Check.EndpointResults);
|
|
208
|
+
}
|
|
209
|
+
const endpointRes = await getEndpointsResults(deepDiveEndpoints, endpoints, options?.credentialCallback);
|
|
210
|
+
const endpointResults = endpointRes.systemResults;
|
|
211
|
+
logger.push(...endpointRes.messages);
|
|
212
|
+
return {
|
|
213
|
+
environment,
|
|
214
|
+
endpoints,
|
|
215
|
+
endpointResults,
|
|
216
|
+
messages: logger.getMessages(),
|
|
217
|
+
requestedChecks: requestedChecks
|
|
218
|
+
};
|
|
236
219
|
}
|
|
237
220
|
exports.checkEnvironment = checkEnvironment;
|
|
238
221
|
//# sourceMappingURL=environment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/checks/environment.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/checks/environment.ts"],"names":[],"mappings":"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"}
|