diff --git a/docs/images/ZE-Configuration.gif b/docs/images/ZE-Configuration.gif deleted file mode 100644 index 9cd8c7a596..0000000000 Binary files a/docs/images/ZE-Configuration.gif and /dev/null differ diff --git a/docs/images/ZE-CreateDelete.gif b/docs/images/ZE-CreateDelete.gif deleted file mode 100644 index 4e63a0962c..0000000000 Binary files a/docs/images/ZE-CreateDelete.gif and /dev/null differ diff --git a/docs/images/ZE-Jobs-Issue-TSO-Command.gif b/docs/images/ZE-Jobs-Issue-TSO-Command.gif deleted file mode 100644 index fa91489ca0..0000000000 Binary files a/docs/images/ZE-Jobs-Issue-TSO-Command.gif and /dev/null differ diff --git a/docs/images/ZE-Settings.jpg b/docs/images/ZE-Settings.jpg deleted file mode 100644 index 5c2555149b..0000000000 Binary files a/docs/images/ZE-Settings.jpg and /dev/null differ diff --git a/docs/images/ZE-allocate-like.gif b/docs/images/ZE-allocate-like.gif deleted file mode 100644 index a4288919fa..0000000000 Binary files a/docs/images/ZE-allocate-like.gif and /dev/null differ diff --git a/docs/images/ZE-copy-member.gif b/docs/images/ZE-copy-member.gif index 0434ce59bb..38516a574b 100644 Binary files a/docs/images/ZE-copy-member.gif and b/docs/images/ZE-copy-member.gif differ diff --git a/docs/images/ZE-copy.gif b/docs/images/ZE-copy.gif deleted file mode 100644 index e5e1aed64f..0000000000 Binary files a/docs/images/ZE-copy.gif and /dev/null differ diff --git a/docs/images/ZE-del-pds-member.gif b/docs/images/ZE-del-pds-member.gif deleted file mode 100644 index 3dac648753..0000000000 Binary files a/docs/images/ZE-del-pds-member.gif and /dev/null differ diff --git a/docs/images/ZE-delete-ds2.gif b/docs/images/ZE-delete-ds2.gif deleted file mode 100644 index 8aebe548bd..0000000000 Binary files a/docs/images/ZE-delete-ds2.gif and /dev/null differ diff --git a/docs/images/ZE-download-edit.gif b/docs/images/ZE-download-edit.gif deleted file mode 100644 index 51e0ba16f9..0000000000 Binary files a/docs/images/ZE-download-edit.gif and /dev/null differ diff --git a/docs/images/ZE-edit-upload.gif b/docs/images/ZE-edit-upload.gif index 0926bd578f..067bb6ddca 100644 Binary files a/docs/images/ZE-edit-upload.gif and b/docs/images/ZE-edit-upload.gif differ diff --git a/docs/images/ZE-editUSS.gif b/docs/images/ZE-editUSS.gif deleted file mode 100644 index a074d8e804..0000000000 Binary files a/docs/images/ZE-editUSS.gif and /dev/null differ diff --git a/docs/images/ZE-jobs-download-spool.gif b/docs/images/ZE-jobs-download-spool.gif deleted file mode 100644 index caf7dbfef6..0000000000 Binary files a/docs/images/ZE-jobs-download-spool.gif and /dev/null differ diff --git a/docs/images/ZE-jobs-get-jcl.gif b/docs/images/ZE-jobs-get-jcl.gif deleted file mode 100644 index 05ec8a0cd6..0000000000 Binary files a/docs/images/ZE-jobs-get-jcl.gif and /dev/null differ diff --git a/docs/images/ZE-mult-profiles.gif b/docs/images/ZE-mult-profiles.gif deleted file mode 100644 index 69aa74457d..0000000000 Binary files a/docs/images/ZE-mult-profiles.gif and /dev/null differ diff --git a/docs/images/ZE-multiple-search.gif b/docs/images/ZE-multiple-search.gif index 2463b73a85..1dbdea0912 100644 Binary files a/docs/images/ZE-multiple-search.gif and b/docs/images/ZE-multiple-search.gif differ diff --git a/docs/images/ZE-newProfiles.gif b/docs/images/ZE-newProfiles.gif deleted file mode 100644 index a9f6a8c476..0000000000 Binary files a/docs/images/ZE-newProfiles.gif and /dev/null differ diff --git a/docs/images/ZE-path.gif b/docs/images/ZE-path.gif deleted file mode 100644 index e0dc03f576..0000000000 Binary files a/docs/images/ZE-path.gif and /dev/null differ diff --git a/docs/images/ZE-profile-api.gif b/docs/images/ZE-profile-api.gif deleted file mode 100644 index e82a5ab76d..0000000000 Binary files a/docs/images/ZE-profile-api.gif and /dev/null differ diff --git a/docs/images/ZE-profile-links.gif b/docs/images/ZE-profile-links.gif deleted file mode 100644 index da7cc20415..0000000000 Binary files a/docs/images/ZE-profile-links.gif and /dev/null differ diff --git a/docs/images/ZE-profile2.gif b/docs/images/ZE-profile2.gif deleted file mode 100644 index ae1028f333..0000000000 Binary files a/docs/images/ZE-profile2.gif and /dev/null differ diff --git a/docs/images/ZE-refresh-all.gif b/docs/images/ZE-refresh-all.gif deleted file mode 100644 index 893e9c0389..0000000000 Binary files a/docs/images/ZE-refresh-all.gif and /dev/null differ diff --git a/docs/images/ZE-refreshUSS.gif b/docs/images/ZE-refreshUSS.gif deleted file mode 100644 index 7a5bc277c9..0000000000 Binary files a/docs/images/ZE-refreshUSS.gif and /dev/null differ diff --git a/docs/images/ZE-safe-save.gif b/docs/images/ZE-safe-save.gif index 5a833904ee..34cebebc6b 100644 Binary files a/docs/images/ZE-safe-save.gif and b/docs/images/ZE-safe-save.gif differ diff --git a/docs/images/ZE-submit-jcl.gif b/docs/images/ZE-submit-jcl.gif index 93f23b257d..2cbdaf7c22 100644 Binary files a/docs/images/ZE-submit-jcl.gif and b/docs/images/ZE-submit-jcl.gif differ diff --git a/docs/images/ze-access-multiple-profiles-simultaneously.gif b/docs/images/ze-access-multiple-profiles-simultaneously.gif index 7fafe8edcc..1d2b2b8a7d 100644 Binary files a/docs/images/ze-access-multiple-profiles-simultaneously.gif and b/docs/images/ze-access-multiple-profiles-simultaneously.gif differ diff --git a/package.json b/package.json index d1e5d4fb33..93361b23b4 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,6 @@ "rimraf": "^3.0.2", "terser-webpack-plugin": "^5.3.10", "ts-jest": "^29.0.3", - "tsconfig-paths-webpack-plugin": "^4.1.0", "tsx": "^4.9.3", "typescript": "^5.3.3", "webpack": "^5.89.0", @@ -74,6 +73,6 @@ "test:parallel": "pnpm -r --parallel --color test", "package": "pnpm -r --sequential package", "preinstall": "npx only-allow pnpm", - "update-sdks": "pnpm -r update \"@zowe/*@next\" \"!@zowe/zowe-explorer-api\"" + "update-sdks": "pnpm -r update \"@zowe/*@next\" \"!@zowe/zowe-explorer-api\" \"!@zowe/zos-ftp-for-zowe-cli\"" } } diff --git a/packages/zowe-explorer-api/CHANGELOG.md b/packages/zowe-explorer-api/CHANGELOG.md index 01d31cfaff..26fe8157c6 100644 --- a/packages/zowe-explorer-api/CHANGELOG.md +++ b/packages/zowe-explorer-api/CHANGELOG.md @@ -35,12 +35,15 @@ All notable changes to the "zowe-explorer-api" extension will be documented in t - Updated the `ProfilesCache.getProfiles` method to return empty list instead of undefined when there are no profiles. [#2947](https://github.com/zowe/zowe-explorer-vscode/pull/2947) - Added PEM certificate support as an authentication method for logging into the API ML. [#2621](https://github.com/zowe/zowe-explorer-vscode/issues/2621) - Deprecated the `getUSSDocumentFilePath` function on the `IZoweTreeNode` interface as Zowe Explorer no longer uses the local file system for storing USS files. **No replacement is planned**; please access data from tree nodes using their [resource URIs](https://github.com/zowe/zowe-explorer-vscode/wiki/FileSystemProvider#operations-for-extenders) instead. [#2968](https://github.com/zowe/zowe-explorer-vscode/pull/2968) +- **Next Breaking:** Changed `ProfilesCache.convertV1ProfToConfig` method to be a static method that requires `ProfileInfo` instance as a parameter. ### Bug fixes - Fixed an issue where the `onProfilesUpdate` event did not fire after secure credentials were updated. [#2822](https://github.com/zowe/zowe-explorer-vscode/issues/2822) - Fixed an issue where `ProfilesCache` may return missing or incorrect profile values when multiple extensions call it during activation. [#2831](https://github.com/zowe/zowe-explorer-vscode/issues/2831) - Removed `handlebars` dependency in favor of `mustache` for technical currency purposes. [#2975](https://github.com/zowe/zowe-explorer-vscode/pull/2975) +- Update Zowe SDKs to `8.0.0-next.202407051717` for technical currency. [#2918](https://github.com/zowe/zowe-explorer-vscode/issues/2918) +- Fixed an issue where the `ZoweVsCodeExtension.updateCredentials` method could remove credentials from session when input prompt was cancelled. [#3009](https://github.com/zowe/zowe-explorer-vscode/pull/3009) ## `3.0.0-next.202404242037` diff --git a/packages/zowe-explorer-api/__tests__/__unit__/profiles/ProfilesCache.unit.test.ts b/packages/zowe-explorer-api/__tests__/__unit__/profiles/ProfilesCache.unit.test.ts index 3b909a1d09..becafa5eea 100644 --- a/packages/zowe-explorer-api/__tests__/__unit__/profiles/ProfilesCache.unit.test.ts +++ b/packages/zowe-explorer-api/__tests__/__unit__/profiles/ProfilesCache.unit.test.ts @@ -13,7 +13,7 @@ import * as path from "path"; import * as fs from "fs"; import * as imperative from "@zowe/imperative"; import { ProfilesCache } from "../../../src/profiles/ProfilesCache"; -import { FileManagement, ZoweExplorerApi } from "../../../src"; +import { FileManagement, Types } from "../../../src"; jest.mock("fs"); @@ -141,6 +141,7 @@ describe("ProfilesCache", () => { it("getProfileInfo should initialize ProfileInfo API", async () => { const existsSync = jest.spyOn(fs, "existsSync").mockImplementation(); + jest.spyOn(FileManagement, "getZoweDir").mockReturnValue(fakeZoweDir); const profInfo = await new ProfilesCache(fakeLogger as unknown as imperative.Logger, __dirname).getProfileInfo(); expect(readProfilesFromDiskSpy).toHaveBeenCalledTimes(1); expect(defaultCredMgrWithKeytarSpy).toHaveBeenCalledTimes(1); @@ -260,7 +261,7 @@ describe("ProfilesCache", () => { it("should refresh profile data for multiple profile types", async () => { const profCache = new ProfilesCache({ ...fakeLogger, error: mockLogError } as unknown as imperative.Logger); const getProfInfoSpy = jest.spyOn(profCache, "getProfileInfo").mockResolvedValue(createProfInfoMock([lpar1Profile, zftpProfile])); - await profCache.refresh(fakeApiRegister as unknown as ZoweExplorerApi.IApiRegisterClient); + await profCache.refresh(fakeApiRegister as unknown as Types.IApiRegisterClient); expect(profCache.allProfiles.length).toEqual(2); expect(profCache.allProfiles[0]).toMatchObject(lpar1Profile); expect(profCache.allProfiles[1]).toMatchObject(zftpProfile); @@ -273,7 +274,7 @@ describe("ProfilesCache", () => { jest.spyOn(profCache, "getProfileInfo").mockResolvedValue( createProfInfoMock([lpar1ProfileWithToken, lpar2ProfileWithToken, baseProfileWithToken]) ); - await profCache.refresh(fakeApiRegister as unknown as ZoweExplorerApi.IApiRegisterClient); + await profCache.refresh(fakeApiRegister as unknown as Types.IApiRegisterClient); expect(profCache.allProfiles.length).toEqual(3); expect(profCache.allProfiles[0]).toMatchObject(lpar1ProfileWithToken); expect(profCache.allProfiles[1]).toMatchObject(lpar2Profile); // without token @@ -288,7 +289,7 @@ describe("ProfilesCache", () => { jest.spyOn(profCache, "getProfileInfo").mockImplementation(() => { throw fakeError; }); - await profCache.refresh(fakeApiRegister as unknown as ZoweExplorerApi.IApiRegisterClient); + await profCache.refresh(fakeApiRegister as unknown as Types.IApiRegisterClient); expect(profCache.allProfiles.length).toEqual(0); expect(profCache.getAllTypes().length).toEqual(0); expect(mockLogError).toHaveBeenCalledWith(fakeError); @@ -438,55 +439,48 @@ describe("ProfilesCache", () => { }); describe("convertV1ProfToConfig", () => { - Object.defineProperty(FileManagement, "getZoweDir", { value: jest.fn().mockReturnValue(fakeZoweDir), configurable: true }); - Object.defineProperty(ProfilesCache, "addToConfigArray", { value: jest.fn(), configurable: true }); - Object.defineProperty(fs, "renameSync", { value: jest.fn(), configurable: true }); - Object.defineProperty(ProfilesCache, "getConfigArray", { value: jest.fn(), configurable: true }); it("Should convert v1 profiles to config file", async () => { - const profCache = new ProfilesCache(fakeLogger as unknown as imperative.Logger); - jest.spyOn(imperative.ConfigBuilder, "convert").mockImplementationOnce(() => { + const profInfo = createProfInfoMock([lpar1Profile]); + jest.spyOn(imperative.ConvertV1Profiles, "convert").mockImplementationOnce(() => { return { profilesConverted: { zosmf: ["profile1"] }, profilesFailed: {}, config: {}, } as any; }); - await expect(profCache.convertV1ProfToConfig()).resolves.not.toThrow(); + await expect(ProfilesCache.convertV1ProfToConfig(profInfo)).resolves.not.toThrow(); }); it("Should convert v1 profiles to config file with profilesFailed", async () => { - const profCache = new ProfilesCache(fakeLogger as unknown as imperative.Logger); - jest.spyOn(imperative.ConfigBuilder, "convert").mockImplementationOnce(() => { + const profInfo = createProfInfoMock([lpar1Profile]); + jest.spyOn(imperative.ConvertV1Profiles, "convert").mockImplementationOnce(() => { return { profilesConverted: {}, profilesFailed: [{ name: ["profile2"], types: "zosmf", error: "Error converting" }], config: {}, } as any; }); - await expect(profCache.convertV1ProfToConfig()).resolves.not.toThrow(); + await expect(ProfilesCache.convertV1ProfToConfig(profInfo)).resolves.not.toThrow(); }); it("Should convert v1 profiles to config even if rename of profiles directory fails", async () => { - Object.defineProperty(fs, "renameSync", { - value: jest.fn().mockImplementation(() => { - throw new Error("Error renaming file"); - }), - configurable: true, + jest.spyOn(fs, "renameSync").mockImplementationOnce(() => { + throw new Error("Error renaming file"); }); - const profCache = new ProfilesCache(fakeLogger as unknown as imperative.Logger); - jest.spyOn(imperative.ConfigBuilder, "convert").mockImplementationOnce(() => { + const profInfo = createProfInfoMock([lpar1Profile]); + jest.spyOn(imperative.ConvertV1Profiles, "convert").mockImplementationOnce(() => { return { profilesConverted: {}, profilesFailed: [{ name: ["profile2"], types: "zosmf", error: "Error converting" }], config: {}, } as any; }); - await expect(profCache.convertV1ProfToConfig()).resolves.not.toThrow(); + await expect(ProfilesCache.convertV1ProfToConfig(profInfo)).resolves.not.toThrow(); }); it("Should reject if error thrown other than renaming profiles directory", async () => { - const profCache = new ProfilesCache(fakeLogger as unknown as imperative.Logger); - jest.spyOn(imperative.ConfigBuilder, "convert").mockImplementationOnce(() => { + const profInfo = createProfInfoMock([lpar1Profile]); + jest.spyOn(imperative.ConvertV1Profiles, "convert").mockImplementationOnce(() => { throw new Error("Error converting config"); }); - await expect(profCache.convertV1ProfToConfig()).rejects.toThrow("Error converting config"); + await expect(ProfilesCache.convertV1ProfToConfig(profInfo)).rejects.toThrow("Error converting config"); }); }); diff --git a/packages/zowe-explorer-api/__tests__/__unit__/vscode/ZoweVsCodeExtension.unit.test.ts b/packages/zowe-explorer-api/__tests__/__unit__/vscode/ZoweVsCodeExtension.unit.test.ts index 43a866500e..4b69c1c124 100644 --- a/packages/zowe-explorer-api/__tests__/__unit__/vscode/ZoweVsCodeExtension.unit.test.ts +++ b/packages/zowe-explorer-api/__tests__/__unit__/vscode/ZoweVsCodeExtension.unit.test.ts @@ -467,10 +467,11 @@ describe("ZoweVsCodeExtension", () => { }); it("should do nothing if user input is cancelled", async () => { + const fakeProfile = { user: "fakeUser", password: "fakePass" }; const mockUpdateProperty = jest.fn(); jest.spyOn(ZoweVsCodeExtension as any, "profilesCache", "get").mockReturnValue({ getLoadedProfConfig: jest.fn().mockReturnValue({ - profile: {}, + profile: fakeProfile, }), getProfileInfo: jest.fn().mockReturnValue({ isSecured: jest.fn().mockReturnValue(true), @@ -479,17 +480,23 @@ describe("ZoweVsCodeExtension", () => { refresh: jest.fn(), }); const showInputBoxSpy = jest.spyOn(Gui, "showInputBox").mockResolvedValueOnce(undefined); - const profileLoaded = await ZoweVsCodeExtension.updateCredentials(promptCredsOptions, undefined as unknown as Types.IApiRegisterClient); + const profileLoaded = await ZoweVsCodeExtension.updateCredentials( + { ...promptCredsOptions, rePrompt: true }, + undefined as unknown as Types.IApiRegisterClient + ); expect(profileLoaded).toBeUndefined(); expect(showInputBoxSpy).toHaveBeenCalledTimes(1); expect(mockUpdateProperty).toHaveBeenCalledTimes(0); + expect(fakeProfile.user).toBeDefined(); + expect(fakeProfile.password).toBeDefined(); }); it("should do nothing if password input is cancelled", async () => { + const fakeProfile = { user: "fakeUser", password: "fakePass" }; const mockUpdateProperty = jest.fn(); jest.spyOn(ZoweVsCodeExtension as any, "profilesCache", "get").mockReturnValue({ getLoadedProfConfig: jest.fn().mockReturnValue({ - profile: {}, + profile: fakeProfile, }), getProfileInfo: jest.fn().mockReturnValue({ isSecured: jest.fn().mockReturnValue(true), @@ -498,10 +505,15 @@ describe("ZoweVsCodeExtension", () => { refresh: jest.fn(), }); const showInputBoxSpy = jest.spyOn(Gui, "showInputBox").mockResolvedValueOnce("fakeUser").mockResolvedValueOnce(undefined); - const profileLoaded = await ZoweVsCodeExtension.updateCredentials(promptCredsOptions, undefined as unknown as Types.IApiRegisterClient); + const profileLoaded = await ZoweVsCodeExtension.updateCredentials( + { ...promptCredsOptions, rePrompt: true }, + undefined as unknown as Types.IApiRegisterClient + ); expect(profileLoaded).toBeUndefined(); expect(showInputBoxSpy).toHaveBeenCalledTimes(2); expect(mockUpdateProperty).toHaveBeenCalledTimes(0); + expect(fakeProfile.user).toBeDefined(); + expect(fakeProfile.password).toBeDefined(); }); it("should do nothing if profile and sessionName args are not provided", async () => { diff --git a/packages/zowe-explorer-api/package.json b/packages/zowe-explorer-api/package.json index 98517f70ce..813cfeca32 100644 --- a/packages/zowe-explorer-api/package.json +++ b/packages/zowe-explorer-api/package.json @@ -12,6 +12,12 @@ "provenance": true }, "main": "lib/index.js", + "exports": { + ".": { + "@zowe:bundler": "./src/index.ts", + "default": "./lib/index.js" + } + }, "files": [ "lib" ], @@ -22,15 +28,15 @@ }, "dependencies": { "@types/vscode": "^1.53.2", - "@zowe/core-for-zowe-sdk": "8.0.0-next.202404032038", - "@zowe/imperative": "8.0.0-next.202404032038", - "@zowe/secrets-for-zowe-sdk": "8.0.0-next.202404032038", - "@zowe/zos-console-for-zowe-sdk": "8.0.0-next.202404032038", - "@zowe/zos-files-for-zowe-sdk": "8.0.0-next.202404032038", - "@zowe/zos-jobs-for-zowe-sdk": "8.0.0-next.202404032038", - "@zowe/zos-tso-for-zowe-sdk": "8.0.0-next.202404032038", - "@zowe/zos-uss-for-zowe-sdk": "8.0.0-next.202404032038", - "@zowe/zosmf-for-zowe-sdk": "8.0.0-next.202404032038", + "@zowe/core-for-zowe-sdk": "8.0.0-next.202407051717", + "@zowe/imperative": "8.0.0-next.202407051717", + "@zowe/secrets-for-zowe-sdk": "8.0.0-next.202407051717", + "@zowe/zos-console-for-zowe-sdk": "8.0.0-next.202407051717", + "@zowe/zos-files-for-zowe-sdk": "8.0.0-next.202407051717", + "@zowe/zos-jobs-for-zowe-sdk": "8.0.0-next.202407051717", + "@zowe/zos-tso-for-zowe-sdk": "8.0.0-next.202407051717", + "@zowe/zos-uss-for-zowe-sdk": "8.0.0-next.202407051717", + "@zowe/zosmf-for-zowe-sdk": "8.0.0-next.202407051717", "deep-object-diff": "^1.1.9", "mustache": "^4.2.0", "preact": "^10.16.0", diff --git a/packages/zowe-explorer-api/src/globals/Interfaces.ts b/packages/zowe-explorer-api/src/globals/Interfaces.ts deleted file mode 100644 index 79a9c15c17..0000000000 --- a/packages/zowe-explorer-api/src/globals/Interfaces.ts +++ /dev/null @@ -1,18 +0,0 @@ -/** - * This program and the accompanying materials are made available under the terms of the - * Eclipse Public License v2.0 which accompanies this distribution, and is available at - * https://www.eclipse.org/legal/epl-v20.html - * - * SPDX-License-Identifier: EPL-2.0 - * - * Copyright Contributors to the Zowe Project. - * - */ - -import * as imperative from "@zowe/imperative"; - -export interface ZeApiConvertResponse { - success: string; - warnings: string; - convertResult: imperative.IConfigConvertResult; -} diff --git a/packages/zowe-explorer-api/src/globals/index.ts b/packages/zowe-explorer-api/src/globals/index.ts index 62247a00e6..728552914d 100644 --- a/packages/zowe-explorer-api/src/globals/index.ts +++ b/packages/zowe-explorer-api/src/globals/index.ts @@ -12,4 +12,3 @@ export * from "./Constants"; export * from "./Gui"; export * from "./GuiOptions"; -export * from "./Interfaces"; diff --git a/packages/zowe-explorer-api/src/profiles/ProfilesCache.ts b/packages/zowe-explorer-api/src/profiles/ProfilesCache.ts index ca2143c354..f8eb13e933 100644 --- a/packages/zowe-explorer-api/src/profiles/ProfilesCache.ts +++ b/packages/zowe-explorer-api/src/profiles/ProfilesCache.ts @@ -9,17 +9,13 @@ * */ -import * as path from "path"; -import * as fs from "fs"; import * as imperative from "@zowe/imperative"; import type { IRegisterClient } from "../extend/IRegisterClient"; import { FileManagement } from "../utils"; import { Validation } from "./Validation"; -import { ZeApiConvertResponse } from "../globals"; import { ZosmfProfile } from "@zowe/zosmf-for-zowe-sdk"; import { ZosTsoProfile } from "@zowe/zos-tso-for-zowe-sdk"; import { ZosUssProfile } from "@zowe/zos-uss-for-zowe-sdk"; -import { ProfileConstants } from "@zowe/core-for-zowe-sdk"; export class ProfilesCache { public profilesForValidation: Validation.IValidationProfile[] = []; @@ -354,48 +350,12 @@ export class ProfilesCache { }; } - public async convertV1ProfToConfig(): Promise { - const successMsg: string[] = []; - const warningMsg: string[] = []; - const zoweDir = FileManagement.getZoweDir(); - const profilesPath = path.join(zoweDir, "profiles"); - const oldProfilesPath = `${profilesPath.replace(/[\\/]$/, "")}-old`; - const convertResult = await imperative.ConfigBuilder.convert(profilesPath); - for (const [k, v] of Object.entries(convertResult.profilesConverted)) { - successMsg.push(`Converted ${k} profile: ${v.join(", ")}\n`); - } - if (convertResult.profilesFailed.length > 0) { - warningMsg.push(`Failed to convert ${convertResult.profilesFailed.length} profile(s). See details below\n`); - for (const { name, type, error } of convertResult.profilesFailed) { - if (name != null) { - warningMsg.push(`Failed to load ${type} profile "${name}":\n${String(error)}\n`); - } else { - warningMsg.push(`Failed to find default ${type} profile:\n${String(error)}\n`); - } - } - } - const teamConfig = await imperative.Config.load("zowe", { - homeDir: zoweDir, - projectDir: false, - }); - teamConfig.api.layers.activate(false, true); - teamConfig.api.layers.merge(convertResult.config); - const knownCliConfig: imperative.ICommandProfileTypeConfiguration[] = this.getCoreProfileTypes(); - knownCliConfig.push(ProfileConstants.BaseProfile); - this.addToConfigArray(knownCliConfig); - teamConfig.setSchema(imperative.ConfigSchema.buildSchema(this.getConfigArray())); - await teamConfig.save(); - try { - fs.renameSync(profilesPath, oldProfilesPath); - } catch (error) { - warningMsg.push(`Failed to rename profiles directory to ${oldProfilesPath}:\n ${String(error)}`); - } - successMsg.push(`Your new profiles have been saved to ${teamConfig.layerActive().path}.\n`); - return { - success: String(successMsg.join("")), - warnings: String(warningMsg.join("")), - convertResult, - }; + public static async convertV1ProfToConfig( + profileInfo: imperative.ProfileInfo, + deleteV1Profs: boolean = false + ): Promise { + const convertResult = await imperative.ConvertV1Profiles.convert({ deleteV1Profs, profileInfo }); + return convertResult; } protected getCoreProfileTypes(): imperative.IProfileTypeConfiguration[] { diff --git a/packages/zowe-explorer-api/src/vscode/ZoweVsCodeExtension.ts b/packages/zowe-explorer-api/src/vscode/ZoweVsCodeExtension.ts index 5ee33adee3..90e77ab004 100644 --- a/packages/zowe-explorer-api/src/vscode/ZoweVsCodeExtension.ts +++ b/packages/zowe-explorer-api/src/vscode/ZoweVsCodeExtension.ts @@ -291,7 +291,6 @@ export class ZoweVsCodeExtension { value: newUser, ...(options.userInputBoxOptions ?? {}), }); - options.session.user = newUser; } if (!newUser || (options.rePrompt && newUser === "")) { return undefined; @@ -307,13 +306,14 @@ export class ZoweVsCodeExtension { value: newPass, ...(options.passwordInputBoxOptions ?? {}), }); - options.session.password = newPass; } if (!newPass || (options.rePrompt && newPass === "")) { return undefined; } - return [newUser.trim(), newPass.trim()]; + options.session.user = newUser.trim(); + options.session.password = newPass.trim(); + return [options.session.user, options.session.password]; } private static async promptCertificate(options: PromptCredentialsOptions.CertificateOptions): Promise { diff --git a/packages/zowe-explorer-ftp-extension/CHANGELOG.md b/packages/zowe-explorer-ftp-extension/CHANGELOG.md index 1bbcd748e5..97e02e6eea 100644 --- a/packages/zowe-explorer-ftp-extension/CHANGELOG.md +++ b/packages/zowe-explorer-ftp-extension/CHANGELOG.md @@ -10,6 +10,7 @@ All notable changes to the "zowe-explorer-ftp-extension" extension will be docum - Changed the hashing algorithm for e-tag generation from `sha1` to `sha256` to avoid collisions. [#2890](https://github.com/zowe/zowe-explorer-vscode/pull/2890) - Updated the FTP plugin dependency to `3.0.0-next.202403191358` for technical currency [#2783](https://github.com/zowe/vscode-extension-for-zowe/pull/2783). +- Update Zowe SDKs to `8.0.0-next.202405241828` for technical currency. [#2918](https://github.com/zowe/zowe-explorer-vscode/issues/2918) ## `3.0.0-next.202404242037` @@ -80,6 +81,7 @@ All notable changes to the "zowe-explorer-ftp-extension" extension will be docum ### Bug fixes - Fixed ECONNRESET error when trying to upload or create an empty data set member. [#2350](https://github.com/zowe/vscode-extension-for-zowe/issues/2350) +- Update Zowe SDKs to `8.0.0-next.202407051717` for technical currency. [#2918](https://github.com/zowe/zowe-explorer-vscode/issues/2918) ## 2.16.0 diff --git a/packages/zowe-explorer-ftp-extension/package.json b/packages/zowe-explorer-ftp-extension/package.json index 0ce2d37a55..db86bf27f6 100644 --- a/packages/zowe-explorer-ftp-extension/package.json +++ b/packages/zowe-explorer-ftp-extension/package.json @@ -48,9 +48,9 @@ "vscode": "^1.79.0" }, "dependencies": { - "@zowe/zos-files-for-zowe-sdk": "8.0.0-next.202404032038", + "@zowe/zos-files-for-zowe-sdk": "8.0.0-next.202407051717", "@zowe/zos-ftp-for-zowe-cli": "3.0.0-next.202403191358", - "@zowe/zos-jobs-for-zowe-sdk": "8.0.0-next.202404032038", + "@zowe/zos-jobs-for-zowe-sdk": "8.0.0-next.202407051717", "@zowe/zowe-explorer-api": "3.0.0-next-SNAPSHOT", "tmp": "0.2.3" }, diff --git a/packages/zowe-explorer-ftp-extension/webpack.config.js b/packages/zowe-explorer-ftp-extension/webpack.config.js index 1c933bb49a..eda7e505b5 100644 --- a/packages/zowe-explorer-ftp-extension/webpack.config.js +++ b/packages/zowe-explorer-ftp-extension/webpack.config.js @@ -17,8 +17,6 @@ const path = require("path"); const webpack = require("webpack"); const fs = require("fs"); const TerserPlugin = require("terser-webpack-plugin"); - -const { TsconfigPathsPlugin } = require("tsconfig-paths-webpack-plugin"); const ForkTsCheckerWebpackPlugin = require("fork-ts-checker-webpack-plugin"); /**@type {webpack.Configuration}*/ @@ -39,11 +37,7 @@ const config = { alias: { "@zowe/zowe-explorer-api$": path.resolve(__dirname, "..", "zowe-explorer-api/src"), }, - plugins: [ - new TsconfigPathsPlugin({ - references: ["../zowe-explorer-api"], - }), - ], + conditionNames: ["@zowe:bundler", "..."], }, watchOptions: { ignored: /node_modules/, diff --git a/packages/zowe-explorer/CHANGELOG.md b/packages/zowe-explorer/CHANGELOG.md index 1ae9968d82..2a106b6cc2 100644 --- a/packages/zowe-explorer/CHANGELOG.md +++ b/packages/zowe-explorer/CHANGELOG.md @@ -60,6 +60,8 @@ All notable changes to the "vscode-extension-for-zowe" extension will be documen - Fixed issue where saving changes to favorited PDS member fails when custom temp folder is set on Windows. [#2880](https://github.com/zowe/zowe-explorer-vscode/issues/2880) - Fixed issue where multiple extensions that contribute profiles to a tree view using the Zowe Explorer API may fail to load. [#2888](https://github.com/zowe/zowe-explorer-vscode/issues/2888) - Fixed regression where `getProviderForNode` returned the wrong tree provider after performing an action on a Zowe tree node, causing some commands to fail silently. [#2967](https://github.com/zowe/zowe-explorer-vscode/issues/2967) +- Update Zowe SDKs to `8.0.0-next.202407051717` for technical currency. [#2918](https://github.com/zowe/zowe-explorer-vscode/issues/2918) +- Fixed issue where creating a new team configuration file could cause Zowe Explorer to crash, resulting in all sessions disappearing from trees. [#2906](https://github.com/zowe/zowe-explorer-vscode/issues/2906) ## `3.0.0-next.202404242037` diff --git a/packages/zowe-explorer/README.md b/packages/zowe-explorer/README.md index 0fa930acea..2406012391 100644 --- a/packages/zowe-explorer/README.md +++ b/packages/zowe-explorer/README.md @@ -6,8 +6,6 @@ [![slack](https://img.shields.io/badge/chat-on%20Slack-blue)](https://slack.openmainframeproject.org/) > ## v3 Pre-release is now available in our [Github Releases](https://github.com/zowe/zowe-explorer-vscode/releases) with the removal of v1 profile support. Keep an eye on [changes affecting users and extenders](https://github.com/zowe/zowe-explorer-vscode/wiki/v3-Changes-for-Users-and-Extenders) for the full list of changes -> -> ## With the removal of the keytar shim from VS Code, we have replaced `node-keytar` with `@zowe/secrets-for-zowe-sdk` in the v2.10.0 release to avoid user interruptions. Extenders, please check out the usage [documentation](https://github.com/zowe/zowe-explorer-vscode/wiki/Secure-Credentials-for-Extenders) ## Introduction @@ -389,7 +387,7 @@ As a result, VS Code extensions like Zowe Explorer, Zowe Explorer CICS Extension 1. Confirm the deletion by clicking **Delete** in the drop-down menu. - ![Delete Data Sets and Members](/docs/images/ZE-delete-ds2.gif?raw=true "Delete Data Sets and Members") + ![Delete Data Sets and Members](/docs/images/ZE-delete-ds.gif?raw=true "Delete Data Sets and Members")

[Back to sample list](#sample-use-cases) diff --git a/packages/zowe-explorer/__tests__/__mocks__/@zowe/imperative.ts b/packages/zowe-explorer/__tests__/__mocks__/@zowe/imperative.ts index e7bb992995..fcf654c82a 100644 --- a/packages/zowe-explorer/__tests__/__mocks__/@zowe/imperative.ts +++ b/packages/zowe-explorer/__tests__/__mocks__/@zowe/imperative.ts @@ -417,3 +417,14 @@ export namespace SessConstants { export const apiErrorHeader = { message: "API Error", }; + +export class ConvertV1Profiles { + public static convert() { + return { + msgs: "", + profilesConverted: [], + profilesFailed: [], + v1ScsPluginName: undefined, + }; + } +} diff --git a/packages/zowe-explorer/__tests__/__mocks__/fs.ts b/packages/zowe-explorer/__tests__/__mocks__/fs.ts index b30226cf41..3424b4e183 100644 --- a/packages/zowe-explorer/__tests__/__mocks__/fs.ts +++ b/packages/zowe-explorer/__tests__/__mocks__/fs.ts @@ -32,6 +32,8 @@ export class FakeStats implements Stats { export function access(path: string, callback: any): void {} +export function appendFileSync(path: string, data: any, encoding: string): void {} + export function closeSync(fd: number): void {} export function existsSync(path: string | Buffer): boolean { diff --git a/packages/zowe-explorer/__tests__/__unit__/trees/shared/SharedActions.unit.test.ts b/packages/zowe-explorer/__tests__/__unit__/trees/shared/SharedActions.unit.test.ts index 05792b554b..4088375a99 100644 --- a/packages/zowe-explorer/__tests__/__unit__/trees/shared/SharedActions.unit.test.ts +++ b/packages/zowe-explorer/__tests__/__unit__/trees/shared/SharedActions.unit.test.ts @@ -16,6 +16,7 @@ import { createISessionWithoutCredentials, createQuickPickContent, createQuickPickItem, + createTreeProviders, createTreeView, } from "../../../__mocks__/mockCreators/shared"; import { createDatasetSessionNode, createDatasetTree } from "../../../__mocks__/mockCreators/datasets"; @@ -34,6 +35,8 @@ import { FilterDescriptor, FilterItem } from "../../../../src/management/FilterM import { SharedActions } from "../../../../src/trees/shared/SharedActions"; import { IconUtils } from "../../../../src/icons/IconUtils"; import { IconGenerator } from "../../../../src/icons/IconGenerator"; +import { SharedTreeProviders } from "../../../../src/trees/shared/SharedTreeProviders"; +import { TreeViewUtils } from "../../../../src/utils/TreeViewUtils"; function createGlobalMocks() { const globalMocks = { @@ -542,3 +545,27 @@ describe("Shared Actions Unit Tests - Function resetValidationSettings", () => { expect(response.contextValue).toContain(`${Constants.VALIDATE_SUFFIX}true`); }); }); + +describe("Shared Actions Unit Tests - Function refreshAll", () => { + afterAll(() => { + jest.restoreAllMocks(); + }); + + it("should refresh all tree providers and update session nodes", async () => { + createGlobalMocks(); + jest.spyOn(SharedTreeProviders, "providers", "get").mockReturnValue(createTreeProviders()); + const removedProfNames = new Set(); + const addedProfTypes = new Set(); + const removeSessionSpy = jest + .spyOn(TreeViewUtils, "removeSession") + .mockImplementation(async (treeProvider, profileName) => removedProfNames.add(profileName)); + const addDefaultSessionSpy = jest + .spyOn(TreeViewUtils, "addDefaultSession") + .mockImplementation(async (treeProvider, profileType) => addedProfTypes.add(profileType)); + await SharedActions.refreshAll(); + expect(removeSessionSpy).toHaveBeenCalledTimes(6); + expect([...removedProfNames]).toEqual(["zosmf", "zosmf2"]); + expect(addDefaultSessionSpy).toHaveBeenCalledTimes(3); + expect([...addedProfTypes]).toEqual(["zosmf"]); + }); +}); diff --git a/packages/zowe-explorer/__tests__/__unit__/trees/shared/SharedInit.unit.test.ts b/packages/zowe-explorer/__tests__/__unit__/trees/shared/SharedInit.unit.test.ts index 983da3f20b..cf0406570b 100644 --- a/packages/zowe-explorer/__tests__/__unit__/trees/shared/SharedInit.unit.test.ts +++ b/packages/zowe-explorer/__tests__/__unit__/trees/shared/SharedInit.unit.test.ts @@ -121,9 +121,7 @@ describe("Test src/shared/extension", () => { { spy: jest.spyOn(test.value, "affectsConfiguration"), arg: [Constants.SETTINGS_LOGS_FOLDER_PATH], ret: false }, { spy: jest.spyOn(test.value, "affectsConfiguration"), arg: [Constants.SETTINGS_AUTOMATIC_PROFILE_VALIDATION], ret: true }, { spy: jest.spyOn(Profiles, "getInstance"), arg: [], ret: profileMocks }, - { spy: jest.spyOn(SharedActions, "refreshAll"), arg: ["ds"] }, - { spy: jest.spyOn(SharedActions, "refreshAll"), arg: ["uss"] }, - { spy: jest.spyOn(SharedActions, "refreshAll"), arg: ["job"] }, + { spy: jest.spyOn(SharedActions, "refreshAll"), arg: [] }, { spy: jest.spyOn(test.value, "affectsConfiguration"), arg: [Constants.SETTINGS_SECURE_CREDENTIALS_ENABLED], ret: false }, ], }, @@ -358,39 +356,69 @@ describe("Test src/shared/extension", () => { describe("watchConfigProfile", () => { let context: any; + let watcherPromise: any; const spyReadFile = jest.fn().mockReturnValue("test"); - const spyExecuteCommand = jest.fn(); + const mockEmitter = jest.fn(); const watcher: any = { - onDidCreate: jest.fn().mockImplementation((fun) => fun()), - onDidDelete: jest.fn().mockImplementation((fun) => fun()), - onDidChange: jest.fn().mockImplementation((fun) => fun("uri")), + onDidCreate: jest.fn(), + onDidDelete: jest.fn(), + onDidChange: jest.fn(), }; beforeEach(() => { context = { subscriptions: [] }; jest.clearAllMocks(); - Object.defineProperty(vscode.workspace, "createFileSystemWatcher", { value: () => watcher, configurable: true }); Object.defineProperty(vscode.workspace, "workspaceFolders", { value: [{ uri: { fsPath: "fsPath" } }], configurable: true }); - Object.defineProperty(vscode.commands, "executeCommand", { value: spyExecuteCommand, configurable: true }); Object.defineProperty(vscode.workspace, "fs", { value: { readFile: spyReadFile }, configurable: true }); Object.defineProperty(Constants, "SAVED_PROFILE_CONTENTS", { value: "test", configurable: true }); + jest.spyOn(vscode.workspace, "createFileSystemWatcher").mockReturnValue(watcher); + jest.spyOn(ZoweExplorerApiRegister.getInstance().onProfilesUpdateEmitter, "fire").mockImplementation(mockEmitter); }); afterAll(() => { jest.restoreAllMocks(); }); - it("should be able to trigger all listeners", async () => { - const spyRefreshAll = jest.spyOn(SharedActions, "refreshAll").mockImplementation(jest.fn()); - jest.spyOn(ZoweExplorerApiRegister.getInstance().onProfilesUpdateEmitter, "fire").mockImplementation(); - await SharedInit.watchConfigProfile(context, { ds: "ds", uss: "uss", job: "job" } as any); - expect(spyExecuteCommand).toHaveBeenCalledWith("zowe.extRefresh"); + it("should be able to trigger onDidCreate listener", async () => { + const spyRefreshAll = jest.spyOn(SharedActions, "refreshAll").mockImplementation(); + watcher.onDidCreate.mockImplementationOnce((fun) => (watcherPromise = fun())); + SharedInit.watchConfigProfile(context); + await watcherPromise; + expect(context.subscriptions).toContain(watcher); + expect(spyRefreshAll).toHaveBeenCalledTimes(1); + expect(mockEmitter).toHaveBeenCalledTimes(1); + }); + + it("should be able to trigger onDidDelete listener", async () => { + const spyRefreshAll = jest.spyOn(SharedActions, "refreshAll").mockImplementation(); + watcher.onDidDelete.mockImplementationOnce((fun) => (watcherPromise = fun())); + SharedInit.watchConfigProfile(context); + await watcherPromise; + expect(context.subscriptions).toContain(watcher); + expect(spyRefreshAll).toHaveBeenCalledTimes(1); + expect(mockEmitter).toHaveBeenCalledTimes(1); + }); + + it("should be able to trigger onDidChange listener", async () => { + const spyRefreshAll = jest.spyOn(SharedActions, "refreshAll").mockImplementation(); + watcher.onDidChange.mockImplementationOnce((fun) => (watcherPromise = fun("uri"))); + SharedInit.watchConfigProfile(context); + await watcherPromise; expect(context.subscriptions).toContain(watcher); expect(spyReadFile).toHaveBeenCalledWith("uri"); expect(spyRefreshAll).not.toHaveBeenCalled(); + expect(mockEmitter).not.toHaveBeenCalled(); + }); - spyReadFile.mockReturnValue("other"); - await SharedInit.watchConfigProfile(context, { ds: "ds", uss: "uss", job: "job" } as any); - expect(spyRefreshAll).toHaveBeenCalled(); + it("should be able to trigger onDidChange listener with changes", async () => { + const spyRefreshAll = jest.spyOn(SharedActions, "refreshAll").mockImplementation(); + spyReadFile.mockReturnValueOnce("other"); + watcher.onDidChange.mockImplementationOnce((fun) => (watcherPromise = fun("uri"))); + SharedInit.watchConfigProfile(context); + await watcherPromise; + expect(context.subscriptions).toContain(watcher); + expect(spyReadFile).toHaveBeenCalledWith("uri"); + expect(spyRefreshAll).toHaveBeenCalledTimes(1); + expect(mockEmitter).toHaveBeenCalledTimes(1); }); }); diff --git a/packages/zowe-explorer/__tests__/__unit__/utils/ProfilesUtils.unit.test.ts b/packages/zowe-explorer/__tests__/__unit__/utils/ProfilesUtils.unit.test.ts index 445f4f461d..69a1caf167 100644 --- a/packages/zowe-explorer/__tests__/__unit__/utils/ProfilesUtils.unit.test.ts +++ b/packages/zowe-explorer/__tests__/__unit__/utils/ProfilesUtils.unit.test.ts @@ -13,7 +13,7 @@ import * as fs from "fs"; import * as path from "path"; import * as util from "util"; import * as vscode from "vscode"; -import { Gui, imperative, ProfilesCache, Validation, ZoweVsCodeExtension } from "@zowe/zowe-explorer-api"; +import { Gui, imperative, ProfilesCache, ZoweVsCodeExtension } from "@zowe/zowe-explorer-api"; import { createAltTypeIProfile, createInstanceOfProfile, createValidIProfile } from "../../__mocks__/mockCreators/shared"; import { Constants } from "../../../src/configuration/Constants"; import { ZoweLogger } from "../../../src/tools/ZoweLogger"; @@ -23,7 +23,6 @@ import { ZoweExplorerExtender } from "../../../src/extending/ZoweExplorerExtende import { FilterItem } from "../../../src/management/FilterManagement"; import { ProfilesUtils } from "../../../src/utils/ProfilesUtils"; import { AuthUtils } from "../../../src/utils/AuthUtils"; -import { ZoweExplorerApiRegister } from "../../../src/extending/ZoweExplorerApiRegister"; jest.mock("../../../src/tools/ZoweLogger"); jest.mock("fs"); @@ -45,9 +44,8 @@ describe("ProfilesUtils unit tests", () => { mockGetDirectValue: jest.fn(), mockFileRead: { overrides: { CredentialManager: "@zowe/cli" } }, zoweDir: path.normalize("__tests__/.zowe/settings/imperative.json"), - profInstance: null, + profInstance: createInstanceOfProfile(createValidIProfile()), }; - newMocks.profInstance = createInstanceOfProfile(createValidIProfile()); Object.defineProperty(Constants, "PROFILES_CACHE", { value: newMocks.profInstance, configurable: true, @@ -316,11 +314,10 @@ describe("ProfilesUtils unit tests", () => { await expect(ProfilesUtils.readConfigFromDisk()).resolves.not.toThrow(); Object.defineProperty(imperative.ProfileInfo, "onlyV1ProfilesExist", { value: false, configurable: true }); - expect(msgSpy).toHaveBeenCalledWith( - // eslint-disable-next-line max-len - "Zowe v1 profiles in use.\nZowe Explorer no longer supports v1 profiles, choose to convert existing profiles to a team configuration or create new.", - { items: ["Create New", "Convert Existing Profiles"], vsCodeOpts: { modal: true } } - ); + expect(msgSpy).toHaveBeenCalledWith(expect.stringContaining("Zowe V1 profiles in use."), { + items: ["Convert Existing Profiles", "Create New"], + vsCodeOpts: { modal: true }, + }); expect(commandSpy).toHaveBeenCalledWith("zowe.ds.addSession", undefined); msgSpy.mockRestore(); commandSpy.mockRestore(); @@ -347,18 +344,34 @@ describe("ProfilesUtils unit tests", () => { it("should prompt user if v1 profiles detected and Convert Existing Profiles chosen", async () => { const mocks = createBlockMocks(); const mockReadProfilesFromDisk = jest.fn(); - const profInfoSpy = jest.spyOn(ProfilesUtils, "getProfileInfo").mockReturnValueOnce({ + const profInfoSpy = jest.spyOn(ProfilesUtils, "getProfileInfo").mockResolvedValue({ readProfilesFromDisk: mockReadProfilesFromDisk, - getTeamConfig: jest.fn().mockReturnValue([]), + getTeamConfig: jest.fn().mockReturnValue({ configName: "zowe.config.json" }), getAllProfiles: jest.fn().mockReturnValue([createValidIProfile(), createAltTypeIProfile()]), } as never); const infoMsgSpy = jest.spyOn(Gui, "infoMessage").mockResolvedValueOnce("Convert Existing Profiles" as any); - Object.defineProperty(mocks.profInstance, "convertV1ProfToConfig", { - value: jest.fn().mockResolvedValue(() => { - return { success: "success string.", warnings: "", convertResult: {} }; + Object.defineProperty(imperative, "ConvertMsgFmt", { + value: jest.fn().mockReturnValue({ + REPORT_LINE: 1, + ERROR_LINE: 2, + PARAGRAPH: 4, + INDENT: 8, }), configurable: true, }); + jest.spyOn(ProfilesCache, "convertV1ProfToConfig").mockResolvedValueOnce({ + msgs: [ + { msgFormat: imperative.ConvertMsgFmt.PARAGRAPH, msgText: "message text for testing." }, + { msgFormat: imperative.ConvertMsgFmt.INDENT, msgText: "message text for testing." }, + ], + profilesConverted: { zosmf: ["myzosmf"] }, + profilesFailed: [ + { name: "zosmf2", type: "zosmf", error: "failed" as any }, + { name: null, type: "zosmf", error: "failed" as any }, + ], + } as any); + Object.defineProperty(vscode.workspace, "openTextDocument", { value: jest.fn().mockReturnValue({}), configurable: true }); + Object.defineProperty(Gui, "showTextDocument", { value: jest.fn(), configurable: true }); Object.defineProperty(imperative.ProfileInfo, "onlyV1ProfilesExist", { value: true, configurable: true }); await expect(ProfilesUtils.readConfigFromDisk()).resolves.not.toThrow(); diff --git a/packages/zowe-explorer/l10n/bundle.l10n.json b/packages/zowe-explorer/l10n/bundle.l10n.json index 9d1d893fc9..9e84a07d99 100644 --- a/packages/zowe-explorer/l10n/bundle.l10n.json +++ b/packages/zowe-explorer/l10n/bundle.l10n.json @@ -84,8 +84,8 @@ ] }, "Zowe Profiles initialized successfully.": "Zowe Profiles initialized successfully.", - "Create New": "Create New", "Convert Existing Profiles": "Convert Existing Profiles", + "Create New": "Create New", "Operation cancelled": "Operation cancelled", "Tree Item is not a Zowe Explorer item.": "Tree Item is not a Zowe Explorer item.", "Zowe Explorer": "Zowe Explorer", @@ -172,6 +172,24 @@ "Required API functions for pasting (fileList and copy/uploadFromBuffer) were not found.": "Required API functions for pasting (fileList and copy/uploadFromBuffer) were not found.", "Uploading USS files...": "Uploading USS files...", "Error uploading files": "Error uploading files", + "The 'move' function is not implemented for this USS API.": "The 'move' function is not implemented for this USS API.", + "Could not list USS files: Empty path provided in URI": "Could not list USS files: Empty path provided in URI", + "Profile does not exist for this file.": "Profile does not exist for this file.", + "$(sync~spin) Saving USS file...": "$(sync~spin) Saving USS file...", + "Renaming {0} failed due to API error: {1}/File pathError message": { + "message": "Renaming {0} failed due to API error: {1}", + "comment": [ + "File path", + "Error message" + ] + }, + "Deleting {0} failed due to API error: {1}/File nameError message": { + "message": "Deleting {0} failed due to API error: {1}", + "comment": [ + "File name", + "Error message" + ] + }, "Downloaded: {0}/Download time": { "message": "Downloaded: {0}", "comment": [ @@ -242,24 +260,6 @@ "initializeUSSFavorites.error.buttonRemove": "initializeUSSFavorites.error.buttonRemove", "File does not exist. It may have been deleted.": "File does not exist. It may have been deleted.", "$(sync~spin) Pulling from Mainframe...": "$(sync~spin) Pulling from Mainframe...", - "The 'move' function is not implemented for this USS API.": "The 'move' function is not implemented for this USS API.", - "Could not list USS files: Empty path provided in URI": "Could not list USS files: Empty path provided in URI", - "Profile does not exist for this file.": "Profile does not exist for this file.", - "$(sync~spin) Saving USS file...": "$(sync~spin) Saving USS file...", - "Renaming {0} failed due to API error: {1}/File pathError message": { - "message": "Renaming {0} failed due to API error: {1}", - "comment": [ - "File path", - "Error message" - ] - }, - "Deleting {0} failed due to API error: {1}/File nameError message": { - "message": "Deleting {0} failed due to API error: {1}", - "comment": [ - "File name", - "Error message" - ] - }, "{0} location/Node type": { "message": "{0} location", "comment": [ diff --git a/packages/zowe-explorer/l10n/poeditor.json b/packages/zowe-explorer/l10n/poeditor.json index c0ebd8ce56..228ee3f74f 100644 --- a/packages/zowe-explorer/l10n/poeditor.json +++ b/packages/zowe-explorer/l10n/poeditor.json @@ -446,8 +446,8 @@ "Updating imperative.json Credential Manager to {0}.\n{1}": "", "Failed to initialize Zowe folder: {0}": "", "Zowe Profiles initialized successfully.": "", - "Create New": "", "Convert Existing Profiles": "", + "Create New": "", "Operation cancelled": "", "Tree Item is not a Zowe Explorer item.": "", "Zowe Explorer": "", @@ -489,6 +489,12 @@ "Required API functions for pasting (fileList and copy/uploadFromBuffer) were not found.": "", "Uploading USS files...": "", "Error uploading files": "", + "The 'move' function is not implemented for this USS API.": "", + "Could not list USS files: Empty path provided in URI": "", + "Profile does not exist for this file.": "", + "$(sync~spin) Saving USS file...": "", + "Renaming {0} failed due to API error: {1}": "", + "Deleting {0} failed due to API error: {1}": "", "Downloaded: {0}": "", "Encoding: {0}": "", "Binary": "", @@ -517,12 +523,6 @@ "initializeUSSFavorites.error.buttonRemove": "", "File does not exist. It may have been deleted.": "", "$(sync~spin) Pulling from Mainframe...": "", - "The 'move' function is not implemented for this USS API.": "", - "Could not list USS files: Empty path provided in URI": "", - "Profile does not exist for this file.": "", - "$(sync~spin) Saving USS file...": "", - "Renaming {0} failed due to API error: {1}": "", - "Deleting {0} failed due to API error: {1}": "", "{0} location": "", "Choose a location to create the {0}": "", "Name of file or directory": "", diff --git a/packages/zowe-explorer/package.json b/packages/zowe-explorer/package.json index cd1a4da834..5ca5b8a528 100644 --- a/packages/zowe-explorer/package.json +++ b/packages/zowe-explorer/package.json @@ -1770,7 +1770,7 @@ ] }, "scripts": { - "build": "pnpm clean:bundle && pnpm license && webpack --mode development && pnpm madge", + "build": "pnpm copy-secrets && pnpm clean:bundle && pnpm license && webpack --mode development && pnpm madge", "test": "pnpm test:unit", "test:e2e": "cd __tests__/__e2e__/ && wdio run ./wdio.conf.ts", "test:integration": "cd __tests__/__integration__/bdd && wdio run ./wdio.conf.ts", @@ -1796,7 +1796,8 @@ "pretty": "prettier --write .", "createTestProfileData": "tsx ./scripts/createTestProfileData.ts", "createDemoNodes": "tsx ./scripts/createDemoNodes.ts", - "generateLocalization": "pnpm dlx @vscode/l10n-dev export --o ./l10n ./src && node ./scripts/generatePoeditorJson.js" + "generateLocalization": "pnpm dlx @vscode/l10n-dev export --o ./l10n ./src && node ./scripts/generatePoeditorJson.js", + "copy-secrets": "tsx ./scripts/getSecretsPrebuilds.ts" }, "engines": { "vscode": "^1.79.0" @@ -1820,7 +1821,6 @@ "chai": "^4.1.2", "chai-as-promised": "^7.1.1", "chalk": "^2.4.1", - "copy-webpack-plugin": "^12.0.2", "eslint-plugin-zowe-explorer": "3.0.0-next-SNAPSHOT", "expect": "^24.8.0", "expect-webdriverio": "^4.13.0", @@ -1835,12 +1835,12 @@ "webdriverio": "^8.36.1" }, "dependencies": { - "@zowe/core-for-zowe-sdk": "8.0.0-next.202404032038", - "@zowe/secrets-for-zowe-sdk": "8.0.0-next.202404032038", - "@zowe/zos-files-for-zowe-sdk": "8.0.0-next.202404032038", - "@zowe/zos-jobs-for-zowe-sdk": "8.0.0-next.202404032038", - "@zowe/zosmf-for-zowe-sdk": "8.0.0-next.202404032038", - "@zowe/zowe-explorer-api": "workspace:3.0.0-next-SNAPSHOT", + "@zowe/core-for-zowe-sdk": "8.0.0-next.202407051717", + "@zowe/secrets-for-zowe-sdk": "8.0.0-next.202407051717", + "@zowe/zos-files-for-zowe-sdk": "8.0.0-next.202407051717", + "@zowe/zos-jobs-for-zowe-sdk": "8.0.0-next.202407051717", + "@zowe/zosmf-for-zowe-sdk": "8.0.0-next.202407051717", + "@zowe/zowe-explorer-api": "3.0.0-next-SNAPSHOT", "dayjs": "^1.11.10", "fs-extra": "8.0.1", "isbinaryfile": "4.0.4", diff --git a/packages/zowe-explorer/src/extension.ts b/packages/zowe-explorer/src/extension.ts index 9d5b2406ba..856d966c98 100644 --- a/packages/zowe-explorer/src/extension.ts +++ b/packages/zowe-explorer/src/extension.ts @@ -50,7 +50,7 @@ export async function activate(context: vscode.ExtensionContext): Promise { // Event Emitters used to notify subscribers that the refresh event has fired @@ -356,12 +357,6 @@ export class ZoweTreeProvider { } } } - if (treeProvider.mSessionNodes.length === 1) { - try { - await treeProvider.addSingleSession(Profiles.getInstance().getDefaultProfile(profileType)); - } catch (error) { - ZoweLogger.warn(error); - } - } + await TreeViewUtils.addDefaultSession(treeProvider, profileType); } } diff --git a/packages/zowe-explorer/src/trees/shared/SharedActions.ts b/packages/zowe-explorer/src/trees/shared/SharedActions.ts index 850afcbfa5..eb0b7f87b9 100644 --- a/packages/zowe-explorer/src/trees/shared/SharedActions.ts +++ b/packages/zowe-explorer/src/trees/shared/SharedActions.ts @@ -22,6 +22,7 @@ import { TreeViewUtils } from "../../utils/TreeViewUtils"; import { FilterItem, FilterDescriptor } from "../../management/FilterManagement"; import { IconUtils } from "../../icons/IconUtils"; import { AuthUtils } from "../../utils/AuthUtils"; +import { SharedTreeProviders } from "./SharedTreeProviders"; export class SharedActions { /** @@ -231,8 +232,14 @@ export class SharedActions { * * @param {IZoweTree} treeProvider */ - public static async refreshAll(treeProvider: IZoweTree): Promise { + public static async refreshAll(treeProvider?: IZoweTree): Promise { ZoweLogger.trace("refresh.refreshAll called."); + if (treeProvider == null) { + for (const provider of Object.values(SharedTreeProviders.providers)) { + await this.refreshAll(provider); + } + return; + } await Profiles.getInstance().refresh(ZoweExplorerApiRegister.getInstance()); for (const sessNode of treeProvider.mSessionNodes) { const profiles = await Profiles.getInstance().fetchAllProfiles(); @@ -247,6 +254,9 @@ export class SharedActions { await TreeViewUtils.removeSession(treeProvider, sessNode.label.toString().trim()); } } + for (const profType of ZoweExplorerApiRegister.getInstance().registeredApiTypes()) { + await TreeViewUtils.addDefaultSession(treeProvider, profType); + } treeProvider.refresh(); } } diff --git a/packages/zowe-explorer/src/trees/shared/SharedInit.ts b/packages/zowe-explorer/src/trees/shared/SharedInit.ts index 37f2a09f35..c7bfbe22d5 100644 --- a/packages/zowe-explorer/src/trees/shared/SharedInit.ts +++ b/packages/zowe-explorer/src/trees/shared/SharedInit.ts @@ -132,22 +132,16 @@ export class SharedInit { context.subscriptions.push( vscode.workspace.onDidChangeConfiguration(async (e) => { // If the log folder location has been changed, update current log folder preference - if (e.affectsConfiguration(Constants.SETTINGS_LOGS_FOLDER_PATH)) { + if (e.affectsConfiguration(Constants.SETTINGS_LOGS_FOLDER_PATH) || e.affectsConfiguration(Constants.LOGGER_SETTINGS)) { await SharedInit.initZoweLogger(context); } if (e.affectsConfiguration(Constants.SETTINGS_AUTOMATIC_PROFILE_VALIDATION)) { await Profiles.getInstance().refresh(ZoweExplorerApiRegister.getInstance()); - await SharedActions.refreshAll(providers.ds); - await SharedActions.refreshAll(providers.uss); - await SharedActions.refreshAll(providers.job); + await SharedActions.refreshAll(); } - if (e.affectsConfiguration(Constants.SETTINGS_SECURE_CREDENTIALS_ENABLED)) { await vscode.commands.executeCommand("zowe.updateSecureCredentials"); } - if (e.affectsConfiguration(Constants.LOGGER_SETTINGS)) { - await vscode.commands.executeCommand("zowe.extRefresh"); - } }) ); @@ -297,7 +291,7 @@ export class SharedInit { } } - public static watchConfigProfile(context: vscode.ExtensionContext, providers: Definitions.IZoweProviders): void { + public static watchConfigProfile(context: vscode.ExtensionContext): void { ZoweLogger.trace("shared.init.watchConfigProfile called."); const watchers: vscode.FileSystemWatcher[] = []; watchers.push( @@ -317,12 +311,12 @@ export class SharedInit { watchers.forEach((watcher) => { watcher.onDidCreate(async () => { ZoweLogger.info(vscode.l10n.t("Team config file created, refreshing Zowe Explorer.")); - await vscode.commands.executeCommand("zowe.extRefresh"); + await SharedActions.refreshAll(); ZoweExplorerApiRegister.getInstance().onProfilesUpdateEmitter.fire(Validation.EventType.CREATE); }); watcher.onDidDelete(async () => { ZoweLogger.info(vscode.l10n.t("Team config file deleted, refreshing Zowe Explorer.")); - await vscode.commands.executeCommand("zowe.extRefresh"); + await SharedActions.refreshAll(); ZoweExplorerApiRegister.getInstance().onProfilesUpdateEmitter.fire(Validation.EventType.DELETE); }); watcher.onDidChange(async (uri: vscode.Uri) => { @@ -332,9 +326,7 @@ export class SharedInit { return; } Constants.SAVED_PROFILE_CONTENTS = newProfileContents; - await SharedActions.refreshAll(providers.ds); - await SharedActions.refreshAll(providers.uss); - await SharedActions.refreshAll(providers.job); + await SharedActions.refreshAll(); ZoweExplorerApiRegister.getInstance().onProfilesUpdateEmitter.fire(Validation.EventType.UPDATE); }); }); diff --git a/packages/zowe-explorer/src/utils/LoggerUtils.ts b/packages/zowe-explorer/src/utils/LoggerUtils.ts index 5629df30e1..7f677e12fc 100644 --- a/packages/zowe-explorer/src/utils/LoggerUtils.ts +++ b/packages/zowe-explorer/src/utils/LoggerUtils.ts @@ -18,12 +18,14 @@ import { SettingsConfig } from "../configuration/SettingsConfig"; import { ZoweLogger } from "../tools/ZoweLogger"; export class LoggerUtils { + private static outputChannel: vscode.OutputChannel; + public static async initVscLogger(context: vscode.ExtensionContext, logFileLocation: string): Promise { - const outputChannel = Gui.createOutputChannel(vscode.l10n.t("Zowe Explorer")); - this.writeVscLoggerInfo(outputChannel, logFileLocation, context); + LoggerUtils.outputChannel ??= Gui.createOutputChannel(vscode.l10n.t("Zowe Explorer")); + this.writeVscLoggerInfo(LoggerUtils.outputChannel, logFileLocation, context); ZoweLogger.info(vscode.l10n.t("Initialized logger for Zowe Explorer")); await this.compareCliLogSetting(); - return outputChannel; + return LoggerUtils.outputChannel; } private static writeVscLoggerInfo(outputChannel: vscode.OutputChannel, logFileLocation: string, context: vscode.ExtensionContext): void { diff --git a/packages/zowe-explorer/src/utils/ProfilesUtils.ts b/packages/zowe-explorer/src/utils/ProfilesUtils.ts index 763d3991a5..1893369d4e 100644 --- a/packages/zowe-explorer/src/utils/ProfilesUtils.ts +++ b/packages/zowe-explorer/src/utils/ProfilesUtils.ts @@ -347,8 +347,8 @@ export class ProfilesUtils { ); ZoweLogger.debug(`Summary of team configuration files considered for Zowe Explorer: ${JSON.stringify(layerSummary)}`); } else { - if (mProfileInfo.getAllProfiles()?.length > 0) { - this.v1ProfileOptions(); + if (imperative.ProfileInfo.onlyV1ProfilesExist) { + await this.v1ProfileOptions(); } } } @@ -504,41 +504,31 @@ export class ProfilesUtils { } } - private static v1ProfileOptions(): void { + private static async v1ProfileOptions(): Promise { const v1ProfileErrorMsg = vscode.l10n.t( // eslint-disable-next-line max-len - "Zowe v1 profiles in use.\nZowe Explorer no longer supports v1 profiles, choose to convert existing profiles to a team configuration or create new." + "Zowe V1 profiles in use.\nZowe Explorer no longer supports V1 profiles. Choose to convert existing profiles to a team configuration or create new profiles." ); ZoweLogger.warn(v1ProfileErrorMsg); - const createButton = vscode.l10n.t("Create New"); const convertButton = vscode.l10n.t("Convert Existing Profiles"); - Gui.infoMessage(v1ProfileErrorMsg, { items: [createButton, convertButton], vsCodeOpts: { modal: true } }).then(async (selection) => { - switch (selection) { - case createButton: { - ZoweLogger.info("Create new team configuration chosen."); - vscode.commands.executeCommand("zowe.ds.addSession", SharedTreeProviders.ds); - break; - } - case convertButton: { - ZoweLogger.info("Convert v1 profiles to team configuration chosen."); - const convertResults = await Constants.PROFILES_CACHE.convertV1ProfToConfig(); - let responseMsg = ""; - if (convertResults.success) { - responseMsg += `Success: ${convertResults.success}\n`; - } - if (convertResults.warnings) { - responseMsg += `Warning: ${convertResults.warnings}\n`; - } - ZoweLogger.info(responseMsg); - Gui.infoMessage(vscode.l10n.t(responseMsg), { vsCodeOpts: { modal: true } }); - break; - } - default: { - Gui.infoMessage(vscode.l10n.t("Operation cancelled")); - break; - } + const createButton = vscode.l10n.t("Create New"); + const selection = await Gui.infoMessage(v1ProfileErrorMsg, { items: [convertButton, createButton], vsCodeOpts: { modal: true } }); + switch (selection) { + case createButton: { + ZoweLogger.info("Create new team configuration chosen."); + vscode.commands.executeCommand("zowe.ds.addSession", SharedTreeProviders.ds); + break; } - }); + case convertButton: { + ZoweLogger.info("Convert v1 profiles to team configuration chosen."); + await this.convertV1Profs(); + break; + } + default: { + Gui.infoMessage(vscode.l10n.t("Operation cancelled")); + break; + } + } } /** @@ -571,4 +561,46 @@ export class ProfilesUtils { } throw new Error(vscode.l10n.t("Tree Item is not a Zowe Explorer item.")); } + + private static async convertV1Profs(): Promise { + const profileInfo = await this.getProfileInfo(); + const convertResult: imperative.IConvertV1ProfResult = await ProfilesCache.convertV1ProfToConfig(profileInfo); + ZoweLogger.debug(JSON.stringify(convertResult)); + if (convertResult.profilesConverted) { + const successMsg: string[] = []; + for (const [k, v] of Object.entries(convertResult.profilesConverted)) { + successMsg.push(`Converted ${k} profile: ${v.join(", ")}`); + } + ZoweLogger.info(successMsg.join("\n")); + const document = await vscode.workspace.openTextDocument( + path.join(FileManagement.getZoweDir(), (await this.getProfileInfo()).getTeamConfig().configName) + ); + if (document) { + await Gui.showTextDocument(document); + } + } + if (convertResult.profilesFailed?.length > 0) { + const warningMsg: string[] = []; + warningMsg.push(`Failed to convert ${convertResult.profilesFailed.length} profile(s). See details below`); + for (const { name, type, error } of convertResult.profilesFailed) { + if (name != null) { + warningMsg.push(`Failed to load ${type} profile "${name}":\n${String(error)}`); + } else { + warningMsg.push(`Failed to find default ${type} profile:\n${String(error)}`); + } + } + ZoweLogger.warn(warningMsg.join("\n")); + } + const responseMsg = convertResult.msgs.reduce((msgs: string[], msg: imperative.ConvertMsg) => { + if (msg.msgFormat & imperative.ConvertMsgFmt.PARAGRAPH) { + msgs.push("\n"); + } + if (msg.msgFormat & imperative.ConvertMsgFmt.INDENT) { + msgs.push("\t"); + } + msgs.push(msg.msgText + "\n"); + return msgs; + }, []); + Gui.infoMessage(responseMsg.join(""), { vsCodeOpts: { modal: true } }); + } } diff --git a/packages/zowe-explorer/src/utils/TreeViewUtils.ts b/packages/zowe-explorer/src/utils/TreeViewUtils.ts index 32e9b3ea2f..28ea955f7d 100644 --- a/packages/zowe-explorer/src/utils/TreeViewUtils.ts +++ b/packages/zowe-explorer/src/utils/TreeViewUtils.ts @@ -15,6 +15,7 @@ import { IconGenerator } from "../icons/IconGenerator"; import type { ZoweTreeProvider } from "../trees/ZoweTreeProvider"; import { ZoweLocalStorage } from "../tools/ZoweLocalStorage"; import { ZoweLogger } from "../tools/ZoweLogger"; +import { Profiles } from "../configuration/Profiles"; export class TreeViewUtils { /** @@ -96,4 +97,14 @@ export class TreeViewUtils { setting.favorites = fave; ZoweLocalStorage.setValue(treeType, setting); } + + public static async addDefaultSession(treeProvider: IZoweTree, profileType: string): Promise { + if (treeProvider.mSessionNodes.length === 1) { + try { + await treeProvider.addSingleSession(Profiles.getInstance().getDefaultProfile(profileType)); + } catch (error) { + ZoweLogger.warn(error); + } + } + } } diff --git a/packages/zowe-explorer/webpack.config.js b/packages/zowe-explorer/webpack.config.js index 3d3de050b3..e83d03e00a 100644 --- a/packages/zowe-explorer/webpack.config.js +++ b/packages/zowe-explorer/webpack.config.js @@ -16,10 +16,7 @@ const path = require("path"); const webpack = require("webpack"); const fs = require("fs"); -const CopyPlugin = require("copy-webpack-plugin"); const TerserPlugin = require("terser-webpack-plugin"); - -const { TsconfigPathsPlugin } = require("tsconfig-paths-webpack-plugin"); const ForkTsCheckerWebpackPlugin = require("fork-ts-checker-webpack-plugin"); /**@type {webpack.Configuration}*/ @@ -39,11 +36,7 @@ const config = { alias: { "@zowe/zowe-explorer-api$": path.resolve(__dirname, "..", "zowe-explorer-api/src"), }, - plugins: [ - new TsconfigPathsPlugin({ - references: ["../zowe-explorer-api"], - }), - ], + conditionNames: ["@zowe:bundler", "..."], }, watchOptions: { ignored: /node_modules/, @@ -94,9 +87,6 @@ const config = { }, plugins: [ new webpack.BannerPlugin(fs.readFileSync("../../scripts/LICENSE_HEADER", "utf-8")), - new CopyPlugin({ - patterns: [{ from: "../../node_modules/@zowe/secrets-for-zowe-sdk/prebuilds", to: "../../prebuilds/" }], - }), new ForkTsCheckerWebpackPlugin({ typescript: { build: true, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f5f46bbd75..d4f7762d1f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -107,10 +107,7 @@ importers: version: 5.3.10(webpack@5.91.0) ts-jest: specifier: ^29.0.3 - version: 29.1.2(@babel/core@7.24.5)(jest@29.7.0)(typescript@5.4.5) - tsconfig-paths-webpack-plugin: - specifier: ^4.1.0 - version: 4.1.0 + version: 29.1.2(@babel/core@7.24.7)(jest@29.7.0)(typescript@5.4.5) tsx: specifier: ^4.9.3 version: 4.10.4 @@ -136,22 +133,22 @@ importers: packages/zowe-explorer: dependencies: '@zowe/core-for-zowe-sdk': - specifier: 8.0.0-next.202404032038 - version: 8.0.0-next.202404032038(@zowe/imperative@8.0.0-next.202404032038) + specifier: 8.0.0-next.202407051717 + version: 8.0.0-next.202407051717(@zowe/imperative@8.0.0-next.202407051717) '@zowe/secrets-for-zowe-sdk': - specifier: 8.0.0-next.202404032038 - version: 8.0.0-next.202404032038 + specifier: 8.0.0-next.202407051717 + version: 8.0.0-next.202407051717 '@zowe/zos-files-for-zowe-sdk': - specifier: 8.0.0-next.202404032038 - version: 8.0.0-next.202404032038(@zowe/core-for-zowe-sdk@8.0.0-next.202404032038)(@zowe/imperative@8.0.0-next.202404032038) + specifier: 8.0.0-next.202407051717 + version: 8.0.0-next.202407051717(@zowe/core-for-zowe-sdk@8.0.0-next.202407051717)(@zowe/imperative@8.0.0-next.202407051717) '@zowe/zos-jobs-for-zowe-sdk': - specifier: 8.0.0-next.202404032038 - version: 8.0.0-next.202404032038(@zowe/core-for-zowe-sdk@8.0.0-next.202404032038)(@zowe/imperative@8.0.0-next.202404032038) + specifier: 8.0.0-next.202407051717 + version: 8.0.0-next.202407051717(@zowe/core-for-zowe-sdk@8.0.0-next.202407051717)(@zowe/imperative@8.0.0-next.202407051717) '@zowe/zosmf-for-zowe-sdk': - specifier: 8.0.0-next.202404032038 - version: 8.0.0-next.202404032038(@zowe/core-for-zowe-sdk@8.0.0-next.202404032038)(@zowe/imperative@8.0.0-next.202404032038) + specifier: 8.0.0-next.202407051717 + version: 8.0.0-next.202407051717(@zowe/core-for-zowe-sdk@8.0.0-next.202407051717)(@zowe/imperative@8.0.0-next.202407051717) '@zowe/zowe-explorer-api': - specifier: workspace:3.0.0-next-SNAPSHOT + specifier: 3.0.0-next-SNAPSHOT version: link:../zowe-explorer-api dayjs: specifier: ^1.11.10 @@ -192,7 +189,7 @@ importers: version: 17.0.3 '@wdio/cli': specifier: ^8.36.1 - version: 8.38.2(typescript@5.4.5) + version: 8.38.2(typescript@5.5.3) '@wdio/cucumber-framework': specifier: ^8.36.1 version: 8.38.2 @@ -201,7 +198,7 @@ importers: version: 8.38.2 '@wdio/local-runner': specifier: ^8.36.1 - version: 8.38.2(typescript@5.4.5) + version: 8.38.2(typescript@5.5.3) '@wdio/mocha-framework': specifier: ^8.37.0 version: 8.38.2 @@ -220,9 +217,6 @@ importers: chalk: specifier: ^2.4.1 version: 2.4.2 - copy-webpack-plugin: - specifier: ^12.0.2 - version: 12.0.2(webpack@5.91.0) eslint-plugin-zowe-explorer: specifier: 3.0.0-next-SNAPSHOT version: link:../eslint-plugin-zowe-explorer @@ -231,7 +225,7 @@ importers: version: 24.9.0 expect-webdriverio: specifier: ^4.13.0 - version: 4.14.0(typescript@5.4.5) + version: 4.14.0(typescript@5.5.3) glob: specifier: ^7.1.6 version: 7.2.3 @@ -249,7 +243,7 @@ importers: version: 16.1.3 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@18.19.33)(typescript@5.4.5) + version: 10.9.2(@types/node@18.19.33)(typescript@5.5.3) wdio-vscode-service: specifier: ^6.0.3 version: 6.0.3(webdriverio@8.38.2) @@ -258,7 +252,7 @@ importers: version: 3.0.11 webdriverio: specifier: ^8.36.1 - version: 8.38.2(typescript@5.4.5) + version: 8.38.2(typescript@5.5.3) packages/zowe-explorer-api: dependencies: @@ -266,32 +260,32 @@ importers: specifier: ^1.53.2 version: 1.89.0 '@zowe/core-for-zowe-sdk': - specifier: 8.0.0-next.202404032038 - version: 8.0.0-next.202404032038(@zowe/imperative@8.0.0-next.202404032038) + specifier: 8.0.0-next.202407051717 + version: 8.0.0-next.202407051717(@zowe/imperative@8.0.0-next.202407051717) '@zowe/imperative': - specifier: 8.0.0-next.202404032038 - version: 8.0.0-next.202404032038 + specifier: 8.0.0-next.202407051717 + version: 8.0.0-next.202407051717 '@zowe/secrets-for-zowe-sdk': - specifier: 8.0.0-next.202404032038 - version: 8.0.0-next.202404032038 + specifier: 8.0.0-next.202407051717 + version: 8.0.0-next.202407051717 '@zowe/zos-console-for-zowe-sdk': - specifier: 8.0.0-next.202404032038 - version: 8.0.0-next.202404032038(@zowe/core-for-zowe-sdk@8.0.0-next.202404032038)(@zowe/imperative@8.0.0-next.202404032038) + specifier: 8.0.0-next.202407051717 + version: 8.0.0-next.202407051717(@zowe/core-for-zowe-sdk@8.0.0-next.202407051717)(@zowe/imperative@8.0.0-next.202407051717) '@zowe/zos-files-for-zowe-sdk': - specifier: 8.0.0-next.202404032038 - version: 8.0.0-next.202404032038(@zowe/core-for-zowe-sdk@8.0.0-next.202404032038)(@zowe/imperative@8.0.0-next.202404032038) + specifier: 8.0.0-next.202407051717 + version: 8.0.0-next.202407051717(@zowe/core-for-zowe-sdk@8.0.0-next.202407051717)(@zowe/imperative@8.0.0-next.202407051717) '@zowe/zos-jobs-for-zowe-sdk': - specifier: 8.0.0-next.202404032038 - version: 8.0.0-next.202404032038(@zowe/core-for-zowe-sdk@8.0.0-next.202404032038)(@zowe/imperative@8.0.0-next.202404032038) + specifier: 8.0.0-next.202407051717 + version: 8.0.0-next.202407051717(@zowe/core-for-zowe-sdk@8.0.0-next.202407051717)(@zowe/imperative@8.0.0-next.202407051717) '@zowe/zos-tso-for-zowe-sdk': - specifier: 8.0.0-next.202404032038 - version: 8.0.0-next.202404032038(@zowe/core-for-zowe-sdk@8.0.0-next.202404032038)(@zowe/imperative@8.0.0-next.202404032038) + specifier: 8.0.0-next.202407051717 + version: 8.0.0-next.202407051717(@zowe/core-for-zowe-sdk@8.0.0-next.202407051717)(@zowe/imperative@8.0.0-next.202407051717) '@zowe/zos-uss-for-zowe-sdk': - specifier: 8.0.0-next.202404032038 - version: 8.0.0-next.202404032038(@zowe/imperative@8.0.0-next.202404032038) + specifier: 8.0.0-next.202407051717 + version: 8.0.0-next.202407051717(@zowe/imperative@8.0.0-next.202407051717) '@zowe/zosmf-for-zowe-sdk': - specifier: 8.0.0-next.202404032038 - version: 8.0.0-next.202404032038(@zowe/core-for-zowe-sdk@8.0.0-next.202404032038)(@zowe/imperative@8.0.0-next.202404032038) + specifier: 8.0.0-next.202407051717 + version: 8.0.0-next.202407051717(@zowe/core-for-zowe-sdk@8.0.0-next.202407051717)(@zowe/imperative@8.0.0-next.202407051717) deep-object-diff: specifier: ^1.1.9 version: 1.1.9 @@ -318,14 +312,14 @@ importers: packages/zowe-explorer-ftp-extension: dependencies: '@zowe/zos-files-for-zowe-sdk': - specifier: 8.0.0-next.202404032038 - version: 8.0.0-next.202404032038(@zowe/core-for-zowe-sdk@8.0.0-next.202404032038)(@zowe/imperative@8.0.0-next.202404032038) + specifier: 8.0.0-next.202407051717 + version: 8.0.0-next.202407051717(@zowe/core-for-zowe-sdk@8.0.0-next.202407051717)(@zowe/imperative@8.0.0-next.202407051717) '@zowe/zos-ftp-for-zowe-cli': specifier: 3.0.0-next.202403191358 - version: 3.0.0-next.202403191358(@zowe/imperative@8.0.0-next.202404032038) + version: 3.0.0-next.202403191358(@zowe/imperative@8.0.0-next.202407051717) '@zowe/zos-jobs-for-zowe-sdk': - specifier: 8.0.0-next.202404032038 - version: 8.0.0-next.202404032038(@zowe/core-for-zowe-sdk@8.0.0-next.202404032038)(@zowe/imperative@8.0.0-next.202404032038) + specifier: 8.0.0-next.202407051717 + version: 8.0.0-next.202407051717(@zowe/core-for-zowe-sdk@8.0.0-next.202407051717)(@zowe/imperative@8.0.0-next.202407051717) '@zowe/zowe-explorer-api': specifier: 3.0.0-next-SNAPSHOT version: link:../zowe-explorer-api @@ -341,7 +335,7 @@ importers: dependencies: '@szhsin/react-menu': specifier: ^4.1.0 - version: 4.1.0(react-dom@18.3.1)(react@18.3.1) + version: 4.2.0(react-dom@18.3.1)(react@18.3.1) '@types/vscode-webview': specifier: ^1.57.1 version: 1.57.5 @@ -362,11 +356,11 @@ importers: version: 10.22.0 preact-render-to-string: specifier: ^6.5.4 - version: 6.5.5(preact@10.22.0) + version: 6.5.7(preact@10.22.0) devDependencies: '@preact/preset-vite': specifier: ^2.5.0 - version: 2.8.2(@babel/core@7.24.5)(preact@10.22.0)(vite@4.5.3) + version: 2.8.2(@babel/core@7.24.7)(preact@10.22.0)(vite@4.5.3) '@types/lodash': specifier: ^4.17.0 version: 4.17.4 @@ -553,11 +547,24 @@ packages: picocolors: 1.0.1 dev: true + /@babel/code-frame@7.24.7: + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.24.7 + picocolors: 1.0.1 + dev: true + /@babel/compat-data@7.24.4: resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} engines: {node: '>=6.9.0'} dev: true + /@babel/compat-data@7.24.7: + resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/core@7.24.5: resolution: {integrity: sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==} engines: {node: '>=6.9.0'} @@ -581,6 +588,29 @@ packages: - supports-color dev: true + /@babel/core@7.24.7: + resolution: {integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/helper-compilation-targets': 7.24.7 + '@babel/helper-module-transforms': 7.24.7(@babel/core@7.24.7) + '@babel/helpers': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/template': 7.24.7 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + convert-source-map: 2.0.0 + debug: 4.3.5 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/generator@7.24.5: resolution: {integrity: sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==} engines: {node: '>=6.9.0'} @@ -591,6 +621,16 @@ packages: jsesc: 2.5.2 dev: true + /@babel/generator@7.24.7: + resolution: {integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.7 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + dev: true + /@babel/helper-annotate-as-pure@7.22.5: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} @@ -609,11 +649,29 @@ packages: semver: 6.3.1 dev: true + /@babel/helper-compilation-targets@7.24.7: + resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.24.7 + '@babel/helper-validator-option': 7.24.7 + browserslist: 4.23.1 + lru-cache: 5.1.1 + semver: 6.3.1 + dev: true + /@babel/helper-environment-visitor@7.22.20: resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} engines: {node: '>=6.9.0'} dev: true + /@babel/helper-environment-visitor@7.24.7: + resolution: {integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.7 + dev: true + /@babel/helper-function-name@7.23.0: resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} engines: {node: '>=6.9.0'} @@ -622,6 +680,14 @@ packages: '@babel/types': 7.24.5 dev: true + /@babel/helper-function-name@7.24.7: + resolution: {integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 + dev: true + /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} @@ -629,6 +695,13 @@ packages: '@babel/types': 7.24.5 dev: true + /@babel/helper-hoist-variables@7.24.7: + resolution: {integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.7 + dev: true + /@babel/helper-module-imports@7.24.3: resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} engines: {node: '>=6.9.0'} @@ -636,6 +709,16 @@ packages: '@babel/types': 7.24.5 dev: true + /@babel/helper-module-imports@7.24.7: + resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/helper-module-transforms@7.24.5(@babel/core@7.24.5): resolution: {integrity: sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==} engines: {node: '>=6.9.0'} @@ -650,6 +733,22 @@ packages: '@babel/helper-validator-identifier': 7.24.5 dev: true + /@babel/helper-module-transforms@7.24.7(@babel/core@7.24.7): + resolution: {integrity: sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/helper-plugin-utils@7.24.5: resolution: {integrity: sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ==} engines: {node: '>=6.9.0'} @@ -662,6 +761,16 @@ packages: '@babel/types': 7.24.5 dev: true + /@babel/helper-simple-access@7.24.7: + resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/helper-split-export-declaration@7.24.5: resolution: {integrity: sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==} engines: {node: '>=6.9.0'} @@ -669,21 +778,43 @@ packages: '@babel/types': 7.24.5 dev: true + /@babel/helper-split-export-declaration@7.24.7: + resolution: {integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.7 + dev: true + /@babel/helper-string-parser@7.24.1: resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} engines: {node: '>=6.9.0'} dev: true + /@babel/helper-string-parser@7.24.7: + resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/helper-validator-identifier@7.24.5: resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==} engines: {node: '>=6.9.0'} dev: true + /@babel/helper-validator-identifier@7.24.7: + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/helper-validator-option@7.23.5: resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} engines: {node: '>=6.9.0'} dev: true + /@babel/helper-validator-option@7.24.7: + resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/helpers@7.24.5: resolution: {integrity: sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==} engines: {node: '>=6.9.0'} @@ -695,6 +826,14 @@ packages: - supports-color dev: true + /@babel/helpers@7.24.7: + resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.24.7 + '@babel/types': 7.24.7 + dev: true + /@babel/highlight@7.24.5: resolution: {integrity: sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==} engines: {node: '>=6.9.0'} @@ -705,6 +844,16 @@ packages: picocolors: 1.0.1 dev: true + /@babel/highlight@7.24.7: + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.1 + dev: true + /@babel/parser@7.24.5: resolution: {integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==} engines: {node: '>=6.0.0'} @@ -713,6 +862,14 @@ packages: '@babel/types': 7.24.5 dev: true + /@babel/parser@7.24.7: + resolution: {integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.24.7 + dev: true + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.5): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: @@ -768,6 +925,16 @@ packages: '@babel/helper-plugin-utils': 7.24.5 dev: true + /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.7): + resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.7 + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.5): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: @@ -842,27 +1009,27 @@ packages: '@babel/helper-plugin-utils': 7.24.5 dev: true - /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.24.5): + /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.24.7): resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.5) + '@babel/core': 7.24.7 + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.7) dev: true - /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.5): + /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.7): resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 + '@babel/core': 7.24.7 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-module-imports': 7.24.3 '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.7) '@babel/types': 7.24.5 dev: true @@ -882,6 +1049,15 @@ packages: '@babel/types': 7.24.5 dev: true + /@babel/template@7.24.7: + resolution: {integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + dev: true + /@babel/traverse@7.24.5: resolution: {integrity: sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==} engines: {node: '>=6.9.0'} @@ -900,6 +1076,24 @@ packages: - supports-color dev: true + /@babel/traverse@7.24.7: + resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-hoist-variables': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + debug: 4.3.5 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/types@7.24.5: resolution: {integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==} engines: {node: '>=6.9.0'} @@ -909,6 +1103,15 @@ packages: to-fast-properties: 2.0.0 dev: true + /@babel/types@7.24.7: + resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + to-fast-properties: 2.0.0 + dev: true + /@bcoe/v8-coverage@0.2.3: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true @@ -1724,7 +1927,7 @@ packages: jest-util: 29.7.0 jest-validate: 29.7.0 jest-watcher: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.7 pretty-format: 29.7.0 slash: 3.0.0 strip-ansi: 6.0.1 @@ -1890,7 +2093,7 @@ packages: jest-haste-map: 29.7.0 jest-regex-util: 29.6.3 jest-util: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.7 pirates: 4.0.6 slash: 3.0.0 write-file-atomic: 4.0.2 @@ -2050,8 +2253,8 @@ packages: agent-base: 7.1.1 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.4 - lru-cache: 10.2.2 - socks-proxy-agent: 8.0.3 + lru-cache: 10.4.0 + socks-proxy-agent: 8.0.4 transitivePeerDependencies: - supports-color dev: false @@ -2068,7 +2271,7 @@ packages: engines: {node: ^16.14.0 || >=18.0.0} dependencies: '@npmcli/promise-spawn': 7.0.2 - lru-cache: 10.2.2 + lru-cache: 10.4.0 npm-pick-manifest: 9.0.1 proc-log: 4.2.0 promise-inflight: 1.0.1 @@ -2093,15 +2296,15 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: false - /@npmcli/package-json@5.1.0: - resolution: {integrity: sha512-1aL4TuVrLS9sf8quCLerU3H9J4vtCtgu8VauYozrmEyU57i/EdKleCnsQ7vpnABIH6c9mnTxcH5sFkO3BlV8wQ==} + /@npmcli/package-json@5.2.0: + resolution: {integrity: sha512-qe/kiqqkW0AGtvBjL8TJKZk/eBBSpnJkUWvHdQ9jM2lKHXRYYJuyNpJPlJw3c8QjC2ow6NZYiLExhUaeJelbxQ==} engines: {node: ^16.14.0 || >=18.0.0} dependencies: '@npmcli/git': 5.0.7 - glob: 10.3.15 + glob: 10.4.3 hosted-git-info: 7.0.2 json-parse-even-better-errors: 3.0.2 - normalize-package-data: 6.0.1 + normalize-package-data: 6.0.2 proc-log: 4.2.0 semver: 7.6.2 transitivePeerDependencies: @@ -2115,19 +2318,20 @@ packages: which: 4.0.0 dev: false - /@npmcli/redact@1.1.0: - resolution: {integrity: sha512-PfnWuOkQgu7gCbnSsAisaX7hKOdZ4wSAhAzH3/ph5dSGau52kCRrMMGbiSQLwyTZpgldkZ49b0brkOr1AzGBHQ==} + /@npmcli/redact@2.0.1: + resolution: {integrity: sha512-YgsR5jCQZhVmTJvjduTOIHph0L73pK8xwMVaDY0PatySqVM9AZj93jpoXYSJqfHFxFkN9dmqTw6OiqExsS3LPw==} engines: {node: ^16.14.0 || >=18.0.0} dev: false - /@npmcli/run-script@7.0.4: - resolution: {integrity: sha512-9ApYM/3+rBt9V80aYg6tZfzj3UWdiYyCt7gJUD1VJKvWF5nwKDSICXbYIQbspFTq6TOpbsEtIC0LArB8d9PFmg==} + /@npmcli/run-script@8.1.0: + resolution: {integrity: sha512-y7efHHwghQfk28G2z3tlZ67pLG0XdfYbcVG26r7YIXALRsrVQcTq4/tdenSmdOrEsNahIYA/eh8aEVROWGFUDg==} engines: {node: ^16.14.0 || >=18.0.0} dependencies: '@npmcli/node-gyp': 3.0.0 - '@npmcli/package-json': 5.1.0 + '@npmcli/package-json': 5.2.0 '@npmcli/promise-spawn': 7.0.2 node-gyp: 10.1.0 + proc-log: 4.2.0 which: 4.0.0 transitivePeerDependencies: - bluebird @@ -2144,18 +2348,18 @@ packages: resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} dev: true - /@preact/preset-vite@2.8.2(@babel/core@7.24.5)(preact@10.22.0)(vite@4.5.3): + /@preact/preset-vite@2.8.2(@babel/core@7.24.7)(preact@10.22.0)(vite@4.5.3): resolution: {integrity: sha512-m3tl+M8IO8jgiHnk+7LSTFl8axdPXloewi7iGVLdmCwf34XOzEUur0bZVewW4DUbUipFjTS2CXu27+5f/oexBA==} peerDependencies: '@babel/core': 7.x vite: 2.x || 3.x || 4.x || 5.x dependencies: - '@babel/core': 7.24.5 - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.5) - '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.24.5) + '@babel/core': 7.24.7 + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.7) + '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.24.7) '@prefresh/vite': 2.4.5(preact@10.22.0)(vite@4.5.3) '@rollup/pluginutils': 4.2.1 - babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.24.5) + babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.24.7) debug: 4.3.4(supports-color@8.1.1) kolorist: 1.8.0 magic-string: 0.30.5 @@ -2210,7 +2414,15 @@ packages: spacetrim: 0.11.25 dev: true - /@puppeteer/browsers@1.4.6(typescript@5.4.5): + /@promptbook/utils@0.58.0: + resolution: {integrity: sha512-TglWndmjikWN+OGg9eNOUaMTM7RHr8uFCtgxfWULT1BUjcohywdijf54vS1U4mZ1tBLdHD4/fIrIHtmHzPUIZQ==} + requiresBuild: true + dependencies: + spacetrim: 0.11.36 + dev: true + optional: true + + /@puppeteer/browsers@1.4.6(typescript@5.5.3): resolution: {integrity: sha512-x4BEjr2SjOPowNeiguzjozQbsc6h437ovD/wu+JpaenxVLm3jkgzHY2xOslMTp50HoTvQreMjiexiGQw1sqZlQ==} engines: {node: '>=16.3.0'} hasBin: true @@ -2225,7 +2437,7 @@ packages: progress: 2.0.3 proxy-agent: 6.3.0 tar-fs: 3.0.4 - typescript: 5.4.5 + typescript: 5.5.3 unbzip2-stream: 1.4.3 yargs: 17.7.1 transitivePeerDependencies: @@ -2319,11 +2531,6 @@ packages: engines: {node: '>=14.16'} dev: true - /@sindresorhus/merge-streams@2.3.0: - resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} - engines: {node: '>=18'} - dev: true - /@sinonjs/commons@2.0.0: resolution: {integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==} dependencies: @@ -2360,8 +2567,8 @@ packages: resolution: {integrity: sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==} dev: true - /@szhsin/react-menu@4.1.0(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-lYYGUxqJxM2b/jD2Cn5a9RVOvHl9VBMX8qOnHZuX1w08cO2jslykpz5P75D7WnqudLnXsJ4k4+tI+q2U8XIFYw==} + /@szhsin/react-menu@4.2.0(react-dom@18.3.1)(react@18.3.1): + resolution: {integrity: sha512-cheovcsqOZonTi5aM5ApQjWRwXdReAHFITLyzyk0pAjMy+BiWk8bfl8PZT8VKC8Jacq9Shs3YArYtFMGW/sA4A==} peerDependencies: react: '>=16.14.0' react-dom: '>=16.14.0' @@ -2419,7 +2626,7 @@ packages: engines: {node: ^16.14.0 || >=18.0.0} dependencies: '@tufjs/canonical-json': 2.0.0 - minimatch: 9.0.4 + minimatch: 9.0.5 dev: false /@types/babel__core@7.20.5: @@ -2557,6 +2764,14 @@ packages: undici-types: 5.26.5 dev: true + /@types/node@20.14.10: + resolution: {integrity: sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==} + requiresBuild: true + dependencies: + undici-types: 5.26.5 + dev: true + optional: true + /@types/node@20.14.2: resolution: {integrity: sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==} dependencies: @@ -2961,7 +3176,7 @@ packages: tslib: 2.6.2 dev: false - /@wdio/cli@8.38.2(typescript@5.4.5): + /@wdio/cli@8.38.2(typescript@5.5.3): resolution: {integrity: sha512-p9y6jxmpmw53OoB9v/uTLwMetmz7Q0K7NewdVONgmeTY/ERpkU15qL3fMw1rXb+E+vrV8dlce4srnXroec6SFA==} engines: {node: ^16.13 || >=18} hasBin: true @@ -2969,7 +3184,7 @@ packages: '@types/node': 20.14.2 '@vitest/snapshot': 1.6.0 '@wdio/config': 8.38.2 - '@wdio/globals': 8.38.2(typescript@5.4.5) + '@wdio/globals': 8.38.2(typescript@5.5.3) '@wdio/logger': 8.38.0 '@wdio/protocols': 8.38.0 '@wdio/types': 8.38.2 @@ -2988,7 +3203,7 @@ packages: lodash.union: 4.6.0 read-pkg-up: 10.0.0 recursive-readdir: 2.2.3 - webdriverio: 8.38.2(typescript@5.4.5) + webdriverio: 8.38.2(typescript@5.5.3) yargs: 17.7.2 transitivePeerDependencies: - bufferutil @@ -3014,6 +3229,23 @@ packages: - supports-color dev: true + /@wdio/config@8.39.0: + resolution: {integrity: sha512-yNuGPMPibY91s936gnJCHWlStvIyDrwLwGfLC/NCdTin4F7HL4Gp5iJnHWkJFty1/DfFi8jjoIUBNLM8HEez+A==} + engines: {node: ^16.13 || >=18} + requiresBuild: true + dependencies: + '@wdio/logger': 8.38.0 + '@wdio/types': 8.39.0 + '@wdio/utils': 8.39.0 + decamelize: 6.0.0 + deepmerge-ts: 5.1.0 + glob: 10.4.3 + import-meta-resolve: 4.1.0 + transitivePeerDependencies: + - supports-color + dev: true + optional: true + /@wdio/cucumber-framework@8.38.2: resolution: {integrity: sha512-9Rnybc6qTn3EDPcRA7F2WHHwf+ZEZwfBZA1DXOXJTVPzrq/GEn6UNQ8U3QuMIPgiJCtFbwGhVJmFZPtsNbolmQ==} engines: {node: ^16.13 || >=18} @@ -3032,12 +3264,28 @@ packages: - supports-color dev: true - /@wdio/globals@8.38.2(typescript@5.4.5): + /@wdio/globals@8.38.2(typescript@5.5.3): resolution: {integrity: sha512-iIrUF1EODfHLh3V/CSNCqbNNxUTe3ND+c86zDjzJcPFjawLX1plvAApsU/eDmtsFShcOS2KHbfSjiydFoqQG1Q==} engines: {node: ^16.13 || >=18} optionalDependencies: - expect-webdriverio: 4.14.0(typescript@5.4.5) - webdriverio: 8.38.2(typescript@5.4.5) + expect-webdriverio: 4.14.0(typescript@5.5.3) + webdriverio: 8.38.2(typescript@5.5.3) + transitivePeerDependencies: + - bufferutil + - devtools + - encoding + - supports-color + - typescript + - utf-8-validate + dev: true + + /@wdio/globals@8.39.1(typescript@5.5.3): + resolution: {integrity: sha512-kNb1TlxI8Le/tsOiw7CMQcG0+ZGyxk9ZDO/PQLxkJvjo/q2QmiBcgaNMPuf+j1ABETcQK4bI7QtiT5uZ+f2AGA==} + engines: {node: ^16.13 || >=18} + requiresBuild: true + optionalDependencies: + expect-webdriverio: 4.14.0(typescript@5.5.3) + webdriverio: 8.39.1(typescript@5.5.3) transitivePeerDependencies: - bufferutil - devtools @@ -3046,6 +3294,7 @@ packages: - typescript - utf-8-validate dev: true + optional: true /@wdio/junit-reporter@8.38.2: resolution: {integrity: sha512-egJp7QULWw6+Vn8WlaM1tq0/vapl6Wh/gupyZYseUqvvgbfeDJKOaU0xJQo6sO2R15gxxZSAL0Coq4+58hwAzA==} @@ -3057,14 +3306,14 @@ packages: junit-report-builder: 3.2.1 dev: true - /@wdio/local-runner@8.38.2(typescript@5.4.5): + /@wdio/local-runner@8.38.2(typescript@5.5.3): resolution: {integrity: sha512-syW+R5VUHJ3GBkQGFcNYe6MYwWRgklc9W7A83xQDTvKWFNHCetLvc8AtKZ54vs8MItBejjU+Oh94ZNbNX1pBcg==} engines: {node: ^16.13 || >=18} dependencies: '@types/node': 20.14.2 '@wdio/logger': 8.38.0 '@wdio/repl': 8.24.12 - '@wdio/runner': 8.38.2(typescript@5.4.5) + '@wdio/runner': 8.38.2(typescript@5.5.3) '@wdio/types': 8.38.2 async-exit-hook: 2.0.1 split2: 4.2.0 @@ -3124,21 +3373,21 @@ packages: object-inspect: 1.13.1 dev: true - /@wdio/runner@8.38.2(typescript@5.4.5): + /@wdio/runner@8.38.2(typescript@5.5.3): resolution: {integrity: sha512-5lPnKSX2BBLI2AbYW+hoGPiEUAJXj8F8I6NC2LaBVzf1CLN+w2HWZ7lUiqS14XT0b5/hlSUX6+JYwUXlDbpuuw==} engines: {node: ^16.13 || >=18} dependencies: '@types/node': 20.14.2 '@wdio/config': 8.38.2 - '@wdio/globals': 8.38.2(typescript@5.4.5) + '@wdio/globals': 8.38.2(typescript@5.5.3) '@wdio/logger': 8.38.0 '@wdio/types': 8.38.2 '@wdio/utils': 8.38.2 deepmerge-ts: 5.1.0 - expect-webdriverio: 4.14.0(typescript@5.4.5) + expect-webdriverio: 4.14.0(typescript@5.5.3) gaze: 1.1.3 webdriver: 8.38.2 - webdriverio: 8.38.2(typescript@5.4.5) + webdriverio: 8.38.2(typescript@5.5.3) transitivePeerDependencies: - bufferutil - devtools @@ -3166,6 +3415,15 @@ packages: '@types/node': 20.14.2 dev: true + /@wdio/types@8.39.0: + resolution: {integrity: sha512-86lcYROTapOJuFd9ouomFDfzDnv3Kn+jE0RmqfvN9frZAeLVJ5IKjX9M6HjplsyTZhjGO1uCaehmzx+HJus33Q==} + engines: {node: ^16.13 || >=18} + requiresBuild: true + dependencies: + '@types/node': 20.14.10 + dev: true + optional: true + /@wdio/utils@8.38.2: resolution: {integrity: sha512-y5AnBwsGcu/XuCBGCgKmlvKdwEIFyzLA+Cr+denySxY3jbWDONtPUcGaVdFALwsIa5jcIjcATqGmZcCPGnkd7g==} engines: {node: ^16.13 || >=18} @@ -3187,6 +3445,29 @@ packages: - supports-color dev: true + /@wdio/utils@8.39.0: + resolution: {integrity: sha512-jY+n6jlGeK+9Tx8T659PKLwMQTGpLW5H78CSEWgZLbjbVSr2LfGR8Lx0CRktNXxAtqEVZPj16Pi74OtAhvhE6Q==} + engines: {node: ^16.13 || >=18} + requiresBuild: true + dependencies: + '@puppeteer/browsers': 1.9.1 + '@wdio/logger': 8.38.0 + '@wdio/types': 8.39.0 + decamelize: 6.0.0 + deepmerge-ts: 5.1.0 + edgedriver: 5.6.0 + geckodriver: 4.4.1 + get-port: 7.1.0 + import-meta-resolve: 4.1.0 + locate-app: 2.4.21 + safaridriver: 0.1.2 + split2: 4.2.0 + wait-port: 1.1.0 + transitivePeerDependencies: + - supports-color + dev: true + optional: true + /@webassemblyjs/ast@1.12.1: resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} dependencies: @@ -3343,25 +3624,25 @@ packages: engines: {bun: '>=0.7.0', deno: '>=1.0.0', node: '>=16.5.0'} dev: true - /@zowe/core-for-zowe-sdk@8.0.0-next.202404032038(@zowe/imperative@8.0.0-next.202404032038): - resolution: {integrity: sha512-pjk5DXhnplzax2/P/CT5jN9ZnsMGxTTLraIgfp3k2bBC0lW4tIzw9E1lTQaz94Pra1A+oFkJVHHLVtoFXzn0rg==} + /@zowe/core-for-zowe-sdk@8.0.0-next.202407051717(@zowe/imperative@8.0.0-next.202407051717): + resolution: {integrity: sha512-OeZnlNP7ySBPSl+sxhRnAJFV27NMuLFHhsJ9jneWA1B5tQQPzxH67Ydt6vNswtElUfjctUlq8WF6xX8oFhAY7A==} engines: {node: '>=18.12.0'} peerDependencies: '@zowe/imperative': ^8.0.0-next dependencies: - '@zowe/imperative': 8.0.0-next.202404032038 - comment-json: 4.2.3 + '@zowe/imperative': 8.0.0-next.202407051717 + comment-json: 4.2.4 string-width: 4.2.3 dev: false - /@zowe/imperative@8.0.0-next.202404032038: - resolution: {integrity: sha512-jzO16DgJo9an4o89CvIyabscLm8n0MwszB8H0bmsVjUA+BPmCKzPjSPxlmXX9RxKihu0yCypgJnv5uK3Gtn2kg==} + /@zowe/imperative@8.0.0-next.202407051717: + resolution: {integrity: sha512-iUa+r2cm7aul96D2q2KRssR99unm2YXRtS+qnP1DF92tjNFJs5ko6OJBtEawEDh50ZvGS9cFTl4nkc/KWoLlXw==} engines: {node: '>=18.12.0'} dependencies: '@types/yargs': 17.0.32 chalk: 4.1.2 cli-table3: 0.6.5 - comment-json: 4.2.3 + comment-json: 4.2.4 cross-spawn: 7.0.3 dataobject-parser: 1.2.25 deepmerge: 4.3.1 @@ -3371,6 +3652,8 @@ packages: fastest-levenshtein: 1.0.16 find-up: 5.0.0 fs-extra: 11.2.0 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.4 jest-diff: 29.7.0 js-yaml: 4.1.0 jsonfile: 6.1.0 @@ -3382,7 +3665,7 @@ packages: mustache: 4.2.0 npm-package-arg: 11.0.2 opener: 1.5.2 - pacote: 17.0.7 + pacote: 18.0.6 prettyjson: 1.2.5 progress: 2.0.3 read: 3.0.1 @@ -3398,87 +3681,87 @@ packages: - supports-color dev: false - /@zowe/secrets-for-zowe-sdk@8.0.0-next.202404032038: - resolution: {integrity: sha512-yOqieH6Rap3y3sJULSkzVBMlkctUyzmux7EbHfozafO99X66ih5A0p+S9sKpgmU/qSxCcQkJpFFwvmM8b3kj1A==} + /@zowe/secrets-for-zowe-sdk@8.0.0-next.202407051717: + resolution: {integrity: sha512-vZ8VbkJfJDT0rzbqSBzpv8UG0WGrKzUU4BawKLhP8eWMeVJ8Er9Jcb0itsotHYn9W3e6GMlVrJvZOzqLL8+feA==} engines: {node: '>=14'} requiresBuild: true dev: false - /@zowe/zos-console-for-zowe-sdk@8.0.0-next.202404032038(@zowe/core-for-zowe-sdk@8.0.0-next.202404032038)(@zowe/imperative@8.0.0-next.202404032038): - resolution: {integrity: sha512-JVv6UQaFsoCQJgSF0R8allcad0P1NsWJfm0m6VqWvKfXvr2/lcy6FR5ZVvqxpqhE4LsUujrbal+UayTaOahZBg==} + /@zowe/zos-console-for-zowe-sdk@8.0.0-next.202407051717(@zowe/core-for-zowe-sdk@8.0.0-next.202407051717)(@zowe/imperative@8.0.0-next.202407051717): + resolution: {integrity: sha512-KSvTEMF+t3KuRg9k/o3+c1Q58/qSIVi2B2m+AXdDZ42qCI59VbS7sZC46a/yHfYC4uxXvwk4jJmhmTY82Jnqjw==} engines: {node: '>=18.12.0'} peerDependencies: '@zowe/core-for-zowe-sdk': ^8.0.0-next '@zowe/imperative': ^8.0.0-next dependencies: - '@zowe/core-for-zowe-sdk': 8.0.0-next.202404032038(@zowe/imperative@8.0.0-next.202404032038) - '@zowe/imperative': 8.0.0-next.202404032038 + '@zowe/core-for-zowe-sdk': 8.0.0-next.202407051717(@zowe/imperative@8.0.0-next.202407051717) + '@zowe/imperative': 8.0.0-next.202407051717 dev: false - /@zowe/zos-files-for-zowe-sdk@8.0.0-next.202404032038(@zowe/core-for-zowe-sdk@8.0.0-next.202404032038)(@zowe/imperative@8.0.0-next.202404032038): - resolution: {integrity: sha512-9WMdXk/HF9Ml/susL1QSeQ7rSlvUnzSS0LX6geeZ8Ki5t6UrbGmeVaG/OY43i52DoCzuNsdlYQ3bESLOGelQzw==} + /@zowe/zos-files-for-zowe-sdk@8.0.0-next.202407051717(@zowe/core-for-zowe-sdk@8.0.0-next.202407051717)(@zowe/imperative@8.0.0-next.202407051717): + resolution: {integrity: sha512-lMXB4b6ti0xhXNf4nP1nNEZReRQGG8vef6CyxeuQrfV41emk8i4Gt4D2SwQH2nQMMSJCN25mPrJkCUxR06VZlQ==} engines: {node: '>=18.12.0'} peerDependencies: '@zowe/core-for-zowe-sdk': ^8.0.0-next '@zowe/imperative': ^8.0.0-next dependencies: - '@zowe/core-for-zowe-sdk': 8.0.0-next.202404032038(@zowe/imperative@8.0.0-next.202404032038) - '@zowe/imperative': 8.0.0-next.202404032038 - minimatch: 9.0.4 + '@zowe/core-for-zowe-sdk': 8.0.0-next.202407051717(@zowe/imperative@8.0.0-next.202407051717) + '@zowe/imperative': 8.0.0-next.202407051717 + minimatch: 9.0.5 dev: false - /@zowe/zos-ftp-for-zowe-cli@3.0.0-next.202403191358(@zowe/imperative@8.0.0-next.202404032038): + /@zowe/zos-ftp-for-zowe-cli@3.0.0-next.202403191358(@zowe/imperative@8.0.0-next.202407051717): resolution: {integrity: sha512-jTiGcqFZNKIanUQAWOT+2M+3X6P9FAlPrie999HjDm79DpEltkjNwdNLM8EZLtSXsTjBrifaTo/pMVVmmhfl4A==} peerDependencies: '@zowe/imperative': '>=8.0.0-next.0 <8.0.0' dependencies: - '@zowe/imperative': 8.0.0-next.202404032038 + '@zowe/imperative': 8.0.0-next.202407051717 zos-node-accessor: 2.0.9 dev: false - /@zowe/zos-jobs-for-zowe-sdk@8.0.0-next.202404032038(@zowe/core-for-zowe-sdk@8.0.0-next.202404032038)(@zowe/imperative@8.0.0-next.202404032038): - resolution: {integrity: sha512-zj8jS4/D/XjvP9CIVPtsKmja/OCdRd5kslxc4bkWbP4DIjypc7AgXYTE0fT8DjrON/vGAiQU+GLcuqheXOBzLQ==} + /@zowe/zos-jobs-for-zowe-sdk@8.0.0-next.202407051717(@zowe/core-for-zowe-sdk@8.0.0-next.202407051717)(@zowe/imperative@8.0.0-next.202407051717): + resolution: {integrity: sha512-gG2uVv8W0zfZIIg3QZuKWsfnlrnOIxvm8bcHwlRXkysGlgECYaSUBelZGCmimuQ51X5FXyD59enoQjw7TeMmVg==} engines: {node: '>=18.12.0'} peerDependencies: '@zowe/core-for-zowe-sdk': ^8.0.0-next '@zowe/imperative': ^8.0.0-next dependencies: - '@zowe/core-for-zowe-sdk': 8.0.0-next.202404032038(@zowe/imperative@8.0.0-next.202404032038) - '@zowe/imperative': 8.0.0-next.202404032038 - '@zowe/zos-files-for-zowe-sdk': 8.0.0-next.202404032038(@zowe/core-for-zowe-sdk@8.0.0-next.202404032038)(@zowe/imperative@8.0.0-next.202404032038) + '@zowe/core-for-zowe-sdk': 8.0.0-next.202407051717(@zowe/imperative@8.0.0-next.202407051717) + '@zowe/imperative': 8.0.0-next.202407051717 + '@zowe/zos-files-for-zowe-sdk': 8.0.0-next.202407051717(@zowe/core-for-zowe-sdk@8.0.0-next.202407051717)(@zowe/imperative@8.0.0-next.202407051717) dev: false - /@zowe/zos-tso-for-zowe-sdk@8.0.0-next.202404032038(@zowe/core-for-zowe-sdk@8.0.0-next.202404032038)(@zowe/imperative@8.0.0-next.202404032038): - resolution: {integrity: sha512-xn4GtkEer/jsnOP+e7j/nXWzIinx2wCB5TLAGySWafpGMUIQJ1t76Yw5pOxBAXzfVPCEmgfpsT+jutfqg1/rdg==} + /@zowe/zos-tso-for-zowe-sdk@8.0.0-next.202407051717(@zowe/core-for-zowe-sdk@8.0.0-next.202407051717)(@zowe/imperative@8.0.0-next.202407051717): + resolution: {integrity: sha512-A+A/N9k/wSlQldKlm9EiuZ6AZip8qWGzfxUTzpl4wiGGk0bUIRrOP4SxRNU8gcaUvfslaKLO/lbKBtQ1X/eCZw==} engines: {node: '>=18.12.0'} peerDependencies: '@zowe/core-for-zowe-sdk': ^8.0.0-next '@zowe/imperative': ^8.0.0-next dependencies: - '@zowe/core-for-zowe-sdk': 8.0.0-next.202404032038(@zowe/imperative@8.0.0-next.202404032038) - '@zowe/imperative': 8.0.0-next.202404032038 - '@zowe/zosmf-for-zowe-sdk': 8.0.0-next.202404032038(@zowe/core-for-zowe-sdk@8.0.0-next.202404032038)(@zowe/imperative@8.0.0-next.202404032038) + '@zowe/core-for-zowe-sdk': 8.0.0-next.202407051717(@zowe/imperative@8.0.0-next.202407051717) + '@zowe/imperative': 8.0.0-next.202407051717 + '@zowe/zosmf-for-zowe-sdk': 8.0.0-next.202407051717(@zowe/core-for-zowe-sdk@8.0.0-next.202407051717)(@zowe/imperative@8.0.0-next.202407051717) dev: false - /@zowe/zos-uss-for-zowe-sdk@8.0.0-next.202404032038(@zowe/imperative@8.0.0-next.202404032038): - resolution: {integrity: sha512-YKq8Om6i84lh3d9Kv0nQ8Ux+v9UYHmvq+ni7US9jTlI+uMqi29QM1Ww24GhETxx4ecUPzHgQ5zdUhmpUhYUeaA==} + /@zowe/zos-uss-for-zowe-sdk@8.0.0-next.202407051717(@zowe/imperative@8.0.0-next.202407051717): + resolution: {integrity: sha512-igiTGJVBvJiNA9jDBK4YTlTUIKKsluXyrLTjgIJeYTn9A9fk2IQQlAg0T6Fj53SSue/H3/y7XAhoZmFRH6f3eA==} engines: {node: '>=18.12.0'} peerDependencies: '@zowe/imperative': ^8.0.0-next dependencies: - '@zowe/imperative': 8.0.0-next.202404032038 + '@zowe/imperative': 8.0.0-next.202407051717 ssh2: 1.15.0 dev: false - /@zowe/zosmf-for-zowe-sdk@8.0.0-next.202404032038(@zowe/core-for-zowe-sdk@8.0.0-next.202404032038)(@zowe/imperative@8.0.0-next.202404032038): - resolution: {integrity: sha512-uKPq7l9K0aGZVDbtpv/E3pa+8g1Mk7hSNIKGVRwe4ygJka8BJZ4GgbrGL34IFYnGJb8XLqJcrdCDALiBRgNRtQ==} + /@zowe/zosmf-for-zowe-sdk@8.0.0-next.202407051717(@zowe/core-for-zowe-sdk@8.0.0-next.202407051717)(@zowe/imperative@8.0.0-next.202407051717): + resolution: {integrity: sha512-vA/DuxMnnfhHf+8rVLuu9uSt9j4YzUK1FKi/37y/KgyAvNnidJukDz8VqfFSgLNpKygxfoO9tbtFtClNbuFSoQ==} engines: {node: '>=18.12.0'} peerDependencies: '@zowe/core-for-zowe-sdk': ^8.0.0-next '@zowe/imperative': ^8.0.0-next dependencies: - '@zowe/core-for-zowe-sdk': 8.0.0-next.202404032038(@zowe/imperative@8.0.0-next.202404032038) - '@zowe/imperative': 8.0.0-next.202404032038 + '@zowe/core-for-zowe-sdk': 8.0.0-next.202407051717(@zowe/imperative@8.0.0-next.202407051717) + '@zowe/imperative': 8.0.0-next.202407051717 dev: false /abbrev@1.1.1: @@ -3619,15 +3902,6 @@ packages: ajv: 6.12.6 dev: true - /ajv-keywords@5.1.0(ajv@8.13.0): - resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} - peerDependencies: - ajv: ^8.8.2 - dependencies: - ajv: 8.13.0 - fast-deep-equal: 3.1.3 - dev: true - /ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} dependencies: @@ -3958,12 +4232,12 @@ packages: '@types/babel__traverse': 7.20.5 dev: true - /babel-plugin-transform-hook-names@1.0.2(@babel/core@7.24.5): + /babel-plugin-transform-hook-names@1.0.2(@babel/core@7.24.7): resolution: {integrity: sha512-5gafyjyyBTTdX/tQQ0hRgu4AhNHG/hqWi0ZZmg2xvs2FgRkJXzDNKBZCyoYqgFkovfDrgM8OoKg8karoUvWeCw==} peerDependencies: '@babel/core': ^7.12.10 dependencies: - '@babel/core': 7.24.5 + '@babel/core': 7.24.7 dev: true /babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.5): @@ -4000,8 +4274,8 @@ packages: /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - /bare-events@2.4.0: - resolution: {integrity: sha512-WHJZ24ZAYAlF38qfAEJmsypd5Qdr6qFF8ar4iMSr2fNTlzVwcBhYTsQc018x1XYqLwgndNvzfh3q3Kfe1Bg33Q==} + /bare-events@2.4.2: + resolution: {integrity: sha512-qMKFd2qG/36aA4GwvKq8MxnPgCQAmBWmSyLWsJcbn8v03wvIPQ/hG1Ms8bPzndZxMDoHpxez5VOS+gC9Yi24/Q==} requiresBuild: true dev: true optional: true @@ -4010,7 +4284,7 @@ packages: resolution: {integrity: sha512-W/Hfxc/6VehXlsgFtbB5B4xFcsCl+pAh30cYhoFyXErf6oGrwjh8SwiPAdHgpmWonKuYpZgGywN0SXt7dgsADA==} requiresBuild: true dependencies: - bare-events: 2.4.0 + bare-events: 2.4.2 bare-path: 2.1.3 bare-stream: 2.1.2 dev: true @@ -4155,11 +4429,11 @@ packages: - supports-color dev: true - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + /braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 /browser-stdout@1.3.1: resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} @@ -4176,6 +4450,17 @@ packages: update-browserslist-db: 1.0.16(browserslist@4.23.0) dev: true + /browserslist@4.23.1: + resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001640 + electron-to-chromium: 1.4.818 + node-releases: 2.0.14 + update-browserslist-db: 1.1.0(browserslist@4.23.1) + dev: true + /bs-logger@0.2.6: resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} engines: {node: '>= 6'} @@ -4258,9 +4543,9 @@ packages: dependencies: '@npmcli/fs': 3.1.1 fs-minipass: 3.0.3 - glob: 10.3.15 - lru-cache: 10.2.2 - minipass: 7.1.1 + glob: 10.4.3 + lru-cache: 10.4.0 + minipass: 7.1.2 minipass-collect: 2.0.1 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 @@ -4344,6 +4629,10 @@ packages: resolution: {integrity: sha512-WJvYsOjd1/BYUY6SNGUosK9DUidBPDTnOARHp3fSmFO1ekdxaY6nKRttEVrfMmYi80ctS0kz1wiWmm14fVc3ew==} dev: true + /caniuse-lite@1.0.30001640: + resolution: {integrity: sha512-lA4VMpW0PSUrFnkmVuEKBUovSWKhj7puyCg8StBChgu298N1AtuF1sKWEvfDuimSEDbhlb/KqPKC3fs1HbuQUA==} + dev: true + /capital-case@1.0.4: resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} dependencies: @@ -4456,7 +4745,7 @@ packages: engines: {node: '>= 8.10.0'} dependencies: anymatch: 3.1.3 - braces: 3.0.2 + braces: 3.0.3 glob-parent: 5.1.2 is-binary-path: 2.1.0 is-glob: 4.0.3 @@ -4471,7 +4760,7 @@ packages: engines: {node: '>= 8.10.0'} dependencies: anymatch: 3.1.3 - braces: 3.0.2 + braces: 3.0.3 glob-parent: 5.1.2 is-binary-path: 2.1.0 is-glob: 4.0.3 @@ -4717,8 +5006,8 @@ packages: engines: {node: ^12.20.0 || >=14} dev: true - /comment-json@4.2.3: - resolution: {integrity: sha512-SsxdiOf064DWoZLH799Ata6u7iV658A11PlWtZATDlXPpKGJnbJZ5Z24ybixAi+LUUqJ/GKowAejtC5GFUG7Tw==} + /comment-json@4.2.4: + resolution: {integrity: sha512-E5AjpSW+O+N5T2GsOQMHLLsJvrYw6G/AFt9GvU6NguEAfzKShh7hRiLtVo6S9KbRpFMGqE5ojo0/hE+sdteWvQ==} engines: {node: '>= 6'} dependencies: array-timsort: 1.0.3 @@ -4786,21 +5075,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /copy-webpack-plugin@12.0.2(webpack@5.91.0): - resolution: {integrity: sha512-SNwdBeHyII+rWvee/bTnAYyO8vfVdcSTud4EIb6jcZ8inLeWucJE0DnxXQBjlQ5zlteuuvooGQy3LIyGxhvlOA==} - engines: {node: '>= 18.12.0'} - peerDependencies: - webpack: ^5.1.0 - dependencies: - fast-glob: 3.3.2 - glob-parent: 6.0.2 - globby: 14.0.1 - normalize-path: 3.0.0 - schema-utils: 4.2.0 - serialize-javascript: 6.0.2 - webpack: 5.91.0(webpack-cli@5.1.4) - dev: true - /copyfiles@2.4.1: resolution: {integrity: sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg==} hasBin: true @@ -4843,7 +5117,7 @@ packages: requiresBuild: true dependencies: buildcheck: 0.0.6 - nan: 2.19.0 + nan: 2.20.0 dev: false optional: true @@ -5016,6 +5290,17 @@ packages: ms: 2.1.2 supports-color: 8.1.1 + /debug@4.3.5: + resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + /decamelize@4.0.0: resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} engines: {node: '>=10'} @@ -5509,6 +5794,10 @@ packages: resolution: {integrity: sha512-87eHF+h3PlCRwbxVEAw9KtK3v7lWfc/sUDr0W76955AdYTG4bV/k0zrl585Qnj/skRMH2qOSiE+kqMeOQ+LOpw==} dev: true + /electron-to-chromium@1.4.818: + resolution: {integrity: sha512-eGvIk2V0dGImV9gWLq8fDfTTsCAeMDwZqEPMr+jMInxZdnp9Us8UpovYpRCf9NQ7VOFgrN2doNSgvISbsbNpxA==} + dev: true + /emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} engines: {node: '>=12'} @@ -6106,7 +6395,7 @@ packages: dev: true optional: true - /expect-webdriverio@4.14.0(typescript@5.4.5): + /expect-webdriverio@4.14.0(typescript@5.5.3): resolution: {integrity: sha512-bPZ9zfyJHF41dO8o7iFcEV4Dvcw45yhsv1WjtJyPLZPjQ+ixVBrbSil9+rjRiONoX4f45EZRCqaGvPlzNC523Q==} engines: {node: '>=16 || >=18 || >=20'} dependencies: @@ -6115,9 +6404,9 @@ packages: jest-matcher-utils: 29.7.0 lodash.isequal: 4.5.0 optionalDependencies: - '@wdio/globals': 8.38.2(typescript@5.4.5) + '@wdio/globals': 8.39.1(typescript@5.5.3) '@wdio/logger': 8.38.0 - webdriverio: 8.38.2(typescript@5.4.5) + webdriverio: 8.39.1(typescript@5.5.3) transitivePeerDependencies: - bufferutil - devtools @@ -6262,7 +6551,7 @@ packages: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.7 /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} @@ -6449,8 +6738,8 @@ packages: to-regex-range: 2.1.1 dev: true - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + /fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 @@ -6528,6 +6817,14 @@ packages: dependencies: cross-spawn: 7.0.3 signal-exit: 4.1.0 + dev: true + + /foreground-child@3.2.1: + resolution: {integrity: sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==} + engines: {node: '>=14'} + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 /fork-ts-checker-webpack-plugin@9.0.2(typescript@5.4.5)(webpack@5.91.0): resolution: {integrity: sha512-Uochze2R8peoN1XqlSi/rGUkDQpRogtLFocP9+PGu68zk1BDAKXfdeCdyVZpgTk8V8WFVQXdEz426VKjXLO1Gg==} @@ -6642,7 +6939,7 @@ packages: resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minipass: 7.1.1 + minipass: 7.1.2 dev: false /fs-monkey@1.0.6: @@ -6886,6 +7183,19 @@ packages: minimatch: 9.0.4 minipass: 7.1.1 path-scurry: 1.11.1 + dev: true + + /glob@10.4.3: + resolution: {integrity: sha512-Q38SGlYRpVtDBPSWEylRyctn7uDeTp4NQERTLiCT1FqA9JXPYWqAVmQU6qh4r/zMM5ehxTcbaO8EjhWnvEhmyg==} + engines: {node: '>=18'} + hasBin: true + dependencies: + foreground-child: 3.2.1 + jackspeak: 3.4.1 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.0 + path-scurry: 1.11.1 /glob@7.1.7: resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} @@ -6894,7 +7204,7 @@ packages: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.1.2 + minimatch: 3.0.8 once: 1.4.0 path-is-absolute: 1.0.1 dev: true @@ -6970,18 +7280,6 @@ packages: slash: 3.0.0 dev: true - /globby@14.0.1: - resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==} - engines: {node: '>=18'} - dependencies: - '@sindresorhus/merge-streams': 2.3.0 - fast-glob: 3.3.2 - ignore: 5.3.1 - path-type: 5.0.0 - slash: 5.1.0 - unicorn-magic: 0.1.0 - dev: true - /globule@1.3.4: resolution: {integrity: sha512-OPTIfhMBh7JbBYDpa5b+Q5ptmMWKwcNcFSR/0c6t8V4f3ZAVBEsKNY37QdVqmLRYSMhOUGYrY0QhSoEpzGr/Eg==} engines: {node: '>= 0.10'} @@ -7191,7 +7489,7 @@ packages: resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} engines: {node: ^16.14.0 || >=18.0.0} dependencies: - lru-cache: 10.2.2 + lru-cache: 10.4.0 /hpagent@1.2.0: resolution: {integrity: sha512-A91dYTeIB6NoXG+PxTQpCCDDnfHsW9kc06Lvpu1TEe9gnd6ZFeiBoRO9JvzEv6xK7EX97/dUE8g/vBMTqTS3CA==} @@ -7245,7 +7543,7 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.1 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.5 transitivePeerDependencies: - supports-color @@ -7270,11 +7568,21 @@ packages: /https-proxy-agent@7.0.4: resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==} engines: {node: '>= 14'} + dependencies: + agent-base: 7.1.1 + debug: 4.3.5 + transitivePeerDependencies: + - supports-color + + /https-proxy-agent@7.0.5: + resolution: {integrity: sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==} + engines: {node: '>= 14'} dependencies: agent-base: 7.1.1 debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color + dev: true /human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} @@ -7315,7 +7623,7 @@ packages: resolution: {integrity: sha512-VuuG0wCnjhnylG1ABXT3dAuIpTNDs/G8jlpmwXY03fXoXy/8ZK8/T+hMzt8L4WnrLCJgdybqgPagnF/f97cg3A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minimatch: 9.0.4 + minimatch: 9.0.5 dev: false /ignore@4.0.6: @@ -7504,6 +7812,7 @@ packages: resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: hasown: 2.0.2 + dev: true /is-data-descriptor@1.0.1: resolution: {integrity: sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==} @@ -7875,6 +8184,15 @@ packages: '@isaacs/cliui': 8.0.2 optionalDependencies: '@pkgjs/parseargs': 0.11.0 + dev: true + + /jackspeak@3.4.1: + resolution: {integrity: sha512-U23pQPDnmYybVkYjObcuYMk43VRlMLLqLI+RdZy8s8WV8WsxO9SnqSroKaluuvcNOdCAlauKszDwd+umbot5Mg==} + engines: {node: '>=18'} + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 /jake@10.9.1: resolution: {integrity: sha512-61btcOHNnLnsOdtLgA5efqQWjnSi/vow5HbI7HMdKKWqvrKR1bLK3BPlJn9gcSaP2ewuamUSMB5XEy76KUIS2w==} @@ -7983,7 +8301,7 @@ packages: jest-runner: 29.7.0 jest-util: 29.7.0 jest-validate: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.7 parse-json: 5.2.0 pretty-format: 29.7.0 slash: 3.0.0 @@ -8064,7 +8382,7 @@ packages: jest-regex-util: 29.6.3 jest-util: 29.7.0 jest-worker: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.7 walker: 1.0.8 optionalDependencies: fsevents: 2.3.3 @@ -8150,7 +8468,7 @@ packages: '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.5 + micromatch: 4.0.7 pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 @@ -8342,7 +8660,7 @@ packages: chalk: 4.1.2 graceful-fs: 4.2.11 is-ci: 2.0.0 - micromatch: 4.0.5 + micromatch: 4.0.7 dev: true /jest-util@29.7.0: @@ -8737,6 +9055,16 @@ packages: userhome: 1.0.0 dev: true + /locate-app@2.4.21: + resolution: {integrity: sha512-ySSBwlUnVKoLgw39q8YaNtvklhaTMoVqBf2+CuY3hkOFuWubHAJ6NJuTjv+jfTV1FuOgKsigRdsYUIeVgKHvNA==} + requiresBuild: true + dependencies: + '@promptbook/utils': 0.58.0 + type-fest: 2.13.0 + userhome: 1.0.0 + dev: true + optional: true + /locate-path@3.0.0: resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} engines: {node: '>=6'} @@ -8877,13 +9205,11 @@ packages: /loglevel-plugin-prefix@0.8.4: resolution: {integrity: sha512-WpG9CcFAOjz/FtNht+QJeGpvVl/cdR6P0z6OcXSkr8wFJOsV2GRj2j10JLfjuA4aYkcKCNIEqRGCyTife9R8/g==} - requiresBuild: true dev: true /loglevel@1.9.1: resolution: {integrity: sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==} engines: {node: '>= 0.6.0'} - requiresBuild: true dev: true /loose-envify@1.4.0: @@ -8924,6 +9250,10 @@ packages: resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} engines: {node: 14 || >=16.14} + /lru-cache@10.4.0: + resolution: {integrity: sha512-bfJaPTuEiTYBu+ulDaeQ0F+uLmlfFkMgXj4cbwfuMSjgObGMzb55FMMbDvbRU0fAHZ4sLGkz2mKwcMg8Dvm8Ww==} + engines: {node: '>=18'} + /lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: @@ -9023,7 +9353,7 @@ packages: cacache: 18.0.3 http-cache-semantics: 4.1.1 is-lambda: 1.0.1 - minipass: 7.1.1 + minipass: 7.1.2 minipass-fetch: 3.0.5 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 @@ -9160,11 +9490,11 @@ packages: - supports-color dev: true - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + /micromatch@4.0.7: + resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} engines: {node: '>=8.6'} dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 /mime-db@1.52.0: @@ -9254,6 +9584,13 @@ packages: engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 + dev: true + + /minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} @@ -9262,14 +9599,14 @@ packages: resolution: {integrity: sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==} engines: {node: '>=16 || 14 >=14.17'} dependencies: - minipass: 7.1.1 + minipass: 7.1.2 dev: false /minipass-fetch@3.0.5: resolution: {integrity: sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minipass: 7.1.1 + minipass: 7.1.2 minipass-sized: 1.0.3 minizlib: 2.1.2 optionalDependencies: @@ -9283,13 +9620,6 @@ packages: minipass: 3.3.6 dev: false - /minipass-json-stream@1.0.1: - resolution: {integrity: sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==} - dependencies: - jsonparse: 1.3.1 - minipass: 3.3.6 - dev: false - /minipass-pipeline@1.2.4: resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} engines: {node: '>=8'} @@ -9320,6 +9650,10 @@ packages: resolution: {integrity: sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA==} engines: {node: '>=16 || 14 >=14.17'} + /minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + /minizlib@2.1.2: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} @@ -9490,8 +9824,8 @@ packages: thenify-all: 1.6.0 dev: true - /nan@2.19.0: - resolution: {integrity: sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw==} + /nan@2.20.0: + resolution: {integrity: sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==} requiresBuild: true dev: false optional: true @@ -9618,7 +9952,7 @@ packages: dependencies: env-paths: 2.2.1 exponential-backoff: 3.1.1 - glob: 10.3.15 + glob: 10.4.3 graceful-fs: 4.2.11 make-fetch-happen: 13.0.1 nopt: 7.2.1 @@ -9699,6 +10033,16 @@ packages: is-core-module: 2.13.1 semver: 7.6.2 validate-npm-package-license: 3.0.4 + dev: true + + /normalize-package-data@6.0.2: + resolution: {integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + hosted-git-info: 7.0.2 + semver: 7.6.2 + validate-npm-package-license: 3.0.4 + dev: false /normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} @@ -9765,15 +10109,15 @@ packages: semver: 7.6.2 dev: false - /npm-registry-fetch@16.2.1: - resolution: {integrity: sha512-8l+7jxhim55S85fjiDGJ1rZXBWGtRLi1OSb4Z3BPLObPuIaeKRlPRiYMSHU4/81ck3t71Z+UwDDl47gcpmfQQA==} + /npm-registry-fetch@17.1.0: + resolution: {integrity: sha512-5+bKQRH0J1xG1uZ1zMNvxW0VEyoNWgJpY9UDuluPFLKDfJ9u2JmmjmTJV1srBGQOROfdBMiVvnH2Zvpbm+xkVA==} engines: {node: ^16.14.0 || >=18.0.0} dependencies: - '@npmcli/redact': 1.1.0 + '@npmcli/redact': 2.0.1 + jsonparse: 1.3.1 make-fetch-happen: 13.0.1 - minipass: 7.1.1 + minipass: 7.1.2 minipass-fetch: 3.0.5 - minipass-json-stream: 1.0.1 minizlib: 2.1.2 npm-package-arg: 11.0.2 proc-log: 4.2.0 @@ -10037,7 +10381,7 @@ packages: debug: 4.3.4(supports-color@8.1.1) get-uri: 6.0.3 http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.4 + https-proxy-agent: 7.0.5 pac-resolver: 7.0.1 socks-proxy-agent: 8.0.3 transitivePeerDependencies: @@ -10052,26 +10396,28 @@ packages: netmask: 2.0.2 dev: true - /pacote@17.0.7: - resolution: {integrity: sha512-sgvnoUMlkv9xHwDUKjKQFXVyUi8dtJGKp3vg6sYy+TxbDic5RjZCHF3ygv0EJgNRZ2GfRONjlKPUfokJ9lDpwQ==} + /package-json-from-dist@1.0.0: + resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} + + /pacote@18.0.6: + resolution: {integrity: sha512-+eK3G27SMwsB8kLIuj4h1FUhHtwiEUo21Tw8wNjmvdlpOEr613edv+8FUsTj/4F/VN5ywGE19X18N7CC2EJk6A==} engines: {node: ^16.14.0 || >=18.0.0} hasBin: true dependencies: '@npmcli/git': 5.0.7 '@npmcli/installed-package-contents': 2.1.0 + '@npmcli/package-json': 5.2.0 '@npmcli/promise-spawn': 7.0.2 - '@npmcli/run-script': 7.0.4 + '@npmcli/run-script': 8.1.0 cacache: 18.0.3 fs-minipass: 3.0.3 - minipass: 7.1.1 + minipass: 7.1.2 npm-package-arg: 11.0.2 npm-packlist: 8.0.2 npm-pick-manifest: 9.0.1 - npm-registry-fetch: 16.2.1 + npm-registry-fetch: 17.1.0 proc-log: 4.2.0 promise-retry: 2.0.1 - read-package-json: 7.0.1 - read-package-json-fast: 3.0.2 sigstore: 2.3.1 ssri: 10.0.6 tar: 6.2.1 @@ -10195,11 +10541,6 @@ packages: engines: {node: '>=8'} dev: true - /path-type@5.0.0: - resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} - engines: {node: '>=12'} - dev: true - /pathe@1.1.2: resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} dev: true @@ -10335,8 +10676,8 @@ packages: source-map-js: 1.2.0 dev: true - /preact-render-to-string@6.5.5(preact@10.22.0): - resolution: {integrity: sha512-KiMFTKNTmT/ccE79BURR/r6XRc2I2TCTZ0MpeWqHW2XnllbeghXvwGsdAfF/MzMilUcTfODtSmMxgoRFL9TM5g==} + /preact-render-to-string@6.5.7(preact@10.22.0): + resolution: {integrity: sha512-nACZDdv/ZZciuldVYMcfGqr61DKJeaAfPx96hn6OXoBGhgtU2yGQkA0EpTzWH4SvnwF0syLsL4WK7AIp3Ruc1g==} peerDependencies: preact: '>=10' dependencies: @@ -10534,7 +10875,7 @@ packages: agent-base: 7.1.1 debug: 4.3.4(supports-color@8.1.1) http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.4 + https-proxy-agent: 7.0.5 lru-cache: 7.18.3 pac-proxy-agent: 7.0.1 proxy-from-env: 1.1.0 @@ -10550,7 +10891,7 @@ packages: agent-base: 7.1.1 debug: 4.3.4(supports-color@8.1.1) http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.4 + https-proxy-agent: 7.0.5 lru-cache: 7.18.3 pac-proxy-agent: 7.0.1 proxy-from-env: 1.1.0 @@ -10590,7 +10931,7 @@ packages: engines: {node: '>=6'} dev: true - /puppeteer-core@20.9.0(typescript@5.4.5): + /puppeteer-core@20.9.0(typescript@5.5.3): resolution: {integrity: sha512-H9fYZQzMTRrkboEfPmf7m3CLDN6JvbxXA3qTtS+dFt27tR+CsFHzPsT6pzp6lYL6bJbAPaR0HaPO6uSi+F94Pg==} engines: {node: '>=16.3.0'} peerDependencies: @@ -10599,12 +10940,12 @@ packages: typescript: optional: true dependencies: - '@puppeteer/browsers': 1.4.6(typescript@5.4.5) + '@puppeteer/browsers': 1.4.6(typescript@5.5.3) chromium-bidi: 0.4.16(devtools-protocol@0.0.1147663) cross-fetch: 4.0.0 debug: 4.3.4(supports-color@8.1.1) devtools-protocol: 0.0.1147663 - typescript: 5.4.5 + typescript: 5.5.3 ws: 8.13.0 transitivePeerDependencies: - bufferutil @@ -10711,24 +11052,6 @@ packages: loose-envify: 1.4.0 dev: false - /read-package-json-fast@3.0.2: - resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - json-parse-even-better-errors: 3.0.2 - npm-normalize-package-bin: 3.0.1 - dev: false - - /read-package-json@7.0.1: - resolution: {integrity: sha512-8PcDiZ8DXUjLf687Ol4BR8Bpm2umR7vhoZOzNRt+uxD9GpBh/K+CAAALVIiYFknmvlmyg7hM7BSNUXPaCCqd0Q==} - engines: {node: ^16.14.0 || >=18.0.0} - dependencies: - glob: 10.3.15 - json-parse-even-better-errors: 3.0.2 - normalize-package-data: 6.0.1 - npm-normalize-package-bin: 3.0.1 - dev: false - /read-pkg-up@10.0.0: resolution: {integrity: sha512-jgmKiS//w2Zs+YbX039CorlkOp8FIVbSAN8r8GJHDsGlmNPXo+VeHkqAwCiQVTTx5/LwLZTcEw59z3DvcLbr0g==} engines: {node: '>=16'} @@ -11186,16 +11509,6 @@ packages: ajv-keywords: 3.5.2(ajv@6.12.6) dev: true - /schema-utils@4.2.0: - resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} - engines: {node: '>= 12.13.0'} - dependencies: - '@types/json-schema': 7.0.15 - ajv: 8.13.0 - ajv-formats: 2.1.1(ajv@8.13.0) - ajv-keywords: 5.1.0(ajv@8.13.0) - dev: true - /secure-json-parse@2.7.0: resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} dev: true @@ -11444,6 +11757,18 @@ packages: socks: 2.8.3 transitivePeerDependencies: - supports-color + dev: true + + /socks-proxy-agent@8.0.4: + resolution: {integrity: sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==} + engines: {node: '>= 14'} + dependencies: + agent-base: 7.1.1 + debug: 4.3.5 + socks: 2.8.3 + transitivePeerDependencies: + - supports-color + dev: false /socks@2.8.3: resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==} @@ -11537,6 +11862,12 @@ packages: resolution: {integrity: sha512-SWxXDROciuJs9YEYXUBjot5k/cqNGPPbT3QmkInFne4AGc1y+76It+jqU8rfsXKt57RRiunzZn1m9+KfuuNklw==} dev: true + /spacetrim@0.11.36: + resolution: {integrity: sha512-jqv5aAfMLkBnFK+38QUtEGgU7x1KrfpDnCdjX4+W1IEVgA8Kf3tk8K9je8j2nkCSXdIngjda53fuXERr4/61kw==} + requiresBuild: true + dev: true + optional: true + /spawn-command@0.0.2-1: resolution: {integrity: sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg==} dev: true @@ -11545,7 +11876,7 @@ packages: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.17 + spdx-license-ids: 3.0.18 /spdx-exceptions@2.5.0: resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} @@ -11554,10 +11885,10 @@ packages: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.17 + spdx-license-ids: 3.0.18 - /spdx-license-ids@3.0.17: - resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==} + /spdx-license-ids@3.0.18: + resolution: {integrity: sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==} /split-string@3.1.0: resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} @@ -11586,14 +11917,14 @@ packages: bcrypt-pbkdf: 1.0.2 optionalDependencies: cpu-features: 0.0.10 - nan: 2.19.0 + nan: 2.20.0 dev: false /ssri@10.0.6: resolution: {integrity: sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - minipass: 7.1.1 + minipass: 7.1.2 dev: false /stack-trace@0.0.10: @@ -11676,7 +12007,7 @@ packages: queue-tick: 1.0.1 text-decoder: 1.1.0 optionalDependencies: - bare-events: 2.4.0 + bare-events: 2.4.2 dev: true /strict-uri-encode@1.1.0: @@ -12175,7 +12506,7 @@ packages: engines: {node: '>=14.16'} dev: true - /ts-jest@29.1.2(@babel/core@7.24.5)(jest@29.7.0)(typescript@5.4.5): + /ts-jest@29.1.2(@babel/core@7.24.7)(jest@29.7.0)(typescript@5.4.5): resolution: {integrity: sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==} engines: {node: ^16.10.0 || ^18.0.0 || >=20.0.0} hasBin: true @@ -12196,7 +12527,7 @@ packages: esbuild: optional: true dependencies: - '@babel/core': 7.24.5 + '@babel/core': 7.24.7 bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 jest: 29.7.0(@types/node@18.19.33) @@ -12209,7 +12540,7 @@ packages: yargs-parser: 21.1.1 dev: true - /ts-node@10.9.2(@types/node@18.19.33)(typescript@5.4.5): + /ts-node@10.9.2(@types/node@18.19.33)(typescript@5.5.3): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -12235,20 +12566,11 @@ packages: create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.4.5 + typescript: 5.5.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: true - /tsconfig-paths-webpack-plugin@4.1.0: - resolution: {integrity: sha512-xWFISjviPydmtmgeUAuXp4N1fky+VCtfhOkDUFIv5ea7p4wuTomI4QTrXvFBX2S4jZsmyTSrStQl+E+4w+RzxA==} - engines: {node: '>=10.13.0'} - dependencies: - chalk: 4.1.2 - enhanced-resolve: 5.16.1 - tsconfig-paths: 4.2.0 - dev: true - /tsconfig-paths@4.2.0: resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} engines: {node: '>=6'} @@ -12290,7 +12612,7 @@ packages: engines: {node: ^16.14.0 || >=18.0.0} dependencies: '@tufjs/models': 2.0.1 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.5 make-fetch-happen: 13.0.1 transitivePeerDependencies: - supports-color @@ -12419,6 +12741,12 @@ packages: hasBin: true dev: true + /typescript@5.5.3: + resolution: {integrity: sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==} + engines: {node: '>=14.17'} + hasBin: true + dev: true + /uc.micro@1.0.6: resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} dev: true @@ -12456,11 +12784,6 @@ packages: '@fastify/busboy': 2.1.1 dev: true - /unicorn-magic@0.1.0: - resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} - engines: {node: '>=18'} - dev: true - /union-value@1.0.1: resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} engines: {node: '>=0.10.0'} @@ -12532,6 +12855,17 @@ packages: picocolors: 1.0.1 dev: true + /update-browserslist-db@1.1.0(browserslist@4.23.1): + resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.23.1 + escalade: 3.1.2 + picocolors: 1.0.1 + dev: true + /upper-case-first@2.0.2: resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} dependencies: @@ -12823,7 +13157,7 @@ packages: tmp-promise: 3.0.3 undici: 5.28.4 vscode-uri: 3.0.8 - webdriverio: 8.38.2(typescript@5.4.5) + webdriverio: 8.38.2(typescript@5.5.3) ws: 8.17.0 yargs-parser: 21.1.1 transitivePeerDependencies: @@ -12867,7 +13201,30 @@ packages: - utf-8-validate dev: true - /webdriverio@8.38.2(typescript@5.4.5): + /webdriver@8.39.0: + resolution: {integrity: sha512-Kc3+SfiH4ufyrIht683VT2vnJocx0pfH8rYdyPvEh1b2OYewtFTHK36k9rBDHZiBmk6jcSXs4M2xeFgOuon9Lg==} + engines: {node: ^16.13 || >=18} + requiresBuild: true + dependencies: + '@types/node': 20.14.10 + '@types/ws': 8.5.10 + '@wdio/config': 8.39.0 + '@wdio/logger': 8.38.0 + '@wdio/protocols': 8.38.0 + '@wdio/types': 8.39.0 + '@wdio/utils': 8.39.0 + deepmerge-ts: 5.1.0 + got: 12.6.1 + ky: 0.33.3 + ws: 8.18.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + optional: true + + /webdriverio@8.38.2(typescript@5.5.3): resolution: {integrity: sha512-r09y5UfivyYh5JOzT2SpJJ1zDmQl/R4OTH12opUqkjvp21BibCQm/uu1mrxGy4lzSHljrvqSVrrcGI+6UA1O8w==} engines: {node: ^16.13 || >=18} peerDependencies: @@ -12895,7 +13252,7 @@ packages: lodash.clonedeep: 4.5.0 lodash.zip: 4.2.0 minimatch: 9.0.4 - puppeteer-core: 20.9.0(typescript@5.4.5) + puppeteer-core: 20.9.0(typescript@5.5.3) query-selector-shadow-dom: 1.0.1 resq: 1.11.0 rgb2hex: 0.2.5 @@ -12909,6 +13266,50 @@ packages: - utf-8-validate dev: true + /webdriverio@8.39.1(typescript@5.5.3): + resolution: {integrity: sha512-dPwLgLNtP+l4vnybz+YFxxH8nBKOP7j6VVzKtfDyTLDQg9rz3U8OA4xMMQCBucnrVXy3KcKxGqlnMa+c4IfWCQ==} + engines: {node: ^16.13 || >=18} + requiresBuild: true + peerDependencies: + devtools: ^8.14.0 + peerDependenciesMeta: + devtools: + optional: true + dependencies: + '@types/node': 20.14.2 + '@wdio/config': 8.39.0 + '@wdio/logger': 8.38.0 + '@wdio/protocols': 8.38.0 + '@wdio/repl': 8.24.12 + '@wdio/types': 8.39.0 + '@wdio/utils': 8.39.0 + archiver: 7.0.1 + aria-query: 5.3.0 + css-shorthand-properties: 1.1.1 + css-value: 0.0.1 + devtools-protocol: 0.0.1302984 + grapheme-splitter: 1.0.4 + import-meta-resolve: 4.1.0 + is-plain-obj: 4.1.0 + jszip: 3.10.1 + lodash.clonedeep: 4.5.0 + lodash.zip: 4.2.0 + minimatch: 9.0.4 + puppeteer-core: 20.9.0(typescript@5.5.3) + query-selector-shadow-dom: 1.0.1 + resq: 1.11.0 + rgb2hex: 0.2.5 + serialize-error: 11.0.3 + webdriver: 8.39.0 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - typescript + - utf-8-validate + dev: true + optional: true + /webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} dev: true @@ -13131,6 +13532,21 @@ packages: optional: true dev: true + /ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} + engines: {node: '>=10.0.0'} + requiresBuild: true + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: true + optional: true + /xml2js@0.5.0: resolution: {integrity: sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==} engines: {node: '>=4.0.0'}