@zowe/cli 7.4.2 → 7.5.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/lib/zosfiles/-strings-/en.d.ts +61 -0
- package/lib/zosfiles/-strings-/en.js +67 -2
- package/lib/zosfiles/-strings-/en.js.map +1 -1
- package/lib/zosfiles/compare/Compare.definition.js +11 -1
- package/lib/zosfiles/compare/Compare.definition.js.map +1 -1
- package/lib/zosfiles/compare/Compare.options.js +9 -0
- package/lib/zosfiles/compare/Compare.options.js.map +1 -1
- package/lib/zosfiles/compare/ds/Dataset.definition.js +2 -1
- package/lib/zosfiles/compare/ds/Dataset.definition.js.map +1 -1
- package/lib/zosfiles/compare/ds/Dataset.handler.js +19 -15
- package/lib/zosfiles/compare/ds/Dataset.handler.js.map +1 -1
- package/lib/zosfiles/compare/lf-ds/LocalfileDataset.definition.d.ts +6 -0
- package/lib/zosfiles/compare/lf-ds/LocalfileDataset.definition.js +65 -0
- package/lib/zosfiles/compare/lf-ds/LocalfileDataset.definition.js.map +1 -0
- package/lib/zosfiles/compare/lf-ds/LocalfileDataset.handler.d.ts +10 -0
- package/lib/zosfiles/compare/lf-ds/LocalfileDataset.handler.js +123 -0
- package/lib/zosfiles/compare/lf-ds/LocalfileDataset.handler.js.map +1 -0
- package/lib/zosfiles/compare/lf-sdd/LocalfileSpooldd.definition.d.ts +6 -0
- package/lib/zosfiles/compare/lf-sdd/LocalfileSpooldd.definition.js +61 -0
- package/lib/zosfiles/compare/lf-sdd/LocalfileSpooldd.definition.js.map +1 -0
- package/lib/zosfiles/compare/lf-sdd/LocalfileSpooldd.handler.d.ts +10 -0
- package/lib/zosfiles/compare/lf-sdd/LocalfileSpooldd.handler.js +113 -0
- package/lib/zosfiles/compare/lf-sdd/LocalfileSpooldd.handler.js.map +1 -0
- package/lib/zosfiles/compare/lf-uss/LocalfileUss.definition.d.ts +6 -0
- package/lib/zosfiles/compare/lf-uss/LocalfileUss.definition.js +63 -0
- package/lib/zosfiles/compare/lf-uss/LocalfileUss.definition.js.map +1 -0
- package/lib/zosfiles/compare/lf-uss/LocalfileUss.handler.d.ts +10 -0
- package/lib/zosfiles/compare/lf-uss/LocalfileUss.handler.js +121 -0
- package/lib/zosfiles/compare/lf-uss/LocalfileUss.handler.js.map +1 -0
- package/lib/zosfiles/compare/sdd/Spooldd.definition.d.ts +6 -0
- package/lib/zosfiles/compare/sdd/Spooldd.definition.js +60 -0
- package/lib/zosfiles/compare/sdd/Spooldd.definition.js.map +1 -0
- package/lib/zosfiles/compare/sdd/Spooldd.handler.d.ts +10 -0
- package/lib/zosfiles/compare/sdd/Spooldd.handler.js +80 -0
- package/lib/zosfiles/compare/sdd/Spooldd.handler.js.map +1 -0
- package/lib/zosfiles/compare/uss/UssFile.definition.d.ts +6 -0
- package/lib/zosfiles/compare/uss/UssFile.definition.js +65 -0
- package/lib/zosfiles/compare/uss/UssFile.definition.js.map +1 -0
- package/lib/zosfiles/compare/uss/UssFile.handler.d.ts +10 -0
- package/lib/zosfiles/compare/uss/UssFile.handler.js +107 -0
- package/lib/zosfiles/compare/uss/UssFile.handler.js.map +1 -0
- package/npm-shrinkwrap.json +255 -88
- package/package.json +14 -13
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* This program and the accompanying materials are made available under the terms of the
|
|
4
|
+
* Eclipse Public License v2.0 which accompanies this distribution, and is available at
|
|
5
|
+
* https://www.eclipse.org/legal/epl-v20.html
|
|
6
|
+
*
|
|
7
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
8
|
+
*
|
|
9
|
+
* Copyright Contributors to the Zowe Project.
|
|
10
|
+
*
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.UssFileDefinition = void 0;
|
|
14
|
+
const Compare_options_1 = require("../Compare.options");
|
|
15
|
+
// Does not use the import in anticipation of some internationalization work to be done later.
|
|
16
|
+
const strings = require("../../-strings-/en").default.COMPARE;
|
|
17
|
+
/**
|
|
18
|
+
* Compare uss-files command definition containing its description, examples and/or options
|
|
19
|
+
* @type {ICommandDefinition}
|
|
20
|
+
*/
|
|
21
|
+
exports.UssFileDefinition = {
|
|
22
|
+
name: "uss-files",
|
|
23
|
+
aliases: ["uss"],
|
|
24
|
+
summary: strings.ACTIONS.USS_FILE.SUMMARY,
|
|
25
|
+
description: strings.ACTIONS.USS_FILE.DESCRIPTION,
|
|
26
|
+
type: "command",
|
|
27
|
+
handler: __dirname + "/UssFile.handler",
|
|
28
|
+
profile: {
|
|
29
|
+
optional: ["zosmf"],
|
|
30
|
+
},
|
|
31
|
+
positionals: [
|
|
32
|
+
{
|
|
33
|
+
name: "ussFilePath1",
|
|
34
|
+
description: strings.ACTIONS.USS_FILE.POSITIONALS.USSFILEPATH1,
|
|
35
|
+
type: "string",
|
|
36
|
+
required: true
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: "ussFilePath2",
|
|
40
|
+
type: "string",
|
|
41
|
+
description: strings.ACTIONS.USS_FILE.POSITIONALS.USSFILEPATH2,
|
|
42
|
+
required: true
|
|
43
|
+
}
|
|
44
|
+
],
|
|
45
|
+
options: [
|
|
46
|
+
Compare_options_1.CompareOptions.binary,
|
|
47
|
+
Compare_options_1.CompareOptions.binary2,
|
|
48
|
+
Compare_options_1.CompareOptions.encoding,
|
|
49
|
+
Compare_options_1.CompareOptions.encoding2,
|
|
50
|
+
Compare_options_1.CompareOptions.seqnum,
|
|
51
|
+
Compare_options_1.CompareOptions.contextLines,
|
|
52
|
+
Compare_options_1.CompareOptions.browserView
|
|
53
|
+
],
|
|
54
|
+
examples: [
|
|
55
|
+
{
|
|
56
|
+
description: strings.ACTIONS.USS_FILE.EXAMPLES.EX1,
|
|
57
|
+
options: `"/u/user/test.txt" "/u/user/test.txt"`
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
description: strings.ACTIONS.USS_FILE.EXAMPLES.EX2,
|
|
61
|
+
options: `"/u/user/test.txt" "/u/user/test.txt" --no-seqnum`
|
|
62
|
+
}
|
|
63
|
+
]
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=UssFile.definition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UssFile.definition.js","sourceRoot":"","sources":["../../../../src/zosfiles/compare/uss/UssFile.definition.ts"],"names":[],"mappings":";AAAA;;;;;;;;;EASE;;;AAGF,wDAAoD;AAGpD,8FAA8F;AAC9F,MAAM,OAAO,GAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAA8B,CAAC,OAAO,CAAC;AAEtF;;;GAGG;AACU,QAAA,iBAAiB,GAAuB;IACjD,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,CAAC,KAAK,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACzC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW;IACjD,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,SAAS,GAAG,kBAAkB;IACvC,OAAO,EAAE;QACL,QAAQ,EAAE,CAAC,OAAO,CAAC;KACtB;IACD,WAAW,EAAE;QACT;YACI,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY;YAC9D,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,IAAI;SACjB;QACD;YACI,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY;YAC9D,QAAQ,EAAE,IAAI;SACjB;KACJ;IACD,OAAO,EAAE;QACL,gCAAc,CAAC,MAAM;QACrB,gCAAc,CAAC,OAAO;QACtB,gCAAc,CAAC,QAAQ;QACvB,gCAAc,CAAC,SAAS;QACxB,gCAAc,CAAC,MAAM;QACrB,gCAAc,CAAC,YAAY;QAC3B,gCAAc,CAAC,WAAW;KAC7B;IACD,QAAQ,EAAE;QACN;YACI,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG;YAClD,OAAO,EAAE,uCAAuC;SACnD;QACD;YACI,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG;YAClD,OAAO,EAAE,mDAAmD;SAC/D;KACJ;CACJ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AbstractSession, IHandlerParameters } from "@zowe/imperative";
|
|
2
|
+
import { IZosFilesResponse } from "@zowe/zos-files-for-zowe-sdk";
|
|
3
|
+
import { ZosFilesBaseHandler } from "../../ZosFilesBase.handler";
|
|
4
|
+
/**
|
|
5
|
+
* Handler to view a data set's content
|
|
6
|
+
* @export
|
|
7
|
+
*/
|
|
8
|
+
export default class UssFileHandler extends ZosFilesBaseHandler {
|
|
9
|
+
processWithSession(commandParameters: IHandlerParameters, session: AbstractSession): Promise<IZosFilesResponse>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* This program and the accompanying materials are made available under the terms of the
|
|
4
|
+
* Eclipse Public License v2.0 which accompanies this distribution, and is available at
|
|
5
|
+
* https://www.eclipse.org/legal/epl-v20.html
|
|
6
|
+
*
|
|
7
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
8
|
+
*
|
|
9
|
+
* Copyright Contributors to the Zowe Project.
|
|
10
|
+
*
|
|
11
|
+
*/
|
|
12
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
13
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
14
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
15
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
16
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
17
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
18
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
const imperative_1 = require("@zowe/imperative");
|
|
23
|
+
const zos_files_for_zowe_sdk_1 = require("@zowe/zos-files-for-zowe-sdk");
|
|
24
|
+
const ZosFilesBase_handler_1 = require("../../ZosFilesBase.handler");
|
|
25
|
+
/**
|
|
26
|
+
* Handler to view a data set's content
|
|
27
|
+
* @export
|
|
28
|
+
*/
|
|
29
|
+
class UssFileHandler extends ZosFilesBase_handler_1.ZosFilesBaseHandler {
|
|
30
|
+
processWithSession(commandParameters, session) {
|
|
31
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
32
|
+
const task = {
|
|
33
|
+
percentComplete: 0,
|
|
34
|
+
statusMessage: "Retrieving first uss file",
|
|
35
|
+
stageName: imperative_1.TaskStage.IN_PROGRESS
|
|
36
|
+
};
|
|
37
|
+
commandParameters.response.progress.startBar({ task });
|
|
38
|
+
const ussFileContentBuf1 = yield zos_files_for_zowe_sdk_1.Get.USSFile(session, commandParameters.arguments.ussFilePath1, {
|
|
39
|
+
binary: commandParameters.arguments.binary,
|
|
40
|
+
encoding: commandParameters.arguments.encoding,
|
|
41
|
+
responseTimeout: commandParameters.arguments.responseTimeout,
|
|
42
|
+
task: task
|
|
43
|
+
});
|
|
44
|
+
commandParameters.response.progress.endBar();
|
|
45
|
+
commandParameters.response.progress.startBar({ task });
|
|
46
|
+
let binary2 = commandParameters.arguments.binary2;
|
|
47
|
+
let encoding2 = commandParameters.arguments.encoding2;
|
|
48
|
+
const browserView = commandParameters.arguments.browserView;
|
|
49
|
+
if (binary2 == undefined) {
|
|
50
|
+
binary2 = commandParameters.arguments.binary;
|
|
51
|
+
}
|
|
52
|
+
if (encoding2 == undefined) {
|
|
53
|
+
encoding2 = commandParameters.arguments.encoding;
|
|
54
|
+
}
|
|
55
|
+
task.statusMessage = "Retrieving second uss-file";
|
|
56
|
+
const ussFileContentBuf2 = yield zos_files_for_zowe_sdk_1.Get.USSFile(session, commandParameters.arguments.ussFilePath2, {
|
|
57
|
+
binary: binary2,
|
|
58
|
+
encoding: encoding2,
|
|
59
|
+
responseTimeout: commandParameters.arguments.responseTimeout,
|
|
60
|
+
task: task
|
|
61
|
+
});
|
|
62
|
+
let ussContentString1 = "";
|
|
63
|
+
let ussContentString2 = "";
|
|
64
|
+
if (!commandParameters.arguments.seqnum) {
|
|
65
|
+
const seqnumlen = 8;
|
|
66
|
+
const ussFileStringArray1 = ussFileContentBuf1.toString().split("\n");
|
|
67
|
+
for (const i in ussFileStringArray1) {
|
|
68
|
+
const sl = ussFileStringArray1[i].length;
|
|
69
|
+
const tempString = ussFileStringArray1[i].substring(0, sl - seqnumlen);
|
|
70
|
+
ussContentString1 += tempString + "\n";
|
|
71
|
+
}
|
|
72
|
+
const ussFileStringArray2 = ussFileContentBuf2.toString().split("\n");
|
|
73
|
+
for (const i in ussFileStringArray2) {
|
|
74
|
+
const sl = ussFileStringArray2[i].length;
|
|
75
|
+
const tempString = ussFileStringArray2[i].substring(0, sl - seqnumlen);
|
|
76
|
+
ussContentString2 += tempString + "\n";
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
ussContentString1 = ussFileContentBuf1.toString();
|
|
81
|
+
ussContentString2 = ussFileContentBuf2.toString();
|
|
82
|
+
}
|
|
83
|
+
// CHECHKING IsetsF THE BROWSER VIEW IS TRUE, OPEN UP THE DIFFS IN BROWSER
|
|
84
|
+
if (browserView) {
|
|
85
|
+
yield imperative_1.DiffUtils.openDiffInbrowser(ussContentString1, ussContentString2);
|
|
86
|
+
return {
|
|
87
|
+
success: true,
|
|
88
|
+
commandResponse: "Launching uss files diffs in browser...",
|
|
89
|
+
apiResponse: {}
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
let jsonDiff = "";
|
|
93
|
+
const contextLinesArg = commandParameters.arguments.contextlines;
|
|
94
|
+
jsonDiff = yield imperative_1.DiffUtils.getDiffString(ussContentString1, ussContentString2, {
|
|
95
|
+
outputFormat: 'terminal',
|
|
96
|
+
contextLinesArg: contextLinesArg
|
|
97
|
+
});
|
|
98
|
+
return {
|
|
99
|
+
success: true,
|
|
100
|
+
commandResponse: jsonDiff,
|
|
101
|
+
apiResponse: {}
|
|
102
|
+
};
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
exports.default = UssFileHandler;
|
|
107
|
+
//# sourceMappingURL=UssFile.handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UssFile.handler.js","sourceRoot":"","sources":["../../../../src/zosfiles/compare/uss/UssFile.handler.ts"],"names":[],"mappings":"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"}
|