diff --git a/CODEOWNERS b/CODEOWNERS deleted file mode 100644 index bad1d7108f..0000000000 --- a/CODEOWNERS +++ /dev/null @@ -1,13 +0,0 @@ -# Lines starting with '#' are comments. -# Each line is a file pattern followed by one or more owners. - -# These owners will be the default owners for everything in the repo. -* @heumi01 @deich01 @norjo14 @normi10 @honas02 @tucja02 - -# Order is important. The last matching pattern has the most precedence. -# So if a pull request only touches javascript files, only these owners -# will be requested to review. -#*.js @octocat @github/js - -# You can also use email addresses if you prefer. -#docs/* docs@example.com diff --git a/README.md b/README.md index 3915bd35dd..73ac5cdf11 100644 --- a/README.md +++ b/README.md @@ -101,3 +101,9 @@ For more information on how to contribute, see [Contributor Guidance](https://gi ## External Links Check out more about using Zowe Explorer and Zowe on [Medium](https://medium.com/zowe) and [Awesome Zowe](https://github.com/tucker01/awesome-zowe). + +## Project Structure and Governance + +Zowe Explorer is a component of the Zowe Open Mainframe Project, part of the Linux Foundation. + +To learn more about how Zowe is structured and governed, see the [Technical Steering Committee Strucutre and Governance documentation](https://github.com/zowe/community/blob/master/Technical-Steering-Committee/tsc-governance.md). diff --git a/package.json b/package.json index db383ebdf1..5473e1d918 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "vscode": "^1.53.2" }, "dependencies": { - "@zowe/cli": "7.18.0", + "@zowe/cli": "7.19.0", "vscode-nls": "4.1.2" }, "devDependencies": { diff --git a/packages/eslint-plugin-zowe-explorer/CHANGELOG.md b/packages/eslint-plugin-zowe-explorer/CHANGELOG.md index 73e0d5ac57..0f96394fc8 100644 --- a/packages/eslint-plugin-zowe-explorer/CHANGELOG.md +++ b/packages/eslint-plugin-zowe-explorer/CHANGELOG.md @@ -6,6 +6,8 @@ All notable changes to the "eslint-plugin-zowe-explorer" package will be documen ### Bug fixes +## `2.12.2` + ## `2.12.1` ## `2.12.0` diff --git a/packages/zowe-explorer-api/CHANGELOG.md b/packages/zowe-explorer-api/CHANGELOG.md index 5b753f9975..4133e271c3 100644 --- a/packages/zowe-explorer-api/CHANGELOG.md +++ b/packages/zowe-explorer-api/CHANGELOG.md @@ -10,6 +10,8 @@ All notable changes to the "zowe-explorer-api" extension will be documented in t ### Bug fixes +## `2.12.2` + ## `2.12.1` ## `2.12.0` diff --git a/packages/zowe-explorer-api/package.json b/packages/zowe-explorer-api/package.json index 0ab60faf1e..e2be0fa376 100644 --- a/packages/zowe-explorer-api/package.json +++ b/packages/zowe-explorer-api/package.json @@ -18,8 +18,8 @@ }, "dependencies": { "@types/vscode": "^1.53.2", - "@zowe/cli": "^7.18.0", - "@zowe/secrets-for-zowe-sdk": "7.18.4", + "@zowe/cli": "7.19.0", + "@zowe/secrets-for-zowe-sdk": "7.18.6", "handlebars": "^4.7.7", "semver": "^7.5.3" }, diff --git a/packages/zowe-explorer-ftp-extension/CHANGELOG.md b/packages/zowe-explorer-ftp-extension/CHANGELOG.md index 4689ba55ee..48696bd600 100644 --- a/packages/zowe-explorer-ftp-extension/CHANGELOG.md +++ b/packages/zowe-explorer-ftp-extension/CHANGELOG.md @@ -6,6 +6,8 @@ All notable changes to the "zowe-explorer-ftp-extension" extension will be docum ### Bug fixes +## `2.12.2` + ## `2.12.1` ### Bug fixes diff --git a/packages/zowe-explorer/CHANGELOG.md b/packages/zowe-explorer/CHANGELOG.md index ec64edec11..ab0f61df80 100644 --- a/packages/zowe-explorer/CHANGELOG.md +++ b/packages/zowe-explorer/CHANGELOG.md @@ -12,6 +12,12 @@ All notable changes to the "vscode-extension-for-zowe" extension will be documen ### Bug fixes +## `2.12.2` + +### Bug fixes + +- Fixed issue where etag was not updated for USS files after conflict is detected and user selects Overwrite option. + ## `2.12.1` ### Bug fixes diff --git a/packages/zowe-explorer/__tests__/__unit__/Profiles.extended.unit.test.ts b/packages/zowe-explorer/__tests__/__unit__/Profiles.extended.unit.test.ts index 3990c99224..e6a56de030 100644 --- a/packages/zowe-explorer/__tests__/__unit__/Profiles.extended.unit.test.ts +++ b/packages/zowe-explorer/__tests__/__unit__/Profiles.extended.unit.test.ts @@ -1900,24 +1900,18 @@ describe("Profiles Unit Tests - function disableValidation", () => { it("should disable validation for the profile on all trees", async () => { const globalMocks = await createGlobalMocks(); - const disableValidationContextForAllTreesSpy = jest.spyOn(Profiles.getInstance(), "disableValidtionContextForAllTrees"); - jest.spyOn(TreeProviders, "getSessionForAllTrees").mockReturnValue([ - createMockNode("test2", globals.DS_SESSION_CONTEXT), - globalMocks.testNode, - ]); + jest.spyOn(TreeProviders, "getSessionForAllTrees").mockReturnValue([globalMocks.testNode]); expect(globalMocks.testNode.contextValue).toEqual(globals.DS_SESSION_CONTEXT); - expect(Profiles.getInstance().disableValidation(globalMocks.testNode, true)).toEqual(globalMocks.testNode); - expect(disableValidationContextForAllTreesSpy).toBeCalledTimes(1); + expect(Profiles.getInstance().disableValidation(globalMocks.testNode)).toEqual(globalMocks.testNode); expect(globalMocks.testNode.contextValue).toEqual(globals.DS_SESSION_CONTEXT + globals.VALIDATE_SUFFIX); }); it("should disable validation for the profile on the current tree", async () => { const globalMocks = await createGlobalMocks(); - const disableValidationContextForAllTreesSpy = jest.spyOn(Profiles.getInstance(), "disableValidtionContextForAllTrees"); + jest.spyOn(TreeProviders, "getSessionForAllTrees").mockReturnValue([globalMocks.testNode]); const disableValidationContextSpy = jest.spyOn(Profiles.getInstance(), "disableValidationContext"); expect(globalMocks.testNode.contextValue).toEqual(globals.DS_SESSION_CONTEXT); - expect(Profiles.getInstance().disableValidation(globalMocks.testNode, false)).toEqual(globalMocks.testNode); - expect(disableValidationContextForAllTreesSpy).toBeCalledTimes(0); + expect(Profiles.getInstance().disableValidation(globalMocks.testNode)).toEqual(globalMocks.testNode); expect(disableValidationContextSpy).toBeCalledTimes(1); expect(globalMocks.testNode.contextValue).toEqual(globals.DS_SESSION_CONTEXT + globals.VALIDATE_SUFFIX); }); @@ -1932,24 +1926,21 @@ describe("Profiles Unit Tests - function enableValidation", () => { it("should enable validation for the profile on all trees", async () => { const globalMocks = await createGlobalMocks(); - const enableValidationContextForAllTreesSpy = jest.spyOn(Profiles.getInstance(), "enableValidationContextForAllTrees"); jest.spyOn(TreeProviders, "getSessionForAllTrees").mockReturnValue([ createMockNode("test2", globals.DS_SESSION_CONTEXT), globalMocks.testNode, ]); expect(globalMocks.testNode.contextValue).toEqual(globals.DS_SESSION_CONTEXT); - expect(Profiles.getInstance().enableValidation(globalMocks.testNode, true)).toEqual(globalMocks.testNode); - expect(enableValidationContextForAllTreesSpy).toBeCalledTimes(1); + expect(Profiles.getInstance().enableValidation(globalMocks.testNode)).toEqual(globalMocks.testNode); expect(globalMocks.testNode.contextValue).toEqual(globals.DS_SESSION_CONTEXT + globals.VALIDATE_SUFFIX); }); it("should enable validation for the profile on the current tree", async () => { const globalMocks = await createGlobalMocks(); - const enableValidationContextForAllTreesSpy = jest.spyOn(Profiles.getInstance(), "enableValidationContextForAllTrees"); const enableValidationContextSpy = jest.spyOn(Profiles.getInstance(), "enableValidationContext"); + jest.spyOn(TreeProviders, "getSessionForAllTrees").mockReturnValue([globalMocks.testNode]); expect(globalMocks.testNode.contextValue).toEqual(globals.DS_SESSION_CONTEXT); - expect(Profiles.getInstance().enableValidation(globalMocks.testNode, false)).toEqual(globalMocks.testNode); - expect(enableValidationContextForAllTreesSpy).toBeCalledTimes(0); + expect(Profiles.getInstance().enableValidation(globalMocks.testNode)).toEqual(globalMocks.testNode); expect(enableValidationContextSpy).toBeCalledTimes(1); expect(globalMocks.testNode.contextValue).toEqual(globals.DS_SESSION_CONTEXT + globals.VALIDATE_SUFFIX); }); diff --git a/packages/zowe-explorer/__tests__/__unit__/dataset/actions.unit.test.ts b/packages/zowe-explorer/__tests__/__unit__/dataset/actions.unit.test.ts index 9ba2433fc6..b6ebc4c6e5 100644 --- a/packages/zowe-explorer/__tests__/__unit__/dataset/actions.unit.test.ts +++ b/packages/zowe-explorer/__tests__/__unit__/dataset/actions.unit.test.ts @@ -3733,17 +3733,15 @@ describe("Dataset Actions Unit Tests - Function allocateLike", () => { }); describe("Dataset Actions Unit Tests - Function confirmJobSubmission", () => { - function createBlockMocks() { + function createBlockMocks(): void { mocked(vscode.window.showInputBox).mockImplementation((options) => { options.validateInput("test"); return Promise.resolve("test"); }); - - return {}; } it("Should use use local JCL doc name for confirmJobSubmission", async () => { createGlobalMocks(); - const blockMocks = createBlockMocks(); + createBlockMocks(); jest.spyOn(vscode.workspace, "getConfiguration").mockImplementation( () => ({ @@ -3753,6 +3751,6 @@ describe("Dataset Actions Unit Tests - Function confirmJobSubmission", () => { jest.spyOn(Gui, "warningMessage").mockResolvedValue({ title: "Submit", }); - await expect(dsActions.confirmJobSubmission(null, true, "Profile\\test.jcl")).resolves.toEqual(true); + await expect(dsActions.confirmJobSubmission("Profile\\test.jcl", true)).resolves.toEqual(true); }); }); diff --git a/packages/zowe-explorer/__tests__/__unit__/shared/TreeProvider.unit.test.ts b/packages/zowe-explorer/__tests__/__unit__/shared/TreeProvider.unit.test.ts index ce96dce04e..77ff9d9572 100644 --- a/packages/zowe-explorer/__tests__/__unit__/shared/TreeProvider.unit.test.ts +++ b/packages/zowe-explorer/__tests__/__unit__/shared/TreeProvider.unit.test.ts @@ -10,6 +10,7 @@ */ import { createTreeView } from "../../../__mocks__/mockCreators/shared"; +import { DS_SESSION_CONTEXT, JOBS_SESSION_CONTEXT, USS_SESSION_CONTEXT, VALIDATE_SUFFIX } from "../../../src/globals"; import { TreeProviders } from "../../../src/shared/TreeProviders"; describe("TreeProvider Unit Tests - Function getters", () => { @@ -45,10 +46,26 @@ describe("TreeProvider Unit Tests - Function getters", () => { describe("TreeProvider Unit Tests - Function sessionIsPresentInOtherTrees", () => { it("should return true if session is present in another tree", async () => { await TreeProviders.initializeProviders({} as any, { - ds: () => ({ mSessionNodes: [{ getLabel: () => "test1" }, { getLabel: () => "test2" }] } as any), - uss: () => ({ mSessionNodes: [{ getLabel: () => "test3" }, { getLabel: () => "test4" }] } as any), - job: () => ({ mSessionNodes: [{ getLabel: () => "test5" }, { getLabel: () => "test1" }] } as any), + ds: (): any => ({ mSessionNodes: [{ getLabel: () => "test1" }, { getLabel: () => "test2" }] } as any), + uss: (): any => ({ mSessionNodes: [{ getLabel: () => "test3" }, { getLabel: () => "test4" }] } as any), + job: (): any => ({ mSessionNodes: [{ getLabel: () => "test5" }, { getLabel: () => "test1" }] } as any), }); expect(TreeProviders.sessionIsPresentInOtherTrees("test1")).toEqual(true); }); }); + +describe("TreeProvider Unit Tests - Function contextValueExistsAcrossTrees", () => { + it("should return true if the context value passed in exists across other trees", () => { + jest.spyOn(TreeProviders, "getSessionForAllTrees").mockReturnValue([ + { getLabel: () => "test1", contextValue: DS_SESSION_CONTEXT + VALIDATE_SUFFIX } as any, + { getLabel: () => "test1", contextValue: USS_SESSION_CONTEXT + VALIDATE_SUFFIX } as any, + { getLabel: () => "test1", contextValue: JOBS_SESSION_CONTEXT + VALIDATE_SUFFIX } as any, + ]); + expect( + TreeProviders.contextValueExistsAcrossTrees( + { getLabel: () => "test1", contextValue: DS_SESSION_CONTEXT + VALIDATE_SUFFIX } as any, + VALIDATE_SUFFIX + ) + ).toEqual(true); + }); +}); diff --git a/packages/zowe-explorer/__tests__/__unit__/shared/utils.unit.test.ts b/packages/zowe-explorer/__tests__/__unit__/shared/utils.unit.test.ts index 149c2724cb..0689703674 100644 --- a/packages/zowe-explorer/__tests__/__unit__/shared/utils.unit.test.ts +++ b/packages/zowe-explorer/__tests__/__unit__/shared/utils.unit.test.ts @@ -239,7 +239,12 @@ describe("Test uploadContents", () => { { fileName: "whatever", } as any, - null + null, + { + profile: { + encoding: 123, + }, + } as any ); expect(ZoweExplorerApiRegister.getUssApi(null).putContents).toBeCalled(); }); @@ -264,7 +269,12 @@ describe("Test uploadContents", () => { { fileName: "whatever", } as any, - null + null, + { + profile: { + encoding: codepage, + }, + } as any ); expect(ZoweExplorerApiRegister.getMvsApi(null).putContents).toBeCalled(); }); diff --git a/packages/zowe-explorer/__tests__/__unit__/uss/actions.unit.test.ts b/packages/zowe-explorer/__tests__/__unit__/uss/actions.unit.test.ts index 57a79fe578..22cff58154 100644 --- a/packages/zowe-explorer/__tests__/__unit__/uss/actions.unit.test.ts +++ b/packages/zowe-explorer/__tests__/__unit__/uss/actions.unit.test.ts @@ -23,6 +23,7 @@ import { createTextDocument, createFileResponse, createValidIProfile, + createInstanceOfProfile, } from "../../../__mocks__/mockCreators/shared"; import { ZoweExplorerApiRegister } from "../../../src/ZoweExplorerApiRegister"; import { Profiles } from "../../../src/Profiles"; @@ -427,6 +428,7 @@ describe("USS Action Unit Tests - Function saveUSSFile", () => { const newMocks = { node: null, mockGetEtag: null, + profileInstance: createInstanceOfProfile(globalMocks.testProfile), testUSSTree: null, testResponse: createFileResponse({ items: [] }), testDoc: createTextDocument(path.join(globals.USS_DIR, "usstest", "u", "myuser", "testFile")), @@ -528,6 +530,20 @@ describe("USS Action Unit Tests - Function saveUSSFile", () => { expect(globalMocks.showErrorMessage.mock.calls[0][0]).toBe("Error: Test Error"); expect(mocked(vscode.workspace.applyEdit)).toHaveBeenCalledTimes(2); }); + + it("Tests that saveUSSFile fails when session cannot be located", async () => { + const globalMocks = createGlobalMocks(); + const blockMocks = await createBlockMocks(globalMocks); + + blockMocks.profileInstance.loadNamedProfile.mockReturnValueOnce(undefined); + mocked(Profiles.getInstance).mockReturnValue(blockMocks.profileInstance); + const testDocument = createTextDocument("u/myuser/testFile", blockMocks.node); + (testDocument as any).fileName = path.join(globals.USS_DIR, testDocument.fileName); + + await ussNodeActions.saveUSSFile(testDocument, blockMocks.testUSSTree); + expect(globalMocks.showErrorMessage.mock.calls.length).toBe(1); + expect(globalMocks.showErrorMessage.mock.calls[0][0]).toBe("Could not locate session when saving USS file."); + }); }); describe("USS Action Unit Tests - Functions uploadDialog & uploadFile", () => { diff --git a/packages/zowe-explorer/__tests__/__unit__/utils/ProfileManagement.unit.test.ts b/packages/zowe-explorer/__tests__/__unit__/utils/ProfileManagement.unit.test.ts index a68fe568d8..8d9d247fea 100644 --- a/packages/zowe-explorer/__tests__/__unit__/utils/ProfileManagement.unit.test.ts +++ b/packages/zowe-explorer/__tests__/__unit__/utils/ProfileManagement.unit.test.ts @@ -211,7 +211,7 @@ describe("ProfileManagement unit tests", () => { mocks.mockResolveQp.mockResolvedValueOnce(ProfileManagement["getPromptChangeForAllTreesOptions"]()[1]); await ProfileManagement.manageProfile(mocks.mockTreeProviders.uss.mSessionNodes[0]); expect(mocks.debugLogSpy).toBeCalledWith(mocks.logMsg.replace("sestest", "zosmf")); - expect(mocks.commandSpy).toHaveBeenLastCalledWith("zowe.uss.enableValidation", mocks.mockTreeProviders.uss.mSessionNodes[0], false); + expect(mocks.commandSpy).toHaveBeenLastCalledWith("zowe.uss.enableValidation", mocks.mockTreeProviders.uss.mSessionNodes[0]); }); it("profile using token authentication should see correct command called for disabling validation a unix tree session node", async () => { const mocks = createBlockMocks(createGlobalMocks()); @@ -219,7 +219,7 @@ describe("ProfileManagement unit tests", () => { mocks.mockResolveQp.mockResolvedValueOnce(ProfileManagement["getPromptChangeForAllTreesOptions"]()[1]); await ProfileManagement.manageProfile(mocks.mockUnixSessionNode); expect(mocks.debugLogSpy).toBeCalledWith(mocks.logMsg); - expect(mocks.commandSpy).toHaveBeenLastCalledWith("zowe.uss.disableValidation", mocks.mockUnixSessionNode, false); + expect(mocks.commandSpy).toHaveBeenLastCalledWith("zowe.uss.disableValidation", mocks.mockUnixSessionNode); }); }); describe("unit tests around no auth declared selections", () => { @@ -263,7 +263,7 @@ describe("ProfileManagement unit tests", () => { mocks.mockResolveQp.mockResolvedValueOnce(ProfileManagement["getPromptChangeForAllTreesOptions"]()[0]); await ProfileManagement.manageProfile(mocks.mockTreeProviders.ds.mSessionNodes[1]); expect(mocks.debugLogSpy).toBeCalledWith(mocks.logMsg.replace("sestest", "zosmf2")); - expect(mocks.commandSpy).toHaveBeenLastCalledWith("zowe.ds.enableValidation", mocks.mockTreeProviders.ds.mSessionNodes[1], true); + expect(mocks.commandSpy).toHaveBeenLastCalledWith("zowe.ds.enableValidation", mocks.mockTreeProviders.ds.mSessionNodes[1]); }); it("profile using token authentication should see correct command called for disabling validation a data set tree session node", async () => { const mocks = createBlockMocks(createGlobalMocks()); @@ -271,7 +271,7 @@ describe("ProfileManagement unit tests", () => { mocks.mockResolveQp.mockResolvedValueOnce(ProfileManagement["getPromptChangeForAllTreesOptions"]()[0]); await ProfileManagement.manageProfile(mocks.mockTreeProviders.ds.mSessionNodes[0]); expect(mocks.debugLogSpy).toBeCalledWith(mocks.logMsg.replace("sestest", "zosmf")); - expect(mocks.commandSpy).toHaveBeenLastCalledWith("zowe.ds.disableValidation", mocks.mockTreeProviders.ds.mSessionNodes[0], true); + expect(mocks.commandSpy).toHaveBeenLastCalledWith("zowe.ds.disableValidation", mocks.mockTreeProviders.ds.mSessionNodes[0]); }); }); diff --git a/packages/zowe-explorer/i18n/sample/src/uss/actions.i18n.json b/packages/zowe-explorer/i18n/sample/src/uss/actions.i18n.json index af28a02ab9..4219524aa2 100644 --- a/packages/zowe-explorer/i18n/sample/src/uss/actions.i18n.json +++ b/packages/zowe-explorer/i18n/sample/src/uss/actions.i18n.json @@ -7,6 +7,7 @@ "uploadFile.putContents": "Uploading USS file", "copyPath.infoMessage": "Copy Path is not yet supported in Theia.", "saveUSSFile.log.debug.saveRequest": "save requested for USS file ", + "saveUSSFile.session.error": "Could not locate session when saving USS file.", "saveUSSFile.response.title": "Saving file...", "deleteUssPrompt.confirmation.delete": "Delete", "deleteUssPrompt.confirmation.message": "Are you sure you want to delete the following item?\nThis will permanently remove the following file or folder from your system.\n\n{0}", diff --git a/packages/zowe-explorer/i18n/sample/src/utils/ProfileManagement.i18n.json b/packages/zowe-explorer/i18n/sample/src/utils/ProfileManagement.i18n.json index 69c1b26868..986da68bd8 100644 --- a/packages/zowe-explorer/i18n/sample/src/utils/ProfileManagement.i18n.json +++ b/packages/zowe-explorer/i18n/sample/src/utils/ProfileManagement.i18n.json @@ -9,8 +9,6 @@ "ProfileManagement.getPromptChangeForAllTreesOptions.currentDesc": "Apply to current tree selected", "ProfileManagement.promptChangeForAllTrees.howToChange": "Do you wish to apply this for all trees?", "ProfileManagement.handleHideProfiles.cancelled": "Operation Cancelled", - "ProfileManagement.handleEnableProfileValidation.cancelled": "Operation Cancelled", - "ProfileManagement.handleDisableProfileValidation.cancelled": "Operation Cancelled", "addBasicAuthQpItem.addCredentials.qpLabel": "$(plus) Add Credentials", "addBasicAuthQpItem.addCredentials.qpDetail": "Add username and password for basic authentication", "updateBasicAuthQpItem.updateCredentials.qpLabel": "$(refresh) Update Credentials", diff --git a/packages/zowe-explorer/package.json b/packages/zowe-explorer/package.json index 2943f8f963..056593e750 100644 --- a/packages/zowe-explorer/package.json +++ b/packages/zowe-explorer/package.json @@ -1994,7 +1994,7 @@ "webpack-cli": "^3.3.11" }, "dependencies": { - "@zowe/secrets-for-zowe-sdk": "7.18.4", + "@zowe/secrets-for-zowe-sdk": "7.18.6", "@zowe/zowe-explorer-api": "2.13.0-SNAPSHOT", "dayjs": "^1.11.10", "fs-extra": "8.0.1", diff --git a/packages/zowe-explorer/src/Profiles.ts b/packages/zowe-explorer/src/Profiles.ts index 3563ed5a12..c210d2a3f7 100644 --- a/packages/zowe-explorer/src/Profiles.ts +++ b/packages/zowe-explorer/src/Profiles.ts @@ -183,24 +183,15 @@ export class Profiles extends ProfilesCache { return profileStatus; } - public disableValidation(node: IZoweNodeType, shouldHideFromAllTrees: boolean): IZoweNodeType { + public disableValidation(node: IZoweNodeType): IZoweNodeType { ZoweLogger.trace("Profiles.disableValidation called."); - if (shouldHideFromAllTrees) { - this.disableValidtionContextForAllTrees(node.getLabel().toString()); - } else { - this.disableValidationContext(node); - } - return node; - } - - public disableValidtionContextForAllTrees(label: string): IZoweNodeType[] { - const treeNodes = TreeProviders.getSessionForAllTrees(label); + const treeNodes = TreeProviders.getSessionForAllTrees(node.getLabel().toString()); treeNodes.forEach((treeNode) => { if (treeNode) { this.disableValidationContext(treeNode); } }); - return treeNodes; + return node; } public disableValidationContext(node: IZoweNodeType): IZoweNodeType { @@ -208,8 +199,7 @@ export class Profiles extends ProfilesCache { const theProfile: zowe.imperative.IProfileLoaded = node.getProfile(); this.validationArraySetup(theProfile, false); if (node.contextValue.includes(globals.VALIDATE_SUFFIX)) { - node.contextValue = node.contextValue.replace(globals.VALIDATE_SUFFIX, ""); - node.contextValue += globals.NO_VALIDATE_SUFFIX; + node.contextValue = node.contextValue.replace(globals.VALIDATE_SUFFIX, globals.NO_VALIDATE_SUFFIX); } else if (node.contextValue.includes(globals.NO_VALIDATE_SUFFIX)) { return node; } else { @@ -218,24 +208,15 @@ export class Profiles extends ProfilesCache { return node; } - public enableValidation(node: IZoweNodeType, shouldHideFromAllTrees: boolean): IZoweNodeType { + public enableValidation(node: IZoweNodeType): IZoweNodeType { ZoweLogger.trace("Profiles.enableValidation called."); - if (shouldHideFromAllTrees) { - this.enableValidationContextForAllTrees(node.getLabel().toString()); - } else { - this.enableValidationContext(node); - } - return node; - } - - public enableValidationContextForAllTrees(label: string): IZoweNodeType[] { - const treeNodes = TreeProviders.getSessionForAllTrees(label); + const treeNodes = TreeProviders.getSessionForAllTrees(node.getLabel().toString()); treeNodes.forEach((treeNode) => { if (treeNode) { this.enableValidationContext(treeNode); } }); - return treeNodes; + return node; } public enableValidationContext(node: IZoweNodeType): IZoweNodeType { @@ -243,8 +224,7 @@ export class Profiles extends ProfilesCache { const theProfile: zowe.imperative.IProfileLoaded = node.getProfile(); this.validationArraySetup(theProfile, true); if (node.contextValue.includes(globals.NO_VALIDATE_SUFFIX)) { - node.contextValue = node.contextValue.replace(globals.NO_VALIDATE_SUFFIX, ""); - node.contextValue += globals.VALIDATE_SUFFIX; + node.contextValue = node.contextValue.replace(globals.NO_VALIDATE_SUFFIX, globals.VALIDATE_SUFFIX); } else if (node.contextValue.includes(globals.VALIDATE_SUFFIX)) { return node; } else { diff --git a/packages/zowe-explorer/src/dataset/actions.ts b/packages/zowe-explorer/src/dataset/actions.ts index 1bc3be5aa8..4a89c1e7dc 100644 --- a/packages/zowe-explorer/src/dataset/actions.ts +++ b/packages/zowe-explorer/src/dataset/actions.ts @@ -25,7 +25,7 @@ import { JobSubmitDialogOpts, JOB_SUBMIT_DIALOG_OPTS, getDefaultUri, - compareFileContent, + uploadContent, } from "../shared/utils"; import { ZoweExplorerApiRegister } from "../ZoweExplorerApiRegister"; import { Profiles } from "../Profiles"; @@ -996,7 +996,7 @@ export async function submitJcl(datasetProvider: api.IZoweTree { +export async function confirmJobSubmission(nodeOrFileName: api.IZoweTreeNode | string, ownsJob: boolean): Promise { ZoweLogger.trace("dataset.actions.confirmJobSubmission called."); - const showConfirmationDialog = async (): Promise => { - const jclName = - node == null && fileName !== null ? fileName.toString().substring(fileName.lastIndexOf("\\") + 1) : node.getLabel().toString(); + const jclName = typeof nodeOrFileName === "string" ? path.basename(nodeOrFileName) : nodeOrFileName.getLabel().toString(); + const showConfirmationDialog = async (): Promise => { const selection = await api.Gui.warningMessage( localize("confirmJobSubmission.confirm", "Are you sure you want to submit the following job?\n\n{0}", jclName), { items: [{ title: "Submit" }], vsCodeOpts: { modal: true } } @@ -1589,7 +1587,7 @@ export async function saveFile(doc: vscode.TextDocument, datasetProvider: api.IZ const ending = doc.fileName.substring(start); const sesName = ending.substring(0, ending.indexOf(path.sep)); const profile = Profiles.getInstance().loadNamedProfile(sesName); - const fileLabel = doc.fileName.split("/").slice(-1)[0]; + const fileLabel = path.basename(doc.fileName); const dataSetName = fileLabel.substring(0, fileLabel.indexOf("(")); const memberName = fileLabel.substring(fileLabel.indexOf("(") + 1, fileLabel.indexOf(")")); if (!profile) { @@ -1664,13 +1662,7 @@ export async function saveFile(doc: vscode.TextDocument, datasetProvider: api.IZ title: localize("saveFile.progress.title", "Saving data set..."), }, () => { - if (prof.profile?.encoding) { - uploadOptions.encoding = prof.profile.encoding; - } - return ZoweExplorerApiRegister.getMvsApi(prof).putContents(doc.fileName, label, { - ...uploadOptions, - responseTimeout: prof.profile?.responseTimeout, - }); + return uploadContent(node, doc, label, prof, null, uploadOptions.etag, uploadOptions.returnEtag); } ); if (uploadResponse.success) { @@ -1681,7 +1673,7 @@ export async function saveFile(doc: vscode.TextDocument, datasetProvider: api.IZ setFileSaved(true); } } else if (!uploadResponse.success && uploadResponse.commandResponse.includes("Rest API failure with HTTP(S) status 412")) { - resolveFileConflict(node, profile, doc, fileLabel, label); + resolveFileConflict(node, prof, doc, fileLabel, label); } else { await markDocumentUnsaved(doc); api.Gui.errorMessage(uploadResponse.commandResponse); diff --git a/packages/zowe-explorer/src/dataset/init.ts b/packages/zowe-explorer/src/dataset/init.ts index d0e4fe0ca8..6325a88557 100644 --- a/packages/zowe-explorer/src/dataset/init.ts +++ b/packages/zowe-explorer/src/dataset/init.ts @@ -188,14 +188,14 @@ export async function initDatasetProvider(context: vscode.ExtensionContext): Pro }) ); context.subscriptions.push( - vscode.commands.registerCommand("zowe.ds.disableValidation", (node, shouldHideFromAllTrees) => { - Profiles.getInstance().disableValidation(node, shouldHideFromAllTrees); + vscode.commands.registerCommand("zowe.ds.disableValidation", (node) => { + Profiles.getInstance().disableValidation(node); datasetProvider.refreshElement(node); }) ); context.subscriptions.push( - vscode.commands.registerCommand("zowe.ds.enableValidation", (node, shouldHideFromAllTrees) => { - Profiles.getInstance().enableValidation(node, shouldHideFromAllTrees); + vscode.commands.registerCommand("zowe.ds.enableValidation", (node) => { + Profiles.getInstance().enableValidation(node); datasetProvider.refreshElement(node); }) ); diff --git a/packages/zowe-explorer/src/job/init.ts b/packages/zowe-explorer/src/job/init.ts index 2bf054add9..0a334b4613 100644 --- a/packages/zowe-explorer/src/job/init.ts +++ b/packages/zowe-explorer/src/job/init.ts @@ -131,14 +131,14 @@ export async function initJobsProvider(context: vscode.ExtensionContext): Promis vscode.commands.registerCommand("zowe.jobs.removeFavProfile", async (node): Promise => jobsProvider.removeFavProfile(node.label, true)) ); context.subscriptions.push( - vscode.commands.registerCommand("zowe.jobs.disableValidation", (node, shouldHideFromAllTrees) => { - Profiles.getInstance().disableValidation(node, shouldHideFromAllTrees); + vscode.commands.registerCommand("zowe.jobs.disableValidation", (node) => { + Profiles.getInstance().disableValidation(node); jobsProvider.refreshElement(node); }) ); context.subscriptions.push( - vscode.commands.registerCommand("zowe.jobs.enableValidation", (node, shouldHideFromAllTrees) => { - Profiles.getInstance().enableValidation(node, shouldHideFromAllTrees); + vscode.commands.registerCommand("zowe.jobs.enableValidation", (node) => { + Profiles.getInstance().enableValidation(node); jobsProvider.refreshElement(node); }) ); diff --git a/packages/zowe-explorer/src/shared/utils.ts b/packages/zowe-explorer/src/shared/utils.ts index a20a1f9d79..7f548f3b41 100644 --- a/packages/zowe-explorer/src/shared/utils.ts +++ b/packages/zowe-explorer/src/shared/utils.ts @@ -217,19 +217,14 @@ export async function uploadContent( etagToUpload?: string, returnEtag?: boolean ): Promise { + const uploadOptions: IUploadOptions = { + etag: etagToUpload, + returnEtag: true, + encoding: profile.profile?.encoding, + responseTimeout: profile.profile?.responseTimeout, + }; if (isZoweDatasetTreeNode(node)) { - // Upload without passing the etag to force upload - const uploadOptions: IUploadOptions = { - returnEtag: true, - }; - const prof = node.getProfile(); - if (prof.profile.encoding) { - uploadOptions.encoding = prof.profile.encoding; - } - return ZoweExplorerApiRegister.getMvsApi(prof).putContents(doc.fileName, remotePath, { - responseTimeout: prof.profile?.responseTimeout, - ...uploadOptions, - }); + return ZoweExplorerApiRegister.getMvsApi(profile).putContents(doc.fileName, remotePath, uploadOptions); } else { // if new api method exists, use it if (ZoweExplorerApiRegister.getUssApi(profile).putContent) { @@ -238,16 +233,12 @@ export async function uploadContent( statusMessage: localize("uploadContent.putContents", "Uploading USS file"), stageName: 0, // TaskStage.IN_PROGRESS - https://github.com/kulshekhar/ts-jest/issues/281 }; - const options: IUploadOptions = { + const result = ZoweExplorerApiRegister.getUssApi(profile).putContent(doc.fileName, remotePath, { binary, localEncoding: null, - etag: etagToUpload, - returnEtag, - encoding: profile.profile?.encoding, task, - responseTimeout: profile.profile?.responseTimeout, - }; - const result = ZoweExplorerApiRegister.getUssApi(profile).putContent(doc.fileName, remotePath, options); + ...uploadOptions, + }); return result; } else { return ZoweExplorerApiRegister.getUssApi(profile).putContents(doc.fileName, remotePath, binary, null, etagToUpload, returnEtag); @@ -297,8 +288,9 @@ export function willForceUpload( ); if (uploadResponse.success) { Gui.showMessage(uploadResponse.commandResponse); - if (node && uploadResponse?.apiResponse[0]?.etag) { - node.setEtag(uploadResponse.apiResponse[0].etag); + if (node) { + // Upload API returns a singleton array for data sets and an object for USS files + node.setEtag(uploadResponse.apiResponse[0]?.etag ?? uploadResponse.apiResponse.etag); } } else { await markDocumentUnsaved(doc); diff --git a/packages/zowe-explorer/src/uss/actions.ts b/packages/zowe-explorer/src/uss/actions.ts index 2d61c41e95..0618ab58a4 100644 --- a/packages/zowe-explorer/src/uss/actions.ts +++ b/packages/zowe-explorer/src/uss/actions.ts @@ -275,6 +275,14 @@ export async function saveUSSFile(doc: vscode.TextDocument, ussFileProvider: IZo const start = path.join(globals.USS_DIR + path.sep).length; const ending = doc.fileName.substring(start); const sesName = ending.substring(0, ending.indexOf(path.sep)); + const profile = Profiles.getInstance().loadNamedProfile(sesName); + if (!profile) { + const sessionError = localize("saveUSSFile.session.error", "Could not locate session when saving USS file."); + ZoweLogger.error(sessionError); + await Gui.errorMessage(sessionError); + return; + } + const remote = ending.substring(sesName.length).replace(/\\/g, "/"); const directories = doc.fileName.split(path.sep).splice(doc.fileName.split(path.sep).indexOf("_U_") + 1); directories.splice(1, 2); @@ -315,17 +323,16 @@ export async function saveUSSFile(doc: vscode.TextDocument, ussFileProvider: IZo } } + const prof = node?.getProfile() ?? profile; try { - if (sesNode) { - binary = binary || (await ZoweExplorerApiRegister.getUssApi(sesNode.getProfile()).isFileTagBinOrAscii(remote)); - } + binary = binary || (await ZoweExplorerApiRegister.getUssApi(prof).isFileTagBinOrAscii(remote)); const uploadResponse: IZosFilesResponse = await Gui.withProgress( { location: vscode.ProgressLocation.Window, title: localize("saveUSSFile.response.title", "Saving file..."), }, () => { - return uploadContent(sesNode, doc, remote, sesNode.getProfile(), binary, etagToUpload, returnEtag); + return uploadContent(node, doc, remote, prof, binary, etagToUpload, returnEtag); } ); if (uploadResponse.success) { @@ -344,8 +351,7 @@ export async function saveUSSFile(doc: vscode.TextDocument, ussFileProvider: IZo // TODO: error handling must not be zosmf specific const errorMessage = err ? err.message : err.toString(); if (errorMessage.includes("Rest API failure with HTTP(S) status 412")) { - const fileLabel = doc.fileName.split("/").slice(-1)[0]; - resolveFileConflict(node, sesNode.getProfile(), doc, fileLabel, remote, binary); + resolveFileConflict(node, prof, doc, path.basename(doc.fileName), remote, binary); } else { await markDocumentUnsaved(doc); await errorHandling(err, sesName); diff --git a/packages/zowe-explorer/src/uss/init.ts b/packages/zowe-explorer/src/uss/init.ts index debe3b0927..496b6b455d 100644 --- a/packages/zowe-explorer/src/uss/init.ts +++ b/packages/zowe-explorer/src/uss/init.ts @@ -159,14 +159,14 @@ export async function initUSSProvider(context: vscode.ExtensionContext): Promise vscode.commands.registerCommand("zowe.uss.removeFavProfile", (node): Promise => ussFileProvider.removeFavProfile(node.label, true)) ); context.subscriptions.push( - vscode.commands.registerCommand("zowe.uss.disableValidation", (node, shouldHideFromAllTrees) => { - Profiles.getInstance().disableValidation(node, shouldHideFromAllTrees); + vscode.commands.registerCommand("zowe.uss.disableValidation", (node) => { + Profiles.getInstance().disableValidation(node); ussFileProvider.refreshElement(node); }) ); context.subscriptions.push( - vscode.commands.registerCommand("zowe.uss.enableValidation", (node, shouldHideFromAllTrees) => { - Profiles.getInstance().enableValidation(node, shouldHideFromAllTrees); + vscode.commands.registerCommand("zowe.uss.enableValidation", (node) => { + Profiles.getInstance().enableValidation(node); ussFileProvider.refreshElement(node); }) ); diff --git a/packages/zowe-explorer/src/utils/ProfileManagement.ts b/packages/zowe-explorer/src/utils/ProfileManagement.ts index b34614ee09..cb1bd78dab 100644 --- a/packages/zowe-explorer/src/utils/ProfileManagement.ts +++ b/packages/zowe-explorer/src/utils/ProfileManagement.ts @@ -309,33 +309,13 @@ export class ProfileManagement { } private static async handleEnableProfileValidation(node: IZoweTreeNode): Promise { - let shouldHideFromAllTrees: boolean | undefined; - if (TreeProviders.contextValueExistsAcrossTrees(node, globals.NO_VALIDATE_SUFFIX)) { - shouldHideFromAllTrees = await this.handleChangeForAllTrees(node); - } else { - shouldHideFromAllTrees = false; - } - if (shouldHideFromAllTrees === undefined) { - Gui.infoMessage(localize("ProfileManagement.handleEnableProfileValidation.cancelled", "Operation Cancelled")); - return; - } const type: string = getSessionType(node); - return vscode.commands.executeCommand(`zowe.${type}.enableValidation`, node, shouldHideFromAllTrees); + return vscode.commands.executeCommand(`zowe.${type}.enableValidation`, node); } private static async handleDisableProfileValidation(node: IZoweTreeNode): Promise { - let shouldHideFromAllTrees: boolean | undefined; - if (TreeProviders.contextValueExistsAcrossTrees(node, globals.VALIDATE_SUFFIX)) { - shouldHideFromAllTrees = await this.handleChangeForAllTrees(node); - } else { - shouldHideFromAllTrees = false; - } - if (shouldHideFromAllTrees === undefined) { - Gui.infoMessage(localize("ProfileManagement.handleDisableProfileValidation.cancelled", "Operation Cancelled")); - return; - } const type: string = getSessionType(node); - return vscode.commands.executeCommand(`zowe.${type}.disableValidation`, node, shouldHideFromAllTrees); + return vscode.commands.executeCommand(`zowe.${type}.disableValidation`, node); } private static isProfileRegisteredWithTree(tree: globals.Trees, profile: imperative.IProfileLoaded): boolean { diff --git a/packages/zowe-explorer/src/utils/ProfilesUtils.ts b/packages/zowe-explorer/src/utils/ProfilesUtils.ts index d5557c7e14..eaa23c1148 100644 --- a/packages/zowe-explorer/src/utils/ProfilesUtils.ts +++ b/packages/zowe-explorer/src/utils/ProfilesUtils.ts @@ -306,7 +306,7 @@ export class ProfilesUtils { ) ); const customCredentialManagerExtension = - credentialManagerMap?.credMgrZEName && vscode.extensions.getExtension(credentialManagerMap.credMgrZEName); + credentialManagerMap.credMgrZEName && vscode.extensions.getExtension(credentialManagerMap.credMgrZEName); const credentialManager = await ProfilesUtils.activateCredentialManagerOverride(customCredentialManagerExtension); if (credentialManager) { Object.setPrototypeOf(credentialManager.prototype, imperative.AbstractCredentialManager.prototype); diff --git a/samples/tree-view-sample/package.json b/samples/tree-view-sample/package.json index eb7d9a00dc..fef8028638 100644 --- a/samples/tree-view-sample/package.json +++ b/samples/tree-view-sample/package.json @@ -49,7 +49,6 @@ "watch": "tsc -watch -p ./" }, "dependencies": { - "@zowe/imperative": "^5.18.0", "@zowe/zowe-explorer-api": "file:../../packages/zowe-explorer-api" }, "devDependencies": { diff --git a/samples/uss-profile-sample/package.json b/samples/uss-profile-sample/package.json index 956ffb9893..9c8223de14 100644 --- a/samples/uss-profile-sample/package.json +++ b/samples/uss-profile-sample/package.json @@ -33,7 +33,7 @@ "watch": "tsc -watch -p ./" }, "dependencies": { - "@zowe/cli": "^7.18.0", + "@zowe/cli": "7.19.0", "@zowe/zowe-explorer-api": "file:../../packages/zowe-explorer-api", "ssh2-sftp-client": "^9.1.0" }, diff --git a/yarn.lock b/yarn.lock index 5243ccd7c9..5f32b42838 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2642,46 +2642,44 @@ resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== -"@zowe/cli@7.18.0", "@zowe/cli@^7.18.0": - version "7.18.0" - resolved "https://zowe.jfrog.io/zowe/api/npm/npm-local-release/@zowe/cli/-/@zowe/cli-7.18.0.tgz" - integrity sha512-2nvHtsQ5Z2vHilQhKUhRwKvbz5YOzqDTOFRAy4PiA7+NePgq4J0a10U+pd+GxnsG7Hl/Gna26hc9+61Iy8Z1WQ== - dependencies: - "@zowe/core-for-zowe-sdk" "7.18.0" - "@zowe/imperative" "5.18.0" - "@zowe/perf-timing" "1.0.7" - "@zowe/provisioning-for-zowe-sdk" "7.18.0" - "@zowe/zos-console-for-zowe-sdk" "7.18.0" - "@zowe/zos-files-for-zowe-sdk" "7.18.0" - "@zowe/zos-jobs-for-zowe-sdk" "7.18.0" - "@zowe/zos-logs-for-zowe-sdk" "7.18.0" - "@zowe/zos-tso-for-zowe-sdk" "7.18.0" - "@zowe/zos-uss-for-zowe-sdk" "7.18.0" - "@zowe/zos-workflows-for-zowe-sdk" "7.18.0" - "@zowe/zosmf-for-zowe-sdk" "7.18.0" +"@zowe/cli@7.19.0": + version "7.19.0" + resolved "https://registry.npmjs.org/@zowe/cli/-/cli-7.19.0.tgz#ee053f35438484f1271af333c954b851d0ea747b" + integrity sha512-hkAwsdYWkI+DMsP8nbCUb3pRfzMuaTh663v5L+tGJtizBpDKpFGYYQ9buv0eOskPi4d5/+bae089aT8VavgwAw== + dependencies: + "@zowe/core-for-zowe-sdk" "7.19.0" + "@zowe/imperative" "5.19.0" + "@zowe/provisioning-for-zowe-sdk" "7.19.0" + "@zowe/zos-console-for-zowe-sdk" "7.19.0" + "@zowe/zos-files-for-zowe-sdk" "7.19.0" + "@zowe/zos-jobs-for-zowe-sdk" "7.19.0" + "@zowe/zos-logs-for-zowe-sdk" "7.19.0" + "@zowe/zos-tso-for-zowe-sdk" "7.19.0" + "@zowe/zos-uss-for-zowe-sdk" "7.19.0" + "@zowe/zos-workflows-for-zowe-sdk" "7.19.0" + "@zowe/zosmf-for-zowe-sdk" "7.19.0" find-process "1.4.7" get-stream "6.0.1" lodash "4.17.21" minimatch "5.0.1" tar "6.1.14" optionalDependencies: - "@zowe/secrets-for-zowe-sdk" "7.18.0" + "@zowe/secrets-for-zowe-sdk" "7.18.6" -"@zowe/core-for-zowe-sdk@7.18.0": - version "7.18.0" - resolved "https://zowe.jfrog.io/zowe/api/npm/npm-local-release/@zowe/core-for-zowe-sdk/-/@zowe/core-for-zowe-sdk-7.18.0.tgz" - integrity sha512-a5yMfDkoEGiOnREitNWIydnc+JnWEb2TElFiwcoPV5ewKEZZ6t9SPa2c1NKzsxZgM2OePBVvpBqMOi7lEVNMsg== +"@zowe/core-for-zowe-sdk@7.19.0": + version "7.19.0" + resolved "https://registry.npmjs.org/@zowe/core-for-zowe-sdk/-/core-for-zowe-sdk-7.19.0.tgz#36113036954b9554a0e927a15510ded444c85fc1" + integrity sha512-u7safSLwN4Rctt/ihGjEO3NFljDOANKtmqvw/pqoy+G1DcGswR4i9J3rbors8THfodiG2FXBsTxv9+l3qzUVkQ== dependencies: comment-json "4.1.1" string-width "4.2.3" -"@zowe/imperative@5.18.0": - version "5.18.0" - resolved "https://zowe.jfrog.io/zowe/api/npm/npm-local-release/@zowe/imperative/-/@zowe/imperative-5.18.0.tgz" - integrity sha512-SE0WfySTkaxJa1s26lexQuN1efUPhKe2P2A9MXjzHl7+OOLg+QU0gGS8SpVS1yEXQi+yZfGPorPEqEn2DC+n5A== +"@zowe/imperative@5.19.0": + version "5.19.0" + resolved "https://registry.npmjs.org/@zowe/imperative/-/imperative-5.19.0.tgz#7f8deb89030bf2f649cd2351fe12095da46dce6c" + integrity sha512-XhhNUnZprtf1zqn/vkuH4tbxJrAinYWAgGw6WU9yZ7vPAeqYIEWwd9Na+D1/ols3unet64cd1lhvHG3xKSMKUw== dependencies: "@types/yargs" "13.0.4" - "@zowe/perf-timing" "1.0.7" chalk "2.4.2" cli-table3 "0.6.2" comment-json "4.1.1" @@ -2718,40 +2716,27 @@ yamljs "0.3.0" yargs "15.3.1" -"@zowe/perf-timing@1.0.7": - version "1.0.7" - resolved "https://registry.npmjs.org/@zowe/perf-timing/-/perf-timing-1.0.7.tgz" - integrity sha512-2txq0yg+POxkGQH6xe4l5wCItwy40YPuSK9cqCWVzrLgPxcvC+serhIkmJosaIMDxQe0e+vLd/mEED4l8nQGRA== - dependencies: - fs-extra "8.1.0" - pkg-up "2.0.0" - -"@zowe/provisioning-for-zowe-sdk@7.18.0": - version "7.18.0" - resolved "https://zowe.jfrog.io/zowe/api/npm/npm-local-release/@zowe/provisioning-for-zowe-sdk/-/@zowe/provisioning-for-zowe-sdk-7.18.0.tgz" - integrity sha512-ZqfNuQOQ0ohMBJjFI4itF+mH3V8EKiQw9n+pgf9qjyAXMfuvq6B0QmtzO5pvKy9IrFwokDQH3C2tfsY5EGL62A== +"@zowe/provisioning-for-zowe-sdk@7.19.0": + version "7.19.0" + resolved "https://registry.npmjs.org/@zowe/provisioning-for-zowe-sdk/-/provisioning-for-zowe-sdk-7.19.0.tgz#a63378cd0c1201cc42abff282d99b5bdb1354aec" + integrity sha512-f2j8p1g+VVCEz9pZrLr4dSZe1T7oznxA3cVcC3YsbQxCUnZVXfB+sNkOThlyjdzorRFBzfnyrkVad3wt2VZxBw== dependencies: js-yaml "4.1.0" -"@zowe/secrets-for-zowe-sdk@7.18.0": - version "7.18.0" - resolved "https://zowe.jfrog.io/zowe/api/npm/npm-local-release/@zowe/secrets-for-zowe-sdk/-/@zowe/secrets-for-zowe-sdk-7.18.0.tgz" - integrity sha512-QyZQh45pZEj9PWkqaTfMFIFDiHpMI4aCaZSbsbhanz54h/kN1s6nT4ri43EjQ3J3aUsG2wEjKkotjBZdGg3cHw== - -"@zowe/secrets-for-zowe-sdk@7.18.4": - version "7.18.4" - resolved "https://zowe.jfrog.io/zowe/api/npm/npm-local-release/@zowe/secrets-for-zowe-sdk/-/@zowe/secrets-for-zowe-sdk-7.18.4.tgz" - integrity sha512-MCJBHSCbf2TdN9/5pbJNC6LWrWgnmYt0zVINs6g8Tlf/UmVBh08TlrROzPfL5aYi7FWPa64BHur40x/e1eNalg== +"@zowe/secrets-for-zowe-sdk@7.18.6": + version "7.18.6" + resolved "https://registry.npmjs.org/@zowe/secrets-for-zowe-sdk/-/secrets-for-zowe-sdk-7.18.6.tgz#6b854b344babb291c26d19d82633099a46e08452" + integrity sha512-YyS1NoXddb147mBQpu5/dTfo1gdwGa/xdg85U8KCngA+RHCmNct3n2rbK3tHx9C9H6rlgjeS+Mrux5Q+PHJUgQ== -"@zowe/zos-console-for-zowe-sdk@7.18.0": - version "7.18.0" - resolved "https://zowe.jfrog.io/zowe/api/npm/npm-local-release/@zowe/zos-console-for-zowe-sdk/-/@zowe/zos-console-for-zowe-sdk-7.18.0.tgz" - integrity sha512-sVWHNuJFncHqN75nKan8Ybx1wvAWo8fqPjk3CLbChWXOS9iSFIjArirrqFODWMvgQ0p+3+ns2v88OOJ/WIQsiQ== +"@zowe/zos-console-for-zowe-sdk@7.19.0": + version "7.19.0" + resolved "https://registry.npmjs.org/@zowe/zos-console-for-zowe-sdk/-/zos-console-for-zowe-sdk-7.19.0.tgz#9431731e49cef3993f7428e5e81f1565f6572e70" + integrity sha512-0YNLP8wK3ja+gY0Aj8K89J8dwiZr/d+vIaN7qB42584t991UaNOZjDNt5A416Qc3DwVTlQGDBpHKnlAFiykexA== -"@zowe/zos-files-for-zowe-sdk@7.18.0": - version "7.18.0" - resolved "https://zowe.jfrog.io/zowe/api/npm/npm-local-release/@zowe/zos-files-for-zowe-sdk/-/@zowe/zos-files-for-zowe-sdk-7.18.0.tgz" - integrity sha512-D25+TaUj+2d8h9JRxiy6pzkLFst0t0tbGK433LZsF4O1TzrbQsM4VRdcLYKrzBbQkSsYOyyasxAs4HUjKWdr4w== +"@zowe/zos-files-for-zowe-sdk@7.19.0": + version "7.19.0" + resolved "https://registry.npmjs.org/@zowe/zos-files-for-zowe-sdk/-/zos-files-for-zowe-sdk-7.19.0.tgz#e378cc7a13c4577ab30e879d63bc760203297761" + integrity sha512-ZUTRxjLPEFAXKEUrLQmRI+hFW9KtxEarkaYJKtOpaQgkB14L62fSdfhw3prRwQalwNhLdm+RPvrJjvijnz1fag== dependencies: get-stream "6.0.1" minimatch "5.0.1" @@ -2763,43 +2748,43 @@ dependencies: zos-node-accessor "1.0.14" -"@zowe/zos-jobs-for-zowe-sdk@7.18.0": - version "7.18.0" - resolved "https://zowe.jfrog.io/zowe/api/npm/npm-local-release/@zowe/zos-jobs-for-zowe-sdk/-/@zowe/zos-jobs-for-zowe-sdk-7.18.0.tgz" - integrity sha512-PX2AMeyJjJjkJDq+a4HxrY9PypmMq7Z0NFAmJCCv/wp+DXaGyYYK3Kc5SNU/SSVqyJYv03blkFR78GEAhJK+4A== +"@zowe/zos-jobs-for-zowe-sdk@7.19.0": + version "7.19.0" + resolved "https://registry.npmjs.org/@zowe/zos-jobs-for-zowe-sdk/-/zos-jobs-for-zowe-sdk-7.19.0.tgz#5e2fe76368d6e4a8ce7c40254e9b767464e496f8" + integrity sha512-oLs53Wzh8vP7ytzdlmja4l6bxRFDkgQiREfDZ44vwTGpX2oAAsCXzGBtaM9EBxfSIOtHyCMDucWcj4ho2KPIhQ== dependencies: - "@zowe/zos-files-for-zowe-sdk" "7.18.0" + "@zowe/zos-files-for-zowe-sdk" "7.19.0" -"@zowe/zos-logs-for-zowe-sdk@7.18.0": - version "7.18.0" - resolved "https://zowe.jfrog.io/zowe/api/npm/npm-local-release/@zowe/zos-logs-for-zowe-sdk/-/@zowe/zos-logs-for-zowe-sdk-7.18.0.tgz" - integrity sha512-88lNA85LX8OYRvuTYrqJhjMGwc+BcudGM4wQ2JQwVshg/y622fWAV1w5O0vCFPEXxBi5pCT0YdKMYmLeGc4vkQ== +"@zowe/zos-logs-for-zowe-sdk@7.19.0": + version "7.19.0" + resolved "https://registry.npmjs.org/@zowe/zos-logs-for-zowe-sdk/-/zos-logs-for-zowe-sdk-7.19.0.tgz#9f97bdff593867519c8ada718b19ac405a01ea84" + integrity sha512-tBqrDyUrZP17wLBVjDx5ol8de77pK3Bbb2LvmVErC8Z5VIY7yH+6iJQmnKeLduSiRpaAcK46citZNmLkGbGkbw== -"@zowe/zos-tso-for-zowe-sdk@7.18.0": - version "7.18.0" - resolved "https://zowe.jfrog.io/zowe/api/npm/npm-local-release/@zowe/zos-tso-for-zowe-sdk/-/@zowe/zos-tso-for-zowe-sdk-7.18.0.tgz" - integrity sha512-7hZb9pgngwU7PuCoyFXIUgldnZCM1dJiAxWG1VNlH+5zwOljzaveBz4cjvtqIuJTBYA7V3+gq4xj6/QNXNC97Q== +"@zowe/zos-tso-for-zowe-sdk@7.19.0": + version "7.19.0" + resolved "https://registry.npmjs.org/@zowe/zos-tso-for-zowe-sdk/-/zos-tso-for-zowe-sdk-7.19.0.tgz#8983e05e130228955e9d054160fe89cf0a1e6bf0" + integrity sha512-5LUD9K7oxyo8/EmLw2/mWIi8fJFt4aX+Ja+iKcC62vdt+R3o73AbNBuAeP0Vj6IghmODZ1rAVA7oyYEkXBYdDg== dependencies: - "@zowe/zosmf-for-zowe-sdk" "7.18.0" + "@zowe/zosmf-for-zowe-sdk" "7.19.0" -"@zowe/zos-uss-for-zowe-sdk@7.18.0": - version "7.18.0" - resolved "https://zowe.jfrog.io/zowe/api/npm/npm-local-release/@zowe/zos-uss-for-zowe-sdk/-/@zowe/zos-uss-for-zowe-sdk-7.18.0.tgz" - integrity sha512-cK+Y8uN5qGfxsaR3UYxThOC9Deb5m0YP4UzA7QX2rWnPvetdzGddmJhXxLcZ2qbbVhqOpdqFxSPkOsp0E/l8Kw== +"@zowe/zos-uss-for-zowe-sdk@7.19.0": + version "7.19.0" + resolved "https://registry.npmjs.org/@zowe/zos-uss-for-zowe-sdk/-/zos-uss-for-zowe-sdk-7.19.0.tgz#588939eef3642dbf85a69a3a4e8b94da9909d731" + integrity sha512-TNk4x0etnUt9RWiYuN4ooxvbb2+Zi6ZQF1gHeVP3M96lR/O89LKhBlwK4LOjEn/6+9M3CCdbRylCqjbqJehijQ== dependencies: ssh2 "1.11.0" -"@zowe/zos-workflows-for-zowe-sdk@7.18.0": - version "7.18.0" - resolved "https://zowe.jfrog.io/zowe/api/npm/npm-local-release/@zowe/zos-workflows-for-zowe-sdk/-/@zowe/zos-workflows-for-zowe-sdk-7.18.0.tgz" - integrity sha512-fwohyemEHrc5q9UQTToYRB8+YX1NjpsyoKYt4dEEEkiEOwHZ/99vPqM6dpVm/mj7iZyTfpgHuxB4lPEZNdD21A== +"@zowe/zos-workflows-for-zowe-sdk@7.19.0": + version "7.19.0" + resolved "https://registry.npmjs.org/@zowe/zos-workflows-for-zowe-sdk/-/zos-workflows-for-zowe-sdk-7.19.0.tgz#aba933cb3675651b386b862c9afe79518639f7c2" + integrity sha512-J9zHUJzL4QPKg2NiRPkCIu1v36aAn4wAOQHl4o74h0dH3Ncz7fI1DDxUTlSAaA9W6dHFJV9g4YEToUpwn07mQQ== dependencies: - "@zowe/zos-files-for-zowe-sdk" "7.18.0" + "@zowe/zos-files-for-zowe-sdk" "7.19.0" -"@zowe/zosmf-for-zowe-sdk@7.18.0": - version "7.18.0" - resolved "https://zowe.jfrog.io/zowe/api/npm/npm-local-release/@zowe/zosmf-for-zowe-sdk/-/@zowe/zosmf-for-zowe-sdk-7.18.0.tgz" - integrity sha512-nxB9zmWHamXYcCLKOlJtsAEhl6maLHRtSbAuPupytbNgtH6z5bt6WuHefJbq03wy0D2smWMiNk+zuTE4Lim/6A== +"@zowe/zosmf-for-zowe-sdk@7.19.0": + version "7.19.0" + resolved "https://registry.npmjs.org/@zowe/zosmf-for-zowe-sdk/-/zosmf-for-zowe-sdk-7.19.0.tgz#e6fc7f7ae4aaa6531345dc5ac38bcc55d52bda45" + integrity sha512-pdy4mrRbvEmmhs9Vuuak5T3gaMpG6SK8WkET0i3/TiIuG0aAU1g9vMgcnfeHJyz82jXQrjfvHeGX5ei74zGWqg== abab@^2.0.3, abab@^2.0.5: version "2.0.6" @@ -5631,13 +5616,6 @@ find-up@^1.0.0: path-exists "^2.0.0" pinkie-promise "^2.0.0" -find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - dependencies: - locate-path "^2.0.0" - find-up@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" @@ -7916,14 +7894,6 @@ loader-utils@^2.0.0: emojis-list "^3.0.0" json5 "^2.1.2" -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - locate-path@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" @@ -9056,13 +9026,6 @@ p-defer@^1.0.0: resolved "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz" integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" @@ -9077,13 +9040,6 @@ p-limit@^3.0.2, p-limit@^3.1.0: dependencies: yocto-queue "^0.1.0" -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= - dependencies: - p-limit "^1.1.0" - p-locate@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" @@ -9117,11 +9073,6 @@ p-map@^4.0.0: dependencies: aggregate-error "^3.0.0" -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= - p-try@^2.0.0: version "2.2.0" resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" @@ -9425,13 +9376,6 @@ pkg-dir@^4.1.0, pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" -pkg-up@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz" - integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= - dependencies: - find-up "^2.1.0" - pkg-up@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz"