diff --git a/README.md b/README.md index 32abd3e9dc..1cdeba5a02 100644 --- a/README.md +++ b/README.md @@ -52,6 +52,16 @@ Versioning conventions for Zowe CLI and Plug-ins| [Versioning Guidelines](./docs ## **Building Zowe CLI From Source** Zowe CLI requires NPM version 8 and Cargo version 1.72.0 (or newer) to build from source. Before proceeding, check your NPM version with `npm --version` and if it's older than 8.x, update with `npm install -g npm`. To check your version of Cargo, run `cargo --version`. Cargo can be installed using rustup: [https://rustup.rs/](https://rustup.rs/). To update Cargo, run the `rustup update` command. +For developers using Linux, the following packages are required to build Zowe CLI from source: + +- Debian/Ubuntu: + - `sudo apt install build-essential libsecret-1-dev` +- Red Hat-based: + - `sudo dnf group install "Development Tools"` + - `sudo dnf install libsecret-devel` +- Arch Linux: + - `sudo pacman -S base-devel libsecret` + The first time that you download Zowe CLI from the GitHub repository, issue the following command to install the required Zowe CLI dependencies and several development tools: ``` diff --git a/__tests__/__integration__/__scripts__/imperative_ssh_create_profile.sh b/__tests__/__integration__/__scripts__/imperative_ssh_create_profile.sh deleted file mode 100755 index 909dbe3793..0000000000 --- a/__tests__/__integration__/__scripts__/imperative_ssh_create_profile.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -set -e - -echo "================SSH CREATE PROFILE===============" -zowe profiles create ssh $* -if [ $? -gt 0 ] -then - exit $? -fi \ No newline at end of file diff --git a/__tests__/__integration__/__scripts__/imperative_ssh_delete_profile.sh b/__tests__/__integration__/__scripts__/imperative_ssh_delete_profile.sh deleted file mode 100755 index e2af8cdc40..0000000000 --- a/__tests__/__integration__/__scripts__/imperative_ssh_delete_profile.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -set -e - -echo "================SSH DELETE PROFILE===============" -zowe profiles delete ssh $* -if [ $? -gt 0 ] -then - exit $? -fi \ No newline at end of file diff --git a/__tests__/__integration__/__scripts__/imperative_tso_create_profile.sh b/__tests__/__integration__/__scripts__/imperative_tso_create_profile.sh deleted file mode 100755 index 19d39bf380..0000000000 --- a/__tests__/__integration__/__scripts__/imperative_tso_create_profile.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -set -e - -echo "================TSO CREATE PROFILE===============" -zowe profiles create tso $* -if [ $? -gt 0 ] -then - exit $? -fi \ No newline at end of file diff --git a/__tests__/__integration__/__scripts__/imperative_tso_delete_profile.sh b/__tests__/__integration__/__scripts__/imperative_tso_delete_profile.sh deleted file mode 100755 index 246b20556a..0000000000 --- a/__tests__/__integration__/__scripts__/imperative_tso_delete_profile.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -set -e - -echo "================TSO DELETE PROFILE===============" -zowe profiles delete tso $* -if [ $? -gt 0 ] -then - exit $? -fi \ No newline at end of file diff --git a/__tests__/__integration__/__scripts__/imperative_zosmf_create_profile.sh b/__tests__/__integration__/__scripts__/imperative_zosmf_create_profile.sh deleted file mode 100755 index 1fcbf96662..0000000000 --- a/__tests__/__integration__/__scripts__/imperative_zosmf_create_profile.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -set -e - -echo "================ZOSMF CREATE PROFILE===============" -zowe profiles create zosmf $* -if [ $? -gt 0 ] -then - exit $? -fi \ No newline at end of file diff --git a/__tests__/__integration__/__scripts__/imperative_zosmf_delete_profile.sh b/__tests__/__integration__/__scripts__/imperative_zosmf_delete_profile.sh deleted file mode 100755 index 347b33f57d..0000000000 --- a/__tests__/__integration__/__scripts__/imperative_zosmf_delete_profile.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash -set -e - -echo "================ZOSMF DELETE PROFILE===============" -zowe profiles delete zosmf $* -if [ $? -gt 0 ] -then - exit $? -fi \ No newline at end of file diff --git a/__tests__/__integration__/__snapshots__/imperative.secure.integration.test.ts.snap b/__tests__/__integration__/__snapshots__/imperative.secure.integration.test.ts.snap index cc24441879..b2f87f5e74 100644 --- a/__tests__/__integration__/__snapshots__/imperative.secure.integration.test.ts.snap +++ b/__tests__/__integration__/__snapshots__/imperative.secure.integration.test.ts.snap @@ -1,45 +1,5 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`Imperative Secure Tests Cli Profile Manager Default Credential Management Generic Failure Scenarios should fail if the Credential Manager is unable to retrieve a password 1`] = ` -"Command Preparation Failed: -Unable to load the secure field \\"username\\" associated with the profile \\"profile-name-changed\\" of type \\"username-password\\". -Error Details: -Unable to load credentials. -Could not find an entry in the credential vault for the following: - Service = example_with_profiles - Account = username-password_profile-name-changed_username - -Possible Causes: - This could have been caused by any manual removal of credentials from your vault. - -Resolutions: - Recreate the credentials in the vault for the particular service in the vault. - To recreate credentials, issue a 'profiles create' sub-command with the --ow flag. - -" -`; - -exports[`Imperative Secure Tests Cli Profile Manager Default Credential Management Generic Failure Scenarios should fail if the Credential Manager is unable to retrieve a password 2`] = ` -"Your default profile named profile-name of type username-password was successfully deleted. -Because you deleted it, the default profile for type username-password has been cleared. -To set a new default profile, run \\"zowe profiles set-default username-password \\". -" -`; - -exports[`Imperative Secure Tests Cli Profile Manager Default Credential Management Generic Success Scenarios should update a password 1`] = ` -" -Warning: The command 'profiles update' is deprecated. -Recommended replacement: The 'config set' command -" -`; - -exports[`Imperative Secure Tests Cli Profile Manager Default Credential Management Generic Success Scenarios should update a password 2`] = ` -"Your default profile named profile-name of type username-password was successfully deleted. -Because you deleted it, the default profile for type username-password has been cleared. -To set a new default profile, run \\"zowe profiles set-default username-password \\". -" -`; - exports[`Imperative Secure Tests imperative-test-cli config profiles should list profiles 1`] = ` "secured base diff --git a/__tests__/__integration__/imperative.integration.subtest.ts b/__tests__/__integration__/imperative.integration.subtest.ts index b3d42c0247..3985a5d72f 100644 --- a/__tests__/__integration__/imperative.integration.subtest.ts +++ b/__tests__/__integration__/imperative.integration.subtest.ts @@ -9,7 +9,7 @@ * */ -import { ITestEnvironment, runCliScript } from "../__packages__/cli-test-utils"; +import { ITestEnvironment, runCliScript } from "../__packages__/cli-test-utils/src"; import { TestEnvironment } from "../__src__/environment/TestEnvironment"; import { ITestPropertiesSchema } from "../__src__/properties/ITestPropertiesSchema"; diff --git a/__tests__/__integration__/imperative.secure.integration.test.ts b/__tests__/__integration__/imperative.secure.integration.test.ts index 1dfb3f02a1..19393d71ce 100644 --- a/__tests__/__integration__/imperative.secure.integration.test.ts +++ b/__tests__/__integration__/imperative.secure.integration.test.ts @@ -14,7 +14,6 @@ /* eslint-disable max-len */ describe("Imperative Secure Tests", () => { - require("./imperative.integration.subtest"); require("./../../packages/imperative/__tests__/src/packages/profiles/__integration__/CliProfileManager.credentials.integration.subtest"); require("./../../packages/imperative/__tests__/src/packages/imperative/__integration__/PluginManagementFacility.integration.subtest"); require("./../../packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/init/cli.imperative-test-cli.config.init.integration.subtest"); @@ -23,7 +22,6 @@ describe("Imperative Secure Tests", () => { require("./../../packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/profiles/cli.imperative-test-cli.config.profiles.integration.subtest"); require("./../../packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/secure/cli.imperative-test-cli.config.secure.integration.subtest"); require("./../../packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/set/cli.imperative-test-cli.config.set.integration.subtest"); - require("./../../packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/profiles/cli.imperative-test-cli.profiles.create.secured-profile.integration.subtest"); require("./../../packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/test/cli.imperative-test-cli.test.config-auto-store.integration.subtest"); require("./../../packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/test/cli.imperative-test-cli.test.config-override.integration.subtest"); }); diff --git a/__tests__/__packages__/cli-test-utils/package.json b/__tests__/__packages__/cli-test-utils/package.json index b69c7a6c55..fd4ba2e5e3 100644 --- a/__tests__/__packages__/cli-test-utils/package.json +++ b/__tests__/__packages__/cli-test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@zowe/cli-test-utils", - "version": "8.0.0-next.202401162202", + "version": "8.0.0-next.202401191954", "description": "Test utilities package for Zowe CLI plug-ins", "author": "Zowe", "license": "EPL-2.0", @@ -43,7 +43,7 @@ "devDependencies": { "@types/js-yaml": "^4.0.0", "@types/uuid": "^8.3.0", - "@zowe/imperative": "8.0.0-next.202401162202" + "@zowe/imperative": "8.0.0-next.202401191954" }, "peerDependencies": { "@zowe/imperative": "^8.0.0-next" diff --git a/__tests__/__packages__/cli-test-utils/tsconfig.json b/__tests__/__packages__/cli-test-utils/tsconfig.json index 6e76d7b0f5..7312a46372 100644 --- a/__tests__/__packages__/cli-test-utils/tsconfig.json +++ b/__tests__/__packages__/cli-test-utils/tsconfig.json @@ -1,18 +1,11 @@ { + "extends": "../../../tsconfig.json", "compilerOptions": { - /* Visit https://aka.ms/tsconfig.json to read more about this file */ - "target": "es5", - "module": "commonjs", - "declaration": true, "outDir": "./lib", - "rootDir": "./src", - "strict": true, - "esModuleInterop": true, "skipLibCheck": true, "forceConsistentCasingInFileNames": true, - "types": [ - "node", - "jest" - ] + "rootDir": "./src", + "esModuleInterop": true, + "target": "es5", } } diff --git a/__tests__/__scripts__/exitOnFailure.sh b/__tests__/__scripts__/exitOnFailure.sh new file mode 100644 index 0000000000..5e7beb8643 --- /dev/null +++ b/__tests__/__scripts__/exitOnFailure.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +# function to exit if we encounter a bad return code +exitOnFailure () { + failureMsg=${1:?"First parm (failureMsg) is required."} + actualExitCode=${2:?"Second parm (actualExitCode) is required."} + goodExitCode=${3:-0} + if [ $actualExitCode != $goodExitCode ]; then + echo `basename $0`": $failureMsg" 1>&2 + exit $actualExitCode + fi +} diff --git a/__tests__/__src__/environment/TestEnvironment.ts b/__tests__/__src__/environment/TestEnvironment.ts index ad81b91189..eacc357466 100644 --- a/__tests__/__src__/environment/TestEnvironment.ts +++ b/__tests__/__src__/environment/TestEnvironment.ts @@ -14,7 +14,7 @@ import * as nodePath from "path"; import { AbstractSession, Session } from "@zowe/imperative"; import { ITestPropertiesSchema } from "../properties/ITestPropertiesSchema"; -import { ISetupEnvironmentParms, ITestEnvironment, TestEnvironment as BaseTestEnvironment } from "../../__packages__/cli-test-utils"; +import { ISetupEnvironmentParms, ITestEnvironment, TestEnvironment as BaseTestEnvironment } from "../../__packages__/cli-test-utils/src"; import { SshSession } from "../../../packages/zosuss/src/SshSession"; /** diff --git a/__tests__/__system__/cli/logging/LoggingCredentials.system.test.ts b/__tests__/__system__/cli/logging/LoggingCredentials.system.test.ts index a9ad2c6d4f..10189f338a 100644 --- a/__tests__/__system__/cli/logging/LoggingCredentials.system.test.ts +++ b/__tests__/__system__/cli/logging/LoggingCredentials.system.test.ts @@ -9,7 +9,7 @@ * */ -import { ITestEnvironment, TempTestProfiles, runCliScript } from "../../../__packages__/cli-test-utils"; +import { ITestEnvironment, TempTestProfiles, runCliScript } from "../../../__packages__/cli-test-utils/src"; import { TestEnvironment } from "../../../__src__/environment/TestEnvironment"; import { ITestPropertiesSchema } from "../../../__src__/properties/ITestPropertiesSchema"; import { join } from "path"; diff --git a/jest.config.js b/jest.config.js index a68db0a2a0..cd74c44fab 100644 --- a/jest.config.js +++ b/jest.config.js @@ -23,7 +23,8 @@ const sharedConfig = { "testRegex": "__tests__.*\\.(spec|test)\\.ts$", "moduleFileExtensions": [ "ts", - "js" + "js", + "json" ], "testEnvironment": "node", "testPathIgnorePatterns": [ @@ -149,5 +150,7 @@ module.exports = { "!**/node_modules/**", "!**/lib/**" ], - "maxWorkers": "67%", // You may need to specify maxWorkers if you run out of RAM + // You may need to specify maxWorkers if you run out of RAM + // GHA should use 75% due to high ram, low core count, end user systems ~67% + "maxWorkers": process.env.GITHUB_ACTIONS != null ? "75%" : "67%", } diff --git a/lerna.json b/lerna.json index 044cd0678d..07e4e8da51 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "8.0.0-next.202401162202", + "version": "8.0.0-next.202401191954", "command": { "publish": { "ignoreChanges": [ diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 520edde1bc..661fe3831c 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -51,7 +51,7 @@ }, "__tests__/__packages__/cli-test-utils": { "name": "@zowe/cli-test-utils", - "version": "8.0.0-next.202401162202", + "version": "8.0.0-next.202401191954", "license": "EPL-2.0", "dependencies": { "find-up": "^5.0.0", @@ -62,7 +62,7 @@ "devDependencies": { "@types/js-yaml": "^4.0.0", "@types/uuid": "^8.3.0", - "@zowe/imperative": "8.0.0-next.202401162202" + "@zowe/imperative": "8.0.0-next.202401191954" }, "peerDependencies": { "@zowe/imperative": "^8.0.0-next" @@ -701,6 +701,7 @@ }, "node_modules/@gar/promisify": { "version": "1.1.3", + "dev": true, "license": "MIT" }, "node_modules/@humanwhocodes/config-array": { @@ -741,6 +742,95 @@ "node": ">=6.9.0" } }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/@isaacs/string-locale-compare": { "version": "1.1.0", "dev": true, @@ -1457,17 +1547,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/reporters/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@jest/reporters/node_modules/semver": { "version": "7.5.4", "dev": true, @@ -1509,11 +1588,6 @@ "node": ">=10.12.0" } }, - "node_modules/@jest/reporters/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, "node_modules/@jest/source-map": { "version": "29.6.3", "dev": true, @@ -1759,19 +1833,6 @@ "semver": "^7.0.0" } }, - "node_modules/@lerna/add/node_modules/chownr": { - "version": "2.0.0", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/add/node_modules/err-code": { - "version": "2.0.3", - "dev": true, - "license": "MIT" - }, "node_modules/@lerna/add/node_modules/hosted-git-info": { "version": "5.1.0", "dev": true, @@ -1886,38 +1947,6 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/add/node_modules/promise-retry": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/add/node_modules/read-package-json-fast": { - "version": "2.0.3", - "dev": true, - "license": "ISC", - "dependencies": { - "json-parse-even-better-errors": "^2.3.0", - "npm-normalize-package-bin": "^1.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/add/node_modules/retry": { - "version": "0.12.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, "node_modules/@lerna/add/node_modules/rimraf": { "version": "3.0.2", "dev": true, @@ -1975,63 +2004,6 @@ "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/bootstrap/node_modules/are-we-there-yet": { - "version": "3.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/bootstrap/node_modules/gauge": { - "version": "4.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/bootstrap/node_modules/npmlog": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/bootstrap/node_modules/readable-stream": { - "version": "3.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/@lerna/changed": { "version": "5.6.2", "dev": true, @@ -2104,18 +2076,6 @@ "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/cli/node_modules/are-we-there-yet": { - "version": "3.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, "node_modules/@lerna/cli/node_modules/cliui": { "version": "7.0.4", "dev": true, @@ -2126,51 +2086,6 @@ "wrap-ansi": "^7.0.0" } }, - "node_modules/@lerna/cli/node_modules/gauge": { - "version": "4.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/cli/node_modules/npmlog": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/cli/node_modules/readable-stream": { - "version": "3.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/@lerna/cli/node_modules/y18n": { "version": "5.0.8", "dev": true, @@ -2209,139 +2124,25 @@ "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/collect-uncommitted/node_modules/are-we-there-yet": { - "version": "3.0.1", + "node_modules/@lerna/collect-updates": { + "version": "5.6.2", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "@lerna/child-process": "5.6.2", + "@lerna/describe-ref": "5.6.2", + "minimatch": "^3.0.4", + "npmlog": "^6.0.2", + "slash": "^3.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/collect-uncommitted/node_modules/gauge": { - "version": "4.0.4", + "node_modules/@lerna/command": { + "version": "5.6.2", "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/collect-uncommitted/node_modules/npmlog": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/collect-uncommitted/node_modules/readable-stream": { - "version": "3.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@lerna/collect-updates": { - "version": "5.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@lerna/child-process": "5.6.2", - "@lerna/describe-ref": "5.6.2", - "minimatch": "^3.0.4", - "npmlog": "^6.0.2", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/collect-updates/node_modules/are-we-there-yet": { - "version": "3.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/collect-updates/node_modules/gauge": { - "version": "4.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/collect-updates/node_modules/npmlog": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/collect-updates/node_modules/readable-stream": { - "version": "3.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@lerna/command": { - "version": "5.6.2", - "dev": true, - "license": "MIT", + "license": "MIT", "dependencies": { "@lerna/child-process": "5.6.2", "@lerna/package-graph": "5.6.2", @@ -2358,63 +2159,6 @@ "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/command/node_modules/are-we-there-yet": { - "version": "3.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/command/node_modules/gauge": { - "version": "4.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/command/node_modules/npmlog": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/command/node_modules/readable-stream": { - "version": "3.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/@lerna/conventional-commits": { "version": "5.6.2", "dev": true, @@ -2435,18 +2179,6 @@ "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/conventional-commits/node_modules/are-we-there-yet": { - "version": "3.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, "node_modules/@lerna/conventional-commits/node_modules/fs-extra": { "version": "9.1.0", "dev": true, @@ -2461,24 +2193,6 @@ "node": ">=10" } }, - "node_modules/@lerna/conventional-commits/node_modules/gauge": { - "version": "4.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, "node_modules/@lerna/conventional-commits/node_modules/jsonfile": { "version": "6.1.0", "dev": true, @@ -2490,33 +2204,6 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/@lerna/conventional-commits/node_modules/npmlog": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/conventional-commits/node_modules/readable-stream": { - "version": "3.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/@lerna/create": { "version": "5.6.2", "dev": true, @@ -2556,18 +2243,6 @@ "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/create-symlink/node_modules/are-we-there-yet": { - "version": "3.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, "node_modules/@lerna/create-symlink/node_modules/fs-extra": { "version": "9.1.0", "dev": true, @@ -2582,24 +2257,6 @@ "node": ">=10" } }, - "node_modules/@lerna/create-symlink/node_modules/gauge": { - "version": "4.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, "node_modules/@lerna/create-symlink/node_modules/jsonfile": { "version": "6.1.0", "dev": true, @@ -2611,33 +2268,6 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/@lerna/create-symlink/node_modules/npmlog": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/create-symlink/node_modules/readable-stream": { - "version": "3.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/@lerna/create/node_modules/@npmcli/git": { "version": "3.0.2", "dev": true, @@ -2676,19 +2306,6 @@ "semver": "^7.0.0" } }, - "node_modules/@lerna/create/node_modules/chownr": { - "version": "2.0.0", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/create/node_modules/err-code": { - "version": "2.0.3", - "dev": true, - "license": "MIT" - }, "node_modules/@lerna/create/node_modules/fs-extra": { "version": "9.1.0", "dev": true, @@ -2828,38 +2445,6 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/create/node_modules/promise-retry": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/create/node_modules/read-package-json-fast": { - "version": "2.0.3", - "dev": true, - "license": "ISC", - "dependencies": { - "json-parse-even-better-errors": "^2.3.0", - "npm-normalize-package-bin": "^1.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/create/node_modules/retry": { - "version": "0.12.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, "node_modules/@lerna/create/node_modules/rimraf": { "version": "3.0.2", "dev": true, @@ -2897,632 +2482,615 @@ "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/describe-ref/node_modules/are-we-there-yet": { - "version": "3.0.1", + "node_modules/@lerna/diff": { + "version": "5.6.2", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "@lerna/child-process": "5.6.2", + "@lerna/command": "5.6.2", + "@lerna/validation-error": "5.6.2", + "npmlog": "^6.0.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/describe-ref/node_modules/gauge": { - "version": "4.0.4", + "node_modules/@lerna/exec": { + "version": "5.6.2", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" + "@lerna/child-process": "5.6.2", + "@lerna/command": "5.6.2", + "@lerna/filter-options": "5.6.2", + "@lerna/profiler": "5.6.2", + "@lerna/run-topologically": "5.6.2", + "@lerna/validation-error": "5.6.2", + "p-map": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/describe-ref/node_modules/npmlog": { - "version": "6.0.2", + "node_modules/@lerna/filter-options": { + "version": "5.6.2", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" + "@lerna/collect-updates": "5.6.2", + "@lerna/filter-packages": "5.6.2", + "dedent": "^0.7.0", + "npmlog": "^6.0.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/describe-ref/node_modules/readable-stream": { - "version": "3.6.0", + "node_modules/@lerna/filter-packages": { + "version": "5.6.2", "dev": true, "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "@lerna/validation-error": "5.6.2", + "multimatch": "^5.0.0", + "npmlog": "^6.0.2" }, "engines": { - "node": ">= 6" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/diff": { + "node_modules/@lerna/get-npm-exec-opts": { "version": "5.6.2", "dev": true, "license": "MIT", "dependencies": { - "@lerna/child-process": "5.6.2", - "@lerna/command": "5.6.2", - "@lerna/validation-error": "5.6.2", "npmlog": "^6.0.2" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/diff/node_modules/are-we-there-yet": { - "version": "3.0.1", + "node_modules/@lerna/get-packed": { + "version": "5.6.2", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "fs-extra": "^9.1.0", + "ssri": "^9.0.1", + "tar": "^6.1.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/diff/node_modules/gauge": { - "version": "4.0.4", + "node_modules/@lerna/get-packed/node_modules/fs-extra": { + "version": "9.1.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=10" } }, - "node_modules/@lerna/diff/node_modules/npmlog": { - "version": "6.0.2", + "node_modules/@lerna/get-packed/node_modules/jsonfile": { + "version": "6.1.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" + "universalify": "^2.0.0" }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/@lerna/diff/node_modules/readable-stream": { - "version": "3.6.0", + "node_modules/@lerna/github-client": { + "version": "5.6.2", "dev": true, "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "@lerna/child-process": "5.6.2", + "@octokit/plugin-enterprise-rest": "^6.0.1", + "@octokit/rest": "^19.0.3", + "git-url-parse": "^13.1.0", + "npmlog": "^6.0.2" }, "engines": { - "node": ">= 6" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/exec": { + "node_modules/@lerna/gitlab-client": { "version": "5.6.2", "dev": true, "license": "MIT", "dependencies": { - "@lerna/child-process": "5.6.2", - "@lerna/command": "5.6.2", - "@lerna/filter-options": "5.6.2", - "@lerna/profiler": "5.6.2", - "@lerna/run-topologically": "5.6.2", - "@lerna/validation-error": "5.6.2", - "p-map": "^4.0.0" + "node-fetch": "^2.6.1", + "npmlog": "^6.0.2" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/filter-options": { + "node_modules/@lerna/global-options": { "version": "5.6.2", "dev": true, "license": "MIT", - "dependencies": { - "@lerna/collect-updates": "5.6.2", - "@lerna/filter-packages": "5.6.2", - "dedent": "^0.7.0", - "npmlog": "^6.0.2" - }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/filter-options/node_modules/are-we-there-yet": { - "version": "3.0.1", + "node_modules/@lerna/has-npm-version": { + "version": "5.6.2", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "@lerna/child-process": "5.6.2", + "semver": "^7.3.4" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/filter-options/node_modules/gauge": { - "version": "4.0.4", + "node_modules/@lerna/import": { + "version": "5.6.2", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" + "@lerna/child-process": "5.6.2", + "@lerna/command": "5.6.2", + "@lerna/prompt": "5.6.2", + "@lerna/pulse-till-done": "5.6.2", + "@lerna/validation-error": "5.6.2", + "dedent": "^0.7.0", + "fs-extra": "^9.1.0", + "p-map-series": "^2.1.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/filter-options/node_modules/npmlog": { - "version": "6.0.2", + "node_modules/@lerna/import/node_modules/fs-extra": { + "version": "9.1.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=10" } }, - "node_modules/@lerna/filter-options/node_modules/readable-stream": { - "version": "3.6.0", + "node_modules/@lerna/import/node_modules/jsonfile": { + "version": "6.1.0", "dev": true, "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "universalify": "^2.0.0" }, - "engines": { - "node": ">= 6" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/@lerna/filter-packages": { + "node_modules/@lerna/info": { "version": "5.6.2", "dev": true, "license": "MIT", "dependencies": { - "@lerna/validation-error": "5.6.2", - "multimatch": "^5.0.0", - "npmlog": "^6.0.2" + "@lerna/command": "5.6.2", + "@lerna/output": "5.6.2", + "envinfo": "^7.7.4" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/filter-packages/node_modules/are-we-there-yet": { - "version": "3.0.1", + "node_modules/@lerna/init": { + "version": "5.6.2", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "@lerna/child-process": "5.6.2", + "@lerna/command": "5.6.2", + "@lerna/project": "5.6.2", + "fs-extra": "^9.1.0", + "p-map": "^4.0.0", + "write-json-file": "^4.3.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/filter-packages/node_modules/gauge": { - "version": "4.0.4", + "node_modules/@lerna/init/node_modules/fs-extra": { + "version": "9.1.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=10" } }, - "node_modules/@lerna/filter-packages/node_modules/npmlog": { - "version": "6.0.2", + "node_modules/@lerna/init/node_modules/jsonfile": { + "version": "6.1.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" + "universalify": "^2.0.0" }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/@lerna/filter-packages/node_modules/readable-stream": { - "version": "3.6.0", + "node_modules/@lerna/link": { + "version": "5.6.2", "dev": true, "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "@lerna/command": "5.6.2", + "@lerna/package-graph": "5.6.2", + "@lerna/symlink-dependencies": "5.6.2", + "@lerna/validation-error": "5.6.2", + "p-map": "^4.0.0", + "slash": "^3.0.0" }, "engines": { - "node": ">= 6" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/get-npm-exec-opts": { + "node_modules/@lerna/list": { "version": "5.6.2", "dev": true, "license": "MIT", "dependencies": { - "npmlog": "^6.0.2" + "@lerna/command": "5.6.2", + "@lerna/filter-options": "5.6.2", + "@lerna/listable": "5.6.2", + "@lerna/output": "5.6.2" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/get-npm-exec-opts/node_modules/are-we-there-yet": { - "version": "3.0.1", + "node_modules/@lerna/listable": { + "version": "5.6.2", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "@lerna/query-graph": "5.6.2", + "chalk": "^4.1.0", + "columnify": "^1.6.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/get-npm-exec-opts/node_modules/gauge": { - "version": "4.0.4", + "node_modules/@lerna/log-packed": { + "version": "5.6.2", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", + "byte-size": "^7.0.0", + "columnify": "^1.6.0", "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" + "npmlog": "^6.0.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/get-npm-exec-opts/node_modules/npmlog": { - "version": "6.0.2", + "node_modules/@lerna/npm-conf": { + "version": "5.6.2", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" + "config-chain": "^1.1.12", + "pify": "^5.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/get-npm-exec-opts/node_modules/readable-stream": { - "version": "3.6.0", + "node_modules/@lerna/npm-dist-tag": { + "version": "5.6.2", "dev": true, "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "@lerna/otplease": "5.6.2", + "npm-package-arg": "8.1.1", + "npm-registry-fetch": "^13.3.0", + "npmlog": "^6.0.2" }, "engines": { - "node": ">= 6" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/get-packed": { - "version": "5.6.2", + "node_modules/@lerna/npm-dist-tag/node_modules/builtins": { + "version": "5.0.1", "dev": true, "license": "MIT", "dependencies": { - "fs-extra": "^9.1.0", - "ssri": "^9.0.1", - "tar": "^6.1.0" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" + "semver": "^7.0.0" } }, - "node_modules/@lerna/get-packed/node_modules/fs-extra": { - "version": "9.1.0", + "node_modules/@lerna/npm-dist-tag/node_modules/hosted-git-info": { + "version": "5.1.0", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "lru-cache": "^7.5.1" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/get-packed/node_modules/jsonfile": { - "version": "6.1.0", + "node_modules/@lerna/npm-dist-tag/node_modules/lru-cache": { + "version": "7.14.0", "dev": true, - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "license": "ISC", + "engines": { + "node": ">=12" } }, - "node_modules/@lerna/github-client": { - "version": "5.6.2", + "node_modules/@lerna/npm-dist-tag/node_modules/minipass-fetch": { + "version": "2.1.2", "dev": true, "license": "MIT", "dependencies": { - "@lerna/child-process": "5.6.2", - "@octokit/plugin-enterprise-rest": "^6.0.1", - "@octokit/rest": "^19.0.3", - "git-url-parse": "^13.1.0", - "npmlog": "^6.0.2" + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" }, "engines": { - "node": "^14.15.0 || >=16.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" } }, - "node_modules/@lerna/github-client/node_modules/are-we-there-yet": { - "version": "3.0.1", + "node_modules/@lerna/npm-dist-tag/node_modules/npm-registry-fetch": { + "version": "13.3.1", "dev": true, "license": "ISC", "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "make-fetch-happen": "^10.0.6", + "minipass": "^3.1.6", + "minipass-fetch": "^2.0.3", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^9.0.1", + "proc-log": "^2.0.0" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/github-client/node_modules/gauge": { - "version": "4.0.4", + "node_modules/@lerna/npm-dist-tag/node_modules/npm-registry-fetch/node_modules/npm-package-arg": { + "version": "9.1.2", "dev": true, "license": "ISC", "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" + "hosted-git-info": "^5.0.0", + "proc-log": "^2.0.1", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/github-client/node_modules/npmlog": { - "version": "6.0.2", + "node_modules/@lerna/npm-dist-tag/node_modules/validate-npm-package-name": { + "version": "4.0.0", "dev": true, "license": "ISC", "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" + "builtins": "^5.0.0" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/github-client/node_modules/readable-stream": { - "version": "3.6.0", + "node_modules/@lerna/npm-install": { + "version": "5.6.2", "dev": true, "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "@lerna/child-process": "5.6.2", + "@lerna/get-npm-exec-opts": "5.6.2", + "fs-extra": "^9.1.0", + "npm-package-arg": "8.1.1", + "npmlog": "^6.0.2", + "signal-exit": "^3.0.3", + "write-pkg": "^4.0.0" }, "engines": { - "node": ">= 6" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/gitlab-client": { - "version": "5.6.2", + "node_modules/@lerna/npm-install/node_modules/fs-extra": { + "version": "9.1.0", "dev": true, "license": "MIT", "dependencies": { - "node-fetch": "^2.6.1", - "npmlog": "^6.0.2" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": "^14.15.0 || >=16.0.0" + "node": ">=10" } }, - "node_modules/@lerna/gitlab-client/node_modules/are-we-there-yet": { - "version": "3.0.1", + "node_modules/@lerna/npm-install/node_modules/jsonfile": { + "version": "6.1.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "universalify": "^2.0.0" }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/@lerna/gitlab-client/node_modules/gauge": { - "version": "4.0.4", + "node_modules/@lerna/npm-publish": { + "version": "5.6.2", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" + "@lerna/otplease": "5.6.2", + "@lerna/run-lifecycle": "5.6.2", + "fs-extra": "^9.1.0", + "libnpmpublish": "^6.0.4", + "npm-package-arg": "8.1.1", + "npmlog": "^6.0.2", + "pify": "^5.0.0", + "read-package-json": "^5.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/gitlab-client/node_modules/npmlog": { - "version": "6.0.2", + "node_modules/@lerna/npm-publish/node_modules/fs-extra": { + "version": "9.1.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=10" } }, - "node_modules/@lerna/gitlab-client/node_modules/readable-stream": { - "version": "3.6.0", + "node_modules/@lerna/npm-publish/node_modules/jsonfile": { + "version": "6.1.0", "dev": true, "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@lerna/npm-run-script": { + "version": "5.6.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@lerna/child-process": "5.6.2", + "@lerna/get-npm-exec-opts": "5.6.2", + "npmlog": "^6.0.2" }, "engines": { - "node": ">= 6" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/global-options": { + "node_modules/@lerna/otplease": { "version": "5.6.2", "dev": true, "license": "MIT", + "dependencies": { + "@lerna/prompt": "5.6.2" + }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/has-npm-version": { + "node_modules/@lerna/output": { "version": "5.6.2", "dev": true, "license": "MIT", "dependencies": { - "@lerna/child-process": "5.6.2", - "semver": "^7.3.4" + "npmlog": "^6.0.2" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/import": { + "node_modules/@lerna/pack-directory": { "version": "5.6.2", "dev": true, "license": "MIT", "dependencies": { - "@lerna/child-process": "5.6.2", - "@lerna/command": "5.6.2", - "@lerna/prompt": "5.6.2", - "@lerna/pulse-till-done": "5.6.2", - "@lerna/validation-error": "5.6.2", - "dedent": "^0.7.0", - "fs-extra": "^9.1.0", - "p-map-series": "^2.1.0" + "@lerna/get-packed": "5.6.2", + "@lerna/package": "5.6.2", + "@lerna/run-lifecycle": "5.6.2", + "@lerna/temp-write": "5.6.2", + "npm-packlist": "^5.1.1", + "npmlog": "^6.0.2", + "tar": "^6.1.0" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/import/node_modules/fs-extra": { - "version": "9.1.0", + "node_modules/@lerna/package": { + "version": "5.6.2", "dev": true, "license": "MIT", "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "load-json-file": "^6.2.0", + "npm-package-arg": "8.1.1", + "write-pkg": "^4.0.0" }, "engines": { - "node": ">=10" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/import/node_modules/jsonfile": { - "version": "6.1.0", + "node_modules/@lerna/package-graph": { + "version": "5.6.2", "dev": true, "license": "MIT", "dependencies": { - "universalify": "^2.0.0" + "@lerna/prerelease-id-from-version": "5.6.2", + "@lerna/validation-error": "5.6.2", + "npm-package-arg": "8.1.1", + "npmlog": "^6.0.2", + "semver": "^7.3.4" }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "engines": { + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/info": { + "node_modules/@lerna/prerelease-id-from-version": { "version": "5.6.2", "dev": true, "license": "MIT", "dependencies": { - "@lerna/command": "5.6.2", - "@lerna/output": "5.6.2", - "envinfo": "^7.7.4" + "semver": "^7.3.4" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/init": { + "node_modules/@lerna/profiler": { "version": "5.6.2", "dev": true, "license": "MIT", "dependencies": { - "@lerna/child-process": "5.6.2", - "@lerna/command": "5.6.2", - "@lerna/project": "5.6.2", "fs-extra": "^9.1.0", - "p-map": "^4.0.0", - "write-json-file": "^4.3.0" + "npmlog": "^6.0.2", + "upath": "^2.0.1" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/init/node_modules/fs-extra": { + "node_modules/@lerna/profiler/node_modules/fs-extra": { "version": "9.1.0", "dev": true, "license": "MIT", @@ -3536,7 +3104,7 @@ "node": ">=10" } }, - "node_modules/@lerna/init/node_modules/jsonfile": { + "node_modules/@lerna/profiler/node_modules/jsonfile": { "version": "6.1.0", "dev": true, "license": "MIT", @@ -3547,196 +3115,171 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/@lerna/link": { + "node_modules/@lerna/profiler/node_modules/upath": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/@lerna/project": { "version": "5.6.2", "dev": true, "license": "MIT", "dependencies": { - "@lerna/command": "5.6.2", - "@lerna/package-graph": "5.6.2", - "@lerna/symlink-dependencies": "5.6.2", + "@lerna/package": "5.6.2", "@lerna/validation-error": "5.6.2", + "cosmiconfig": "^7.0.0", + "dedent": "^0.7.0", + "dot-prop": "^6.0.1", + "glob-parent": "^5.1.1", + "globby": "^11.0.2", + "js-yaml": "^4.1.0", + "load-json-file": "^6.2.0", + "npmlog": "^6.0.2", "p-map": "^4.0.0", - "slash": "^3.0.0" + "resolve-from": "^5.0.0", + "write-json-file": "^4.3.0" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/list": { - "version": "5.6.2", + "node_modules/@lerna/project/node_modules/resolve-from": { + "version": "5.0.0", "dev": true, "license": "MIT", - "dependencies": { - "@lerna/command": "5.6.2", - "@lerna/filter-options": "5.6.2", - "@lerna/listable": "5.6.2", - "@lerna/output": "5.6.2" - }, "engines": { - "node": "^14.15.0 || >=16.0.0" + "node": ">=8" } }, - "node_modules/@lerna/listable": { + "node_modules/@lerna/prompt": { "version": "5.6.2", "dev": true, "license": "MIT", "dependencies": { - "@lerna/query-graph": "5.6.2", - "chalk": "^4.1.0", - "columnify": "^1.6.0" + "inquirer": "^8.2.4", + "npmlog": "^6.0.2" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/log-packed": { + "node_modules/@lerna/publish": { "version": "5.6.2", "dev": true, "license": "MIT", "dependencies": { - "byte-size": "^7.0.0", - "columnify": "^1.6.0", - "has-unicode": "^2.0.1", - "npmlog": "^6.0.2" + "@lerna/check-working-tree": "5.6.2", + "@lerna/child-process": "5.6.2", + "@lerna/collect-updates": "5.6.2", + "@lerna/command": "5.6.2", + "@lerna/describe-ref": "5.6.2", + "@lerna/log-packed": "5.6.2", + "@lerna/npm-conf": "5.6.2", + "@lerna/npm-dist-tag": "5.6.2", + "@lerna/npm-publish": "5.6.2", + "@lerna/otplease": "5.6.2", + "@lerna/output": "5.6.2", + "@lerna/pack-directory": "5.6.2", + "@lerna/prerelease-id-from-version": "5.6.2", + "@lerna/prompt": "5.6.2", + "@lerna/pulse-till-done": "5.6.2", + "@lerna/run-lifecycle": "5.6.2", + "@lerna/run-topologically": "5.6.2", + "@lerna/validation-error": "5.6.2", + "@lerna/version": "5.6.2", + "fs-extra": "^9.1.0", + "libnpmaccess": "^6.0.3", + "npm-package-arg": "8.1.1", + "npm-registry-fetch": "^13.3.0", + "npmlog": "^6.0.2", + "p-map": "^4.0.0", + "p-pipe": "^3.1.0", + "pacote": "^13.6.1", + "semver": "^7.3.4" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/log-packed/node_modules/are-we-there-yet": { - "version": "3.0.1", + "node_modules/@lerna/publish/node_modules/@npmcli/git": { + "version": "3.0.2", "dev": true, "license": "ISC", "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "@npmcli/promise-spawn": "^3.0.0", + "lru-cache": "^7.4.4", + "mkdirp": "^1.0.4", + "npm-pick-manifest": "^7.0.0", + "proc-log": "^2.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^2.0.2" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/log-packed/node_modules/gauge": { - "version": "4.0.4", + "node_modules/@lerna/publish/node_modules/@npmcli/promise-spawn": { + "version": "3.0.0", "dev": true, "license": "ISC", "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" + "infer-owner": "^1.0.4" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/log-packed/node_modules/npmlog": { - "version": "6.0.2", + "node_modules/@lerna/publish/node_modules/builtins": { + "version": "5.0.1", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "semver": "^7.0.0" } }, - "node_modules/@lerna/log-packed/node_modules/readable-stream": { - "version": "3.6.0", + "node_modules/@lerna/publish/node_modules/fs-extra": { + "version": "9.1.0", "dev": true, "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">= 6" + "node": ">=10" } }, - "node_modules/@lerna/npm-conf": { - "version": "5.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "config-chain": "^1.1.12", - "pify": "^5.0.0" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/npm-dist-tag": { - "version": "5.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@lerna/otplease": "5.6.2", - "npm-package-arg": "8.1.1", - "npm-registry-fetch": "^13.3.0", - "npmlog": "^6.0.2" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/npm-dist-tag/node_modules/are-we-there-yet": { - "version": "3.0.1", + "node_modules/@lerna/publish/node_modules/hosted-git-info": { + "version": "5.1.0", "dev": true, "license": "ISC", "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "lru-cache": "^7.5.1" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/npm-dist-tag/node_modules/builtins": { - "version": "5.0.1", + "node_modules/@lerna/publish/node_modules/jsonfile": { + "version": "6.1.0", "dev": true, "license": "MIT", "dependencies": { - "semver": "^7.0.0" - } - }, - "node_modules/@lerna/npm-dist-tag/node_modules/gauge": { - "version": "4.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/npm-dist-tag/node_modules/hosted-git-info": { - "version": "5.1.0", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^7.5.1" + "universalify": "^2.0.0" }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/@lerna/npm-dist-tag/node_modules/lru-cache": { + "node_modules/@lerna/publish/node_modules/lru-cache": { "version": "7.14.0", "dev": true, "license": "ISC", @@ -3744,7 +3287,7 @@ "node": ">=12" } }, - "node_modules/@lerna/npm-dist-tag/node_modules/minipass-fetch": { + "node_modules/@lerna/publish/node_modules/minipass-fetch": { "version": "2.1.2", "dev": true, "license": "MIT", @@ -3760,7 +3303,7 @@ "encoding": "^0.1.13" } }, - "node_modules/@lerna/npm-dist-tag/node_modules/npm-registry-fetch": { + "node_modules/@lerna/publish/node_modules/npm-registry-fetch": { "version": "13.3.1", "dev": true, "license": "ISC", @@ -3777,7 +3320,7 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/npm-dist-tag/node_modules/npm-registry-fetch/node_modules/npm-package-arg": { + "node_modules/@lerna/publish/node_modules/npm-registry-fetch/node_modules/npm-package-arg": { "version": "9.1.2", "dev": true, "license": "ISC", @@ -3791,34 +3334,69 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/npm-dist-tag/node_modules/npmlog": { - "version": "6.0.2", + "node_modules/@lerna/publish/node_modules/pacote": { + "version": "13.6.2", "dev": true, "license": "ISC", "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" + "@npmcli/git": "^3.0.0", + "@npmcli/installed-package-contents": "^1.0.7", + "@npmcli/promise-spawn": "^3.0.0", + "@npmcli/run-script": "^4.1.0", + "cacache": "^16.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "infer-owner": "^1.0.4", + "minipass": "^3.1.6", + "mkdirp": "^1.0.4", + "npm-package-arg": "^9.0.0", + "npm-packlist": "^5.1.0", + "npm-pick-manifest": "^7.0.0", + "npm-registry-fetch": "^13.0.1", + "proc-log": "^2.0.0", + "promise-retry": "^2.0.1", + "read-package-json": "^5.0.0", + "read-package-json-fast": "^2.0.3", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "lib/bin.js" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/npm-dist-tag/node_modules/readable-stream": { - "version": "3.6.0", + "node_modules/@lerna/publish/node_modules/pacote/node_modules/npm-package-arg": { + "version": "9.1.2", "dev": true, - "license": "MIT", + "license": "ISC", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "hosted-git-info": "^5.0.0", + "proc-log": "^2.0.1", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" }, "engines": { - "node": ">= 6" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/npm-dist-tag/node_modules/validate-npm-package-name": { + "node_modules/@lerna/publish/node_modules/rimraf": { + "version": "3.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@lerna/publish/node_modules/validate-npm-package-name": { "version": "4.0.0", "dev": true, "license": "ISC", @@ -3829,36 +3407,42 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/npm-install": { + "node_modules/@lerna/pulse-till-done": { "version": "5.6.2", "dev": true, "license": "MIT", "dependencies": { - "@lerna/child-process": "5.6.2", - "@lerna/get-npm-exec-opts": "5.6.2", - "fs-extra": "^9.1.0", - "npm-package-arg": "8.1.1", - "npmlog": "^6.0.2", - "signal-exit": "^3.0.3", - "write-pkg": "^4.0.0" + "npmlog": "^6.0.2" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/npm-install/node_modules/are-we-there-yet": { - "version": "3.0.1", + "node_modules/@lerna/query-graph": { + "version": "5.6.2", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "@lerna/package-graph": "5.6.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/npm-install/node_modules/fs-extra": { + "node_modules/@lerna/resolve-symlink": { + "version": "5.6.2", + "dev": true, + "license": "MIT", + "dependencies": { + "fs-extra": "^9.1.0", + "npmlog": "^6.0.2", + "read-cmd-shim": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || >=16.0.0" + } + }, + "node_modules/@lerna/resolve-symlink/node_modules/fs-extra": { "version": "9.1.0", "dev": true, "license": "MIT", @@ -3872,93 +3456,92 @@ "node": ">=10" } }, - "node_modules/@lerna/npm-install/node_modules/gauge": { - "version": "4.0.4", + "node_modules/@lerna/resolve-symlink/node_modules/jsonfile": { + "version": "6.1.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" + "universalify": "^2.0.0" }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/@lerna/npm-install/node_modules/jsonfile": { - "version": "6.1.0", + "node_modules/@lerna/rimraf-dir": { + "version": "5.6.2", "dev": true, "license": "MIT", "dependencies": { - "universalify": "^2.0.0" + "@lerna/child-process": "5.6.2", + "npmlog": "^6.0.2", + "path-exists": "^4.0.0", + "rimraf": "^3.0.2" }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "engines": { + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/npm-install/node_modules/npmlog": { - "version": "6.0.2", + "node_modules/@lerna/rimraf-dir/node_modules/rimraf": { + "version": "3.0.2", "dev": true, "license": "ISC", "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" + "glob": "^7.1.3" }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@lerna/npm-install/node_modules/readable-stream": { - "version": "3.6.0", + "node_modules/@lerna/run": { + "version": "5.6.2", "dev": true, "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "@lerna/command": "5.6.2", + "@lerna/filter-options": "5.6.2", + "@lerna/npm-run-script": "5.6.2", + "@lerna/output": "5.6.2", + "@lerna/profiler": "5.6.2", + "@lerna/run-topologically": "5.6.2", + "@lerna/timer": "5.6.2", + "@lerna/validation-error": "5.6.2", + "fs-extra": "^9.1.0", + "p-map": "^4.0.0" }, "engines": { - "node": ">= 6" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/npm-publish": { + "node_modules/@lerna/run-lifecycle": { "version": "5.6.2", "dev": true, "license": "MIT", "dependencies": { - "@lerna/otplease": "5.6.2", - "@lerna/run-lifecycle": "5.6.2", - "fs-extra": "^9.1.0", - "libnpmpublish": "^6.0.4", - "npm-package-arg": "8.1.1", + "@lerna/npm-conf": "5.6.2", + "@npmcli/run-script": "^4.1.7", "npmlog": "^6.0.2", - "pify": "^5.0.0", - "read-package-json": "^5.0.1" + "p-queue": "^6.6.2" }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/npm-publish/node_modules/are-we-there-yet": { - "version": "3.0.1", + "node_modules/@lerna/run-topologically": { + "version": "5.6.2", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "@lerna/query-graph": "5.6.2", + "p-queue": "^6.6.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/npm-publish/node_modules/fs-extra": { + "node_modules/@lerna/run/node_modules/fs-extra": { "version": "9.1.0", "dev": true, "license": "MIT", @@ -3972,25 +3555,7 @@ "node": ">=10" } }, - "node_modules/@lerna/npm-publish/node_modules/gauge": { - "version": "4.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/npm-publish/node_modules/jsonfile": { + "node_modules/@lerna/run/node_modules/jsonfile": { "version": "6.1.0", "dev": true, "license": "MIT", @@ -4001,115 +3566,107 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/@lerna/npm-publish/node_modules/npmlog": { - "version": "6.0.2", + "node_modules/@lerna/symlink-binary": { + "version": "5.6.2", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" + "@lerna/create-symlink": "5.6.2", + "@lerna/package": "5.6.2", + "fs-extra": "^9.1.0", + "p-map": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/npm-publish/node_modules/readable-stream": { - "version": "3.6.0", + "node_modules/@lerna/symlink-binary/node_modules/fs-extra": { + "version": "9.1.0", "dev": true, "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">= 6" + "node": ">=10" } }, - "node_modules/@lerna/npm-run-script": { - "version": "5.6.2", + "node_modules/@lerna/symlink-binary/node_modules/jsonfile": { + "version": "6.1.0", "dev": true, "license": "MIT", "dependencies": { - "@lerna/child-process": "5.6.2", - "@lerna/get-npm-exec-opts": "5.6.2", - "npmlog": "^6.0.2" + "universalify": "^2.0.0" }, - "engines": { - "node": "^14.15.0 || >=16.0.0" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/@lerna/npm-run-script/node_modules/are-we-there-yet": { - "version": "3.0.1", + "node_modules/@lerna/symlink-dependencies": { + "version": "5.6.2", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "@lerna/create-symlink": "5.6.2", + "@lerna/resolve-symlink": "5.6.2", + "@lerna/symlink-binary": "5.6.2", + "fs-extra": "^9.1.0", + "p-map": "^4.0.0", + "p-map-series": "^2.1.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/npm-run-script/node_modules/gauge": { - "version": "4.0.4", + "node_modules/@lerna/symlink-dependencies/node_modules/fs-extra": { + "version": "9.1.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=10" } }, - "node_modules/@lerna/npm-run-script/node_modules/npmlog": { - "version": "6.0.2", + "node_modules/@lerna/symlink-dependencies/node_modules/jsonfile": { + "version": "6.1.0", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" + "universalify": "^2.0.0" }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/@lerna/npm-run-script/node_modules/readable-stream": { - "version": "3.6.0", + "node_modules/@lerna/temp-write": { + "version": "5.6.2", "dev": true, "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" + "graceful-fs": "^4.1.15", + "is-stream": "^2.0.0", + "make-dir": "^3.0.0", + "temp-dir": "^1.0.0", + "uuid": "^8.3.2" } }, - "node_modules/@lerna/otplease": { + "node_modules/@lerna/timer": { "version": "5.6.2", "dev": true, "license": "MIT", - "dependencies": { - "@lerna/prompt": "5.6.2" - }, "engines": { "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/output": { + "node_modules/@lerna/validation-error": { "version": "5.6.2", "dev": true, "license": "MIT", @@ -4120,1596 +3677,168 @@ "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/output/node_modules/are-we-there-yet": { - "version": "3.0.1", + "node_modules/@lerna/version": { + "version": "5.6.2", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "@lerna/check-working-tree": "5.6.2", + "@lerna/child-process": "5.6.2", + "@lerna/collect-updates": "5.6.2", + "@lerna/command": "5.6.2", + "@lerna/conventional-commits": "5.6.2", + "@lerna/github-client": "5.6.2", + "@lerna/gitlab-client": "5.6.2", + "@lerna/output": "5.6.2", + "@lerna/prerelease-id-from-version": "5.6.2", + "@lerna/prompt": "5.6.2", + "@lerna/run-lifecycle": "5.6.2", + "@lerna/run-topologically": "5.6.2", + "@lerna/temp-write": "5.6.2", + "@lerna/validation-error": "5.6.2", + "@nrwl/devkit": ">=14.8.1 < 16", + "chalk": "^4.1.0", + "dedent": "^0.7.0", + "load-json-file": "^6.2.0", + "minimatch": "^3.0.4", + "npmlog": "^6.0.2", + "p-map": "^4.0.0", + "p-pipe": "^3.1.0", + "p-reduce": "^2.1.0", + "p-waterfall": "^2.1.1", + "semver": "^7.3.4", + "slash": "^3.0.0", + "write-json-file": "^4.3.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/output/node_modules/gauge": { - "version": "4.0.4", + "node_modules/@lerna/write-log-file": { + "version": "5.6.2", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" + "npmlog": "^6.0.2", + "write-file-atomic": "^4.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/@lerna/output/node_modules/npmlog": { - "version": "6.0.2", + "node_modules/@napi-rs/cli": { + "version": "2.16.2", "dev": true, - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" + "license": "MIT", + "bin": { + "napi": "scripts/index.js" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" } }, - "node_modules/@lerna/output/node_modules/readable-stream": { - "version": "3.6.0", - "dev": true, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, "engines": { - "node": ">= 6" + "node": ">= 8" } }, - "node_modules/@lerna/pack-directory": { - "version": "5.6.2", - "dev": true, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", "license": "MIT", "dependencies": { - "@lerna/get-packed": "5.6.2", - "@lerna/package": "5.6.2", - "@lerna/run-lifecycle": "5.6.2", - "@lerna/temp-write": "5.6.2", - "npm-packlist": "^5.1.1", - "npmlog": "^6.0.2", - "tar": "^6.1.0" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, "engines": { - "node": "^14.15.0 || >=16.0.0" + "node": ">= 8" } }, - "node_modules/@lerna/pack-directory/node_modules/are-we-there-yet": { - "version": "3.0.1", - "dev": true, - "license": "ISC", + "node_modules/@npmcli/agent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-2.2.0.tgz", + "integrity": "sha512-2yThA1Es98orMkpSLVqlDZAMPK3jHJhifP2gnNUdk1754uZ8yI5c+ulCoVG+WlntQA6MzhrURMXjSd9Z7dJ2/Q==", "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^10.0.1", + "socks-proxy-agent": "^8.0.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/@lerna/pack-directory/node_modules/gauge": { - "version": "4.0.4", - "dev": true, - "license": "ISC", + "node_modules/@npmcli/agent/node_modules/agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" + "debug": "^4.3.4" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">= 14" } }, - "node_modules/@lerna/pack-directory/node_modules/npmlog": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/pack-directory/node_modules/readable-stream": { - "version": "3.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@lerna/package": { - "version": "5.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "load-json-file": "^6.2.0", - "npm-package-arg": "8.1.1", - "write-pkg": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/package-graph": { - "version": "5.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@lerna/prerelease-id-from-version": "5.6.2", - "@lerna/validation-error": "5.6.2", - "npm-package-arg": "8.1.1", - "npmlog": "^6.0.2", - "semver": "^7.3.4" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/package-graph/node_modules/are-we-there-yet": { - "version": "3.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/package-graph/node_modules/gauge": { - "version": "4.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/package-graph/node_modules/npmlog": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/package-graph/node_modules/readable-stream": { - "version": "3.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@lerna/prerelease-id-from-version": { - "version": "5.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.3.4" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/profiler": { - "version": "5.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "fs-extra": "^9.1.0", - "npmlog": "^6.0.2", - "upath": "^2.0.1" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/profiler/node_modules/are-we-there-yet": { - "version": "3.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/profiler/node_modules/fs-extra": { - "version": "9.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/profiler/node_modules/gauge": { - "version": "4.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/profiler/node_modules/jsonfile": { - "version": "6.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@lerna/profiler/node_modules/npmlog": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/profiler/node_modules/readable-stream": { - "version": "3.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@lerna/profiler/node_modules/upath": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4", - "yarn": "*" - } - }, - "node_modules/@lerna/project": { - "version": "5.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@lerna/package": "5.6.2", - "@lerna/validation-error": "5.6.2", - "cosmiconfig": "^7.0.0", - "dedent": "^0.7.0", - "dot-prop": "^6.0.1", - "glob-parent": "^5.1.1", - "globby": "^11.0.2", - "js-yaml": "^4.1.0", - "load-json-file": "^6.2.0", - "npmlog": "^6.0.2", - "p-map": "^4.0.0", - "resolve-from": "^5.0.0", - "write-json-file": "^4.3.0" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/project/node_modules/are-we-there-yet": { - "version": "3.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/project/node_modules/gauge": { - "version": "4.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/project/node_modules/npmlog": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/project/node_modules/readable-stream": { - "version": "3.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@lerna/project/node_modules/resolve-from": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@lerna/prompt": { - "version": "5.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "inquirer": "^8.2.4", - "npmlog": "^6.0.2" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/prompt/node_modules/are-we-there-yet": { - "version": "3.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/prompt/node_modules/gauge": { - "version": "4.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/prompt/node_modules/npmlog": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/prompt/node_modules/readable-stream": { - "version": "3.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@lerna/publish": { - "version": "5.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@lerna/check-working-tree": "5.6.2", - "@lerna/child-process": "5.6.2", - "@lerna/collect-updates": "5.6.2", - "@lerna/command": "5.6.2", - "@lerna/describe-ref": "5.6.2", - "@lerna/log-packed": "5.6.2", - "@lerna/npm-conf": "5.6.2", - "@lerna/npm-dist-tag": "5.6.2", - "@lerna/npm-publish": "5.6.2", - "@lerna/otplease": "5.6.2", - "@lerna/output": "5.6.2", - "@lerna/pack-directory": "5.6.2", - "@lerna/prerelease-id-from-version": "5.6.2", - "@lerna/prompt": "5.6.2", - "@lerna/pulse-till-done": "5.6.2", - "@lerna/run-lifecycle": "5.6.2", - "@lerna/run-topologically": "5.6.2", - "@lerna/validation-error": "5.6.2", - "@lerna/version": "5.6.2", - "fs-extra": "^9.1.0", - "libnpmaccess": "^6.0.3", - "npm-package-arg": "8.1.1", - "npm-registry-fetch": "^13.3.0", - "npmlog": "^6.0.2", - "p-map": "^4.0.0", - "p-pipe": "^3.1.0", - "pacote": "^13.6.1", - "semver": "^7.3.4" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/publish/node_modules/@npmcli/git": { - "version": "3.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/promise-spawn": "^3.0.0", - "lru-cache": "^7.4.4", - "mkdirp": "^1.0.4", - "npm-pick-manifest": "^7.0.0", - "proc-log": "^2.0.0", - "promise-inflight": "^1.0.1", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^2.0.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/publish/node_modules/@npmcli/promise-spawn": { - "version": "3.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "infer-owner": "^1.0.4" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/publish/node_modules/are-we-there-yet": { - "version": "3.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/publish/node_modules/builtins": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.0.0" - } - }, - "node_modules/@lerna/publish/node_modules/chownr": { - "version": "2.0.0", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/publish/node_modules/err-code": { - "version": "2.0.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@lerna/publish/node_modules/fs-extra": { - "version": "9.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/publish/node_modules/gauge": { - "version": "4.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/publish/node_modules/hosted-git-info": { - "version": "5.1.0", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^7.5.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/publish/node_modules/jsonfile": { - "version": "6.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@lerna/publish/node_modules/lru-cache": { - "version": "7.14.0", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" - } - }, - "node_modules/@lerna/publish/node_modules/minipass-fetch": { - "version": "2.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "minipass": "^3.1.6", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" - } - }, - "node_modules/@lerna/publish/node_modules/npm-registry-fetch": { - "version": "13.3.1", - "dev": true, - "license": "ISC", - "dependencies": { - "make-fetch-happen": "^10.0.6", - "minipass": "^3.1.6", - "minipass-fetch": "^2.0.3", - "minipass-json-stream": "^1.0.1", - "minizlib": "^2.1.2", - "npm-package-arg": "^9.0.1", - "proc-log": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/publish/node_modules/npm-registry-fetch/node_modules/npm-package-arg": { - "version": "9.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "hosted-git-info": "^5.0.0", - "proc-log": "^2.0.1", - "semver": "^7.3.5", - "validate-npm-package-name": "^4.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/publish/node_modules/npmlog": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/publish/node_modules/pacote": { - "version": "13.6.2", - "dev": true, - "license": "ISC", - "dependencies": { - "@npmcli/git": "^3.0.0", - "@npmcli/installed-package-contents": "^1.0.7", - "@npmcli/promise-spawn": "^3.0.0", - "@npmcli/run-script": "^4.1.0", - "cacache": "^16.0.0", - "chownr": "^2.0.0", - "fs-minipass": "^2.1.0", - "infer-owner": "^1.0.4", - "minipass": "^3.1.6", - "mkdirp": "^1.0.4", - "npm-package-arg": "^9.0.0", - "npm-packlist": "^5.1.0", - "npm-pick-manifest": "^7.0.0", - "npm-registry-fetch": "^13.0.1", - "proc-log": "^2.0.0", - "promise-retry": "^2.0.1", - "read-package-json": "^5.0.0", - "read-package-json-fast": "^2.0.3", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", - "tar": "^6.1.11" - }, - "bin": { - "pacote": "lib/bin.js" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/publish/node_modules/pacote/node_modules/npm-package-arg": { - "version": "9.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "hosted-git-info": "^5.0.0", - "proc-log": "^2.0.1", - "semver": "^7.3.5", - "validate-npm-package-name": "^4.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/publish/node_modules/promise-retry": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/publish/node_modules/read-package-json-fast": { - "version": "2.0.3", - "dev": true, - "license": "ISC", - "dependencies": { - "json-parse-even-better-errors": "^2.3.0", - "npm-normalize-package-bin": "^1.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/publish/node_modules/readable-stream": { - "version": "3.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@lerna/publish/node_modules/retry": { - "version": "0.12.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/@lerna/publish/node_modules/rimraf": { - "version": "3.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@lerna/publish/node_modules/validate-npm-package-name": { - "version": "4.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "builtins": "^5.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/pulse-till-done": { - "version": "5.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "npmlog": "^6.0.2" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/pulse-till-done/node_modules/are-we-there-yet": { - "version": "3.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/pulse-till-done/node_modules/gauge": { - "version": "4.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/pulse-till-done/node_modules/npmlog": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/pulse-till-done/node_modules/readable-stream": { - "version": "3.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@lerna/query-graph": { - "version": "5.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@lerna/package-graph": "5.6.2" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/resolve-symlink": { - "version": "5.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "fs-extra": "^9.1.0", - "npmlog": "^6.0.2", - "read-cmd-shim": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/resolve-symlink/node_modules/are-we-there-yet": { - "version": "3.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/resolve-symlink/node_modules/fs-extra": { - "version": "9.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/resolve-symlink/node_modules/gauge": { - "version": "4.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/resolve-symlink/node_modules/jsonfile": { - "version": "6.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@lerna/resolve-symlink/node_modules/npmlog": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/resolve-symlink/node_modules/readable-stream": { - "version": "3.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@lerna/rimraf-dir": { - "version": "5.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@lerna/child-process": "5.6.2", - "npmlog": "^6.0.2", - "path-exists": "^4.0.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/rimraf-dir/node_modules/are-we-there-yet": { - "version": "3.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/rimraf-dir/node_modules/gauge": { - "version": "4.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/rimraf-dir/node_modules/npmlog": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/rimraf-dir/node_modules/readable-stream": { - "version": "3.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@lerna/rimraf-dir/node_modules/rimraf": { - "version": "3.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@lerna/run": { - "version": "5.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@lerna/command": "5.6.2", - "@lerna/filter-options": "5.6.2", - "@lerna/npm-run-script": "5.6.2", - "@lerna/output": "5.6.2", - "@lerna/profiler": "5.6.2", - "@lerna/run-topologically": "5.6.2", - "@lerna/timer": "5.6.2", - "@lerna/validation-error": "5.6.2", - "fs-extra": "^9.1.0", - "p-map": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/run-lifecycle": { - "version": "5.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@lerna/npm-conf": "5.6.2", - "@npmcli/run-script": "^4.1.7", - "npmlog": "^6.0.2", - "p-queue": "^6.6.2" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/run-lifecycle/node_modules/are-we-there-yet": { - "version": "3.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/run-lifecycle/node_modules/gauge": { - "version": "4.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/run-lifecycle/node_modules/npmlog": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/run-lifecycle/node_modules/readable-stream": { - "version": "3.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@lerna/run-topologically": { - "version": "5.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@lerna/query-graph": "5.6.2", - "p-queue": "^6.6.2" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/run/node_modules/fs-extra": { - "version": "9.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/run/node_modules/jsonfile": { - "version": "6.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@lerna/symlink-binary": { - "version": "5.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@lerna/create-symlink": "5.6.2", - "@lerna/package": "5.6.2", - "fs-extra": "^9.1.0", - "p-map": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/symlink-binary/node_modules/fs-extra": { - "version": "9.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/symlink-binary/node_modules/jsonfile": { - "version": "6.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@lerna/symlink-dependencies": { - "version": "5.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@lerna/create-symlink": "5.6.2", - "@lerna/resolve-symlink": "5.6.2", - "@lerna/symlink-binary": "5.6.2", - "fs-extra": "^9.1.0", - "p-map": "^4.0.0", - "p-map-series": "^2.1.0" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/symlink-dependencies/node_modules/fs-extra": { - "version": "9.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@lerna/symlink-dependencies/node_modules/jsonfile": { - "version": "6.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/@lerna/temp-write": { - "version": "5.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.15", - "is-stream": "^2.0.0", - "make-dir": "^3.0.0", - "temp-dir": "^1.0.0", - "uuid": "^8.3.2" - } - }, - "node_modules/@lerna/timer": { - "version": "5.6.2", - "dev": true, - "license": "MIT", - "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/validation-error": { - "version": "5.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "npmlog": "^6.0.2" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/validation-error/node_modules/are-we-there-yet": { - "version": "3.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/validation-error/node_modules/gauge": { - "version": "4.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/validation-error/node_modules/npmlog": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/validation-error/node_modules/readable-stream": { - "version": "3.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@lerna/version": { - "version": "5.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@lerna/check-working-tree": "5.6.2", - "@lerna/child-process": "5.6.2", - "@lerna/collect-updates": "5.6.2", - "@lerna/command": "5.6.2", - "@lerna/conventional-commits": "5.6.2", - "@lerna/github-client": "5.6.2", - "@lerna/gitlab-client": "5.6.2", - "@lerna/output": "5.6.2", - "@lerna/prerelease-id-from-version": "5.6.2", - "@lerna/prompt": "5.6.2", - "@lerna/run-lifecycle": "5.6.2", - "@lerna/run-topologically": "5.6.2", - "@lerna/temp-write": "5.6.2", - "@lerna/validation-error": "5.6.2", - "@nrwl/devkit": ">=14.8.1 < 16", - "chalk": "^4.1.0", - "dedent": "^0.7.0", - "load-json-file": "^6.2.0", - "minimatch": "^3.0.4", - "npmlog": "^6.0.2", - "p-map": "^4.0.0", - "p-pipe": "^3.1.0", - "p-reduce": "^2.1.0", - "p-waterfall": "^2.1.1", - "semver": "^7.3.4", - "slash": "^3.0.0", - "write-json-file": "^4.3.0" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/version/node_modules/are-we-there-yet": { - "version": "3.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/version/node_modules/gauge": { - "version": "4.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/version/node_modules/npmlog": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/version/node_modules/readable-stream": { - "version": "3.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@lerna/write-log-file": { - "version": "5.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "npmlog": "^6.0.2", - "write-file-atomic": "^4.0.1" - }, - "engines": { - "node": "^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/write-log-file/node_modules/are-we-there-yet": { - "version": "3.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/write-log-file/node_modules/gauge": { - "version": "4.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/write-log-file/node_modules/npmlog": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@lerna/write-log-file/node_modules/readable-stream": { - "version": "3.6.0", - "dev": true, - "license": "MIT", + "node_modules/@npmcli/agent/node_modules/http-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", + "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@napi-rs/cli": { - "version": "2.16.2", - "dev": true, - "license": "MIT", - "bin": { - "napi": "scripts/index.js" + "agent-base": "^7.1.0", + "debug": "^4.3.4" }, "engines": { - "node": ">= 10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Brooooooklyn" + "node": ">= 14" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "license": "MIT", + "node_modules/@npmcli/agent/node_modules/https-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", + "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "agent-base": "^7.0.2", + "debug": "4" }, "engines": { - "node": ">= 8" + "node": ">= 14" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "license": "MIT", + "node_modules/@npmcli/agent/node_modules/lru-cache": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz", + "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==", "engines": { - "node": ">= 8" + "node": "14 || >=16.14" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "license": "MIT", + "node_modules/@npmcli/agent/node_modules/socks-proxy-agent": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz", + "integrity": "sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==", "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "socks": "^2.7.1" }, "engines": { - "node": ">= 8" + "node": ">= 14" } }, "node_modules/@npmcli/arborist": { @@ -5790,24 +3919,12 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@npmcli/arborist/node_modules/@npmcli/promise-spawn": { - "version": "3.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "infer-owner": "^1.0.4" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@npmcli/arborist/node_modules/are-we-there-yet": { - "version": "3.0.1", + "node_modules/@npmcli/arborist/node_modules/@npmcli/promise-spawn": { + "version": "3.0.0", "dev": true, "license": "ISC", "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "infer-owner": "^1.0.4" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" @@ -5821,37 +3938,6 @@ "semver": "^7.0.0" } }, - "node_modules/@npmcli/arborist/node_modules/chownr": { - "version": "2.0.0", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/@npmcli/arborist/node_modules/err-code": { - "version": "2.0.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@npmcli/arborist/node_modules/gauge": { - "version": "4.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, "node_modules/@npmcli/arborist/node_modules/hosted-git-info": { "version": "5.1.0", "dev": true, @@ -5943,20 +4029,6 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@npmcli/arborist/node_modules/npmlog": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, "node_modules/@npmcli/arborist/node_modules/pacote": { "version": "13.6.2", "dev": true, @@ -5991,51 +4063,6 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@npmcli/arborist/node_modules/promise-retry": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@npmcli/arborist/node_modules/read-package-json-fast": { - "version": "2.0.3", - "dev": true, - "license": "ISC", - "dependencies": { - "json-parse-even-better-errors": "^2.3.0", - "npm-normalize-package-bin": "^1.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@npmcli/arborist/node_modules/readable-stream": { - "version": "3.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@npmcli/arborist/node_modules/retry": { - "version": "0.12.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, "node_modules/@npmcli/arborist/node_modules/rimraf": { "version": "3.0.2", "dev": true, @@ -6061,12 +4088,9 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@npmcli/ci-detect": { - "version": "1.4.0", - "license": "ISC" - }, "node_modules/@npmcli/fs": { "version": "1.1.0", + "dev": true, "license": "ISC", "dependencies": { "@gar/promisify": "^1.0.1", @@ -6077,89 +4101,130 @@ } }, "node_modules/@npmcli/git": { - "version": "2.1.0", - "license": "ISC", + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.4.tgz", + "integrity": "sha512-nr6/WezNzuYUppzXRaYu/W4aT5rLxdXqEFupbh6e/ovlYFQ8hpu1UUPV3Ir/YTl+74iXl2ZOMlGzudh9ZPUchQ==", "dependencies": { - "@npmcli/promise-spawn": "^1.3.2", - "lru-cache": "^6.0.0", - "mkdirp": "^1.0.4", - "npm-pick-manifest": "^6.1.1", + "@npmcli/promise-spawn": "^7.0.0", + "lru-cache": "^10.0.1", + "npm-pick-manifest": "^9.0.0", + "proc-log": "^3.0.0", "promise-inflight": "^1.0.1", "promise-retry": "^2.0.1", "semver": "^7.3.5", - "which": "^2.0.2" + "which": "^4.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/@npmcli/git/node_modules/err-code": { - "version": "2.0.3", - "license": "MIT" + "node_modules/@npmcli/git/node_modules/builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dependencies": { + "semver": "^7.0.0" + } }, "node_modules/@npmcli/git/node_modules/hosted-git-info": { - "version": "4.1.0", - "license": "ISC", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz", + "integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==", "dependencies": { - "lru-cache": "^6.0.0" + "lru-cache": "^10.0.1" }, "engines": { - "node": ">=10" + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/git/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "engines": { + "node": ">=16" } }, "node_modules/@npmcli/git/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz", + "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==", "engines": { - "node": ">=10" + "node": "14 || >=16.14" + } + }, + "node_modules/@npmcli/git/node_modules/npm-normalize-package-bin": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", + "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/@npmcli/git/node_modules/npm-package-arg": { - "version": "8.1.5", - "license": "ISC", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.1.tgz", + "integrity": "sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==", "dependencies": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" + "hosted-git-info": "^7.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" }, "engines": { - "node": ">=10" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/@npmcli/git/node_modules/npm-pick-manifest": { - "version": "6.1.1", - "license": "ISC", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-9.0.0.tgz", + "integrity": "sha512-VfvRSs/b6n9ol4Qb+bDwNGUXutpy76x6MARw/XssevE0TnctIKcmklJZM5Z7nqs5z5aW+0S63pgCNbpkUNNXBg==", "dependencies": { - "npm-install-checks": "^4.0.0", - "npm-normalize-package-bin": "^1.0.1", - "npm-package-arg": "^8.1.2", - "semver": "^7.3.4" + "npm-install-checks": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "npm-package-arg": "^11.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/@npmcli/git/node_modules/promise-retry": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, + "node_modules/@npmcli/git/node_modules/proc-log": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", + "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", "engines": { - "node": ">=10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@npmcli/git/node_modules/retry": { - "version": "0.12.0", - "license": "MIT", + "node_modules/@npmcli/git/node_modules/validate-npm-package-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", + "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", + "dependencies": { + "builtins": "^5.0.0" + }, "engines": { - "node": ">= 4" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@npmcli/git/node_modules/yallist": { + "node_modules/@npmcli/git/node_modules/which": { "version": "4.0.0", - "license": "ISC" + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } }, "node_modules/@npmcli/installed-package-contents": { "version": "1.0.7", + "dev": true, "license": "ISC", "dependencies": { "npm-bundled": "^1.1.1", @@ -6223,18 +4288,6 @@ "node": ">=10" } }, - "node_modules/@npmcli/map-workspaces/node_modules/read-package-json-fast": { - "version": "2.0.3", - "dev": true, - "license": "ISC", - "dependencies": { - "json-parse-even-better-errors": "^2.3.0", - "npm-normalize-package-bin": "^1.0.1" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@npmcli/metavuln-calculator": { "version": "3.1.1", "dev": true, @@ -6287,19 +4340,6 @@ "semver": "^7.0.0" } }, - "node_modules/@npmcli/metavuln-calculator/node_modules/chownr": { - "version": "2.0.0", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/@npmcli/metavuln-calculator/node_modules/err-code": { - "version": "2.0.3", - "dev": true, - "license": "MIT" - }, "node_modules/@npmcli/metavuln-calculator/node_modules/hosted-git-info": { "version": "5.1.0", "dev": true, @@ -6389,87 +4429,20 @@ "promise-retry": "^2.0.1", "read-package-json": "^5.0.0", "read-package-json-fast": "^2.0.3", - "rimraf": "^3.0.2", - "ssri": "^9.0.0", - "tar": "^6.1.11" - }, - "bin": { - "pacote": "lib/bin.js" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@npmcli/metavuln-calculator/node_modules/promise-retry": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@npmcli/metavuln-calculator/node_modules/read-package-json-fast": { - "version": "2.0.3", - "dev": true, - "license": "ISC", - "dependencies": { - "json-parse-even-better-errors": "^2.3.0", - "npm-normalize-package-bin": "^1.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@npmcli/metavuln-calculator/node_modules/retry": { - "version": "0.12.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/@npmcli/metavuln-calculator/node_modules/rimraf": { - "version": "3.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@npmcli/metavuln-calculator/node_modules/validate-npm-package-name": { - "version": "4.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "builtins": "^5.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@npmcli/move-file": { - "version": "1.1.2", - "license": "MIT", - "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "lib/bin.js" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@npmcli/move-file/node_modules/rimraf": { + "node_modules/@npmcli/metavuln-calculator/node_modules/rimraf": { "version": "3.0.2", + "dev": true, "license": "ISC", "dependencies": { "glob": "^7.1.3" @@ -6481,6 +4454,17 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/@npmcli/metavuln-calculator/node_modules/validate-npm-package-name": { + "version": "4.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "builtins": "^5.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, "node_modules/@npmcli/name-from-folder": { "version": "1.0.1", "dev": true, @@ -6506,10 +4490,36 @@ } }, "node_modules/@npmcli/promise-spawn": { - "version": "1.3.2", - "license": "ISC", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-7.0.1.tgz", + "integrity": "sha512-P4KkF9jX3y+7yFUxgcUdDtLy+t4OlDGuEBLNs57AZsfSfg+uV6MLndqGpnl4831ggaEdXwR50XFoZP4VFtHolg==", "dependencies": { - "infer-owner": "^1.0.4" + "which": "^4.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "engines": { + "node": ">=16" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" } }, "node_modules/@npmcli/run-script": { @@ -6538,18 +4548,6 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@npmcli/run-script/node_modules/read-package-json-fast": { - "version": "2.0.3", - "dev": true, - "license": "ISC", - "dependencies": { - "json-parse-even-better-errors": "^2.3.0", - "npm-normalize-package-bin": "^1.0.1" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@nrwl/cli": { "version": "15.9.4", "dev": true, @@ -6573,17 +4571,6 @@ "nx": ">= 14 <= 16" } }, - "node_modules/@nrwl/devkit/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@nrwl/devkit/node_modules/semver": { "version": "7.3.4", "dev": true, @@ -6603,11 +4590,6 @@ "dev": true, "license": "0BSD" }, - "node_modules/@nrwl/devkit/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, "node_modules/@nrwl/nx-linux-arm64-gnu": { "version": "15.9.4", "cpu": [ @@ -6719,117 +4701,354 @@ "@octokit/types": "^8.0.0" }, "engines": { - "node": ">= 14" + "node": ">= 14" + }, + "peerDependencies": { + "@octokit/core": ">=4" + } + }, + "node_modules/@octokit/plugin-request-log": { + "version": "1.0.4", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@octokit/core": ">=3" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "6.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/types": "^8.0.0", + "deprecation": "^2.3.1" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "@octokit/core": ">=3" + } + }, + "node_modules/@octokit/request": { + "version": "6.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/endpoint": "^7.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^8.0.0", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/request-error": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/types": "^8.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/rest": { + "version": "19.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/core": "^4.1.0", + "@octokit/plugin-paginate-rest": "^5.0.0", + "@octokit/plugin-request-log": "^1.0.4", + "@octokit/plugin-rest-endpoint-methods": "^6.7.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/types": { + "version": "8.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^14.0.0" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.0.4", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "node-addon-api": "^3.2.1", + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher/node_modules/node-addon-api": { + "version": "3.2.1", + "dev": true, + "license": "MIT" + }, + "node_modules/@phenomnomnominal/tsquery": { + "version": "4.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "esquery": "^1.0.1" + }, + "peerDependencies": { + "typescript": "^3 || ^4" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@sigstore/bundle": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-2.1.0.tgz", + "integrity": "sha512-89uOo6yh/oxaU8AeOUnVrTdVMcGk9Q1hJa7Hkvalc6G3Z3CupWk4Xe9djSgJm9fMkH69s0P0cVHUoKSOemLdng==", + "dependencies": { + "@sigstore/protobuf-specs": "^0.2.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/protobuf-specs": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.2.1.tgz", + "integrity": "sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A==", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/sign": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-2.2.0.tgz", + "integrity": "sha512-AAbmnEHDQv6CSfrWA5wXslGtzLPtAtHZleKOgxdQYvx/s76Fk6T6ZVt7w2IGV9j1UrFeBocTTQxaXG2oRrDhYA==", + "dependencies": { + "@sigstore/bundle": "^2.1.0", + "@sigstore/protobuf-specs": "^0.2.1", + "make-fetch-happen": "^13.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/sign/node_modules/@npmcli/fs": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", + "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/sign/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@sigstore/sign/node_modules/cacache": { + "version": "18.0.2", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.2.tgz", + "integrity": "sha512-r3NU8h/P+4lVUHfeRw1dtgQYar3DZMm4/cm2bZgOvrFC/su7budSOeqh52VJIC4U4iG1WWwV6vRW0znqBvxNuw==", + "dependencies": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/sign/node_modules/fs-minipass": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/sign/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@sigstore/sign/node_modules/lru-cache": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz", + "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==", + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/@sigstore/sign/node_modules/make-fetch-happen": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.0.tgz", + "integrity": "sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==", + "dependencies": { + "@npmcli/agent": "^2.0.0", + "cacache": "^18.0.0", + "http-cache-semantics": "^4.1.1", + "is-lambda": "^1.0.1", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/sign/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" }, - "peerDependencies": { - "@octokit/core": ">=4" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@octokit/plugin-request-log": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "peerDependencies": { - "@octokit/core": ">=3" + "node_modules/@sigstore/sign/node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "engines": { + "node": ">=16 || 14 >=14.17" } }, - "node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "6.7.0", - "dev": true, - "license": "MIT", + "node_modules/@sigstore/sign/node_modules/minipass-collect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", + "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", "dependencies": { - "@octokit/types": "^8.0.0", - "deprecation": "^2.3.1" + "minipass": "^7.0.3" }, "engines": { - "node": ">= 14" - }, - "peerDependencies": { - "@octokit/core": ">=3" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/@octokit/request": { - "version": "6.2.2", - "dev": true, - "license": "MIT", + "node_modules/@sigstore/sign/node_modules/minipass-fetch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.4.tgz", + "integrity": "sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==", "dependencies": { - "@octokit/endpoint": "^7.0.0", - "@octokit/request-error": "^3.0.0", - "@octokit/types": "^8.0.0", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.7", - "universal-user-agent": "^6.0.0" + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" }, "engines": { - "node": ">= 14" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" } }, - "node_modules/@octokit/request-error": { - "version": "3.0.2", - "dev": true, - "license": "MIT", + "node_modules/@sigstore/sign/node_modules/ssri": { + "version": "10.0.5", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz", + "integrity": "sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==", "dependencies": { - "@octokit/types": "^8.0.0", - "deprecation": "^2.0.0", - "once": "^1.4.0" + "minipass": "^7.0.3" }, "engines": { - "node": ">= 14" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@octokit/rest": { - "version": "19.0.5", - "dev": true, - "license": "MIT", + "node_modules/@sigstore/sign/node_modules/unique-filename": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", "dependencies": { - "@octokit/core": "^4.1.0", - "@octokit/plugin-paginate-rest": "^5.0.0", - "@octokit/plugin-request-log": "^1.0.4", - "@octokit/plugin-rest-endpoint-methods": "^6.7.0" + "unique-slug": "^4.0.0" }, "engines": { - "node": ">= 14" - } - }, - "node_modules/@octokit/types": { - "version": "8.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@octokit/openapi-types": "^14.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@parcel/watcher": { - "version": "2.0.4", - "dev": true, - "hasInstallScript": true, - "license": "MIT", + "node_modules/@sigstore/sign/node_modules/unique-slug": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", "dependencies": { - "node-addon-api": "^3.2.1", - "node-gyp-build": "^4.3.0" + "imurmurhash": "^0.1.4" }, "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@parcel/watcher/node_modules/node-addon-api": { - "version": "3.2.1", - "dev": true, - "license": "MIT" - }, - "node_modules/@phenomnomnominal/tsquery": { - "version": "4.1.1", - "dev": true, - "license": "MIT", + "node_modules/@sigstore/tuf": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-2.2.0.tgz", + "integrity": "sha512-KKATZ5orWfqd9ZG6MN8PtCIx4eevWSuGRKQvofnWXRpyMyUEpmrzg5M5BrCpjM+NfZ0RbNGOh5tCz/P2uoRqOA==", "dependencies": { - "esquery": "^1.0.1" + "@sigstore/protobuf-specs": "^0.2.1", + "tuf-js": "^2.1.0" }, - "peerDependencies": { - "typescript": "^3 || ^4" + "engines": { + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/@sinonjs/commons": { @@ -6850,6 +5069,7 @@ }, "node_modules/@tootallnate/once": { "version": "1.1.2", + "dev": true, "license": "MIT", "engines": { "node": ">= 6" @@ -6883,6 +5103,48 @@ "optional": true, "peer": true }, + "node_modules/@tufjs/canonical-json": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", + "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==", + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@tufjs/models": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-2.0.0.tgz", + "integrity": "sha512-c8nj8BaOExmZKO2DXhDfegyhSGcG9E/mPN3U13L+/PsoWm1uaGiHHjxqSHQiasDBQwDA3aHuw9+9spYAP1qvvg==", + "dependencies": { + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^9.0.3" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@tufjs/models/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@tufjs/models/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@types/babel__core": { "version": "7.1.19", "dev": true, @@ -7836,6 +6098,7 @@ }, "node_modules/agent-base": { "version": "6.0.2", + "dev": true, "license": "MIT", "dependencies": { "debug": "4" @@ -7846,6 +6109,7 @@ }, "node_modules/agentkeepalive": { "version": "4.2.1", + "dev": true, "license": "MIT", "dependencies": { "debug": "^4.1.0", @@ -8048,6 +6312,33 @@ ], "license": "MIT" }, + "node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://zowe.jfrog.io/zowe/api/npm/npm-release/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/are-we-there-yet/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://zowe.jfrog.io/zowe/api/npm/npm-release/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/arg": { "version": "4.1.3", "dev": true, @@ -9059,8 +7350,6 @@ }, "node_modules/buildcheck": { "version": "0.0.6", - "resolved": "https://registry.npmjs.org/buildcheck/-/buildcheck-0.0.6.tgz", - "integrity": "sha512-8f9ZJCUXyT1M35Jx7MkBgmBMo3oHTTBIPLiY9xyL0pl3T5RwcPEY8cUHr5LBNfu/fk6c2T4DJZuVM/8ZZT2D2A==", "optional": true, "engines": { "node": ">=10.0.0" @@ -9068,6 +7357,7 @@ }, "node_modules/builtins": { "version": "1.0.3", + "dev": true, "license": "MIT" }, "node_modules/byte-size": { @@ -9146,14 +7436,6 @@ "balanced-match": "^1.0.0" } }, - "node_modules/cacache/node_modules/chownr": { - "version": "2.0.0", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, "node_modules/cacache/node_modules/glob": { "version": "8.0.3", "dev": true, @@ -9408,8 +7690,12 @@ } }, "node_modules/chownr": { - "version": "1.1.4", - "license": "ISC" + "version": "2.0.0", + "resolved": "https://zowe.jfrog.io/zowe/api/npm/npm-release/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "engines": { + "node": ">=10" + } }, "node_modules/chunkd": { "version": "2.0.1", @@ -10129,17 +8415,6 @@ "node": ">=10" } }, - "node_modules/conventional-changelog-core/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/conventional-changelog-core/node_modules/normalize-package-data": { "version": "3.0.3", "dev": true, @@ -10175,11 +8450,6 @@ "readable-stream": "3" } }, - "node_modules/conventional-changelog-core/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, "node_modules/conventional-changelog-preset-loader": { "version": "2.3.4", "dev": true, @@ -10554,8 +8824,6 @@ }, "node_modules/cpu-features": { "version": "0.0.9", - "resolved": "https://registry.npmjs.org/cpu-features/-/cpu-features-0.0.9.tgz", - "integrity": "sha512-AKjgn2rP2yJyfbepsmLfiYcmtNn/2eUvocUyM/09yB0YDiz39HteK/5/T4Onf0pmdYDMgkBoGvRLvEguzyL7wQ==", "hasInstallScript": true, "optional": true, "dependencies": { @@ -11043,11 +9311,13 @@ }, "node_modules/delegates": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://zowe.jfrog.io/zowe/api/npm/npm-release/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "dev": true }, "node_modules/depd": { "version": "1.1.2", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.6" @@ -11432,7 +9702,6 @@ }, "node_modules/eastasianwidth": { "version": "0.2.0", - "dev": true, "license": "MIT" }, "node_modules/ejs": { @@ -11551,7 +9820,6 @@ }, "node_modules/env-paths": { "version": "2.2.1", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -11569,8 +9837,9 @@ } }, "node_modules/err-code": { - "version": "1.1.2", - "license": "MIT" + "version": "2.0.3", + "resolved": "https://zowe.jfrog.io/zowe/api/npm/npm-release/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==" }, "node_modules/error-ex": { "version": "1.3.2", @@ -11972,6 +10241,11 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/exponential-backoff": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", + "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==" + }, "node_modules/external-editor": { "version": "3.1.0", "dev": true, @@ -12270,6 +10544,32 @@ } } }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/form-data": { "version": "4.0.0", "dev": true, @@ -12336,12 +10636,30 @@ }, "node_modules/function-bind": { "version": "1.1.2", - "dev": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://zowe.jfrog.io/zowe/api/npm/npm-release/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, "node_modules/gensync": { "version": "1.0.0-beta.2", "dev": true, @@ -12428,17 +10746,6 @@ "node": ">=10" } }, - "node_modules/get-pkg-repo/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/get-pkg-repo/node_modules/y18n": { "version": "5.0.8", "dev": true, @@ -12447,11 +10754,6 @@ "node": ">=10" } }, - "node_modules/get-pkg-repo/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, "node_modules/get-pkg-repo/node_modules/yargs": { "version": "16.2.0", "dev": true, @@ -12771,7 +11073,6 @@ }, "node_modules/has": { "version": "1.0.3", - "dev": true, "license": "MIT", "dependencies": { "function-bind": "^1.1.1" @@ -12869,6 +11170,7 @@ }, "node_modules/https-proxy-agent": { "version": "5.0.1", + "dev": true, "license": "MIT", "dependencies": { "agent-base": "6", @@ -12888,6 +11190,7 @@ }, "node_modules/humanize-ms": { "version": "1.2.1", + "dev": true, "license": "MIT", "dependencies": { "ms": "^2.0.0" @@ -12951,10 +11254,36 @@ } }, "node_modules/ignore-walk": { - "version": "3.0.4", - "license": "ISC", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.4.tgz", + "integrity": "sha512-t7sv42WkwFkyKbivUCglsQW5YWMskWtbEf4MNKX5u/CCWHKSPzN4FtBQGsQZgCLbxOzpVlcbWVK5KB3auIOjSw==", "dependencies": { - "minimatch": "^3.0.4" + "minimatch": "^9.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/ignore-walk/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/ignore-walk/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/import-fresh": { @@ -13019,6 +11348,7 @@ }, "node_modules/infer-owner": { "version": "1.0.4", + "dev": true, "license": "ISC" }, "node_modules/inflight": { @@ -13178,7 +11508,6 @@ }, "node_modules/is-core-module": { "version": "2.11.0", - "dev": true, "license": "MIT", "dependencies": { "has": "^1.0.3" @@ -13471,6 +11800,23 @@ "node": ">=8" } }, + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/jake": { "version": "10.8.5", "dev": true, @@ -15102,17 +13448,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-snapshot/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/jest-snapshot/node_modules/pretty-format": { "version": "29.7.0", "dev": true, @@ -15159,11 +13494,6 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/jest-snapshot/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, "node_modules/jest-sonar-reporter": { "version": "2.0.0", "dev": true, @@ -15754,6 +14084,7 @@ }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", + "dev": true, "license": "MIT" }, "node_modules/json-schema-traverse": { @@ -15893,63 +14224,6 @@ "node": "^14.15.0 || >=16.0.0" } }, - "node_modules/lerna/node_modules/are-we-there-yet": { - "version": "3.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/lerna/node_modules/gauge": { - "version": "4.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/lerna/node_modules/npmlog": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/lerna/node_modules/readable-stream": { - "version": "3.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/leven": { "version": "3.1.0", "dev": true, @@ -16290,10 +14564,14 @@ } }, "node_modules/lru-cache": { - "version": "5.1.1", - "license": "ISC", + "version": "6.0.0", + "resolved": "https://zowe.jfrog.io/zowe/api/npm/npm-release/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dependencies": { - "yallist": "^3.0.2" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, "node_modules/lunr": { @@ -16413,11 +14691,6 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/make-fetch-happen/node_modules/err-code": { - "version": "2.0.3", - "dev": true, - "license": "MIT" - }, "node_modules/make-fetch-happen/node_modules/lru-cache": { "version": "7.14.0", "dev": true, @@ -16442,26 +14715,6 @@ "encoding": "^0.1.13" } }, - "node_modules/make-fetch-happen/node_modules/promise-retry": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/make-fetch-happen/node_modules/retry": { - "version": "0.12.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, "node_modules/makeerror": { "version": "1.0.12", "dev": true, @@ -16645,17 +14898,6 @@ "node": ">=8" } }, - "node_modules/meow/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/meow/node_modules/normalize-package-data": { "version": "3.0.3", "dev": true, @@ -16776,11 +15018,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/meow/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, "node_modules/merge-stream": { "version": "2.0.0", "dev": true, @@ -16897,6 +15134,7 @@ }, "node_modules/minipass-collect": { "version": "1.0.2", + "dev": true, "license": "ISC", "dependencies": { "minipass": "^3.0.0" @@ -16907,6 +15145,7 @@ }, "node_modules/minipass-fetch": { "version": "1.4.1", + "dev": true, "license": "MIT", "dependencies": { "minipass": "^3.1.0", @@ -16958,10 +15197,6 @@ "node": ">=8" } }, - "node_modules/minipass/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC" - }, "node_modules/minizlib": { "version": "2.1.2", "license": "MIT", @@ -16973,10 +15208,6 @@ "node": ">= 8" } }, - "node_modules/minizlib/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC" - }, "node_modules/mkdirp": { "version": "1.0.4", "license": "MIT", @@ -17000,14 +15231,6 @@ "node": ">=10" } }, - "node_modules/mkdirp-infer-owner/node_modules/chownr": { - "version": "2.0.0", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, "node_modules/modify-values": { "version": "1.0.1", "dev": true, @@ -17106,8 +15329,7 @@ }, "node_modules/nan": { "version": "2.18.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.18.0.tgz", - "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==", + "license": "MIT", "optional": true }, "node_modules/nanoid": { @@ -17128,7 +15350,6 @@ }, "node_modules/negotiator": { "version": "0.6.3", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.6" @@ -17220,36 +15441,6 @@ "node-gyp-build-test": "build-test.js" } }, - "node_modules/node-gyp/node_modules/are-we-there-yet": { - "version": "3.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/node-gyp/node_modules/gauge": { - "version": "4.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, "node_modules/node-gyp/node_modules/nopt": { "version": "6.0.0", "dev": true, @@ -17264,33 +15455,6 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/node-gyp/node_modules/npmlog": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/node-gyp/node_modules/readable-stream": { - "version": "3.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/node-gyp/node_modules/rimraf": { "version": "3.0.2", "dev": true, @@ -17374,19 +15538,21 @@ }, "node_modules/npm-bundled": { "version": "1.1.2", + "dev": true, "license": "ISC", "dependencies": { "npm-normalize-package-bin": "^1.0.1" } }, "node_modules/npm-install-checks": { - "version": "4.0.0", - "license": "BSD-2-Clause", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.3.0.tgz", + "integrity": "sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==", "dependencies": { "semver": "^7.1.1" }, "engines": { - "node": ">=10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm-lockfile": { @@ -17513,18 +15679,6 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/npm-lockfile/node_modules/are-we-there-yet": { - "version": "3.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, "node_modules/npm-lockfile/node_modules/builtins": { "version": "5.0.1", "dev": true, @@ -17533,14 +15687,6 @@ "semver": "^7.0.0" } }, - "node_modules/npm-lockfile/node_modules/chownr": { - "version": "2.0.0", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, "node_modules/npm-lockfile/node_modules/cliui": { "version": "8.0.1", "dev": true, @@ -17554,29 +15700,6 @@ "node": ">=12" } }, - "node_modules/npm-lockfile/node_modules/err-code": { - "version": "2.0.3", - "dev": true, - "license": "MIT" - }, - "node_modules/npm-lockfile/node_modules/gauge": { - "version": "4.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, "node_modules/npm-lockfile/node_modules/hosted-git-info": { "version": "5.1.0", "dev": true, @@ -17779,31 +15902,17 @@ "node_modules/npm-lockfile/node_modules/npm-registry-fetch/node_modules/minipass-fetch": { "version": "2.1.2", "dev": true, - "license": "MIT", - "dependencies": { - "minipass": "^3.1.6", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" - } - }, - "node_modules/npm-lockfile/node_modules/npmlog": { - "version": "6.0.2", - "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" } }, "node_modules/npm-lockfile/node_modules/pacote": { @@ -17892,51 +16001,6 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/npm-lockfile/node_modules/promise-retry": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/npm-lockfile/node_modules/read-package-json-fast": { - "version": "2.0.3", - "dev": true, - "license": "ISC", - "dependencies": { - "json-parse-even-better-errors": "^2.3.0", - "npm-normalize-package-bin": "^1.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/npm-lockfile/node_modules/readable-stream": { - "version": "3.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/npm-lockfile/node_modules/retry": { - "version": "0.12.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, "node_modules/npm-lockfile/node_modules/rimraf": { "version": "3.0.2", "dev": true, @@ -17983,11 +16047,6 @@ "node": ">=10" } }, - "node_modules/npm-lockfile/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, "node_modules/npm-lockfile/node_modules/yargs": { "version": "17.6.0", "dev": true, @@ -18015,10 +16074,12 @@ }, "node_modules/npm-normalize-package-bin": { "version": "1.0.1", + "dev": true, "license": "ISC" }, "node_modules/npm-package-arg": { "version": "8.1.1", + "dev": true, "license": "ISC", "dependencies": { "hosted-git-info": "^3.0.6", @@ -18031,6 +16092,7 @@ }, "node_modules/npm-package-arg/node_modules/hosted-git-info": { "version": "3.0.8", + "dev": true, "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" @@ -18039,20 +16101,6 @@ "node": ">=10" } }, - "node_modules/npm-package-arg/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/npm-package-arg/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC" - }, "node_modules/npm-packlist": { "version": "5.1.3", "dev": true, @@ -18223,162 +16271,257 @@ } }, "node_modules/npm-registry-fetch": { - "version": "8.1.5", - "license": "ISC", + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-16.1.0.tgz", + "integrity": "sha512-PQCELXKt8Azvxnt5Y85GseQDJJlglTFM9L9U9gkv2y4e9s0k3GVDdOx3YoB6gm2Do0hlkzC39iCGXby+Wve1Bw==", "dependencies": { - "@npmcli/ci-detect": "^1.0.0", - "lru-cache": "^6.0.0", - "make-fetch-happen": "^8.0.9", - "minipass": "^3.1.3", - "minipass-fetch": "^1.3.0", + "make-fetch-happen": "^13.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", "minipass-json-stream": "^1.0.1", - "minizlib": "^2.0.0", - "npm-package-arg": "^8.0.0" + "minizlib": "^2.1.2", + "npm-package-arg": "^11.0.0", + "proc-log": "^3.0.0" }, "engines": { - "node": ">=10" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/npm-registry-fetch/node_modules/cacache": { - "version": "15.3.0", - "license": "ISC", + "node_modules/npm-registry-fetch/node_modules/@npmcli/fs": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", + "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", "dependencies": { - "@npmcli/fs": "^1.0.0", - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dependencies": { + "semver": "^7.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/cacache": { + "version": "18.0.2", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.2.tgz", + "integrity": "sha512-r3NU8h/P+4lVUHfeRw1dtgQYar3DZMm4/cm2bZgOvrFC/su7budSOeqh52VJIC4U4iG1WWwV6vRW0znqBvxNuw==", + "dependencies": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", + "minipass-pipeline": "^1.2.4", "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" }, "engines": { - "node": ">= 10" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/npm-registry-fetch/node_modules/chownr": { - "version": "2.0.0", - "license": "ISC", + "node_modules/npm-registry-fetch/node_modules/fs-minipass": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", + "dependencies": { + "minipass": "^7.0.3" + }, "engines": { - "node": ">=10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm-registry-fetch/node_modules/err-code": { - "version": "2.0.3", - "license": "MIT" - }, - "node_modules/npm-registry-fetch/node_modules/http-proxy-agent": { - "version": "4.0.1", - "license": "MIT", + "node_modules/npm-registry-fetch/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" }, "engines": { - "node": ">= 6" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm-registry-fetch/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", + "node_modules/npm-registry-fetch/node_modules/hosted-git-info": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz", + "integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==", "dependencies": { - "yallist": "^4.0.0" + "lru-cache": "^10.0.1" }, "engines": { - "node": ">=10" + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/lru-cache": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz", + "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==", + "engines": { + "node": "14 || >=16.14" } }, "node_modules/npm-registry-fetch/node_modules/make-fetch-happen": { - "version": "8.0.14", - "license": "ISC", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.0.tgz", + "integrity": "sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==", "dependencies": { - "agentkeepalive": "^4.1.3", - "cacache": "^15.0.5", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", + "@npmcli/agent": "^2.0.0", + "cacache": "^18.0.0", + "http-cache-semantics": "^4.1.1", "is-lambda": "^1.0.1", - "lru-cache": "^6.0.0", - "minipass": "^3.1.3", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.3.2", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", "promise-retry": "^2.0.1", - "socks-proxy-agent": "^5.0.0", - "ssri": "^8.0.0" + "ssri": "^10.0.0" }, "engines": { - "node": ">= 10" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/npm-registry-fetch/node_modules/promise-retry": { - "version": "2.0.1", - "license": "MIT", + "node_modules/npm-registry-fetch/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm-registry-fetch/node_modules/retry": { - "version": "0.12.0", - "license": "MIT", + "node_modules/npm-registry-fetch/node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", "engines": { - "node": ">= 4" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/npm-registry-fetch/node_modules/rimraf": { - "version": "3.0.2", - "license": "ISC", + "node_modules/npm-registry-fetch/node_modules/minipass-collect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", + "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", "dependencies": { - "glob": "^7.1.3" + "minipass": "^7.0.3" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/npm-registry-fetch/node_modules/minipass-fetch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.4.tgz", + "integrity": "sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==", + "dependencies": { + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" } }, - "node_modules/npm-registry-fetch/node_modules/socks-proxy-agent": { - "version": "5.0.1", - "license": "MIT", + "node_modules/npm-registry-fetch/node_modules/npm-package-arg": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.1.tgz", + "integrity": "sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==", "dependencies": { - "agent-base": "^6.0.2", - "debug": "4", - "socks": "^2.3.3" + "hosted-git-info": "^7.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" }, "engines": { - "node": ">= 6" + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/proc-log": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", + "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm-registry-fetch/node_modules/ssri": { - "version": "8.0.1", - "license": "ISC", + "version": "10.0.5", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz", + "integrity": "sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==", "dependencies": { - "minipass": "^3.1.1" + "minipass": "^7.0.3" }, "engines": { - "node": ">= 8" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm-registry-fetch/node_modules/yallist": { + "node_modules/npm-registry-fetch/node_modules/unique-filename": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", + "dependencies": { + "unique-slug": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/unique-slug": { "version": "4.0.0", - "license": "ISC" + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/validate-npm-package-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", + "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", + "dependencies": { + "builtins": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } }, "node_modules/npm-run-path": { "version": "4.0.1", @@ -18391,6 +16534,21 @@ "node": ">=8" } }, + "node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://zowe.jfrog.io/zowe/api/npm/npm-release/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, "node_modules/nx": { "version": "15.9.4", "dev": true, @@ -18518,17 +16676,6 @@ "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/nx/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/nx/node_modules/minimatch": { "version": "3.0.5", "dev": true, @@ -18592,11 +16739,6 @@ "node": ">=10" } }, - "node_modules/nx/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, "node_modules/nx/node_modules/yargs": { "version": "17.7.2", "dev": true, @@ -18727,338 +16869,638 @@ "wcwidth": "^1.0.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-defer": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-event": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "p-timeout": "^5.0.2" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-event/node_modules/p-timeout": { + "version": "5.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "license": "MIT", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map-series": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/p-pipe": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-queue": { + "version": "6.6.2", + "dev": true, + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.4", + "p-timeout": "^3.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-reduce": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/p-timeout": { + "version": "3.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-finally": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/p-waterfall": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "p-reduce": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pacote": { + "version": "17.0.5", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-17.0.5.tgz", + "integrity": "sha512-TAE0m20zSDMnchPja9vtQjri19X3pZIyRpm2TJVeI+yU42leJBBDTRYhOcWFsPhaMxf+3iwQkFiKz16G9AEeeA==", + "dependencies": { + "@npmcli/git": "^5.0.0", + "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/promise-spawn": "^7.0.0", + "@npmcli/run-script": "^7.0.0", + "cacache": "^18.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^11.0.0", + "npm-packlist": "^8.0.0", + "npm-pick-manifest": "^9.0.0", + "npm-registry-fetch": "^16.0.0", + "proc-log": "^3.0.0", + "promise-retry": "^2.0.1", + "read-package-json": "^7.0.0", + "read-package-json-fast": "^3.0.0", + "sigstore": "^2.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "lib/bin.js" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/pacote/node_modules/@npmcli/fs": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", + "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/pacote/node_modules/@npmcli/installed-package-contents": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz", + "integrity": "sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==", + "dependencies": { + "npm-bundled": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "bin": { + "installed-package-contents": "lib/index.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/pacote/node_modules/@npmcli/node-gyp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", + "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/pacote/node_modules/@npmcli/run-script": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-7.0.3.tgz", + "integrity": "sha512-ZMWGLHpzMq3rBGIwPyeaoaleaLMvrBrH8nugHxTi5ACkJZXTxXPtVuEH91ifgtss5hUwJQ2VDnzDBWPmz78rvg==", + "dependencies": { + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/promise-spawn": "^7.0.0", + "node-gyp": "^10.0.0", + "read-package-json-fast": "^3.0.0", + "which": "^4.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/pacote/node_modules/abbrev": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", + "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/pacote/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/pacote/node_modules/builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dependencies": { + "semver": "^7.0.0" + } + }, + "node_modules/pacote/node_modules/cacache": { + "version": "18.0.2", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.2.tgz", + "integrity": "sha512-r3NU8h/P+4lVUHfeRw1dtgQYar3DZMm4/cm2bZgOvrFC/su7budSOeqh52VJIC4U4iG1WWwV6vRW0znqBvxNuw==", + "dependencies": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/pacote/node_modules/fs-minipass": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/pacote/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/pacote/node_modules/hosted-git-info": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz", + "integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/pacote/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "engines": { + "node": ">=16" } }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "dev": true, - "license": "MIT", + "node_modules/pacote/node_modules/json-parse-even-better-errors": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz", + "integrity": "sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==", "engines": { - "node": ">=0.10.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/p-defer": { - "version": "1.0.0", - "dev": true, - "license": "MIT", + "node_modules/pacote/node_modules/lru-cache": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz", + "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==", "engines": { - "node": ">=4" + "node": "14 || >=16.14" } }, - "node_modules/p-event": { - "version": "5.0.1", - "dev": true, - "license": "MIT", + "node_modules/pacote/node_modules/make-fetch-happen": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.0.tgz", + "integrity": "sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==", "dependencies": { - "p-timeout": "^5.0.2" + "@npmcli/agent": "^2.0.0", + "cacache": "^18.0.0", + "http-cache-semantics": "^4.1.1", + "is-lambda": "^1.0.1", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "ssri": "^10.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/p-event/node_modules/p-timeout": { - "version": "5.1.0", - "dev": true, - "license": "MIT", + "node_modules/pacote/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, "engines": { - "node": ">=12" + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/p-finally": { - "version": "1.0.0", - "dev": true, - "license": "MIT", + "node_modules/pacote/node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", "engines": { - "node": ">=4" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/p-limit": { - "version": "3.1.0", - "license": "MIT", + "node_modules/pacote/node_modules/minipass-collect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", + "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", "dependencies": { - "yocto-queue": "^0.1.0" + "minipass": "^7.0.3" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/p-locate": { - "version": "5.0.0", - "license": "MIT", + "node_modules/pacote/node_modules/minipass-fetch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.4.tgz", + "integrity": "sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==", "dependencies": { - "p-limit": "^3.0.2" + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" }, "engines": { - "node": ">=10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "optionalDependencies": { + "encoding": "^0.1.13" } }, - "node_modules/p-map": { - "version": "4.0.0", - "license": "MIT", + "node_modules/pacote/node_modules/node-gyp": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.0.1.tgz", + "integrity": "sha512-gg3/bHehQfZivQVfqIyy8wTdSymF9yTyP4CJifK73imyNMU8AIGQE2pUa7dNWfmMeG9cDVF2eehiRMv0LC1iAg==", "dependencies": { - "aggregate-error": "^3.0.0" + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "glob": "^10.3.10", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^13.0.0", + "nopt": "^7.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^4.0.0" }, - "engines": { - "node": ">=10" + "bin": { + "node-gyp": "bin/node-gyp.js" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-map-series": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/p-pipe": { - "version": "3.1.0", - "dev": true, - "license": "MIT", "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/p-queue": { - "version": "6.6.2", - "dev": true, - "license": "MIT", + "node_modules/pacote/node_modules/nopt": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.0.tgz", + "integrity": "sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==", "dependencies": { - "eventemitter3": "^4.0.4", - "p-timeout": "^3.2.0" + "abbrev": "^2.0.0" }, - "engines": { - "node": ">=8" + "bin": { + "nopt": "bin/nopt.js" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/p-reduce": { - "version": "2.1.0", - "dev": true, - "license": "MIT", + "node_modules/pacote/node_modules/normalize-package-data": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.0.tgz", + "integrity": "sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==", + "dependencies": { + "hosted-git-info": "^7.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, "engines": { - "node": ">=8" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/p-timeout": { - "version": "3.2.0", - "dev": true, - "license": "MIT", + "node_modules/pacote/node_modules/npm-bundled": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz", + "integrity": "sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==", "dependencies": { - "p-finally": "^1.0.0" + "npm-normalize-package-bin": "^3.0.0" }, "engines": { - "node": ">=8" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/p-try": { - "version": "2.2.0", - "license": "MIT", + "node_modules/pacote/node_modules/npm-normalize-package-bin": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", + "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", "engines": { - "node": ">=6" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/p-waterfall": { - "version": "2.1.1", - "dev": true, - "license": "MIT", + "node_modules/pacote/node_modules/npm-package-arg": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.1.tgz", + "integrity": "sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==", "dependencies": { - "p-reduce": "^2.0.0" + "hosted-git-info": "^7.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/pacote": { - "version": "11.1.4", - "license": "ISC", + "node_modules/pacote/node_modules/npm-packlist": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-8.0.1.tgz", + "integrity": "sha512-MQpL27ZrsJQ2kiAuQPpZb5LtJwydNRnI15QWXsf3WHERu4rzjRj6Zju/My2fov7tLuu3Gle/uoIX/DDZ3u4O4Q==", "dependencies": { - "@npmcli/git": "^2.0.1", - "@npmcli/installed-package-contents": "^1.0.5", - "@npmcli/promise-spawn": "^1.1.0", - "cacache": "^15.0.0", - "chownr": "^1.1.4", - "fs-minipass": "^2.1.0", - "infer-owner": "^1.0.4", - "lru-cache": "^5.1.1", - "minipass": "^3.0.1", - "minipass-fetch": "^1.2.1", - "mkdirp": "^1.0.3", - "npm-package-arg": "^8.0.1", - "npm-packlist": "^2.1.0", - "npm-pick-manifest": "^6.0.0", - "npm-registry-fetch": "^8.0.0", - "promise-inflight": "^1.0.1", - "promise-retry": "^1.1.1", - "read-package-json-fast": "^1.1.3", - "rimraf": "^2.7.1", - "semver": "^7.1.3", - "ssri": "^8.0.0", - "tar": "^6.0.1", - "which": "^2.0.2" - }, - "bin": { - "pacote": "lib/bin.js" + "ignore-walk": "^6.0.4" }, "engines": { - "node": ">=10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/pacote/node_modules/cacache": { - "version": "15.3.0", - "license": "ISC", + "node_modules/pacote/node_modules/npm-pick-manifest": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-9.0.0.tgz", + "integrity": "sha512-VfvRSs/b6n9ol4Qb+bDwNGUXutpy76x6MARw/XssevE0TnctIKcmklJZM5Z7nqs5z5aW+0S63pgCNbpkUNNXBg==", "dependencies": { - "@npmcli/fs": "^1.0.0", - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" + "npm-install-checks": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "npm-package-arg": "^11.0.0", + "semver": "^7.3.5" }, "engines": { - "node": ">= 10" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/pacote/node_modules/cacache/node_modules/chownr": { - "version": "2.0.0", - "license": "ISC", + "node_modules/pacote/node_modules/proc-log": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", + "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", "engines": { - "node": ">=10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/pacote/node_modules/cacache/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", + "node_modules/pacote/node_modules/read-package-json": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-7.0.0.tgz", + "integrity": "sha512-uL4Z10OKV4p6vbdvIXB+OzhInYtIozl/VxUBPgNkBuUi2DeRonnuspmaVAMcrkmfjKGNmRndyQAbE7/AmzGwFg==", "dependencies": { - "yallist": "^4.0.0" + "glob": "^10.2.2", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0" }, "engines": { - "node": ">=10" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/pacote/node_modules/cacache/node_modules/rimraf": { + "node_modules/pacote/node_modules/read-package-json-fast": { "version": "3.0.2", - "license": "ISC", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", + "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "json-parse-even-better-errors": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/pacote/node_modules/hosted-git-info": { - "version": "4.1.0", - "license": "ISC", + "node_modules/pacote/node_modules/ssri": { + "version": "10.0.5", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz", + "integrity": "sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==", "dependencies": { - "lru-cache": "^6.0.0" + "minipass": "^7.0.3" }, "engines": { - "node": ">=10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/pacote/node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", + "node_modules/pacote/node_modules/unique-filename": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", "dependencies": { - "yallist": "^4.0.0" + "unique-slug": "^4.0.0" }, "engines": { - "node": ">=10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/pacote/node_modules/npm-package-arg": { - "version": "8.1.5", - "license": "ISC", + "node_modules/pacote/node_modules/unique-slug": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", "dependencies": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", - "validate-npm-package-name": "^3.0.0" + "imurmurhash": "^0.1.4" }, "engines": { - "node": ">=10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/pacote/node_modules/npm-packlist": { - "version": "2.2.2", - "license": "ISC", + "node_modules/pacote/node_modules/validate-npm-package-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", + "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", "dependencies": { - "glob": "^7.1.6", - "ignore-walk": "^3.0.3", - "npm-bundled": "^1.1.1", - "npm-normalize-package-bin": "^1.0.1" - }, - "bin": { - "npm-packlist": "bin/index.js" + "builtins": "^5.0.0" }, "engines": { - "node": ">=10" - } - }, - "node_modules/pacote/node_modules/npm-pick-manifest": { - "version": "6.1.1", - "license": "ISC", - "dependencies": { - "npm-install-checks": "^4.0.0", - "npm-normalize-package-bin": "^1.0.1", - "npm-package-arg": "^8.1.2", - "semver": "^7.3.4" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/pacote/node_modules/ssri": { - "version": "8.0.1", - "license": "ISC", + "node_modules/pacote/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", "dependencies": { - "minipass": "^3.1.1" + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" }, "engines": { - "node": ">= 8" + "node": "^16.13.0 || >=18.0.0" } }, - "node_modules/pacote/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC" - }, "node_modules/parent-module": { "version": "1.0.1", "dev": true, @@ -19171,6 +17613,37 @@ "dev": true, "license": "MIT" }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz", + "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==", + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/path-scurry/node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/path-to-regexp": { "version": "2.2.1", "dev": true, @@ -19614,14 +18087,15 @@ "license": "MIT" }, "node_modules/promise-retry": { - "version": "1.1.1", - "license": "MIT", + "version": "2.0.1", + "resolved": "https://zowe.jfrog.io/zowe/api/npm/npm-release/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", "dependencies": { - "err-code": "^1.0.0", - "retry": "^0.10.0" + "err-code": "^2.0.2", + "retry": "^0.12.0" }, "engines": { - "node": ">=0.12" + "node": ">=10" } }, "node_modules/prompts": { @@ -19808,11 +18282,16 @@ } }, "node_modules/read-package-json-fast": { - "version": "1.2.2", - "license": "ISC", + "version": "2.0.3", + "resolved": "https://zowe.jfrog.io/zowe/api/npm/npm-release/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz", + "integrity": "sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==", + "dev": true, "dependencies": { "json-parse-even-better-errors": "^2.3.0", "npm-normalize-package-bin": "^1.0.1" + }, + "engines": { + "node": ">=10" } }, "node_modules/read-package-json/node_modules/brace-expansion": { @@ -20285,10 +18764,11 @@ } }, "node_modules/retry": { - "version": "0.10.1", - "license": "MIT", + "version": "0.12.0", + "resolved": "https://zowe.jfrog.io/zowe/api/npm/npm-release/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", "engines": { - "node": "*" + "node": ">= 4" } }, "node_modules/reusify": { @@ -20305,6 +18785,7 @@ }, "node_modules/rimraf": { "version": "2.7.1", + "dev": true, "license": "ISC", "dependencies": { "glob": "^7.1.3" @@ -20401,20 +18882,6 @@ "node": ">=10" } }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC" - }, "node_modules/serialize-error": { "version": "7.0.1", "dev": true, @@ -20651,6 +19118,20 @@ "dev": true, "license": "ISC" }, + "node_modules/sigstore": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-2.1.0.tgz", + "integrity": "sha512-kPIj+ZLkyI3QaM0qX8V/nSsweYND3W448pwkDgS6CQ74MfhEkIR8ToK5Iyx46KJYRjseVcD3Rp9zAmUAj6ZjPw==", + "dependencies": { + "@sigstore/bundle": "^2.1.0", + "@sigstore/protobuf-specs": "^0.2.1", + "@sigstore/sign": "^2.1.0", + "@sigstore/tuf": "^2.1.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, "node_modules/sisteransi": { "version": "1.0.5", "dev": true, @@ -20788,7 +19269,6 @@ }, "node_modules/spdx-correct": { "version": "3.1.1", - "dev": true, "license": "Apache-2.0", "dependencies": { "spdx-expression-parse": "^3.0.0", @@ -20797,12 +19277,10 @@ }, "node_modules/spdx-exceptions": { "version": "2.3.0", - "dev": true, "license": "CC-BY-3.0" }, "node_modules/spdx-expression-parse": { "version": "3.0.1", - "dev": true, "license": "MIT", "dependencies": { "spdx-exceptions": "^2.1.0", @@ -20811,7 +19289,6 @@ }, "node_modules/spdx-license-ids": { "version": "3.0.11", - "dev": true, "license": "CC0-1.0" }, "node_modules/split": { @@ -20857,8 +19334,6 @@ }, "node_modules/ssh2": { "version": "1.15.0", - "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-1.15.0.tgz", - "integrity": "sha512-C0PHgX4h6lBxYx7hcXwu3QWdh4tg6tZZsTfXcdvc5caW/EMxaB4H9dWsl7qk+F7LAW762hp8VbXOX7x4xUYvEw==", "hasInstallScript": true, "dependencies": { "asn1": "^0.2.6", @@ -20999,6 +19474,20 @@ "node": ">=8" } }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/stringify-object": { "version": "3.3.0", "dev": true, @@ -21022,6 +19511,26 @@ "node": ">=8" } }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, "node_modules/strip-ansi/node_modules/ansi-regex": { "version": "5.0.1", "license": "MIT", @@ -21322,17 +19831,6 @@ "graceful-fs": "^4.1.6" } }, - "node_modules/syncpack/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/syncpack/node_modules/semver": { "version": "7.3.5", "dev": true, @@ -21347,11 +19845,6 @@ "node": ">=10" } }, - "node_modules/syncpack/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, "node_modules/tapable": { "version": "2.2.1", "dev": true, @@ -21403,13 +19896,6 @@ "node": ">= 6" } }, - "node_modules/tar/node_modules/chownr": { - "version": "2.0.0", - "license": "ISC", - "engines": { - "node": ">=10" - } - }, "node_modules/tar/node_modules/minipass": { "version": "5.0.0", "license": "ISC", @@ -21417,10 +19903,6 @@ "node": ">=8" } }, - "node_modules/tar/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC" - }, "node_modules/temp": { "version": "0.4.0", "dev": true, @@ -21745,17 +20227,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/ts-jest/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/ts-jest/node_modules/semver": { "version": "7.5.4", "dev": true, @@ -21770,11 +20241,6 @@ "node": ">=10" } }, - "node_modules/ts-jest/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, "node_modules/ts-jest/node_modules/yargs-parser": { "version": "21.1.1", "dev": true, @@ -21884,6 +20350,203 @@ "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" } }, + "node_modules/tuf-js": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-2.1.0.tgz", + "integrity": "sha512-eD7YPPjVlMzdggrOeE8zwoegUaG/rt6Bt3jwoQPunRiNVzgcCE009UDFJKJjG+Gk9wFu6W/Vi+P5d/5QpdD9jA==", + "dependencies": { + "@tufjs/models": "2.0.0", + "debug": "^4.3.4", + "make-fetch-happen": "^13.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/tuf-js/node_modules/@npmcli/fs": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", + "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/tuf-js/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/tuf-js/node_modules/cacache": { + "version": "18.0.2", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.2.tgz", + "integrity": "sha512-r3NU8h/P+4lVUHfeRw1dtgQYar3DZMm4/cm2bZgOvrFC/su7budSOeqh52VJIC4U4iG1WWwV6vRW0znqBvxNuw==", + "dependencies": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/tuf-js/node_modules/fs-minipass": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/tuf-js/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/tuf-js/node_modules/lru-cache": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz", + "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==", + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/tuf-js/node_modules/make-fetch-happen": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.0.tgz", + "integrity": "sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==", + "dependencies": { + "@npmcli/agent": "^2.0.0", + "cacache": "^18.0.0", + "http-cache-semantics": "^4.1.1", + "is-lambda": "^1.0.1", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/tuf-js/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/tuf-js/node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/tuf-js/node_modules/minipass-collect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", + "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/tuf-js/node_modules/minipass-fetch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.4.tgz", + "integrity": "sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==", + "dependencies": { + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/tuf-js/node_modules/ssri": { + "version": "10.0.5", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz", + "integrity": "sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/tuf-js/node_modules/unique-filename": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", + "dependencies": { + "unique-slug": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/tuf-js/node_modules/unique-slug": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/tweetnacl": { "version": "0.14.5", "license": "Unlicense" @@ -22009,6 +20672,7 @@ }, "node_modules/unique-filename": { "version": "1.1.1", + "dev": true, "license": "ISC", "dependencies": { "unique-slug": "^2.0.0" @@ -22016,6 +20680,7 @@ }, "node_modules/unique-slug": { "version": "2.0.2", + "dev": true, "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4" @@ -22102,7 +20767,6 @@ }, "node_modules/validate-npm-package-license": { "version": "3.0.4", - "dev": true, "license": "Apache-2.0", "dependencies": { "spdx-correct": "^3.0.0", @@ -22111,6 +20775,7 @@ }, "node_modules/validate-npm-package-name": { "version": "3.0.0", + "dev": true, "license": "ISC", "dependencies": { "builtins": "^1.0.3" @@ -22194,8 +20859,9 @@ }, "node_modules/wide-align": { "version": "1.1.5", + "resolved": "https://zowe.jfrog.io/zowe/api/npm/npm-release/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", "dev": true, - "license": "ISC", "dependencies": { "string-width": "^1.0.2 || 2 || 3 || 4" } @@ -22285,6 +20951,23 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, "node_modules/wrappy": { "version": "1.0.2", "license": "ISC" @@ -22467,8 +21150,9 @@ "license": "ISC" }, "node_modules/yallist": { - "version": "3.1.1", - "license": "ISC" + "version": "4.0.0", + "resolved": "https://zowe.jfrog.io/zowe/api/npm/npm-release/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/yaml": { "version": "1.10.2", @@ -22600,21 +21284,21 @@ }, "packages/cli": { "name": "@zowe/cli", - "version": "8.0.0-next.202401162202", + "version": "8.0.0-next.202401191954", "hasInstallScript": true, "license": "EPL-2.0", "dependencies": { - "@zowe/core-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/imperative": "8.0.0-next.202401162202", - "@zowe/provisioning-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/zos-console-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/zos-files-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/zos-jobs-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/zos-logs-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/zos-tso-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/zos-uss-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/zos-workflows-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/zosmf-for-zowe-sdk": "8.0.0-next.202401162202", + "@zowe/core-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/imperative": "8.0.0-next.202401191954", + "@zowe/provisioning-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/zos-console-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/zos-files-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/zos-jobs-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/zos-logs-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/zos-tso-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/zos-uss-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/zos-workflows-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/zosmf-for-zowe-sdk": "8.0.0-next.202401191954", "find-process": "1.4.7", "get-stream": "6.0.1", "lodash": "4.17.21", @@ -22628,7 +21312,7 @@ "@types/diff": "^5.0.2", "@types/lodash": "^4.14.175", "@types/tar": "^6.1.2", - "@zowe/cli-test-utils": "8.0.0-next.202401162202", + "@zowe/cli-test-utils": "8.0.0-next.202401191954", "comment-json": "^4.1.1", "strip-ansi": "^6.0.1", "which": "^2.0.2" @@ -22637,7 +21321,7 @@ "node": ">=14.0.0" }, "optionalDependencies": { - "@zowe/secrets-for-zowe-sdk": "8.0.0-next.202401162202" + "@zowe/secrets-for-zowe-sdk": "8.0.0-next.202401191954" } }, "packages/cli/node_modules/brace-expansion": { @@ -22659,15 +21343,15 @@ }, "packages/core": { "name": "@zowe/core-for-zowe-sdk", - "version": "8.0.0-next.202401162202", + "version": "8.0.0-next.202401191954", "license": "EPL-2.0", "dependencies": { "comment-json": "^4.1.1", "string-width": "^4.2.3" }, "devDependencies": { - "@zowe/cli-test-utils": "8.0.0-next.202401162202", - "@zowe/imperative": "8.0.0-next.202401162202" + "@zowe/cli-test-utils": "8.0.0-next.202401191954", + "@zowe/imperative": "8.0.0-next.202401191954" }, "peerDependencies": { "@zowe/imperative": "^8.0.0-next" @@ -22675,7 +21359,7 @@ }, "packages/imperative": { "name": "@zowe/imperative", - "version": "8.0.0-next.202401162202", + "version": "8.0.0-next.202401191954", "license": "EPL-2.0", "dependencies": { "@types/yargs": "^13.0.4", @@ -22702,7 +21386,7 @@ "mustache": "^2.3.0", "npm-package-arg": "^9.1.0", "opener": "^1.5.2", - "pacote": "^11.1.4", + "pacote": "^17.0.5", "prettyjson": "^1.2.2", "progress": "^2.0.3", "read": "^1.0.7", @@ -22731,7 +21415,7 @@ "@types/readline-sync": "^1.4.3", "@types/rimraf": "^3.0.2", "@types/stack-trace": "^0.0.29", - "@zowe/secrets-for-zowe-sdk": "8.0.0-next.202401162202", + "@zowe/secrets-for-zowe-sdk": "8.0.0-next.202401191954", "concurrently": "^7.5.0", "cowsay": "^1.2.1", "deep-diff": "^0.3.8", @@ -22998,16 +21682,16 @@ }, "packages/provisioning": { "name": "@zowe/provisioning-for-zowe-sdk", - "version": "8.0.0-next.202401162202", + "version": "8.0.0-next.202401191954", "license": "EPL-2.0", "dependencies": { "js-yaml": "^4.1.0" }, "devDependencies": { "@types/js-yaml": "^4.0.5", - "@zowe/cli-test-utils": "8.0.0-next.202401162202", - "@zowe/core-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/imperative": "8.0.0-next.202401162202" + "@zowe/cli-test-utils": "8.0.0-next.202401191954", + "@zowe/core-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/imperative": "8.0.0-next.202401191954" }, "peerDependencies": { "@zowe/core-for-zowe-sdk": "^8.0.0-next", @@ -23016,7 +21700,7 @@ }, "packages/secrets": { "name": "@zowe/secrets-for-zowe-sdk", - "version": "8.0.0-next.202401162202", + "version": "8.0.0-next.202401191954", "hasInstallScript": true, "license": "EPL-2.0", "devDependencies": { @@ -23029,15 +21713,15 @@ }, "packages/workflows": { "name": "@zowe/zos-workflows-for-zowe-sdk", - "version": "8.0.0-next.202401162202", + "version": "8.0.0-next.202401191954", "license": "EPL-2.0", "dependencies": { - "@zowe/zos-files-for-zowe-sdk": "8.0.0-next.202401162202" + "@zowe/zos-files-for-zowe-sdk": "8.0.0-next.202401191954" }, "devDependencies": { - "@zowe/cli-test-utils": "8.0.0-next.202401162202", - "@zowe/core-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/imperative": "8.0.0-next.202401162202" + "@zowe/cli-test-utils": "8.0.0-next.202401191954", + "@zowe/core-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/imperative": "8.0.0-next.202401191954" }, "peerDependencies": { "@zowe/core-for-zowe-sdk": "^8.0.0-next", @@ -23046,12 +21730,12 @@ }, "packages/zosconsole": { "name": "@zowe/zos-console-for-zowe-sdk", - "version": "8.0.0-next.202401162202", + "version": "8.0.0-next.202401191954", "license": "EPL-2.0", "devDependencies": { - "@zowe/cli-test-utils": "8.0.0-next.202401162202", - "@zowe/core-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/imperative": "8.0.0-next.202401162202" + "@zowe/cli-test-utils": "8.0.0-next.202401191954", + "@zowe/core-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/imperative": "8.0.0-next.202401191954" }, "peerDependencies": { "@zowe/core-for-zowe-sdk": "^8.0.0-next", @@ -23060,17 +21744,17 @@ }, "packages/zosfiles": { "name": "@zowe/zos-files-for-zowe-sdk", - "version": "8.0.0-next.202401162202", + "version": "8.0.0-next.202401191954", "license": "EPL-2.0", "dependencies": { "get-stream": "^6.0.1", "minimatch": "^5.0.1" }, "devDependencies": { - "@zowe/cli-test-utils": "8.0.0-next.202401162202", - "@zowe/core-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/imperative": "8.0.0-next.202401162202", - "@zowe/zos-uss-for-zowe-sdk": "8.0.0-next.202401162202" + "@zowe/cli-test-utils": "8.0.0-next.202401191954", + "@zowe/core-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/imperative": "8.0.0-next.202401191954", + "@zowe/zos-uss-for-zowe-sdk": "8.0.0-next.202401191954" }, "peerDependencies": { "@zowe/core-for-zowe-sdk": "^8.0.0-next", @@ -23096,15 +21780,15 @@ }, "packages/zosjobs": { "name": "@zowe/zos-jobs-for-zowe-sdk", - "version": "8.0.0-next.202401162202", + "version": "8.0.0-next.202401191954", "license": "EPL-2.0", "dependencies": { - "@zowe/zos-files-for-zowe-sdk": "8.0.0-next.202401162202" + "@zowe/zos-files-for-zowe-sdk": "8.0.0-next.202401191954" }, "devDependencies": { - "@zowe/cli-test-utils": "8.0.0-next.202401162202", - "@zowe/core-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/imperative": "8.0.0-next.202401162202" + "@zowe/cli-test-utils": "8.0.0-next.202401191954", + "@zowe/core-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/imperative": "8.0.0-next.202401191954" }, "peerDependencies": { "@zowe/core-for-zowe-sdk": "^8.0.0-next", @@ -23113,12 +21797,12 @@ }, "packages/zoslogs": { "name": "@zowe/zos-logs-for-zowe-sdk", - "version": "8.0.0-next.202401162202", + "version": "8.0.0-next.202401191954", "license": "EPL-2.0", "devDependencies": { - "@zowe/cli-test-utils": "8.0.0-next.202401162202", - "@zowe/core-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/imperative": "8.0.0-next.202401162202" + "@zowe/cli-test-utils": "8.0.0-next.202401191954", + "@zowe/core-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/imperative": "8.0.0-next.202401191954" }, "peerDependencies": { "@zowe/core-for-zowe-sdk": "^8.0.0-next", @@ -23127,12 +21811,12 @@ }, "packages/zosmf": { "name": "@zowe/zosmf-for-zowe-sdk", - "version": "8.0.0-next.202401162202", + "version": "8.0.0-next.202401191954", "license": "EPL-2.0", "devDependencies": { - "@zowe/cli-test-utils": "8.0.0-next.202401162202", - "@zowe/core-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/imperative": "8.0.0-next.202401162202" + "@zowe/cli-test-utils": "8.0.0-next.202401191954", + "@zowe/core-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/imperative": "8.0.0-next.202401191954" }, "peerDependencies": { "@zowe/core-for-zowe-sdk": "^8.0.0-next", @@ -23141,15 +21825,15 @@ }, "packages/zostso": { "name": "@zowe/zos-tso-for-zowe-sdk", - "version": "8.0.0-next.202401162202", + "version": "8.0.0-next.202401191954", "license": "EPL-2.0", "dependencies": { - "@zowe/zosmf-for-zowe-sdk": "8.0.0-next.202401162202" + "@zowe/zosmf-for-zowe-sdk": "8.0.0-next.202401191954" }, "devDependencies": { - "@zowe/cli-test-utils": "8.0.0-next.202401162202", - "@zowe/core-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/imperative": "8.0.0-next.202401162202" + "@zowe/cli-test-utils": "8.0.0-next.202401191954", + "@zowe/core-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/imperative": "8.0.0-next.202401191954" }, "peerDependencies": { "@zowe/core-for-zowe-sdk": "^8.0.0-next", @@ -23158,15 +21842,15 @@ }, "packages/zosuss": { "name": "@zowe/zos-uss-for-zowe-sdk", - "version": "8.0.0-next.202401162202", + "version": "8.0.0-next.202401191954", "license": "EPL-2.0", "dependencies": { "ssh2": "^1.15.0" }, "devDependencies": { "@types/ssh2": "^1.11.0", - "@zowe/cli-test-utils": "8.0.0-next.202401162202", - "@zowe/imperative": "8.0.0-next.202401162202" + "@zowe/cli-test-utils": "8.0.0-next.202401191954", + "@zowe/imperative": "8.0.0-next.202401191954" }, "peerDependencies": { "@zowe/imperative": "^8.0.0-next" diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 6d56d7a88f..b9c4d4b8e2 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -2,6 +2,11 @@ All notable changes to the Zowe CLI package will be documented in this file. +## `8.0.0-next.202401191954` + +- LTS Breaking: Removed all 'profiles' commands, since they only worked with now-obsolete V1 profiles. +- BugFix: Properly construct workflow error messages to display properly with V3 error formatting. + ## `8.0.0-next.202401081937` - BugFix: Fixed typo in command help for `zowe zos-workflows create` commands. @@ -10,10 +15,6 @@ All notable changes to the Zowe CLI package will be documented in this file. - Enhancement: Revised help text for consistency [#1756](https://github.com/zowe/zowe-cli/issues/1756) -## `8.0.0-next.202401022112` - -- BugFix: Add missing npm-shrinkwrap - ## `8.0.0-next.202311291643` - LTS Breaking: Replaced the `ZOWE_EDITOR` environment variable with `ZOWE_OPT_EDITOR` and `--editor` option on commands [#1867](https://github.com/zowe/zowe-cli/issues/1867) @@ -31,6 +32,24 @@ All notable changes to the Zowe CLI package will be documented in this file. - Major: First major version bump for V3 +## `7.22.0` + +- Enhancement: Hid the progress bar if `CI` environment variable is set, or if `FORCE_COLOR` environment variable is set to `0`. [#1845](https://github.com/zowe/zowe-cli/issues/1845) + +## `7.21.2` + +- BugFix: Correct extra character being displayed at the end of lines when issuing `zowe files compare` on Windows. [#1992](https://github.com/zowe/zowe-cli/issues/1992) +- BugFix: Correct the online help description for `zowe files compare uss`. [#1754](https://github.com/zowe/zowe-cli/issues/1754) +- BugFix: Fixed typo in command help for `zowe zos-workflows create` commands. + +## `7.20.1` + +- BugFix: Add missing npm-shrinkwrap + +## `7.20.0` + +- Deprecated: `getDataSet` in the `zosfiles` command group utility functions, use `zosfiles` SDK's `ZosFilesUtils.getDataSetFromName` instead. [#1696](https://github.com/zowe/zowe-cli/issues/1696) + ## `7.18.10` - BugFix: Added missing z/OSMF connection options to the z/OS Logs command group. diff --git a/packages/cli/__tests__/auth/__integration__/__snapshots__/cli.auth.apiml.integration.test.ts.snap b/packages/cli/__tests__/auth/__integration__/__snapshots__/cli.auth.apiml.integration.test.ts.snap index adec432955..14dc8baae8 100644 --- a/packages/cli/__tests__/auth/__integration__/__snapshots__/cli.auth.apiml.integration.test.ts.snap +++ b/packages/cli/__tests__/auth/__integration__/__snapshots__/cli.auth.apiml.integration.test.ts.snap @@ -61,7 +61,10 @@ exports[`auth login/logout apiml help should display the login help 1`] = ` --cert-file (local file path) - The file path to a certificate file to use for authentication + The file path to a certificate file to use for authentication. + + Note: The CLI does not support certificate files that require a password. For + more information, search Troubleshooting PEM Certificates in Zowe Docs. --cert-key-file (local file path) @@ -110,9 +113,9 @@ exports[`auth login/logout apiml help should display the login help 1`] = ` \\"success\\": true, \\"exitCode\\": 0, \\"message\\": \\"The help was constructed for command: apiml.\\", - \\"stdout\\": \\"\\\\n COMMAND NAME\\\\n ------------\\\\n\\\\n apiml\\\\n\\\\n DESCRIPTION\\\\n -----------\\\\n\\\\n Log in to Zowe API Mediation Layer authentication service and obtain or update a\\\\n token.\\\\n\\\\n The token provides authentication to services that support the API ML SSO\\\\n (Single Sign-On) capability. When you log in, the token is stored in your\\\\n default base profile until it expires. Base profiles store connection\\\\n information shared by multiple services (e.g., z/OSMF), and are used if you do\\\\n not supply connection information in a service profile. To take advantage of the\\\\n API ML SSO capability, you should omit username and password in service profiles\\\\n so that the token in the base profile is used.\\\\n\\\\n USAGE\\\\n -----\\\\n\\\\n zowe auth login apiml [options]\\\\n\\\\n OPTIONS\\\\n -------\\\\n\\\\n --show-token | --st (boolean)\\\\n\\\\n Show the token when login is successful. If specified, does not save the token\\\\n to a profile.\\\\n\\\\n BASE CONNECTION OPTIONS\\\\n -----------------------\\\\n\\\\n --host | -H (string)\\\\n\\\\n Host name of service on the mainframe.\\\\n\\\\n --port | -P (number)\\\\n\\\\n Port number of service on the mainframe.\\\\n\\\\n --user | -u (string)\\\\n\\\\n User name to authenticate to service on the mainframe.\\\\n\\\\n --password | --pass | --pw (string)\\\\n\\\\n Password to authenticate to service on the mainframe.\\\\n\\\\n --reject-unauthorized | --ru (boolean)\\\\n\\\\n Reject self-signed certificates.\\\\n\\\\n Default value: true\\\\n\\\\n --cert-file (local file path)\\\\n\\\\n The file path to a certificate file to use for authentication\\\\n\\\\n --cert-key-file (local file path)\\\\n\\\\n The file path to a certificate key file to use for authentication\\\\n\\\\n PROFILE OPTIONS\\\\n ---------------\\\\n\\\\n --base-profile | --base-p (string)\\\\n\\\\n The name of a (base) profile to load for this command execution.\\\\n\\\\n GLOBAL OPTIONS\\\\n --------------\\\\n\\\\n --show-inputs-only (boolean)\\\\n\\\\n Show command inputs and do not run the command\\\\n\\\\n --response-format-json | --rfj (boolean)\\\\n\\\\n Produce JSON formatted data from a command\\\\n\\\\n --help | -h (boolean)\\\\n\\\\n Display help text\\\\n\\\\n --help-web | --hw (boolean)\\\\n\\\\n Display HTML help in browser\\\\n\\\\n EXAMPLES\\\\n --------\\\\n\\\\n - Log in to an API ML instance to obtain or update the token\\\\n stored in your base profile:\\\\n\\\\n $ zowe auth login apiml\\\\n\\\\n - Log in to an API ML instance to obtain a token without\\\\n storing it in a profile:\\\\n\\\\n $ zowe auth login apiml --show-token\\\\n\\\\n\\", + \\"stdout\\": \\"\\\\n COMMAND NAME\\\\n ------------\\\\n\\\\n apiml\\\\n\\\\n DESCRIPTION\\\\n -----------\\\\n\\\\n Log in to Zowe API Mediation Layer authentication service and obtain or update a\\\\n token.\\\\n\\\\n The token provides authentication to services that support the API ML SSO\\\\n (Single Sign-On) capability. When you log in, the token is stored in your\\\\n default base profile until it expires. Base profiles store connection\\\\n information shared by multiple services (e.g., z/OSMF), and are used if you do\\\\n not supply connection information in a service profile. To take advantage of the\\\\n API ML SSO capability, you should omit username and password in service profiles\\\\n so that the token in the base profile is used.\\\\n\\\\n USAGE\\\\n -----\\\\n\\\\n zowe auth login apiml [options]\\\\n\\\\n OPTIONS\\\\n -------\\\\n\\\\n --show-token | --st (boolean)\\\\n\\\\n Show the token when login is successful. If specified, does not save the token\\\\n to a profile.\\\\n\\\\n BASE CONNECTION OPTIONS\\\\n -----------------------\\\\n\\\\n --host | -H (string)\\\\n\\\\n Host name of service on the mainframe.\\\\n\\\\n --port | -P (number)\\\\n\\\\n Port number of service on the mainframe.\\\\n\\\\n --user | -u (string)\\\\n\\\\n User name to authenticate to service on the mainframe.\\\\n\\\\n --password | --pass | --pw (string)\\\\n\\\\n Password to authenticate to service on the mainframe.\\\\n\\\\n --reject-unauthorized | --ru (boolean)\\\\n\\\\n Reject self-signed certificates.\\\\n\\\\n Default value: true\\\\n\\\\n --cert-file (local file path)\\\\n\\\\n The file path to a certificate file to use for authentication.\\\\n\\\\n Note: The CLI does not support certificate files that require a password. For\\\\n more information, search Troubleshooting PEM Certificates in Zowe Docs.\\\\n\\\\n --cert-key-file (local file path)\\\\n\\\\n The file path to a certificate key file to use for authentication\\\\n\\\\n PROFILE OPTIONS\\\\n ---------------\\\\n\\\\n --base-profile | --base-p (string)\\\\n\\\\n The name of a (base) profile to load for this command execution.\\\\n\\\\n GLOBAL OPTIONS\\\\n --------------\\\\n\\\\n --show-inputs-only (boolean)\\\\n\\\\n Show command inputs and do not run the command\\\\n\\\\n --response-format-json | --rfj (boolean)\\\\n\\\\n Produce JSON formatted data from a command\\\\n\\\\n --help | -h (boolean)\\\\n\\\\n Display help text\\\\n\\\\n --help-web | --hw (boolean)\\\\n\\\\n Display HTML help in browser\\\\n\\\\n EXAMPLES\\\\n --------\\\\n\\\\n - Log in to an API ML instance to obtain or update the token\\\\n stored in your base profile:\\\\n\\\\n $ zowe auth login apiml\\\\n\\\\n - Log in to an API ML instance to obtain a token without\\\\n storing it in a profile:\\\\n\\\\n $ zowe auth login apiml --show-token\\\\n\\\\n\\", \\"stderr\\": \\"\\", - \\"data\\": \\"\\\\n COMMAND NAME\\\\n ------------\\\\n\\\\n apiml\\\\n\\\\n DESCRIPTION\\\\n -----------\\\\n\\\\n Log in to Zowe API Mediation Layer authentication service and obtain or update a\\\\n token.\\\\n\\\\n The token provides authentication to services that support the API ML SSO\\\\n (Single Sign-On) capability. When you log in, the token is stored in your\\\\n default base profile until it expires. Base profiles store connection\\\\n information shared by multiple services (e.g., z/OSMF), and are used if you do\\\\n not supply connection information in a service profile. To take advantage of the\\\\n API ML SSO capability, you should omit username and password in service profiles\\\\n so that the token in the base profile is used.\\\\n\\\\n USAGE\\\\n -----\\\\n\\\\n zowe auth login apiml [options]\\\\n\\\\n OPTIONS\\\\n -------\\\\n\\\\n --show-token | --st (boolean)\\\\n\\\\n Show the token when login is successful. If specified, does not save the token\\\\n to a profile.\\\\n\\\\n BASE CONNECTION OPTIONS\\\\n -----------------------\\\\n\\\\n --host | -H (string)\\\\n\\\\n Host name of service on the mainframe.\\\\n\\\\n --port | -P (number)\\\\n\\\\n Port number of service on the mainframe.\\\\n\\\\n --user | -u (string)\\\\n\\\\n User name to authenticate to service on the mainframe.\\\\n\\\\n --password | --pass | --pw (string)\\\\n\\\\n Password to authenticate to service on the mainframe.\\\\n\\\\n --reject-unauthorized | --ru (boolean)\\\\n\\\\n Reject self-signed certificates.\\\\n\\\\n Default value: true\\\\n\\\\n --cert-file (local file path)\\\\n\\\\n The file path to a certificate file to use for authentication\\\\n\\\\n --cert-key-file (local file path)\\\\n\\\\n The file path to a certificate key file to use for authentication\\\\n\\\\n PROFILE OPTIONS\\\\n ---------------\\\\n\\\\n --base-profile | --base-p (string)\\\\n\\\\n The name of a (base) profile to load for this command execution.\\\\n\\\\n GLOBAL OPTIONS\\\\n --------------\\\\n\\\\n --show-inputs-only (boolean)\\\\n\\\\n Show command inputs and do not run the command\\\\n\\\\n --response-format-json | --rfj (boolean)\\\\n\\\\n Produce JSON formatted data from a command\\\\n\\\\n --help | -h (boolean)\\\\n\\\\n Display help text\\\\n\\\\n --help-web | --hw (boolean)\\\\n\\\\n Display HTML help in browser\\\\n\\\\n EXAMPLES\\\\n --------\\\\n\\\\n - Log in to an API ML instance to obtain or update the token\\\\n stored in your base profile:\\\\n\\\\n $ zowe auth login apiml\\\\n\\\\n - Log in to an API ML instance to obtain a token without\\\\n storing it in a profile:\\\\n\\\\n $ zowe auth login apiml --show-token\\\\n\\\\n\\" + \\"data\\": \\"\\\\n COMMAND NAME\\\\n ------------\\\\n\\\\n apiml\\\\n\\\\n DESCRIPTION\\\\n -----------\\\\n\\\\n Log in to Zowe API Mediation Layer authentication service and obtain or update a\\\\n token.\\\\n\\\\n The token provides authentication to services that support the API ML SSO\\\\n (Single Sign-On) capability. When you log in, the token is stored in your\\\\n default base profile until it expires. Base profiles store connection\\\\n information shared by multiple services (e.g., z/OSMF), and are used if you do\\\\n not supply connection information in a service profile. To take advantage of the\\\\n API ML SSO capability, you should omit username and password in service profiles\\\\n so that the token in the base profile is used.\\\\n\\\\n USAGE\\\\n -----\\\\n\\\\n zowe auth login apiml [options]\\\\n\\\\n OPTIONS\\\\n -------\\\\n\\\\n --show-token | --st (boolean)\\\\n\\\\n Show the token when login is successful. If specified, does not save the token\\\\n to a profile.\\\\n\\\\n BASE CONNECTION OPTIONS\\\\n -----------------------\\\\n\\\\n --host | -H (string)\\\\n\\\\n Host name of service on the mainframe.\\\\n\\\\n --port | -P (number)\\\\n\\\\n Port number of service on the mainframe.\\\\n\\\\n --user | -u (string)\\\\n\\\\n User name to authenticate to service on the mainframe.\\\\n\\\\n --password | --pass | --pw (string)\\\\n\\\\n Password to authenticate to service on the mainframe.\\\\n\\\\n --reject-unauthorized | --ru (boolean)\\\\n\\\\n Reject self-signed certificates.\\\\n\\\\n Default value: true\\\\n\\\\n --cert-file (local file path)\\\\n\\\\n The file path to a certificate file to use for authentication.\\\\n\\\\n Note: The CLI does not support certificate files that require a password. For\\\\n more information, search Troubleshooting PEM Certificates in Zowe Docs.\\\\n\\\\n --cert-key-file (local file path)\\\\n\\\\n The file path to a certificate key file to use for authentication\\\\n\\\\n PROFILE OPTIONS\\\\n ---------------\\\\n\\\\n --base-profile | --base-p (string)\\\\n\\\\n The name of a (base) profile to load for this command execution.\\\\n\\\\n GLOBAL OPTIONS\\\\n --------------\\\\n\\\\n --show-inputs-only (boolean)\\\\n\\\\n Show command inputs and do not run the command\\\\n\\\\n --response-format-json | --rfj (boolean)\\\\n\\\\n Produce JSON formatted data from a command\\\\n\\\\n --help | -h (boolean)\\\\n\\\\n Display help text\\\\n\\\\n --help-web | --hw (boolean)\\\\n\\\\n Display HTML help in browser\\\\n\\\\n EXAMPLES\\\\n --------\\\\n\\\\n - Log in to an API ML instance to obtain or update the token\\\\n stored in your base profile:\\\\n\\\\n $ zowe auth login apiml\\\\n\\\\n - Log in to an API ML instance to obtain a token without\\\\n storing it in a profile:\\\\n\\\\n $ zowe auth login apiml --show-token\\\\n\\\\n\\" }" `; diff --git a/packages/cli/__tests__/auth/__system__/__resources__/zowe.config_template.json b/packages/cli/__tests__/auth/__system__/__resources__/zowe.config_template.json new file mode 100644 index 0000000000..a0f8ca65d3 --- /dev/null +++ b/packages/cli/__tests__/auth/__system__/__resources__/zowe.config_template.json @@ -0,0 +1,46 @@ +{ + "$schema": "./zowe.schema.json", + "profiles": { + "zosmf": { + "type": "zosmf", + "properties": { + "port": 1443 + }, + "secure": [] + }, + "tso": { + "type": "tso", + "properties": { + "account": "", + "codePage": "1047", + "logonProcedure": "IZUFPROC" + }, + "secure": [] + }, + "ssh": { + "type": "ssh", + "properties": { + "port": 22 + }, + "secure": [] + }, + "base": { + "type": "base", + "properties": { + "host": "NoBaseHostVal", + "port": NoBasePortVal, + "rejectUnauthorized": NoBaseRejectUnauthVal, + "tokenType": "apimlAuthenticationToken" + }, + "secure": [ + "tokenValue" + ] + } + }, + "defaults": { + "zosmf": "zosmf", + "tso": "tso", + "ssh": "ssh", + "base": "base" + } +} \ No newline at end of file diff --git a/packages/cli/__tests__/auth/__system__/__scripts__/create_team_cfg.sh b/packages/cli/__tests__/auth/__system__/__scripts__/create_team_cfg.sh new file mode 100644 index 0000000000..d4dc8e2c4c --- /dev/null +++ b/packages/cli/__tests__/auth/__system__/__scripts__/create_team_cfg.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +HOST=${1:?"First parm (HOST) is required."} +PORT=${2:?"Second parm (PORT) is required."} +REJECT=${3:?"Third parm (REJECT) is required."} +scriptsDir=${4:?"Fourth parm (scriptsDir) is required."} + +# include exitOnFailure function +. "$scriptsDir/../../../../../../__tests__/__scripts__/exitOnFailure.sh" + +# copy our config file template +cp "$scriptsDir/../__resources__/zowe.config_template.json" . +exitOnFailure "Failed to copy config file." $? + +sed -e "s/NoBaseHostVal/$HOST/" \ + -e "s/NoBasePortVal/$PORT/" \ + -e "s/NoBaseRejectUnauthVal/$REJECT/" \ + < zowe.config_template.json > zowe.config.json +exitOnFailure "Failed to update config file." $? diff --git a/packages/cli/__tests__/auth/__system__/cli.auth.login.apiml.system.test.ts b/packages/cli/__tests__/auth/__system__/cli.auth.login.apiml.system.test.ts index f33f3cccb9..0c52a29e20 100644 --- a/packages/cli/__tests__/auth/__system__/cli.auth.login.apiml.system.test.ts +++ b/packages/cli/__tests__/auth/__system__/cli.auth.login.apiml.system.test.ts @@ -140,7 +140,11 @@ describe("auth login/logout apiml create profile", () => { await TestEnvironment.cleanUp(TEST_ENVIRONMENT_CREATE_PROF); }); - it("should successfully issue the login command and create a profile", () => { + /* Resurrect the following test after this Git issue is fixed: + https://github.com/zowe/zowe-cli/issues/2005 + */ + // eslint-disable-next-line jest/no-disabled-tests + it.skip("TODO: After 2005 is fixed: should successfully issue the login command and create a team config", () => { const response = runCliScript(__dirname + "/__scripts__/auth_login_apiml_create.sh", TEST_ENVIRONMENT_CREATE_PROF, [ @@ -152,18 +156,44 @@ describe("auth login/logout apiml create profile", () => { "y" ]); expect(response.stderr.toString()).toBe(""); - expect(response.status).toBe(0); expect(response.stdout.toString()).toContain("Login successful."); expect(response.stdout.toString()).toContain("The authentication token is stored in the"); // ${name} base profile + expect(response.status).toBe(0); }); - it("should successfully issue the logout command with a created profile", () => { - const response = runCliScript(__dirname + "/__scripts__/auth_logout_apiml.sh", - TEST_ENVIRONMENT_CREATE_PROF); + it("should successfully issue the logout command with a created team config", async () => { + // Form a posix-style path to scripts directory + let scriptsPosixPath = __dirname + "/__scripts__"; + scriptsPosixPath = scriptsPosixPath.replaceAll("\\", "/"); + scriptsPosixPath = scriptsPosixPath.replace(/^(.):(.*)/, "/$1$2"); + + // create a team config + let response = runCliScript(__dirname + "/__scripts__/create_team_cfg.sh", + TEST_ENVIRONMENT_CREATE_PROF, + [ + base.host, + base.port, + base.rejectUnauthorized, + scriptsPosixPath + ]); + expect(response.stderr.toString()).toBe(""); + expect(response.status).toBe(0); + + // login to create token in SCS + response = runCliScript(__dirname + "/__scripts__/auth_login_apiml.sh", TEST_ENVIRONMENT_CREATE_PROF, + [ + TEST_ENVIRONMENT_CREATE_PROF.systemTestProperties.base.user, + TEST_ENVIRONMENT_CREATE_PROF.systemTestProperties.base.password + ] + ); expect(response.stderr.toString()).toBe(""); expect(response.status).toBe(0); + + response = runCliScript(__dirname + "/__scripts__/auth_logout_apiml.sh", TEST_ENVIRONMENT_CREATE_PROF); + expect(response.stderr.toString()).toBe(""); expect(response.stdout.toString()).toContain("Logout successful. The authentication token has been revoked"); - expect(response.stdout.toString()).toContain("and removed from your 'default' base profile"); // V1 message + expect(response.stdout.toString()).toContain("Token was removed from your 'base' base profile"); // V1 message + expect(response.status).toBe(0); }); }); diff --git a/packages/cli/__tests__/help/__integration__/__snapshots__/ZoweHelpTests.integration.test.ts.snap b/packages/cli/__tests__/help/__integration__/__snapshots__/ZoweHelpTests.integration.test.ts.snap index 5de4e4ed5c..4b62718b9f 100644 --- a/packages/cli/__tests__/help/__integration__/__snapshots__/ZoweHelpTests.integration.test.ts.snap +++ b/packages/cli/__tests__/help/__integration__/__snapshots__/ZoweHelpTests.integration.test.ts.snap @@ -29,8 +29,6 @@ exports[`Root level help tests top level help should contain support link 1`] = config Manage JSON project and global configuration daemon Daemon operations plugins Install and manage plug-ins - profiles Create and manage configuration profiles - (deprecated) provisioning | pv Perform z/OSMF provisioning tasks zos-console | console Issue z/OS console commands and collect responses diff --git a/packages/cli/__tests__/zosfiles/__system__/upload/ftds/cli.files.upload.ftds.system.test.ts b/packages/cli/__tests__/zosfiles/__system__/upload/ftds/cli.files.upload.ftds.system.test.ts index 72f3092dab..61b73755a1 100644 --- a/packages/cli/__tests__/zosfiles/__system__/upload/ftds/cli.files.upload.ftds.system.test.ts +++ b/packages/cli/__tests__/zosfiles/__system__/upload/ftds/cli.files.upload.ftds.system.test.ts @@ -330,7 +330,7 @@ describe("Upload file to data set", () => { localFileName, "MF.DOES.NOT.EXIST" ]); - expect(response.stderr.toString()).toContain("Data set not found"); + expect(response.stderr.toString()).toContain("NOT IN CATALOG OR CATALOG CAN NOT BE ACCESSED"); }); }); }); diff --git a/packages/cli/__tests__/zosfiles/__unit__/compare/ds/Dataset.handler.unit.test.ts b/packages/cli/__tests__/zosfiles/__unit__/compare/ds/Dataset.handler.unit.test.ts index fbaef2113f..74d90159a8 100644 --- a/packages/cli/__tests__/zosfiles/__unit__/compare/ds/Dataset.handler.unit.test.ts +++ b/packages/cli/__tests__/zosfiles/__unit__/compare/ds/Dataset.handler.unit.test.ts @@ -178,6 +178,38 @@ describe("Compare data set handler", () => { expect(getDiffStringSpy).toHaveBeenCalledWith("compared", "compared", options); }); + it("should compare two data sets containing carriage returns in terminal with --seqnum specified", async () => { + const processArgCopy: any = { + ...processArguments, + arguments:{ + ...processArguments.arguments, + seqnum: false, + } + }; + + //overwrite ds(strings 1 & 2) to include seqnums to chop off in LocalFileDatasetHandler + getDataSetSpy.mockImplementation(jest.fn(async (session) => { + fakeSession = session; + return Buffer.from("compared12345678\r\n"); + })); + + try { + // Invoke the handler with a full set of mocked arguments and response functions + await handler.process(processArgCopy); + } catch (e) { + error = e; + } + + expect(error).toBeUndefined(); + expect(getDataSetSpy).toHaveBeenCalledTimes(2); + expect(getDiffStringSpy).toHaveBeenCalledTimes(1); + expect(apiMessage).toEqual(""); + expect(logMessage).toEqual("compared string"); + expect(getDataSetSpy).toHaveBeenCalledWith(fakeSession as any, dataSetName1, { task: dsTask }); + expect(jsonObj).toMatchObject({commandResponse: "compared string", success: true}); + expect(getDiffStringSpy).toHaveBeenCalledWith("compared\n", "compared\n", options); + }); + it("should compare two data sets in browser", async () => { openDiffInbrowserSpy.mockImplementation(jest.fn()); processArguments.arguments.browserView = true ; diff --git a/packages/cli/__tests__/zosjobs/__system__/list/cli.zos-jobs.list.spool-files-by-jobid.system.test.ts b/packages/cli/__tests__/zosjobs/__system__/list/cli.zos-jobs.list.spool-files-by-jobid.system.test.ts index cb45e1ca28..3a1e7449ef 100644 --- a/packages/cli/__tests__/zosjobs/__system__/list/cli.zos-jobs.list.spool-files-by-jobid.system.test.ts +++ b/packages/cli/__tests__/zosjobs/__system__/list/cli.zos-jobs.list.spool-files-by-jobid.system.test.ts @@ -70,11 +70,11 @@ describe("zos-jobs list spool-files-by-jobid command", () => { const response = runCliScript(__dirname + "/__scripts__/spool-files-by-jobid/invalid_jobid.sh", TEST_ENVIRONMENT); expect(response.stdout.toString()).toBe(""); const trimmed = trimMessage(response.stderr.toString()); - expect(trimmed).toContain("status 400"); - expect(trimmed).toContain("category: 6"); - expect(trimmed).toContain("reason: 4"); expect(trimmed).toContain("Value of jobid query parameter is not valid"); expect(trimmed).toContain("rc: 4"); + expect(trimmed).toContain("reason: 4"); + expect(trimmed).toContain("category: 6"); + expect(trimmed).toContain("Received HTTP(S) error 400 = Bad Request"); expect(trimmed).toContain("Resource: /zosmf/restjobs/jobs"); expect(trimmed).toContain("Request: GET"); expect(response.status).toBe(1); diff --git a/packages/cli/__tests__/zosjobs/__system__/modify/cli.zos-jobs.modify.job.system.test.ts b/packages/cli/__tests__/zosjobs/__system__/modify/cli.zos-jobs.modify.job.system.test.ts index 4b06a4b5d0..6905d5fd60 100644 --- a/packages/cli/__tests__/zosjobs/__system__/modify/cli.zos-jobs.modify.job.system.test.ts +++ b/packages/cli/__tests__/zosjobs/__system__/modify/cli.zos-jobs.modify.job.system.test.ts @@ -42,7 +42,7 @@ describe("zos-jobs modify job command", () => { const response = runCliScript(__dirname + "/__scripts__/job/bogus_jobid.sh", TEST_ENVIRONMENT); // potential fix needed in imperative to count this type of error as status = 1 expect(response.status).toBe(0); - expect(response.stderr.toString()).toContain("Job not found"); + expect(response.stderr.toString()).toContain("Zero jobs were returned."); }); }); diff --git a/packages/cli/__tests__/zostso/__system__/ping/__snapshots__/cli.zos-tso.ping.address-space.system.test.ts.snap b/packages/cli/__tests__/zostso/__system__/ping/__snapshots__/cli.zos-tso.ping.address-space.system.test.ts.snap index 0ce860177a..24c7d70612 100644 --- a/packages/cli/__tests__/zostso/__system__/ping/__snapshots__/cli.zos-tso.ping.address-space.system.test.ts.snap +++ b/packages/cli/__tests__/zostso/__system__/ping/__snapshots__/cli.zos-tso.ping.address-space.system.test.ts.snap @@ -1,7 +1,7 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`zos-tso ping address-space should throw an error if provided address space is inactive 1`] = ` -"Command Error: +"Unable to perform this operation due to the following problem. Expect Error: IZUG1126E: z/OSMF cannot correlate the request for key \\"BadKey\\" with an active z/OS application session. " `; diff --git a/packages/cli/__tests__/zostso/__system__/stop/__snapshots__/cli.zos-tso.stop.address-space.system.test.ts.snap b/packages/cli/__tests__/zostso/__system__/stop/__snapshots__/cli.zos-tso.stop.address-space.system.test.ts.snap deleted file mode 100644 index 48674f0023..0000000000 --- a/packages/cli/__tests__/zostso/__system__/stop/__snapshots__/cli.zos-tso.stop.address-space.system.test.ts.snap +++ /dev/null @@ -1,13 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`zos-tso start address-space should throw an error if provided address space is inactive 1`] = ` -"Command Error: -Expect Error: IZUG1126E: z/OSMF cannot correlate the request for key \\"ZOSMFAD-55-aaakaaac\\" with an active z/OS application session. -" -`; - -exports[`zos-tso start address-space should throw an error if servlet key parameter is not provided 1`] = ` -"Command Error: -Expect Error: IZUG1126E: z/OSMF cannot correlate the request for key \\"ZOSMFAD-55-aaakaaac\\" with an active z/OS application session. -" -`; diff --git a/packages/cli/__tests__/zostso/__system__/stop/__snapshots__/cli.zos-tso.stop.system.test.ts.snap b/packages/cli/__tests__/zostso/__system__/stop/__snapshots__/cli.zos-tso.stop.system.test.ts.snap index 21484fcd84..aab1477817 100644 --- a/packages/cli/__tests__/zostso/__system__/stop/__snapshots__/cli.zos-tso.stop.system.test.ts.snap +++ b/packages/cli/__tests__/zostso/__system__/stop/__snapshots__/cli.zos-tso.stop.system.test.ts.snap @@ -1,13 +1,17 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`zos-tso stop should fail with invalid option 1`] = ` -"Command Error: +"Unable to perform this operation due to the following problem. Unknown arguments: foo-bar, fooBar Command failed due to improper syntax Command entered: \\"zos-tso start as --foo-bar\\" Available commands are \\"address-space\\". Use \\"zowe zos-tso start --help\\" to view groups, commands, and options. -Error Details: + +Response From Service +Error: Unknown arguments: foo-bar, fooBar + +Diagnostic Information Unknown arguments: foo-bar, fooBar " `; @@ -18,7 +22,7 @@ exports[`zos-tso stop should fail with invalid option 2`] = ` `; exports[`zos-tso stop should fail with invalid parameter 1`] = ` -"Command Error: +"Unable to perform this operation due to the following problem. Unknown argument: foobar Command failed due to improper syntax Did you mean: zos-tso stop as? @@ -26,7 +30,11 @@ Did you mean: zos-tso stop as? Command entered: \\"zos-tso stop foobar\\" Available commands are \\"address-space\\". Use \\"zowe zos-tso stop --help\\" to view groups, commands, and options. -Error Details: + +Response From Service +Error: Unknown argument: foobar + +Diagnostic Information Unknown argument: foobar " `; diff --git a/packages/cli/__tests__/zostso/__system__/stop/cli.zos-tso.stop.address-space.system.test.ts b/packages/cli/__tests__/zostso/__system__/stop/cli.zos-tso.stop.address-space.system.test.ts index 0a70be9700..f3b3167211 100644 --- a/packages/cli/__tests__/zostso/__system__/stop/cli.zos-tso.stop.address-space.system.test.ts +++ b/packages/cli/__tests__/zostso/__system__/stop/cli.zos-tso.stop.address-space.system.test.ts @@ -32,16 +32,18 @@ describe("zos-tso start address-space", () => { it("should throw an error if servlet key parameter is not provided", async () => { const response = runCliScript(__dirname + "/__scripts__/address-space/as_error_stop.sh", TEST_ENVIRONMENT); - expect(response.status).toBe(1); expect(response.stdout.toString()).toBe(""); - expect(response.stderr.toString()).toMatchSnapshot(); + expect(response.stderr.toString()).toContain('IZUG1126E: z/OSMF cannot correlate the request for ' + + 'key "ZOSMFAD-55-aaakaaac" with an active z/OS application session'); + expect(response.status).toBe(1); }); it("should throw an error if provided address space is inactive", async () => { const response = runCliScript(__dirname + "/__scripts__/address-space/as_error_stop.sh", TEST_ENVIRONMENT); - expect(response.status).toBe(1); expect(response.stdout.toString()).toBe(""); - expect(response.stderr.toString()).toMatchSnapshot(); + expect(response.stderr.toString()).toContain('IZUG1126E: z/OSMF cannot correlate the request for ' + + 'key "ZOSMFAD-55-aaakaaac" with an active z/OS application session'); + expect(response.status).toBe(1); }); it("should successfully issue the command", async () => { diff --git a/packages/cli/__tests__/zosuss/__integration__/issue/__snapshots__/cli.zos-uss.issue.ssh.integration.test.ts.snap b/packages/cli/__tests__/zosuss/__integration__/issue/__snapshots__/cli.zos-uss.issue.ssh.integration.test.ts.snap index 42bd40b90b..26bc94f6ef 100644 --- a/packages/cli/__tests__/zosuss/__integration__/issue/__snapshots__/cli.zos-uss.issue.ssh.integration.test.ts.snap +++ b/packages/cli/__tests__/zosuss/__integration__/issue/__snapshots__/cli.zos-uss.issue.ssh.integration.test.ts.snap @@ -100,7 +100,10 @@ exports[`zos-uss issue ssh command should display the help 1`] = ` --cert-file (local file path) - The file path to a certificate file to use for authentication + The file path to a certificate file to use for authentication. + + Note: The CLI does not support certificate files that require a password. For + more information, search Troubleshooting PEM Certificates in Zowe Docs. --cert-key-file (local file path) @@ -136,8 +139,8 @@ exports[`zos-uss issue ssh command should display the help 1`] = ` \\"success\\": true, \\"exitCode\\": 0, \\"message\\": \\"The help was constructed for command: command.\\", - \\"stdout\\": \\"\\\\n COMMAND NAME\\\\n ------------\\\\n\\\\n command | cmd | ssh\\\\n\\\\n DESCRIPTION\\\\n -----------\\\\n\\\\n Issue a z/OS USS command\\\\n\\\\n Note: The common CLI 'Base Connection Options' of token-type and token-value are\\\\n not applicable to the ssh command, since the ssh service is not accessible\\\\n through APIML.\\\\n\\\\n USAGE\\\\n -----\\\\n\\\\n zowe zos-ssh issue command [options]\\\\n\\\\n POSITIONAL ARGUMENTS\\\\n --------------------\\\\n\\\\n command\\\\t\\\\t (string)\\\\n\\\\n z/OS USS command to issue.\\\\n\\\\n OPTIONS\\\\n -------\\\\n\\\\n --cwd (string)\\\\n\\\\n Working directory in which to execute the command.\\\\n\\\\n Z/OS SSH CONNECTION OPTIONS\\\\n ---------------------------\\\\n\\\\n --host | -H (string)\\\\n\\\\n The z/OS SSH server host name.\\\\n\\\\n --port | -P (number)\\\\n\\\\n The z/OS SSH server port.\\\\n\\\\n Default value: 22\\\\n\\\\n --user | -u (string)\\\\n\\\\n Mainframe user name, which can be the same as your TSO login.\\\\n\\\\n --password | --pass | --pw (string)\\\\n\\\\n Mainframe password, which can be the same as your TSO password.\\\\n\\\\n --privateKey | --key | --pk (string)\\\\n\\\\n Path to a file containing your private key, that must match a public key stored\\\\n in the server for authentication\\\\n\\\\n --keyPassphrase | --passphrase | --kp (string)\\\\n\\\\n Private key passphrase, which unlocks the private key.\\\\n\\\\n --handshakeTimeout | --timeout | --to (number)\\\\n\\\\n How long in milliseconds to wait for the SSH handshake to complete.\\\\n\\\\n PROFILE OPTIONS\\\\n ---------------\\\\n\\\\n --ssh-profile | --ssh-p (string)\\\\n\\\\n The name of a (ssh) profile to load for this command execution.\\\\n\\\\n --base-profile | --base-p (string)\\\\n\\\\n The name of a (base) profile to load for this command execution.\\\\n\\\\n BASE CONNECTION OPTIONS\\\\n -----------------------\\\\n\\\\n --reject-unauthorized | --ru (boolean)\\\\n\\\\n Reject self-signed certificates.\\\\n\\\\n Default value: true\\\\n\\\\n --token-type | --tt (string)\\\\n\\\\n The type of token to get and use for the API. Omit this option to use the\\\\n default token type, which is provided by 'zowe auth login'.\\\\n\\\\n --token-value | --tv (string)\\\\n\\\\n The value of the token to pass to the API.\\\\n\\\\n --cert-file (local file path)\\\\n\\\\n The file path to a certificate file to use for authentication\\\\n\\\\n --cert-key-file (local file path)\\\\n\\\\n The file path to a certificate key file to use for authentication\\\\n\\\\n GLOBAL OPTIONS\\\\n --------------\\\\n\\\\n --show-inputs-only (boolean)\\\\n\\\\n Show command inputs and do not run the command\\\\n\\\\n --response-format-json | --rfj (boolean)\\\\n\\\\n Produce JSON formatted data from a command\\\\n\\\\n --help | -h (boolean)\\\\n\\\\n Display help text\\\\n\\\\n --help-web | --hw (boolean)\\\\n\\\\n Display HTML help in browser\\\\n\\\\n EXAMPLES\\\\n --------\\\\n\\\\n - Issue a simple command, giving the working directory:\\\\n\\\\n $ zowe zos-ssh issue command \\\\\\"npm install express\\\\\\" --cwd /u/cicprov/mnt/CICPY01I/bundles/myapp \\\\n\\\\n\\", + \\"stdout\\": \\"\\\\n COMMAND NAME\\\\n ------------\\\\n\\\\n command | cmd | ssh\\\\n\\\\n DESCRIPTION\\\\n -----------\\\\n\\\\n Issue a z/OS USS command\\\\n\\\\n Note: The common CLI 'Base Connection Options' of token-type and token-value are\\\\n not applicable to the ssh command, since the ssh service is not accessible\\\\n through APIML.\\\\n\\\\n USAGE\\\\n -----\\\\n\\\\n zowe zos-ssh issue command [options]\\\\n\\\\n POSITIONAL ARGUMENTS\\\\n --------------------\\\\n\\\\n command\\\\t\\\\t (string)\\\\n\\\\n z/OS USS command to issue.\\\\n\\\\n OPTIONS\\\\n -------\\\\n\\\\n --cwd (string)\\\\n\\\\n Working directory in which to execute the command.\\\\n\\\\n Z/OS SSH CONNECTION OPTIONS\\\\n ---------------------------\\\\n\\\\n --host | -H (string)\\\\n\\\\n The z/OS SSH server host name.\\\\n\\\\n --port | -P (number)\\\\n\\\\n The z/OS SSH server port.\\\\n\\\\n Default value: 22\\\\n\\\\n --user | -u (string)\\\\n\\\\n Mainframe user name, which can be the same as your TSO login.\\\\n\\\\n --password | --pass | --pw (string)\\\\n\\\\n Mainframe password, which can be the same as your TSO password.\\\\n\\\\n --privateKey | --key | --pk (string)\\\\n\\\\n Path to a file containing your private key, that must match a public key stored\\\\n in the server for authentication\\\\n\\\\n --keyPassphrase | --passphrase | --kp (string)\\\\n\\\\n Private key passphrase, which unlocks the private key.\\\\n\\\\n --handshakeTimeout | --timeout | --to (number)\\\\n\\\\n How long in milliseconds to wait for the SSH handshake to complete.\\\\n\\\\n PROFILE OPTIONS\\\\n ---------------\\\\n\\\\n --ssh-profile | --ssh-p (string)\\\\n\\\\n The name of a (ssh) profile to load for this command execution.\\\\n\\\\n --base-profile | --base-p (string)\\\\n\\\\n The name of a (base) profile to load for this command execution.\\\\n\\\\n BASE CONNECTION OPTIONS\\\\n -----------------------\\\\n\\\\n --reject-unauthorized | --ru (boolean)\\\\n\\\\n Reject self-signed certificates.\\\\n\\\\n Default value: true\\\\n\\\\n --token-type | --tt (string)\\\\n\\\\n The type of token to get and use for the API. Omit this option to use the\\\\n default token type, which is provided by 'zowe auth login'.\\\\n\\\\n --token-value | --tv (string)\\\\n\\\\n The value of the token to pass to the API.\\\\n\\\\n --cert-file (local file path)\\\\n\\\\n The file path to a certificate file to use for authentication.\\\\n\\\\n Note: The CLI does not support certificate files that require a password. For\\\\n more information, search Troubleshooting PEM Certificates in Zowe Docs.\\\\n\\\\n --cert-key-file (local file path)\\\\n\\\\n The file path to a certificate key file to use for authentication\\\\n\\\\n GLOBAL OPTIONS\\\\n --------------\\\\n\\\\n --show-inputs-only (boolean)\\\\n\\\\n Show command inputs and do not run the command\\\\n\\\\n --response-format-json | --rfj (boolean)\\\\n\\\\n Produce JSON formatted data from a command\\\\n\\\\n --help | -h (boolean)\\\\n\\\\n Display help text\\\\n\\\\n --help-web | --hw (boolean)\\\\n\\\\n Display HTML help in browser\\\\n\\\\n EXAMPLES\\\\n --------\\\\n\\\\n - Issue a simple command, giving the working directory:\\\\n\\\\n $ zowe zos-ssh issue command \\\\\\"npm install express\\\\\\" --cwd /u/cicprov/mnt/CICPY01I/bundles/myapp \\\\n\\\\n\\", \\"stderr\\": \\"\\", - \\"data\\": \\"\\\\n COMMAND NAME\\\\n ------------\\\\n\\\\n command | cmd | ssh\\\\n\\\\n DESCRIPTION\\\\n -----------\\\\n\\\\n Issue a z/OS USS command\\\\n\\\\n Note: The common CLI 'Base Connection Options' of token-type and token-value are\\\\n not applicable to the ssh command, since the ssh service is not accessible\\\\n through APIML.\\\\n\\\\n USAGE\\\\n -----\\\\n\\\\n zowe zos-ssh issue command [options]\\\\n\\\\n POSITIONAL ARGUMENTS\\\\n --------------------\\\\n\\\\n command\\\\t\\\\t (string)\\\\n\\\\n z/OS USS command to issue.\\\\n\\\\n OPTIONS\\\\n -------\\\\n\\\\n --cwd (string)\\\\n\\\\n Working directory in which to execute the command.\\\\n\\\\n Z/OS SSH CONNECTION OPTIONS\\\\n ---------------------------\\\\n\\\\n --host | -H (string)\\\\n\\\\n The z/OS SSH server host name.\\\\n\\\\n --port | -P (number)\\\\n\\\\n The z/OS SSH server port.\\\\n\\\\n Default value: 22\\\\n\\\\n --user | -u (string)\\\\n\\\\n Mainframe user name, which can be the same as your TSO login.\\\\n\\\\n --password | --pass | --pw (string)\\\\n\\\\n Mainframe password, which can be the same as your TSO password.\\\\n\\\\n --privateKey | --key | --pk (string)\\\\n\\\\n Path to a file containing your private key, that must match a public key stored\\\\n in the server for authentication\\\\n\\\\n --keyPassphrase | --passphrase | --kp (string)\\\\n\\\\n Private key passphrase, which unlocks the private key.\\\\n\\\\n --handshakeTimeout | --timeout | --to (number)\\\\n\\\\n How long in milliseconds to wait for the SSH handshake to complete.\\\\n\\\\n PROFILE OPTIONS\\\\n ---------------\\\\n\\\\n --ssh-profile | --ssh-p (string)\\\\n\\\\n The name of a (ssh) profile to load for this command execution.\\\\n\\\\n --base-profile | --base-p (string)\\\\n\\\\n The name of a (base) profile to load for this command execution.\\\\n\\\\n BASE CONNECTION OPTIONS\\\\n -----------------------\\\\n\\\\n --reject-unauthorized | --ru (boolean)\\\\n\\\\n Reject self-signed certificates.\\\\n\\\\n Default value: true\\\\n\\\\n --token-type | --tt (string)\\\\n\\\\n The type of token to get and use for the API. Omit this option to use the\\\\n default token type, which is provided by 'zowe auth login'.\\\\n\\\\n --token-value | --tv (string)\\\\n\\\\n The value of the token to pass to the API.\\\\n\\\\n --cert-file (local file path)\\\\n\\\\n The file path to a certificate file to use for authentication\\\\n\\\\n --cert-key-file (local file path)\\\\n\\\\n The file path to a certificate key file to use for authentication\\\\n\\\\n GLOBAL OPTIONS\\\\n --------------\\\\n\\\\n --show-inputs-only (boolean)\\\\n\\\\n Show command inputs and do not run the command\\\\n\\\\n --response-format-json | --rfj (boolean)\\\\n\\\\n Produce JSON formatted data from a command\\\\n\\\\n --help | -h (boolean)\\\\n\\\\n Display help text\\\\n\\\\n --help-web | --hw (boolean)\\\\n\\\\n Display HTML help in browser\\\\n\\\\n EXAMPLES\\\\n --------\\\\n\\\\n - Issue a simple command, giving the working directory:\\\\n\\\\n $ zowe zos-ssh issue command \\\\\\"npm install express\\\\\\" --cwd /u/cicprov/mnt/CICPY01I/bundles/myapp \\\\n\\\\n\\" + \\"data\\": \\"\\\\n COMMAND NAME\\\\n ------------\\\\n\\\\n command | cmd | ssh\\\\n\\\\n DESCRIPTION\\\\n -----------\\\\n\\\\n Issue a z/OS USS command\\\\n\\\\n Note: The common CLI 'Base Connection Options' of token-type and token-value are\\\\n not applicable to the ssh command, since the ssh service is not accessible\\\\n through APIML.\\\\n\\\\n USAGE\\\\n -----\\\\n\\\\n zowe zos-ssh issue command [options]\\\\n\\\\n POSITIONAL ARGUMENTS\\\\n --------------------\\\\n\\\\n command\\\\t\\\\t (string)\\\\n\\\\n z/OS USS command to issue.\\\\n\\\\n OPTIONS\\\\n -------\\\\n\\\\n --cwd (string)\\\\n\\\\n Working directory in which to execute the command.\\\\n\\\\n Z/OS SSH CONNECTION OPTIONS\\\\n ---------------------------\\\\n\\\\n --host | -H (string)\\\\n\\\\n The z/OS SSH server host name.\\\\n\\\\n --port | -P (number)\\\\n\\\\n The z/OS SSH server port.\\\\n\\\\n Default value: 22\\\\n\\\\n --user | -u (string)\\\\n\\\\n Mainframe user name, which can be the same as your TSO login.\\\\n\\\\n --password | --pass | --pw (string)\\\\n\\\\n Mainframe password, which can be the same as your TSO password.\\\\n\\\\n --privateKey | --key | --pk (string)\\\\n\\\\n Path to a file containing your private key, that must match a public key stored\\\\n in the server for authentication\\\\n\\\\n --keyPassphrase | --passphrase | --kp (string)\\\\n\\\\n Private key passphrase, which unlocks the private key.\\\\n\\\\n --handshakeTimeout | --timeout | --to (number)\\\\n\\\\n How long in milliseconds to wait for the SSH handshake to complete.\\\\n\\\\n PROFILE OPTIONS\\\\n ---------------\\\\n\\\\n --ssh-profile | --ssh-p (string)\\\\n\\\\n The name of a (ssh) profile to load for this command execution.\\\\n\\\\n --base-profile | --base-p (string)\\\\n\\\\n The name of a (base) profile to load for this command execution.\\\\n\\\\n BASE CONNECTION OPTIONS\\\\n -----------------------\\\\n\\\\n --reject-unauthorized | --ru (boolean)\\\\n\\\\n Reject self-signed certificates.\\\\n\\\\n Default value: true\\\\n\\\\n --token-type | --tt (string)\\\\n\\\\n The type of token to get and use for the API. Omit this option to use the\\\\n default token type, which is provided by 'zowe auth login'.\\\\n\\\\n --token-value | --tv (string)\\\\n\\\\n The value of the token to pass to the API.\\\\n\\\\n --cert-file (local file path)\\\\n\\\\n The file path to a certificate file to use for authentication.\\\\n\\\\n Note: The CLI does not support certificate files that require a password. For\\\\n more information, search Troubleshooting PEM Certificates in Zowe Docs.\\\\n\\\\n --cert-key-file (local file path)\\\\n\\\\n The file path to a certificate key file to use for authentication\\\\n\\\\n GLOBAL OPTIONS\\\\n --------------\\\\n\\\\n --show-inputs-only (boolean)\\\\n\\\\n Show command inputs and do not run the command\\\\n\\\\n --response-format-json | --rfj (boolean)\\\\n\\\\n Produce JSON formatted data from a command\\\\n\\\\n --help | -h (boolean)\\\\n\\\\n Display help text\\\\n\\\\n --help-web | --hw (boolean)\\\\n\\\\n Display HTML help in browser\\\\n\\\\n EXAMPLES\\\\n --------\\\\n\\\\n - Issue a simple command, giving the working directory:\\\\n\\\\n $ zowe zos-ssh issue command \\\\\\"npm install express\\\\\\" --cwd /u/cicprov/mnt/CICPY01I/bundles/myapp \\\\n\\\\n\\" }" `; diff --git a/packages/cli/package.json b/packages/cli/package.json index 842da65ed6..dbd783ac36 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@zowe/cli", - "version": "8.0.0-next.202401162202", + "version": "8.0.0-next.202401191954", "description": "Zowe CLI is a command line interface (CLI) that provides a simple and streamlined way to interact with IBM z/OS.", "author": "Zowe", "license": "EPL-2.0", @@ -57,17 +57,17 @@ "preshrinkwrap": "node ../../scripts/rewriteShrinkwrap.js" }, "dependencies": { - "@zowe/core-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/imperative": "8.0.0-next.202401162202", - "@zowe/provisioning-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/zos-console-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/zos-files-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/zos-jobs-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/zos-logs-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/zos-tso-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/zos-uss-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/zos-workflows-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/zosmf-for-zowe-sdk": "8.0.0-next.202401162202", + "@zowe/core-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/imperative": "8.0.0-next.202401191954", + "@zowe/provisioning-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/zos-console-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/zos-files-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/zos-jobs-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/zos-logs-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/zos-tso-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/zos-uss-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/zos-workflows-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/zosmf-for-zowe-sdk": "8.0.0-next.202401191954", "find-process": "1.4.7", "get-stream": "6.0.1", "lodash": "4.17.21", @@ -78,13 +78,13 @@ "@types/diff": "^5.0.2", "@types/lodash": "^4.14.175", "@types/tar": "^6.1.2", - "@zowe/cli-test-utils": "8.0.0-next.202401162202", + "@zowe/cli-test-utils": "8.0.0-next.202401191954", "comment-json": "^4.1.1", "strip-ansi": "^6.0.1", "which": "^2.0.2" }, "optionalDependencies": { - "@zowe/secrets-for-zowe-sdk": "8.0.0-next.202401162202" + "@zowe/secrets-for-zowe-sdk": "8.0.0-next.202401191954" }, "engines": { "node": ">=14.0.0" diff --git a/packages/cli/scripts/printSuccessMessage.js b/packages/cli/scripts/printSuccessMessage.js index 673e2d0d18..195fc75965 100644 --- a/packages/cli/scripts/printSuccessMessage.js +++ b/packages/cli/scripts/printSuccessMessage.js @@ -15,7 +15,7 @@ function getImperative() { } catch (err) { if (err.code === "ERR_MODULE_NOT_FOUND" || err.code === "MODULE_NOT_FOUND") { require("ts-node/register"); - return require(require("path").resolve(__dirname, "../../imperative/src/utilities/src/TextUtils")); + return require(require("path").resolve(__dirname, "../../imperative/src/utilities/TextUtils")); } else { throw err; } diff --git a/packages/cli/src/workflows/archive/Archive.handler.ts b/packages/cli/src/workflows/archive/Archive.handler.ts index bf9c8049ad..30fdf5d75b 100644 --- a/packages/cli/src/workflows/archive/Archive.handler.ts +++ b/packages/cli/src/workflows/archive/Archive.handler.ts @@ -52,7 +52,11 @@ export default class ArchiveHandler extends ZosmfBaseHandler { try{ resp = await ArchiveWorkflow.archiveWorkflowByKey(this.mSession, this.arguments.workflowKey, undefined); } catch (err){ - error = "Archive workflow: " + err; + error = new ImperativeError({ + msg: "Archive workflow: " + err, + causeErrors: err.causeErrors, + additionalDetails: err.additionalDetails + }); throw error; } params.response.data.setObj(resp); diff --git a/packages/cli/src/workflows/create/Create.common.handler.ts b/packages/cli/src/workflows/create/Create.common.handler.ts index 9939bf3d98..12564c3183 100644 --- a/packages/cli/src/workflows/create/Create.common.handler.ts +++ b/packages/cli/src/workflows/create/Create.common.handler.ts @@ -64,11 +64,12 @@ export default class CreateCommonHandler extends ZosmfBaseHandler { wfKey ); } catch (err) { - error = - "Deleting z/OSMF workflow with workflow name " + - this.arguments.workflowName + - " failed. More details: \n" + - err; + error = new ImperativeError({ + msg: "Deleting z/OSMF workflow with workflow name " + this.arguments.workflowName + " failed.\n" + err, + causeErrors: err.causeErrors, + additionalDetails: err.additionalDetails + }); + throw error; } } } @@ -88,11 +89,11 @@ export default class CreateCommonHandler extends ZosmfBaseHandler { this.arguments.deleteCompleted ); } catch (err) { - error = - "Creating zOS/MF workflow with data set: " + - this.arguments.dataSet + - " failed. More details: \n" + - err; + error = new ImperativeError({ + msg: "Creating z/OSMF workflow with data set: " + this.arguments.dataSet + " failed.\n" + err, + causeErrors: err.causeErrors, + additionalDetails: err.additionalDetails + }); throw error; } params.response.data.setObj(resp); @@ -120,11 +121,11 @@ export default class CreateCommonHandler extends ZosmfBaseHandler { this.arguments.deleteCompleted ); } catch (err) { - error = - "Creating z/OSMF workflow with uss file: " + - this.arguments.ussFile + - " failed. More details: \n" + - err; + error = new ImperativeError({ + msg: "Creating z/OSMF workflow with uss file: " + this.arguments.ussFile + " failed.\n" + err, + causeErrors: err.causeErrors, + additionalDetails: err.additionalDetails + }); throw error; } params.response.data.setObj(resp); @@ -154,11 +155,11 @@ export default class CreateCommonHandler extends ZosmfBaseHandler { this.arguments.remoteDirectory ); } catch (err) { - error = - "Creating z/OSMF workflow with local file: " + - this.arguments.localFile + - " failed. More details: \n" + - err; + error = new ImperativeError({ + msg: "Creating z/OSMF workflow with local file: " + this.arguments.localFile + " failed.\n" + err, + causeErrors: err.causeErrors, + additionalDetails: err.additionalDetails + }); throw error; } params.response.data.setObj(resp); diff --git a/packages/cli/src/workflows/delete/Delete.archived.common.handler.ts b/packages/cli/src/workflows/delete/Delete.archived.common.handler.ts index 6ef69e1908..98588f851a 100644 --- a/packages/cli/src/workflows/delete/Delete.archived.common.handler.ts +++ b/packages/cli/src/workflows/delete/Delete.archived.common.handler.ts @@ -39,7 +39,7 @@ export default class DeleteArchivedCommonHandler extends ZosmfBaseHandler { * @memberof DeleteArchivedCommonHandler */ public async processCmd(params: IHandlerParameters): Promise { - let error: string; + let error: ImperativeError; let listWorkflows: IArchivedWorkflows; this.arguments = params.arguments; @@ -58,7 +58,11 @@ export default class DeleteArchivedCommonHandler extends ZosmfBaseHandler { this.arguments.workflowKey ); } catch (err) { - error = "Delete workflow: " + err; + error = new ImperativeError({ + msg: "Delete workflow: " + err, + causeErrors: err.causeErrors, + additionalDetails: err.additionalDetails + }); throw error; } params.response.data.setObj("Deleted."); diff --git a/packages/cli/src/workflows/delete/Delete.common.handler.ts b/packages/cli/src/workflows/delete/Delete.common.handler.ts index bcd1ba8b5e..1e6e29d131 100644 --- a/packages/cli/src/workflows/delete/Delete.common.handler.ts +++ b/packages/cli/src/workflows/delete/Delete.common.handler.ts @@ -49,7 +49,11 @@ export default class DeleteCommonHandler extends ZosmfBaseHandler { try{ await DeleteWorkflow.deleteWorkflow(this.mSession, this.arguments.workflowKey); } catch (err){ - error = "Delete workflow: " + err; + error = new ImperativeError({ + msg: "Delete workflow: " + err, + causeErrors: err.causeErrors, + additionalDetails: err.additionalDetails + }); throw error; } params.response.data.setObj("Deleted."); diff --git a/packages/cli/src/workflows/list/activeWorkflowDetails/ActiveWorkflowDetails.handler.ts b/packages/cli/src/workflows/list/activeWorkflowDetails/ActiveWorkflowDetails.handler.ts index 4364ca9b6e..9cbc425a25 100644 --- a/packages/cli/src/workflows/list/activeWorkflowDetails/ActiveWorkflowDetails.handler.ts +++ b/packages/cli/src/workflows/list/activeWorkflowDetails/ActiveWorkflowDetails.handler.ts @@ -65,7 +65,11 @@ export default class ActiveWorkflowDetails extends ZosmfBaseHandler { stepSummaries = response.steps; } } catch(err){ - error = "List workflow details error: " + err; + error = new ImperativeError({ + msg: "List workflow details error: " + err, + causeErrors: err.causeErrors, + additionalDetails: err.additionalDetails + }); throw error; } params.response.data.setObj(response); diff --git a/packages/cli/src/workflows/list/activeWorkflows/ActiveWorkflows.handler.ts b/packages/cli/src/workflows/list/activeWorkflows/ActiveWorkflows.handler.ts index 49e1113f3b..37140be7c1 100644 --- a/packages/cli/src/workflows/list/activeWorkflows/ActiveWorkflows.handler.ts +++ b/packages/cli/src/workflows/list/activeWorkflows/ActiveWorkflows.handler.ts @@ -9,7 +9,7 @@ * */ -import { IHandlerParameters, TextUtils } from "@zowe/imperative"; +import { IHandlerParameters, ImperativeError, TextUtils } from "@zowe/imperative"; import { IWorkflowsInfo, ListWorkflows, IActiveWorkflows } from "@zowe/zos-workflows-for-zowe-sdk"; import { ZosmfBaseHandler } from "@zowe/zosmf-for-zowe-sdk"; @@ -47,7 +47,11 @@ export default class ListActiveWorkflowsHandler extends ZosmfBaseHandler { statusName: this.arguments.statusName }); } catch (err) { - error = "List workflow(s) " + err; + error = new ImperativeError({ + msg: "List workflow(s) " + err, + causeErrors: err.causeErrors, + additionalDetails: err.additionalDetails + }); throw error; } diff --git a/packages/cli/src/workflows/list/archivedWorkflows/ArchivedWorkflows.handler.ts b/packages/cli/src/workflows/list/archivedWorkflows/ArchivedWorkflows.handler.ts index 55b1e752cf..e411ff9374 100644 --- a/packages/cli/src/workflows/list/archivedWorkflows/ArchivedWorkflows.handler.ts +++ b/packages/cli/src/workflows/list/archivedWorkflows/ArchivedWorkflows.handler.ts @@ -9,7 +9,7 @@ * */ -import { IHandlerParameters, TextUtils } from "@zowe/imperative"; +import { IHandlerParameters, ImperativeError, TextUtils } from "@zowe/imperative"; import { ListArchivedWorkflows, IWorkflowsInfo, IArchivedWorkflows } from "@zowe/zos-workflows-for-zowe-sdk"; import { ZosmfBaseHandler } from "@zowe/zosmf-for-zowe-sdk"; @@ -40,7 +40,11 @@ export default class ListArchivedWorkflowsHandler extends ZosmfBaseHandler { response = await ListArchivedWorkflows.listArchivedWorkflows( this.mSession); } catch (err) { - error = "List workflow(s) " + err; + error = new ImperativeError({ + msg: "List workflow(s) " + err, + causeErrors: err.causeErrors, + additionalDetails: err.additionalDetails + }); throw error; } commandParameters.response.data.setObj(response); diff --git a/packages/cli/src/workflows/list/retrieveWorkflowDefinition/RetrieveWorkflowDefinition.handler.ts b/packages/cli/src/workflows/list/retrieveWorkflowDefinition/RetrieveWorkflowDefinition.handler.ts index 7bac0f9f26..5fbdf12448 100644 --- a/packages/cli/src/workflows/list/retrieveWorkflowDefinition/RetrieveWorkflowDefinition.handler.ts +++ b/packages/cli/src/workflows/list/retrieveWorkflowDefinition/RetrieveWorkflowDefinition.handler.ts @@ -9,7 +9,7 @@ * */ -import { IHandlerParameters } from "@zowe/imperative"; +import { IHandlerParameters, ImperativeError } from "@zowe/imperative"; import { DefinitionWorkflow, IWorkflowDefinition } from "@zowe/zos-workflows-for-zowe-sdk"; import { ZosmfBaseHandler } from "@zowe/zosmf-for-zowe-sdk"; @@ -41,7 +41,11 @@ export default class ListActiveWorkflowsHandler extends ZosmfBaseHandler { this.mSession, undefined, this.arguments.definitionFilePath, this.arguments.listSteps, this.arguments.listVariables); } catch (err) { - error = "List workflow(s) " + err; + error = new ImperativeError({ + msg: "List workflow(s) " + err, + causeErrors: err.causeErrors, + additionalDetails: err.additionalDetails + }); throw error; } diff --git a/packages/cli/src/workflows/start/workflowFull/WorkflowFull.handler.ts b/packages/cli/src/workflows/start/workflowFull/WorkflowFull.handler.ts index 85aa5eff50..7e58d468d9 100644 --- a/packages/cli/src/workflows/start/workflowFull/WorkflowFull.handler.ts +++ b/packages/cli/src/workflows/start/workflowFull/WorkflowFull.handler.ts @@ -52,7 +52,11 @@ export default class WorkflowFullHandler extends ZosmfBaseHandler { try{ await StartWorkflow.startWorkflow(this.mSession, workflowKey, this.arguments.resolveConflict); } catch (err) { - error = "Start workflow: " + err; + error = new ImperativeError({ + msg: "Start workflow: " + err, + causeErrors: err.causeErrors, + additionalDetails: err.additionalDetails + }); throw error; } diff --git a/packages/cli/src/workflows/start/workflowStep/WorkflowStep.handler.ts b/packages/cli/src/workflows/start/workflowStep/WorkflowStep.handler.ts index 6757fb6f4a..25ba4b7711 100644 --- a/packages/cli/src/workflows/start/workflowStep/WorkflowStep.handler.ts +++ b/packages/cli/src/workflows/start/workflowStep/WorkflowStep.handler.ts @@ -50,7 +50,11 @@ export default class WorkflowStepHandler extends ZosmfBaseHandler { await StartWorkflow.startWorkflow(this.mSession, this.arguments.workflowKey, this.arguments.resolveConflict, this.arguments.stepName, this.arguments.performFollowingSteps); } catch (err){ - error = "Start workflow: " + err; + error = new ImperativeError({ + msg: "Start workflow: " + err, + causeErrors: err.causeErrors, + additionalDetails: err.additionalDetails + }); throw error; } params.response.data.setObj("Started."); @@ -68,7 +72,11 @@ export default class WorkflowStepHandler extends ZosmfBaseHandler { await StartWorkflow.startWorkflow(this.mSession, getWfKey, this.arguments.resolveConflict, this.arguments.stepName, this.arguments.performFollowingSteps); } catch (err){ - error = "Start workflow: " + err; + error = new ImperativeError({ + msg: "Start workflow Error: " + err, + causeErrors: err.causeErrors, + additionalDetails: err.additionalDetails + }); throw error; } params.response.data.setObj("Started."); diff --git a/packages/cli/src/zosfiles/compare/CompareBaseHelper.ts b/packages/cli/src/zosfiles/compare/CompareBaseHelper.ts index 379654cb59..be2ef09872 100644 --- a/packages/cli/src/zosfiles/compare/CompareBaseHelper.ts +++ b/packages/cli/src/zosfiles/compare/CompareBaseHelper.ts @@ -164,7 +164,11 @@ export class CompareBaseHelper { public prepareContent(content: string | Buffer): string { let contentString = content.toString(); if(this.seqnum === false) { - const seqnumlen = 8; + let seqnumlen = 8; + /* If Windows format file, account for the carriage return */ + if(content.toString().endsWith("\r\n")){ + seqnumlen++; + } contentString = content.toString().split("\n").map((line) => line.slice(0, -seqnumlen)).join("\n"); } return contentString; diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index 2cc17d3df0..7d4393584b 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -2,6 +2,11 @@ All notable changes to the Zowe core SDK package will be documented in this file. +## `8.0.0-next.202401191954` + +- LTS Breaking: Removed all 'profiles' commands, since they only worked with now-obsolete V1 profiles. +- BugFix: Include text from a REST response's causeErrors.message property in error messages. + ## `8.0.0-next.202311282012` - LTS Breaking: Unpinned dependency versions to allow for patch/minor version updates for dependencies [#1968](https://github.com/zowe/zowe-cli/issues/1968) @@ -10,6 +15,10 @@ All notable changes to the Zowe core SDK package will be documented in this file - Major: First major version bump for V3 +## `7.21.2` + +- BugFix: Add information about password-protected certificate file support. [#2006](https://github.com/zowe/zowe-cli/issues/2006) + ## `7.18.0` - Enhancement: Added support for dynamic APIML tokens. [#1734](https://github.com/zowe/zowe-cli/pull/1734) diff --git a/packages/core/__tests__/utils/__integration__/ProfileUtils.integration.test.ts b/packages/core/__tests__/utils/__integration__/ProfileUtils.integration.test.ts index dfc0d0ad3d..533d6e525c 100644 --- a/packages/core/__tests__/utils/__integration__/ProfileUtils.integration.test.ts +++ b/packages/core/__tests__/utils/__integration__/ProfileUtils.integration.test.ts @@ -46,14 +46,14 @@ describe("ProfileUtils", () => { testName: "core_utils_get_default_profile", skipProperties: true }); - - // We need the meta YAML files for the ProfileManager to initialize, so create dummy profiles to supply them - runCliScript(__dirname + "/__scripts__/create_profile.sh", TEST_ENVIRONMENT, - ["zosmf", "fakeServiceProfile", "--host fake --dd"]); - runCliScript(__dirname + "/__scripts__/create_profile.sh", TEST_ENVIRONMENT, - ["base", "fakeBaseProfile", "--host fake --dd"]); process.env.ZOWE_CLI_HOME = TEST_ENVIRONMENT.workingDir; + + // copy existing profiles into test directory + const response = runCliScript(__dirname + "/__scripts__/copy_profiles.sh", TEST_ENVIRONMENT); + expect(response.stderr.toString()).toBe(""); + expect(response.status).toBe(0); }); + beforeEach(() => { jest.resetAllMocks(); @@ -67,11 +67,12 @@ describe("ProfileUtils", () => { }) }); }); + afterAll(async () => { - runCliScript(__dirname + "/__scripts__/delete_profile.sh", TEST_ENVIRONMENT, ["zosmf", "fakeServiceProfile"]); - runCliScript(__dirname + "/__scripts__/delete_profile.sh", TEST_ENVIRONMENT, ["base", "fakeBaseProfile"]); await TestEnvironment.cleanUp(TEST_ENVIRONMENT); }); + + it("Should return a service profile", async() => { const profileManagerSpy = jest.spyOn(imperative.CliProfileManager.prototype, "load") .mockResolvedValueOnce({ profile: fakeServiceProfile } as any); diff --git a/packages/core/__tests__/utils/__integration__/__resources__/profiles/base/base_meta.yaml b/packages/core/__tests__/utils/__integration__/__resources__/profiles/base/base_meta.yaml new file mode 100644 index 0000000000..4b73a7496f --- /dev/null +++ b/packages/core/__tests__/utils/__integration__/__resources__/profiles/base/base_meta.yaml @@ -0,0 +1,230 @@ +defaultProfile: fakeBaseProfile +configuration: + type: base + schema: + type: object + title: 'Base Profile' + description: 'Base profile that stores values shared by multiple service profiles' + properties: + host: + type: string + optionDefinition: + name: host + aliases: + - H + description: 'Host name of service on the mainframe.' + type: string + group: 'Base Connection Options' + includeInTemplate: true + port: + type: number + optionDefinition: + name: port + aliases: + - P + description: 'Port number of service on the mainframe.' + type: number + group: 'Base Connection Options' + user: + type: string + secure: true + optionDefinition: + name: user + aliases: + - u + description: 'User name to authenticate to service on the mainframe.' + type: string + group: 'Base Connection Options' + includeInTemplate: true + password: + type: string + secure: true + optionDefinition: + name: password + aliases: + - pass + - pw + description: 'Password to authenticate to service on the mainframe.' + type: string + group: 'Base Connection Options' + includeInTemplate: true + rejectUnauthorized: + type: boolean + optionDefinition: + name: reject-unauthorized + aliases: + - ru + description: 'Reject self-signed certificates.' + type: boolean + defaultValue: true + group: 'Base Connection Options' + includeInTemplate: true + tokenType: + type: string + optionDefinition: + name: token-type + aliases: + - tt + description: 'The type of token to get and use for the API. Omit this option to use the default token type, which is provided by ''zowe auth login''.' + type: string + group: 'Base Connection Options' + tokenValue: + type: string + secure: true + optionDefinition: + name: token-value + aliases: + - tv + description: 'The value of the token to pass to the API.' + type: string + group: 'Base Connection Options' + certFile: + type: string + optionDefinition: + name: cert-file + description: 'The file path to a certificate file to use for authentication' + type: existingLocalFile + group: 'Base Connection Options' + aliases: [] + certKeyFile: + type: string + optionDefinition: + name: cert-key-file + description: 'The file path to a certificate key file to use for authentication' + type: existingLocalFile + group: 'Base Connection Options' + aliases: [] + required: [] + createProfileExamples: + - + options: 'base1 --host example.com --port 443 --user admin --password 123456' + description: 'Create a profile called ''base1'' to connect to host example.com and port 443' + - + options: 'base2 --host example.com --user admin --password 123456 --reject-unauthorized false' + description: 'Create a profile called ''base2'' to connect to host example.com (default port - 443) and allow self-signed certificates' + - + options: 'base3 --host example.com --port 1443' + description: 'Create a profile called ''base3'' to connect to host example.com and port 1443, not specifying a username or password so they are not stored on disk; these will need to be specified on every command' + - + options: 'base4 --reject-unauthorized false' + description: 'Create a zosmf profile called ''base4'' to connect to default port 443 and allow self-signed certificates, not specifying a username, password, or host so they are not stored on disk; these will need to be specified on every command' + updateProfileExamples: + - + options: 'base1 --user newuser --password newp4ss' + description: 'Update a base profile named ''base1'' with a new username and password' + authConfig: + - + serviceName: apiml + handler: /home/stduser/repos/zowe-cli/packages/cli/lib/auth/ApimlAuthHandler + login: + summary: 'Log in to API ML authentication service' + description: "Log in to Zowe API Mediation Layer authentication service and obtain or update a token.\n\nThe token provides authentication to services that support the API ML SSO (Single Sign-On) capability. When you log in, the token is stored in your default base profile until it expires. Base profiles store connection information shared by multiple services (e.g., z/OSMF), and are used if you do not supply connection information in a service profile. To take advantage of the API ML SSO capability, you should omit username and password in service profiles so that the token in the base profile is used." + examples: + - + description: 'Log in to an API ML instance to obtain or update the token stored in your base profile' + options: "" + - + description: 'Log in to an API ML instance to obtain a token without storing it in a profile' + options: '--show-token' + options: + - + name: host + aliases: + - H + description: 'Host name of service on the mainframe.' + type: string + group: 'Base Connection Options' + - + name: port + aliases: + - P + description: 'Port number of service on the mainframe.' + type: number + group: 'Base Connection Options' + - + name: user + aliases: + - u + description: 'User name to authenticate to service on the mainframe.' + type: string + group: 'Base Connection Options' + - + name: password + aliases: + - pass + - pw + description: 'Password to authenticate to service on the mainframe.' + type: string + group: 'Base Connection Options' + - + name: reject-unauthorized + aliases: + - ru + description: 'Reject self-signed certificates.' + type: boolean + defaultValue: true + group: 'Base Connection Options' + - + name: cert-file + description: 'The file path to a certificate file to use for authentication' + type: existingLocalFile + group: 'Base Connection Options' + aliases: [] + - + name: cert-key-file + description: 'The file path to a certificate key file to use for authentication' + type: existingLocalFile + group: 'Base Connection Options' + aliases: [] + logout: + summary: 'Log out of API ML authentication service' + description: 'Log out of the Zowe API Mediation Layer authentication service and revoke the token so it can no longer authenticate. Also remove the token from the default base profile, if it is stored on disk.' + examples: + - + description: 'Log out of an API ML instance to revoke the token that was in use and remove it from your base profile' + options: "" + - + description: 'Log out of an API ML instance to revoke a token that was not stored in a profile' + options: '--token-value ' + options: + - + name: host + aliases: + - H + description: 'Host name of service on the mainframe.' + type: string + group: 'Base Connection Options' + - + name: port + aliases: + - P + description: 'Port number of service on the mainframe.' + type: number + group: 'Base Connection Options' + - + name: token-type + aliases: + - tt + description: 'The type of token to get and use for the API. Omit this option to use the default token type, which is provided by ''zowe auth login''.' + type: string + group: 'Base Connection Options' + allowableValues: + values: + - '^apimlAuthenticationToken.*' + - jwtToken + - LtpaToken2 + - + name: token-value + aliases: + - tv + description: 'The value of the token to pass to the API.' + type: string + group: 'Base Connection Options' + - + name: reject-unauthorized + aliases: + - ru + description: 'Reject self-signed certificates.' + type: boolean + defaultValue: true + group: 'Base Connection Options' diff --git a/packages/core/__tests__/utils/__integration__/__resources__/profiles/base/fakeBaseProfile.yaml b/packages/core/__tests__/utils/__integration__/__resources__/profiles/base/fakeBaseProfile.yaml new file mode 100644 index 0000000000..de51124255 --- /dev/null +++ b/packages/core/__tests__/utils/__integration__/__resources__/profiles/base/fakeBaseProfile.yaml @@ -0,0 +1 @@ +host: fake diff --git a/packages/core/__tests__/utils/__integration__/__resources__/profiles/ssh/ssh_meta.yaml b/packages/core/__tests__/utils/__integration__/__resources__/profiles/ssh/ssh_meta.yaml new file mode 100644 index 0000000000..4d1813374a --- /dev/null +++ b/packages/core/__tests__/utils/__integration__/__resources__/profiles/ssh/ssh_meta.yaml @@ -0,0 +1,96 @@ +defaultProfile: null +configuration: + type: ssh + schema: + type: object + title: 'z/OS SSH Profile' + description: 'z/OS SSH Profile' + properties: + host: + type: string + optionDefinition: + name: host + aliases: + - H + description: 'The z/OS SSH server host name.' + type: string + required: false + group: 'z/OS Ssh Connection Options' + port: + type: number + optionDefinition: + name: port + aliases: + - P + description: 'The z/OS SSH server port.' + type: number + defaultValue: 22 + group: 'z/OS Ssh Connection Options' + includeInTemplate: true + user: + type: string + secure: true + optionDefinition: + name: user + aliases: + - u + description: 'Mainframe user name, which can be the same as your TSO login.' + type: string + required: false + group: 'z/OS Ssh Connection Options' + password: + type: string + secure: true + optionDefinition: + name: password + aliases: + - pass + - pw + description: 'Mainframe password, which can be the same as your TSO password.' + type: string + group: 'z/OS Ssh Connection Options' + privateKey: + type: string + optionDefinition: + name: privateKey + aliases: + - key + - pk + description: 'Path to a file containing your private key, that must match a public key stored in the server for authentication' + type: string + group: 'z/OS Ssh Connection Options' + keyPassphrase: + type: string + secure: true + optionDefinition: + name: keyPassphrase + aliases: + - passphrase + - kp + description: 'Private key passphrase, which unlocks the private key.' + type: string + group: 'z/OS Ssh Connection Options' + handshakeTimeout: + type: number + optionDefinition: + name: handshakeTimeout + aliases: + - timeout + - to + description: 'How long in milliseconds to wait for the SSH handshake to complete.' + type: number + group: 'z/OS Ssh Connection Options' + required: [] + createProfileExamples: + - + options: 'ssh111 --host sshhost --user ibmuser --password myp4ss' + description: 'Create a ssh profile called ''ssh111'' to connect to z/OS SSH server at host ''zos123'' and default port 22' + - + options: 'ssh222 --host sshhost --port 13022 --user ibmuser --password myp4ss' + description: 'Create a ssh profile called ''ssh222'' to connect to z/OS SSH server at host ''zos123'' and port 13022' + - + options: 'ssh333 --host sshhost --user ibmuser --privateKey /path/to/privatekey --keyPassphrase privateKeyPassphrase' + description: 'Create a ssh profile called ''ssh333'' to connect to z/OS SSH server at host ''zos123'' using a privatekey ''/path/to/privatekey'' and its decryption passphrase ''privateKeyPassphrase'' for privatekey authentication' + - + options: 'ssh444 --privateKey /path/to/privatekey' + description: 'Create a ssh profile called ''ssh444'' to connect to z/OS SSH server on default port 22, without specifying username, host, or password, preventing those values from being stored on disk' diff --git a/packages/core/__tests__/utils/__integration__/__resources__/profiles/tso/tso_meta.yaml b/packages/core/__tests__/utils/__integration__/__resources__/profiles/tso/tso_meta.yaml new file mode 100644 index 0000000000..fc0041bd86 --- /dev/null +++ b/packages/core/__tests__/utils/__integration__/__resources__/profiles/tso/tso_meta.yaml @@ -0,0 +1,94 @@ +defaultProfile: null +configuration: + type: tso + schema: + type: object + title: 'TSO Profile' + description: 'z/OS TSO/E User Profile' + properties: + account: + type: string + optionDefinition: + name: account + aliases: + - a + description: 'Your z/OS TSO/E accounting information.' + type: string + required: false + group: 'TSO ADDRESS SPACE OPTIONS' + includeInTemplate: true + characterSet: + type: string + optionDefinition: + name: character-set + aliases: + - cs + description: 'Character set for address space to convert messages and responses from UTF-8 to EBCDIC.' + type: string + defaultValue: '697' + group: 'TSO ADDRESS SPACE OPTIONS' + codePage: + type: string + optionDefinition: + name: code-page + aliases: + - cp + description: 'Codepage value for TSO/E address space to convert messages and responses from UTF-8 to EBCDIC.' + type: string + defaultValue: '1047' + group: 'TSO ADDRESS SPACE OPTIONS' + includeInTemplate: true + columns: + type: number + optionDefinition: + name: columns + aliases: + - cols + description: 'The number of columns on a screen.' + type: number + defaultValue: 80 + group: 'TSO ADDRESS SPACE OPTIONS' + logonProcedure: + type: string + optionDefinition: + name: logon-procedure + aliases: + - l + description: 'The logon procedure to use when creating TSO procedures on your behalf.' + type: string + defaultValue: IZUFPROC + group: 'TSO ADDRESS SPACE OPTIONS' + includeInTemplate: true + regionSize: + type: number + optionDefinition: + name: region-size + aliases: + - rs + description: 'Region size for the TSO/E address space.' + type: number + defaultValue: 4096 + group: 'TSO ADDRESS SPACE OPTIONS' + rows: + type: number + optionDefinition: + name: rows + description: 'The number of rows on a screen.' + type: number + defaultValue: 24 + group: 'TSO ADDRESS SPACE OPTIONS' + required: [] + createProfileExamples: + - + description: 'Create a tso profile called ''myprof'' with default settings and JES accounting information of ''IZUACCT''' + options: 'myprof -a IZUACCT' + - + description: 'Create a tso profile called ''largeregion'' with a region size of 8192, a logon procedure of MYPROC, and JES accounting information of ''1234''' + options: 'largeregion -a 1234 --rs 8192' + - + description: 'Create a tso profile called ''myprof2'' with default settings and region size of 8192, without storing the user account on disk' + options: 'myprof2 --rs 8192' + updateProfileExamples: + - + description: 'Update a tso profile called myprof with new JES accounting information' + options: 'myprof -a NEWACCT' diff --git a/packages/core/__tests__/utils/__integration__/__resources__/profiles/zosmf/fakeServiceProfile.yaml b/packages/core/__tests__/utils/__integration__/__resources__/profiles/zosmf/fakeServiceProfile.yaml new file mode 100644 index 0000000000..de51124255 --- /dev/null +++ b/packages/core/__tests__/utils/__integration__/__resources__/profiles/zosmf/fakeServiceProfile.yaml @@ -0,0 +1 @@ +host: fake diff --git a/packages/core/__tests__/utils/__integration__/__resources__/profiles/zosmf/zosmf_meta.yaml b/packages/core/__tests__/utils/__integration__/__resources__/profiles/zosmf/zosmf_meta.yaml new file mode 100644 index 0000000000..a0fc53b9bf --- /dev/null +++ b/packages/core/__tests__/utils/__integration__/__resources__/profiles/zosmf/zosmf_meta.yaml @@ -0,0 +1,139 @@ +defaultProfile: fakeServiceProfile +configuration: + type: zosmf + schema: + type: object + title: 'z/OSMF Profile' + description: 'z/OSMF Profile' + properties: + host: + type: string + optionDefinition: + name: host + aliases: + - H + description: 'The z/OSMF server host name.' + type: string + required: false + group: 'Zosmf Connection Options' + port: + type: number + optionDefinition: + name: port + aliases: + - P + description: 'The z/OSMF server port.' + type: number + defaultValue: 443 + group: 'Zosmf Connection Options' + includeInTemplate: true + user: + type: string + secure: true + optionDefinition: + name: user + aliases: + - u + description: 'Mainframe (z/OSMF) user name, which can be the same as your TSO login.' + type: string + required: false + group: 'Zosmf Connection Options' + password: + type: string + secure: true + optionDefinition: + name: password + aliases: + - pass + - pw + description: 'Mainframe (z/OSMF) password, which can be the same as your TSO password.' + type: string + required: false + group: 'Zosmf Connection Options' + rejectUnauthorized: + type: boolean + optionDefinition: + name: reject-unauthorized + aliases: + - ru + description: 'Reject self-signed certificates.' + type: boolean + defaultValue: true + group: 'Zosmf Connection Options' + certFile: + type: string + optionDefinition: + name: cert-file + description: 'The file path to a certificate file to use for authentication' + type: existingLocalFile + group: 'Zosmf Connection Options' + certKeyFile: + type: string + optionDefinition: + name: cert-key-file + description: 'The file path to a certificate key file to use for authentication' + type: existingLocalFile + group: 'Zosmf Connection Options' + basePath: + type: string + optionDefinition: + name: base-path + aliases: + - bp + description: 'The base path for your API mediation layer instance. Specify this option to prepend the base path to all z/OSMF resources when making REST requests. Do not specify this option if you are not using an API mediation layer.' + type: string + group: 'Zosmf Connection Options' + protocol: + type: string + optionDefinition: + name: protocol + description: 'The protocol used (HTTP or HTTPS)' + type: string + defaultValue: https + group: 'Zosmf Connection Options' + allowableValues: + values: + - http + - https + caseSensitive: false + encoding: + type: string + optionDefinition: + name: encoding + aliases: + - ec + description: 'The encoding for download and upload of z/OS data set and USS files. The default encoding if not specified is IBM-1047.' + type: string + responseTimeout: + type: number + optionDefinition: + name: response-timeout + aliases: + - rto + description: 'The maximum amount of time in seconds the z/OSMF Files TSO servlet should run before returning a response. Any request exceeding this amount of time will be terminated and return an error. Allowed values: 5 - 600' + type: number + defaultValue: null + numericValueRange: + - 5 + - 600 + required: [] + createProfileExamples: + - + options: 'zos123 --host zos123 --port 1443 --user ibmuser --password myp4ss' + description: 'Create a zosmf profile called ''zos123'' to connect to z/OSMF at host zos123 and port 1443' + - + options: 'zos124 --host zos124 --user ibmuser --password myp4ss --reject-unauthorized false' + description: 'Create a zosmf profile called ''zos124'' to connect to z/OSMF at the host zos124 (default port - 443) and allow self-signed certificates' + - + options: 'zos125 --host zos125 --port 1443' + description: 'Create a zosmf profile called ''zos125'' to connect to z/OSMF at the host zos125 and port 1443, not specifying a username or password so they are not stored on disk; these will need to be specified on every command' + - + options: 'zos126 --reject-unauthorized false' + description: 'Create a zosmf profile called ''zos126'' to connect to z/OSMF on the default port 443 and allow self-signed certificates, not specifying a username, password, or host so they are not stored on disk; these will need to be specified on every command' + - + options: 'zosAPIML --host zosAPIML --port 7554 --user ibmuser --password myp4ss --reject-unauthorized false --base-path ibmzosmf/api/v1' + description: 'Create a zosmf profile called ''zosAPIML'' to connect to z/OSMF via the Zowe API Mediation Layer running at host ''zosAPIML'', port ''7554'', and allow for self-signed certificates. To reduce duplication, you could elect to store the ''host'', ''port'', ''reject-unauthorized'', ''user'', and ''password'' values for the API Mediation Layer in a base profile and only store the ''base-path'' of the service in the zosmf profile' + updateProfileExamples: + - + options: 'zos123 --user newuser --password newp4ss' + description: 'Update a zosmf profile named ''zos123'' with a new username and password' diff --git a/packages/core/__tests__/utils/__integration__/__scripts__/copy_profiles.sh b/packages/core/__tests__/utils/__integration__/__scripts__/copy_profiles.sh new file mode 100755 index 0000000000..6433715ec5 --- /dev/null +++ b/packages/core/__tests__/utils/__integration__/__scripts__/copy_profiles.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +# include zowe-cli\__tests__\__scripts__\exitOnFailure function +myScriptDir=`dirname $0` +. $myScriptDir/../../../../../../__tests__/__scripts__/exitOnFailure.sh + +# copy pre-existing profiles to test directory +cp -r $myScriptDir/../__resources__/profiles profiles +exitOnFailure "Failed to copy test profile." $? diff --git a/packages/core/__tests__/utils/__integration__/__scripts__/create_profile.sh b/packages/core/__tests__/utils/__integration__/__scripts__/create_profile.sh deleted file mode 100755 index 2adf3a2c35..0000000000 --- a/packages/core/__tests__/utils/__integration__/__scripts__/create_profile.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash -set -e -type=$1 -name=$2 - -echo "================CREATE PROFILE===============" -# Can't use daemon because we need to override ZOWE_CLI_HOME -ZOWE_USE_DAEMON=false zowe profiles create $type $name $3 -if [ $? -gt 0 ] -then - exit $? -fi \ No newline at end of file diff --git a/packages/core/__tests__/utils/__integration__/__scripts__/delete_profile.sh b/packages/core/__tests__/utils/__integration__/__scripts__/delete_profile.sh deleted file mode 100755 index c6ad2a1ea6..0000000000 --- a/packages/core/__tests__/utils/__integration__/__scripts__/delete_profile.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash -set -e -type=$1 -name=$2 - -echo "================DELETE PROFILE===============" -# Can't use daemon because we need to override ZOWE_CLI_HOME -ZOWE_USE_DAEMON=false zowe profiles delete $type $name -if [ $? -gt 0 ] -then - exit $? -fi \ No newline at end of file diff --git a/packages/core/package.json b/packages/core/package.json index 4ca44dff3f..378dee1611 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@zowe/core-for-zowe-sdk", - "version": "8.0.0-next.202401162202", + "version": "8.0.0-next.202401191954", "description": "Core libraries shared by Zowe SDK packages", "author": "Zowe", "license": "EPL-2.0", @@ -49,8 +49,8 @@ "string-width": "^4.2.3" }, "devDependencies": { - "@zowe/cli-test-utils": "8.0.0-next.202401162202", - "@zowe/imperative": "8.0.0-next.202401162202" + "@zowe/cli-test-utils": "8.0.0-next.202401191954", + "@zowe/imperative": "8.0.0-next.202401191954" }, "peerDependencies": { "@zowe/imperative": "^8.0.0-next" diff --git a/packages/core/src/constants/Core.constants.ts b/packages/core/src/constants/Core.constants.ts index e48ea39ecb..17b427dcdf 100644 --- a/packages/core/src/constants/Core.constants.ts +++ b/packages/core/src/constants/Core.constants.ts @@ -102,7 +102,9 @@ export class ProfileConstants { */ public static readonly BASE_OPTION_CERT_FILE: ICommandOptionDefinition = { name: "cert-file", - description: "The file path to a certificate file to use for authentication", + description: "The file path to a certificate file to use for authentication.\n\nNote: " + + "The CLI does not support certificate files that require a password. " + + "For more information, search Troubleshooting PEM Certificates in Zowe Docs.", type: "existingLocalFile", group: ProfileConstants.BASE_CONNECTION_OPTION_GROUP }; diff --git a/packages/core/src/rest/ZosmfRestClient.ts b/packages/core/src/rest/ZosmfRestClient.ts index aa5d8ae2e5..845d72ac63 100644 --- a/packages/core/src/rest/ZosmfRestClient.ts +++ b/packages/core/src/rest/ZosmfRestClient.ts @@ -90,6 +90,9 @@ export class ZosmfRestClient extends RestClient { original.msg += "\n" + message.messageContent; } } + if (causeErrorsJson?.message?.length > 0) { + original.msg += "\n" + causeErrorsJson.message; + } // add further clarification on authentication errors if (this.response && this.response.statusCode === RestConstants.HTTP_STATUS_401) { diff --git a/packages/imperative/CHANGELOG.md b/packages/imperative/CHANGELOG.md index 247da072c4..ea983dc831 100644 --- a/packages/imperative/CHANGELOG.md +++ b/packages/imperative/CHANGELOG.md @@ -2,6 +2,15 @@ All notable changes to the Imperative package will be documented in this file. +## `8.0.0-next.202401191954` + +- LTS Breaking: Removed the following: + - All 'profiles' commands, since they only worked with now-obsolete V1 profiles. + - BasicProfileManager.initialize function + - These interfaces: + - IProfileManagerInit + - IProfileInitialized + ## `8.0.0-next.202401081937` - BugFix: Fixed error message shown for null option definition to include details about which command caused the error. [#2002](https://github.com/zowe/zowe-cli/issues/2002) @@ -41,6 +50,19 @@ All notable changes to the Imperative package will be documented in this file. - Major: First major version bump for V3 +## `5.21.0` + +- Enhancement: Hid the progress bar if `CI` environment variable is set, or if `FORCE_COLOR` environment variable is set to `0`. [#1845](https://github.com/zowe/zowe-cli/issues/1845) +- BugFix: Fixed issue where secure property names could be returned for the wrong profile. [zowe-explorer#2633](https://github.com/zowe/vscode-extension-for-zowe/issues/2633) + +## `5.20.2` + +- BugFix: Fixed issue when a property is not found in `ProfileInfo.updateProperty({forceUpdate: true})`. [zowe-explorer#2493](https://github.com/zowe/vscode-extension-for-zowe/issues/2493) + +## `5.20.1` + +- BugFix: Fixed error message shown for null option definition to include details about which command caused the error. [#2002](https://github.com/zowe/zowe-cli/issues/2002) + ## `5.19.0` - Enhancement: Deprecated function AbstractCommandYargs.getBrightYargsResponse in favor of AbstractCommandYargs.getZoweYargsResponse @@ -374,6 +396,10 @@ that would be used if a command were executed. - BugFix: Fixed incorrect description for untyped profiles in team config files. [zowe/zowe-cli#1303](https://github.com/zowe/zowe-cli/issues/1303) - **Next Breaking**: Schema files created or updated with the above changes are not backward compatible with older versions of Imperative. +## `5.20.0` + +- Enhancement: Added the ability to `forceUpdate` a property using the `ProfileInfo.updateProperty` method. [zowe-explorer#2493](https://github.com/zowe/vscode-extension-for-zowe/issues/2493) + ## `5.0.0-next.202203222132` - BugFix: Reverted unintentional breaking change that prevented `DefaultCredentialManager` from finding Keytar outside of calling CLI's node_modules folder. diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/Cmd.cli.auth.login.fruit.integration.test.ts b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/Cmd.cli.auth.login.fruit.integration.test.ts index 4d6a74f748..c6c0a3def1 100644 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/Cmd.cli.auth.login.fruit.integration.test.ts +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/Cmd.cli.auth.login.fruit.integration.test.ts @@ -12,14 +12,13 @@ import { runCliScript } from "../../../../../../src/TestUtil"; import { ITestEnvironment } from "../../../../../../__src__/environment/doc/response/ITestEnvironment"; import { SetupTestEnvironment } from "../../../../../../__src__/environment/SetupTestEnvironment"; -import { join } from "path"; -const fakeCertPath = join(__dirname, "__resources__", "fakeCert.cert"); -const fakeCertKeyPath = join(__dirname, "__resources__", "fakeKey.key"); +const fakeCertPath = "./fakeCert.cert"; +const fakeCertKeyPath = "./fakeKey.key"; // Test Environment populated in the beforeAll(); let TEST_ENVIRONMENT: ITestEnvironment; -describe("cmd-cli auth login", () => { +describe("imperative-test-cli auth login", () => { // Create the unique test environment beforeAll(async () => { TEST_ENVIRONMENT = await SetupTestEnvironment.createTestEnv({ @@ -28,222 +27,199 @@ describe("cmd-cli auth login", () => { }); }); - afterEach(() => { - // delete profiles between tests so that they can be recreated - require("rimraf").sync(join(TEST_ENVIRONMENT.workingDir, "profiles")); - }); - it("should load values from base profile and store token in it with alias", () => { - const response = runCliScript(__dirname + "/__scripts__/base_profile_and_auth_li.sh", - TEST_ENVIRONMENT.workingDir, ["fakeUser", "fakePass"]); - expect(response.stderr.toString()).toContain("command 'profiles create' is deprecated"); - expect(response.status).toBe(0); + const response = runCliScript(__dirname + "/__scripts__/auth_li_config_password.sh", + TEST_ENVIRONMENT.workingDir); // the output of the command should include token value - expect(response.stdout.toString()).toContain("user: fakeUser"); - expect(response.stdout.toString()).toContain("password: fakePass"); + expect(response.stderr.toString()).toBe(""); + expect(response.stdout.toString()).toContain("user: fakeUser"); + expect(response.stdout.toString()).toContain("password: fakePass"); expect(response.stdout.toString()).toContain("tokenType: jwtToken"); - expect(response.stdout.toString()).toContain("tokenValue: fakeUser:fakePass@fakeToken"); + expect(response.stdout.toString()).toContain("tokenValue: (secure value)"); + expect(response.status).toBe(0); }); it("should load values from base profile and store token in it - basic auth", () => { - const response = runCliScript(__dirname + "/__scripts__/base_profile_and_auth_login.sh", - TEST_ENVIRONMENT.workingDir, ["fakeUser", "fakePass"]); - expect(response.stderr.toString()).toContain("command 'profiles create' is deprecated"); - expect(response.status).toBe(0); + const response = runCliScript(__dirname + "/__scripts__/auth_login_config_password.sh", + TEST_ENVIRONMENT.workingDir); // the output of the command should include token value - expect(response.stdout.toString()).toContain("user: fakeUser"); - expect(response.stdout.toString()).toContain("password: fakePass"); + expect(response.stderr.toString()).toBe(""); + expect(response.stdout.toString()).toContain("user: fakeUser"); + expect(response.stdout.toString()).toContain("password: fakePass"); expect(response.stdout.toString()).toContain("tokenType: jwtToken"); - expect(response.stdout.toString()).toContain("tokenValue: fakeUser:fakePass@fakeToken"); + expect(response.stdout.toString()).toContain("tokenValue: (secure value)"); + expect(response.status).toBe(0); }); it("should load values from base profile and store token in it - certificate auth", () => { - const response = runCliScript(__dirname + "/__scripts__/base_profile_and_auth_login_cert.sh", - TEST_ENVIRONMENT.workingDir, [fakeCertPath, fakeCertKeyPath]); - expect(response.stderr.toString()).toContain("command 'profiles create' is deprecated"); - expect(response.status).toBe(0); + const response = runCliScript(__dirname + "/__scripts__/auth_login_config_cert.sh", + TEST_ENVIRONMENT.workingDir); // the output of the command should include token value + expect(response.stderr.toString()).toBe(""); expect(response.stdout.toString()).toContain("certFile: " + fakeCertPath); expect(response.stdout.toString()).toContain("certKeyFile: " + fakeCertKeyPath); expect(response.stdout.toString()).toContain("tokenType: jwtToken"); - expect(response.stdout.toString()).toContain("tokenValue: fakeCertificate@fakeToken"); + expect(response.stdout.toString()).toContain("tokenValue: (secure value)"); + expect(response.status).toBe(0); }); it("should load values from base profile and show token only - basic auth", () => { - let response = runCliScript(__dirname + "/__scripts__/base_profile_and_auth_login_show_token.sh", - TEST_ENVIRONMENT.workingDir, ["fakeUser", "fakePass"]); - expect(response.stderr.toString()).toContain("command 'profiles create' is deprecated"); - expect(response.status).toBe(0); - - // the output of the command should include token value - expect(response.stdout.toString()).toContain("fakeUser:fakePass@fakeToken"); - - response = runCliScript(__dirname + "/__scripts__/base_profile_and_auth_login_show_profiles.sh", TEST_ENVIRONMENT.workingDir); + const response = runCliScript(__dirname + "/__scripts__/auth_login_config_password_show_token.sh", + TEST_ENVIRONMENT.workingDir); // the output of the command should not include token value - expect(response.stderr.toString()).toContain("command 'profiles list' is deprecated"); - expect(response.status).toBe(0); + expect(response.stderr.toString()).toBe(""); + expect(response.stdout.toString()).toContain("Received a token of type = jwtToken"); + expect(response.stdout.toString()).toContain("The following token was retrieved and will not be stored in your profile:"); + expect(response.stdout.toString()).toContain("fakeUser:fakePass@fakeToken"); expect(response.stdout.toString()).not.toContain("tokenType:"); expect(response.stdout.toString()).not.toContain("tokenValue:"); + expect(response.status).toBe(0); }); it("should load values from base profile and show token only - certificate auth", () => { - let response = runCliScript(__dirname + "/__scripts__/base_profile_and_auth_login_show_token_cert.sh", - TEST_ENVIRONMENT.workingDir, [fakeCertPath, fakeCertKeyPath]); - expect(response.stderr.toString()).toContain("command 'profiles create' is deprecated"); - expect(response.status).toBe(0); - - // the output of the command should include token value - expect(response.stdout.toString()).toContain("fakeCertificate@fakeToken"); - - response = runCliScript(__dirname + "/__scripts__/base_profile_and_auth_login_show_profiles.sh", TEST_ENVIRONMENT.workingDir); + const response = runCliScript(__dirname + "/__scripts__/auth_login_config_cert_show_token.sh", + TEST_ENVIRONMENT.workingDir); // the output of the command should not include token value - expect(response.stderr.toString()).toContain("command 'profiles list' is deprecated"); - expect(response.status).toBe(0); + expect(response.stderr.toString()).toBe(""); + expect(response.stdout.toString()).toContain("Received a token of type = jwtToken"); + expect(response.stdout.toString()).toContain("The following token was retrieved and will not be stored in your profile:"); + expect(response.stdout.toString()).toContain("fakeCertificate@fakeToken"); expect(response.stdout.toString()).not.toContain("tokenType:"); expect(response.stdout.toString()).not.toContain("tokenValue:"); + expect(response.status).toBe(0); }); it("should load values from base profile and show token in rfj - basic auth", () => { - let response = runCliScript(__dirname + "/__scripts__/base_profile_create.sh", - TEST_ENVIRONMENT.workingDir, ["fakeUser", "fakePass"]); - expect(response.stderr.toString()).toContain("command 'profiles create' is deprecated"); - expect(response.status).toBe(0); - // the output of the command should include token value - response = runCliScript(__dirname + "/__scripts__/base_profile_and_auth_login_show_token_rfj.sh", + let response = runCliScript(__dirname + "/__scripts__/auth_login_config_password_show_token_rfj.sh", TEST_ENVIRONMENT.workingDir); expect(response.stderr.toString()).toBe(""); - expect(response.status).toBe(0); expect(JSON.parse(response.stdout.toString()).data).toMatchObject({tokenType: "jwtToken", tokenValue: "fakeUser:fakePass@fakeToken"}); + expect(response.status).toBe(0); // the output of the command should not include token value - response = runCliScript(__dirname + "/__scripts__/base_profile_and_auth_login_show_profiles.sh", TEST_ENVIRONMENT.workingDir); - expect(response.stderr.toString()).toContain("command 'profiles list' is deprecated"); - expect(response.status).toBe(0); + response = runCliScript(__dirname + "/__scripts__/show_profiles.sh", TEST_ENVIRONMENT.workingDir); + expect(response.stderr.toString()).toBe(""); expect(response.stdout.toString()).not.toContain("tokenType:"); expect(response.stdout.toString()).not.toContain("tokenValue:"); + expect(response.status).toBe(0); }); it("should load values from base profile and show token in rfj - certificate auth", () => { - let response = runCliScript(__dirname + "/__scripts__/base_profile_create_cert.sh", - TEST_ENVIRONMENT.workingDir, [fakeCertPath, fakeCertKeyPath]); - expect(response.stderr.toString()).toContain("command 'profiles create' is deprecated"); - expect(response.status).toBe(0); - // the output of the command should include token value - response = runCliScript(__dirname + "/__scripts__/base_profile_and_auth_login_show_token_rfj.sh", + let response = runCliScript(__dirname + "/__scripts__/auth_login_config_cert_show_token_rfj.sh", TEST_ENVIRONMENT.workingDir); expect(response.stderr.toString()).toBe(""); - expect(response.status).toBe(0); expect(JSON.parse(response.stdout.toString()).data).toMatchObject({tokenType: "jwtToken", tokenValue: "fakeCertificate@fakeToken"}); + expect(response.status).toBe(0); // the output of the command should not include token value - response = runCliScript(__dirname + "/__scripts__/base_profile_and_auth_login_show_profiles.sh", TEST_ENVIRONMENT.workingDir); - expect(response.stderr.toString()).toContain("command 'profiles list' is deprecated"); - expect(response.status).toBe(0); + response = runCliScript(__dirname + "/__scripts__/show_profiles.sh", TEST_ENVIRONMENT.workingDir); + expect(response.stderr.toString()).toBe(""); expect(response.stdout.toString()).not.toContain("tokenType:"); expect(response.stdout.toString()).not.toContain("tokenValue:"); + expect(response.status).toBe(0); }); - it("should create a profile, if requested 1", () => { - let response = runCliScript(__dirname + "/__scripts__/base_profile_and_auth_login_create_profile.sh", + it("should store token from cmd line user & password - y", () => { + let response = runCliScript(__dirname + "/__scripts__/auth_login_cmd_line_password.sh", TEST_ENVIRONMENT.workingDir, ["y", "fakeUser", "fakePass"]); expect(response.stderr.toString()).toBe(""); - expect(response.status).toBe(0); expect(response.stdout.toString()).toContain("Login successful."); - expect(response.stdout.toString()).toContain("The authentication token is stored in the 'default' base profile"); - - response = runCliScript(__dirname + "/__scripts__/base_profile_and_auth_login_show_profiles.sh", TEST_ENVIRONMENT.workingDir); - - expect(response.stderr.toString()).toContain("command 'profiles list' is deprecated"); + expect(response.stdout.toString()).toContain( + "The authentication token is stored in the 'baseProfName' base profile for future use"); expect(response.status).toBe(0); + + response = runCliScript(__dirname + "/__scripts__/show_profiles.sh", TEST_ENVIRONMENT.workingDir); + expect(response.stderr.toString()).toBe(""); expect(response.stdout.toString()).toContain("host: fakeHost"); expect(response.stdout.toString()).toContain("port: 3000"); expect(response.stdout.toString()).toContain("tokenType: jwtToken"); - expect(response.stdout.toString()).toContain("tokenValue: fakeUser:fakePass@fakeToken"); + expect(response.stdout.toString()).toContain("tokenValue: (secure value)"); expect(response.stdout.toString()).not.toContain("user:"); expect(response.stdout.toString()).not.toContain("password:"); + expect(response.status).toBe(0); }); - it("should create a profile, if requested 2", () => { - let response = runCliScript(__dirname + "/__scripts__/base_profile_and_auth_login_create_profile.sh", + it("should store token from cmd line user & password - yes", () => { + let response = runCliScript(__dirname + "/__scripts__/auth_login_cmd_line_password.sh", TEST_ENVIRONMENT.workingDir, ["yes", "fakeUser", "fakePass"]); expect(response.stderr.toString()).toBe(""); - expect(response.status).toBe(0); expect(response.stdout.toString()).toContain("Login successful."); - expect(response.stdout.toString()).toContain("The authentication token is stored in the 'default' base profile"); - - response = runCliScript(__dirname + "/__scripts__/base_profile_and_auth_login_show_profiles.sh", TEST_ENVIRONMENT.workingDir); - - expect(response.stderr.toString()).toContain("command 'profiles list' is deprecated"); + expect(response.stdout.toString()).toContain( + "The authentication token is stored in the 'baseProfName' base profile for future use"); expect(response.status).toBe(0); + + response = runCliScript(__dirname + "/__scripts__/show_profiles.sh", TEST_ENVIRONMENT.workingDir); + expect(response.stderr.toString()).toBe(""); expect(response.stdout.toString()).toContain("host: fakeHost"); expect(response.stdout.toString()).toContain("port: 3000"); expect(response.stdout.toString()).toContain("tokenType: jwtToken"); - expect(response.stdout.toString()).toContain("tokenValue: fakeUser:fakePass@fakeToken"); + expect(response.stdout.toString()).toContain("tokenValue: (secure value)"); expect(response.stdout.toString()).not.toContain("user:"); expect(response.stdout.toString()).not.toContain("password:"); + expect(response.status).toBe(0); }); - it("should create a profile, if requested 3", () => { - let response = runCliScript(__dirname + "/__scripts__/base_profile_and_auth_login_create_profile_cert.sh", + it("should store token from cmd line certificate", () => { + let response = runCliScript(__dirname + "/__scripts__/auth_login_cmd_line_cert.sh", TEST_ENVIRONMENT.workingDir, ["y", fakeCertPath, fakeCertKeyPath]); expect(response.stderr.toString()).toBe(""); - expect(response.status).toBe(0); expect(response.stdout.toString()).toContain("Login successful."); - expect(response.stdout.toString()).toContain("The authentication token is stored in the 'default' base profile"); - - response = runCliScript(__dirname + "/__scripts__/base_profile_and_auth_login_show_profiles.sh", TEST_ENVIRONMENT.workingDir); - - expect(response.stderr.toString()).toContain("command 'profiles list' is deprecated"); + expect(response.stdout.toString()).toContain( + "The authentication token is stored in the 'baseProfName' base profile for future use"); expect(response.status).toBe(0); - expect(response.stdout.toString()).toContain("certFile: " + fakeCertPath); - expect(response.stdout.toString()).toContain("certKeyFile: " + fakeCertKeyPath); - expect(response.stdout.toString()).toContain("host: fakeHost"); - expect(response.stdout.toString()).toContain("port: 3000"); - expect(response.stdout.toString()).toContain("tokenType: jwtToken"); - expect(response.stdout.toString()).toContain("tokenValue: fakeCertificate@fakeToken"); + + response = runCliScript(__dirname + "/__scripts__/show_profiles.sh", TEST_ENVIRONMENT.workingDir); + expect(response.stderr.toString()).toBe(""); + expect(response.stdout.toString()).toContain("host: fakeHost"); + expect(response.stdout.toString()).toContain("port: 3000"); + expect(response.stdout.toString()).toContain("tokenType: jwtToken"); + expect(response.stdout.toString()).toContain("secure"); + expect(response.stdout.toString()).toContain("tokenValue"); expect(response.stdout.toString()).not.toContain("user:"); expect(response.stdout.toString()).not.toContain("password:"); + expect(response.stdout.toString()).not.toContain("certFile:"); + expect(response.stdout.toString()).not.toContain("certKeyFile:"); + expect(response.status).toBe(0); }); - it("should not create a profile, if requested 1", () => { - let response = runCliScript(__dirname + "/__scripts__/base_profile_and_auth_login_create_profile.sh", + it("should NOT store token from user & password, if requested", () => { + let response = runCliScript(__dirname + "/__scripts__/auth_login_cmd_line_password.sh", TEST_ENVIRONMENT.workingDir, ["n", "fakeUser", "fakePass"]); - expect(response.status).toBe(0); + expect(response.stderr.toString()).toBe(""); expect(response.stdout.toString()).toContain("Login successful."); expect(response.stdout.toString()).toContain("will not be stored in your profile"); expect(response.stdout.toString()).toContain("fakeUser:fakePass@fakeToken"); - - response = runCliScript(__dirname + "/__scripts__/base_profile_and_auth_login_show_profiles.sh", TEST_ENVIRONMENT.workingDir); - - expect(response.stderr.toString()).toContain("command 'profiles list' is deprecated"); expect(response.status).toBe(0); + + response = runCliScript(__dirname + "/__scripts__/show_profiles.sh", TEST_ENVIRONMENT.workingDir); + expect(response.stderr.toString()).toBe(""); expect(response.stdout.toString()).not.toContain("user:"); expect(response.stdout.toString()).not.toContain("password:"); expect(response.stdout.toString()).not.toContain("host:"); expect(response.stdout.toString()).not.toContain("port:"); expect(response.stdout.toString()).not.toContain("tokenType:"); expect(response.stdout.toString()).not.toContain("tokenValue:"); + expect(response.status).toBe(0); }); - it("should not create a profile, if requested 2", () => { - let response = runCliScript(__dirname + "/__scripts__/base_profile_and_auth_login_create_profile_cert.sh", + it("should NOT store token from cert, if requested", () => { + let response = runCliScript(__dirname + "/__scripts__/auth_login_cmd_line_cert.sh", TEST_ENVIRONMENT.workingDir, ["n", fakeCertPath, fakeCertKeyPath]); - expect(response.status).toBe(0); + expect(response.stderr.toString()).toBe(""); expect(response.stdout.toString()).toContain("Login successful."); expect(response.stdout.toString()).toContain("will not be stored in your profile"); expect(response.stdout.toString()).toContain("fakeCertificate@fakeToken"); - - response = runCliScript(__dirname + "/__scripts__/base_profile_and_auth_login_show_profiles.sh", TEST_ENVIRONMENT.workingDir); - - expect(response.stderr.toString()).toContain("command 'profiles list' is deprecated"); expect(response.status).toBe(0); + + response = runCliScript(__dirname + "/__scripts__/show_profiles.sh", TEST_ENVIRONMENT.workingDir); + expect(response.stderr.toString()).toBe(""); expect(response.stdout.toString()).not.toContain("user:"); expect(response.stdout.toString()).not.toContain("password:"); expect(response.stdout.toString()).not.toContain("host:"); @@ -252,5 +228,6 @@ describe("cmd-cli auth login", () => { expect(response.stdout.toString()).not.toContain("tokenValue:"); expect(response.stdout.toString()).not.toContain("certFile:"); expect(response.stdout.toString()).not.toContain("certKeyFile:"); + expect(response.status).toBe(0); }); }); diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/Cmd.cli.auth.logout.fruit.integration.test.ts b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/Cmd.cli.auth.logout.fruit.integration.test.ts index 6ba8a4648f..a71efbcb9a 100644 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/Cmd.cli.auth.logout.fruit.integration.test.ts +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/Cmd.cli.auth.logout.fruit.integration.test.ts @@ -12,11 +12,10 @@ import { runCliScript } from "../../../../../../src/TestUtil"; import { ITestEnvironment } from "../../../../../../__src__/environment/doc/response/ITestEnvironment"; import { SetupTestEnvironment } from "../../../../../../__src__/environment/SetupTestEnvironment"; -import { join } from "path"; // Test Environment populated in the beforeAll(); let TEST_ENVIRONMENT: ITestEnvironment; -describe("cmd-cli auth logout", () => { +describe("imperative-test-cli auth logout", () => { // Create the unique test environment beforeAll(async () => { TEST_ENVIRONMENT = await SetupTestEnvironment.createTestEnv({ @@ -25,69 +24,71 @@ describe("cmd-cli auth logout", () => { }); }); - afterEach(() => { - // delete profiles between tests so that they can be recreated - require("rimraf").sync(join(TEST_ENVIRONMENT.workingDir, "profiles")); - }); - - it("should have auth logout command that loads values from base profile and removes the token with alias", () => { - let response = runCliScript(__dirname + "/__scripts__/base_profile_and_auth_li.sh", - TEST_ENVIRONMENT.workingDir, ["fakeUser", "fakePass"]); - expect(response.stderr.toString()).toContain("command 'profiles create' is deprecated"); - expect(response.status).toBe(0); + it("should have auth lo command that loads values from base profile and removes the token", () => { + let response = runCliScript(__dirname + "/__scripts__/auth_li_config_password.sh", + TEST_ENVIRONMENT.workingDir); - // the output of the command should include token value + // the output of the login command should include token value + expect(response.stderr.toString()).toBe(""); expect(response.stdout.toString()).toContain("tokenType: jwtToken"); - expect(response.stdout.toString()).toContain("tokenValue: fakeUser:fakePass@fakeToken"); + expect(response.stdout.toString()).toContain("tokenValue: (secure value)"); + expect(response.status).toBe(0); - response = runCliScript(__dirname + "/__scripts__/base_profile_and_auth_lo.sh", + response = runCliScript(__dirname + "/__scripts__/auth_lo.sh", TEST_ENVIRONMENT.workingDir); - expect(response.stderr.toString()).toContain("command 'profiles list' is deprecated"); - expect(response.status).toBe(0); - // the output of the command should include token value + // the output of the command should NOT include token value + expect(response.stderr.toString()).toBe(""); + expect(response.stdout.toString()).toContain("Logout successful. The authentication token has been revoked"); + expect(response.stdout.toString()).toContain("Token was removed from your 'baseProfName_fruit' base profile"); expect(response.stdout.toString()).not.toContain("tokenType:"); expect(response.stdout.toString()).not.toContain("tokenValue:"); + expect(response.status).toBe(0); }); it("should have auth logout command that loads values from base profile and removes the token", () => { - let response = runCliScript(__dirname + "/__scripts__/base_profile_and_auth_login.sh", - TEST_ENVIRONMENT.workingDir, ["fakeUser", "fakePass"]); - expect(response.stderr.toString()).toContain("command 'profiles create' is deprecated"); - expect(response.status).toBe(0); + let response = runCliScript(__dirname + "/__scripts__/auth_login_config_password.sh", + TEST_ENVIRONMENT.workingDir); - // the output of the command should include token value + // the output of the login command should include token value + expect(response.stderr.toString()).toBe(""); expect(response.stdout.toString()).toContain("tokenType: jwtToken"); - expect(response.stdout.toString()).toContain("tokenValue: fakeUser:fakePass@fakeToken"); + expect(response.stdout.toString()).toContain("tokenValue: (secure value)"); + expect(response.status).toBe(0); - response = runCliScript(__dirname + "/__scripts__/base_profile_and_auth_logout.sh", + response = runCliScript(__dirname + "/__scripts__/auth_logout.sh", TEST_ENVIRONMENT.workingDir); - expect(response.stderr.toString()).toContain("command 'profiles list' is deprecated"); - expect(response.status).toBe(0); - // the output of the command should include token value + // the output of the command should NOT include token value + expect(response.stderr.toString()).toBe(""); + expect(response.stdout.toString()).toContain("Logout successful. The authentication token has been revoked"); + expect(response.stdout.toString()).toContain("Token was removed from your 'baseProfName_fruit' base profile"); expect(response.stdout.toString()).not.toContain("tokenType:"); expect(response.stdout.toString()).not.toContain("tokenValue:"); + expect(response.status).toBe(0); }); it("should have auth logout command that invalidates another token", () => { - let response = runCliScript(__dirname + "/__scripts__/base_profile_and_auth_login.sh", - TEST_ENVIRONMENT.workingDir, ["fakeUser", "fakePass"]); - expect(response.stderr.toString()).toContain("command 'profiles create' is deprecated"); - expect(response.stderr.toString()).toContain("command 'profiles list' is deprecated"); - expect(response.status).toBe(0); + let response = runCliScript(__dirname + "/__scripts__/auth_login_config_password.sh", + TEST_ENVIRONMENT.workingDir); - // the output of the command should include token value + // the output of the login command should include token value + expect(response.stderr.toString()).toBe(""); expect(response.stdout.toString()).toContain("tokenType: jwtToken"); - expect(response.stdout.toString()).toContain("tokenValue: fakeUser:fakePass@fakeToken"); + expect(response.stdout.toString()).toContain("tokenValue: (secure value)"); + expect(response.status).toBe(0); + - response = runCliScript(__dirname + "/__scripts__/base_profile_and_auth_logout_specify_token.sh", + response = runCliScript(__dirname + "/__scripts__/auth_logout_specify_token.sh", TEST_ENVIRONMENT.workingDir, ["fakeToken:fakeToken@fakeToken"]); - expect(response.stderr.toString()).toContain("command 'profiles list' is deprecated"); - expect(response.status).toBe(0); - // the output of the command should include token value + // the output of the command should still include token value + expect(response.stderr.toString()).toBe(""); + expect(response.stdout.toString()).toContain("Logout successful. The authentication token has been revoked"); + expect(response.stdout.toString()).toContain("Token was not removed from your 'baseProfName_fruit' base profile"); + expect(response.stdout.toString()).toContain("Reason: Token value does not match the securely stored value"); expect(response.stdout.toString()).toContain("tokenType: jwtToken"); - expect(response.stdout.toString()).toContain("tokenValue: fakeUser:fakePass@fakeToken"); + expect(response.stdout.toString()).toContain("tokenValue: (secure value)"); + expect(response.status).toBe(0); }); }); diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__resources__/base_cert.config.json b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__resources__/base_cert.config.json new file mode 100644 index 0000000000..028bd34bbc --- /dev/null +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__resources__/base_cert.config.json @@ -0,0 +1,15 @@ +{ + "profiles": { + "baseProfName": { + "type": "base", + "properties": { + "certFile": "./fakeCert.cert", + "certKeyFile": "./fakeKey.key" + } + } + }, + "defaults": { + "base": "baseProfName" + }, + "autoStore": true +} \ No newline at end of file diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__resources__/base_password.config.json b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__resources__/base_password.config.json new file mode 100644 index 0000000000..b636e8376f --- /dev/null +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__resources__/base_password.config.json @@ -0,0 +1,15 @@ +{ + "profiles": { + "baseProfName": { + "type": "base", + "properties": { + "user": "fakeUser", + "password": "fakePass" + } + } + }, + "defaults": { + "base": "baseProfName" + }, + "autoStore": true +} \ No newline at end of file diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_li_config_password.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_li_config_password.sh new file mode 100644 index 0000000000..09bc2741e1 --- /dev/null +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_li_config_password.sh @@ -0,0 +1,17 @@ +#!/bin/sh + +# include zowe-cli\__tests__\__scripts__\exitOnFailure function +myScriptDir=`dirname $0` +. $myScriptDir/../../../../../../../../../../__tests__/__scripts__/exitOnFailure.sh + +# copy our config file +cp $myScriptDir/../__resources__/base_password.config.json imperative-test-cli.config.json +exitOnFailure "Failed to copy config file." $? + +# login to fruit auth +echo Y | imperative-test-cli auth li fruit +exitOnFailure "Logging into auth of type fruit failed!" $? + +# show contents of our config file +imperative-test-cli config list profiles +exitOnFailure "Display of updated imperative-test-cli.config.json failed!" $? diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_lo.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_lo.sh new file mode 100644 index 0000000000..e81be2cf7d --- /dev/null +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_lo.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +# include zowe-cli\__tests__\__scripts__\exitOnFailure function +myScriptDir=`dirname $0` +. $myScriptDir/../../../../../../../../../../__tests__/__scripts__/exitOnFailure.sh + +imperative-test-cli auth lo fruit +exitOnFailure "Logging out auth of type fruit failed!" $? + +# show contents of our config file +imperative-test-cli config list profiles +exitOnFailure "Display of updated imperative-test-cli.config.json failed!" $? diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_login_cmd_line_cert.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_login_cmd_line_cert.sh new file mode 100644 index 0000000000..28214cb99d --- /dev/null +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_login_cmd_line_cert.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +echoVal=${1:?"First parm (echoVal) is required."} +baseCertFile=${2:?"Second parm (baseCertFile) is required."} +baseCertKey=${3:?"Third parm (baseCertKey) is required."} + +# include zowe-cli\__tests__\__scripts__\exitOnFailure function +myScriptDir=`dirname $0` +. $myScriptDir/../../../../../../../../../../__tests__/__scripts__/exitOnFailure.sh + +# copy our config file and certificate files +resourceDir=$myScriptDir/../__resources__ +cp $resourceDir/base_cert.config.json . +exitOnFailure "Failed to copy config file." $? + +cp $resourceDir/$baseCertFile . +exitOnFailure "Failed to copy certificate file." $? + +cp $resourceDir/$baseCertKey . +exitOnFailure "Failed to copy certificate key file." $? + +# remove existing cert from our config file +sed -e '/"certFile":/d' -e '/"certKeyFile":/d' < base_cert.config.json > imperative-test-cli.config.json +exitOnFailure "Failed to update config file." $? + +echo $echoVal | imperative-test-cli auth login fruit --certFile "$baseCertFile" --certKeyFile "$baseCertKey" +exitOnFailure "Logging into auth of type fruit failed!" $? diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_login_cmd_line_password.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_login_cmd_line_password.sh new file mode 100644 index 0000000000..4e7d107694 --- /dev/null +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_login_cmd_line_password.sh @@ -0,0 +1,20 @@ +#!/bin/sh + +echoVal=${1:?"First parm (echoVal) is required."} +baseUser=${2:?"Second parm (baseUser) is required."} +basePass=${3:?"Third parm (basePass) is required."} + +# include zowe-cli\__tests__\__scripts__\exitOnFailure function +myScriptDir=`dirname $0` +. $myScriptDir/../../../../../../../../../../__tests__/__scripts__/exitOnFailure.sh + +# copy our config file +cp $myScriptDir/../__resources__/base_password.config.json . +exitOnFailure "Failed to copy config file." $? + +# remove existing user and password from our config file +sed -e '/"user":/d' -e '/"password":/d' < base_password.config.json > imperative-test-cli.config.json +exitOnFailure "Failed to update config file." $? + +echo $echoVal | imperative-test-cli auth login fruit --user "$baseUser" --password "$basePass" +exitOnFailure "Logging into auth of type fruit failed!" $? diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_login_config_cert.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_login_config_cert.sh new file mode 100644 index 0000000000..f14b6c3ac8 --- /dev/null +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_login_config_cert.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +# include zowe-cli\__tests__\__scripts__\exitOnFailure function +myScriptDir=`dirname $0` +. $myScriptDir/../../../../../../../../../../__tests__/__scripts__/exitOnFailure.sh + +# copy our config file and certificate files +resourceDir=$myScriptDir/../__resources__ +cp $resourceDir/base_cert.config.json imperative-test-cli.config.json +exitOnFailure "Failed to copy config file." $? + +cp $resourceDir/fakeCert.cert . +exitOnFailure "Failed to copy certificate file." $? + +cp $resourceDir/fakeKey.key . +exitOnFailure "Failed to copy certificate key file." $? + +# login to fruit auth +echo Y | imperative-test-cli auth login fruit +exitOnFailure "Logging into auth of type fruit failed!" $? + +# show contents of our config file +imperative-test-cli config list profiles +exitOnFailure "Display of updated imperative-test-cli.config.json failed!" $? diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_login_config_cert_show_token.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_login_config_cert_show_token.sh new file mode 100644 index 0000000000..0bf0457c25 --- /dev/null +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_login_config_cert_show_token.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +# include zowe-cli\__tests__\__scripts__\exitOnFailure function +myScriptDir=`dirname $0` +. $myScriptDir/../../../../../../../../../../__tests__/__scripts__/exitOnFailure.sh + +# copy our config file and certificate files +resourceDir=$myScriptDir/../__resources__ +cp $resourceDir/base_cert.config.json imperative-test-cli.config.json +exitOnFailure "Failed to copy config file." $? + +cp $resourceDir/fakeCert.cert . +exitOnFailure "Failed to copy certificate file." $? + +cp $resourceDir/fakeKey.key . +exitOnFailure "Failed to copy certificate key file." $? + +# login to fruit auth +imperative-test-cli auth login fruit --show-token +exitOnFailure "Logging into auth of type fruit failed!" $? + +# show contents of our config file +imperative-test-cli config list profiles +exitOnFailure "Display of updated imperative-test-cli.config.json failed!" $? diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_login_config_cert_show_token_rfj.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_login_config_cert_show_token_rfj.sh new file mode 100644 index 0000000000..1dd06409ed --- /dev/null +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_login_config_cert_show_token_rfj.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +# include zowe-cli\__tests__\__scripts__\exitOnFailure function +myScriptDir=`dirname $0` +. $myScriptDir/../../../../../../../../../../__tests__/__scripts__/exitOnFailure.sh + +# copy our config file +cp $myScriptDir/../__resources__/base_cert.config.json imperative-test-cli.config.json +exitOnFailure "Failed to copy config file." $? + +# Login to fruit auth. Only show token. Do not store token. +imperative-test-cli auth login fruit --st --rfj +exitOnFailure "Logging into auth of type fruit failed!" $? diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_login_config_password.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_login_config_password.sh new file mode 100644 index 0000000000..0671508979 --- /dev/null +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_login_config_password.sh @@ -0,0 +1,17 @@ +#!/bin/sh + +# include zowe-cli\__tests__\__scripts__\exitOnFailure function +myScriptDir=`dirname $0` +. $myScriptDir/../../../../../../../../../../__tests__/__scripts__/exitOnFailure.sh + +# copy our config file +cp $myScriptDir/../__resources__/base_password.config.json imperative-test-cli.config.json +exitOnFailure "Failed to copy config file." $? + +# login to fruit auth +echo Y | imperative-test-cli auth login fruit +exitOnFailure "Logging into auth of type fruit failed!" $? + +# show contents of our config file +imperative-test-cli config list profiles +exitOnFailure "Display of updated imperative-test-cli.config.json failed!" $? diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_login_config_password_show_token.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_login_config_password_show_token.sh new file mode 100644 index 0000000000..2aec38d48e --- /dev/null +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_login_config_password_show_token.sh @@ -0,0 +1,17 @@ +#!/bin/sh + +# include zowe-cli\__tests__\__scripts__\exitOnFailure function +myScriptDir=`dirname $0` +. $myScriptDir/../../../../../../../../../../__tests__/__scripts__/exitOnFailure.sh + +# copy our config file +cp $myScriptDir/../__resources__/base_password.config.json imperative-test-cli.config.json +exitOnFailure "Failed to copy config file." $? + +# login to fruit auth +imperative-test-cli auth login fruit --show-token +exitOnFailure "Logging into auth of type fruit failed!" $? + +# show contents of our config file +imperative-test-cli config list profiles +exitOnFailure "Display of updated imperative-test-cli.config.json failed!" $? diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_login_config_password_show_token_rfj.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_login_config_password_show_token_rfj.sh new file mode 100644 index 0000000000..d7ae8a3693 --- /dev/null +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_login_config_password_show_token_rfj.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +# include zowe-cli\__tests__\__scripts__\exitOnFailure function +myScriptDir=`dirname $0` +. $myScriptDir/../../../../../../../../../../__tests__/__scripts__/exitOnFailure.sh + +# copy our config file +cp $myScriptDir/../__resources__/base_password.config.json imperative-test-cli.config.json +exitOnFailure "Failed to copy config file." $? + +# Login to fruit auth. Only show token. Do not store token. +imperative-test-cli auth login fruit --st --rfj +exitOnFailure "Logging into auth of type fruit failed!" $? diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_logout.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_logout.sh new file mode 100644 index 0000000000..5b86c86718 --- /dev/null +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_logout.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +# include zowe-cli\__tests__\__scripts__\exitOnFailure function +myScriptDir=`dirname $0` +. $myScriptDir/../../../../../../../../../../__tests__/__scripts__/exitOnFailure.sh + +imperative-test-cli auth logout fruit +exitOnFailure "Logging out auth of type fruit failed!" $? + +# show contents of our config file +imperative-test-cli config list profiles +exitOnFailure "Display of updated imperative-test-cli.config.json failed!" $? diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_logout_specify_token.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_logout_specify_token.sh new file mode 100644 index 0000000000..b5d49de297 --- /dev/null +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/auth_logout_specify_token.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +tokenValue=$1 + +# include zowe-cli\__tests__\__scripts__\exitOnFailure function +myScriptDir=`dirname $0` +. $myScriptDir/../../../../../../../../../../__tests__/__scripts__/exitOnFailure.sh + +imperative-test-cli auth logout fruit --token-value "$tokenValue" +exitOnFailure "Logging out auth of type fruit failed!" $? + +# show contents of our config file +imperative-test-cli config list profiles +exitOnFailure "Display of updated imperative-test-cli.config.json failed!" $? diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_li.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_li.sh deleted file mode 100644 index b2807c13e5..0000000000 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_li.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash - -baseUser=$1 -basePass=$2 - -# First create a base profile -cmd-cli profiles create base-profile "test_base" --user "$baseUser" --password "$basePass" -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Creating a test_base profile of type base failed!" 1>&2 - exit $CMDRC -fi - -# Next login to fruit auth -cmd-cli auth li fruit -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Logging into auth of type fruit failed!" 1>&2 - exit $CMDRC -fi - -# Now show contents of base profile -cmd-cli profiles list base-profiles --sc -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Listing profiles of type base failed!" 1>&2 - exit $CMDRC -fi diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_lo.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_lo.sh deleted file mode 100644 index 16a3af4bfc..0000000000 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_lo.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -# Next logout of fruit auth -cmd-cli auth lo fruit -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Logging out of auth of type fruit failed!" 1>&2 - exit $CMDRC -fi - -# Now show contents of base profile -cmd-cli profiles list base-profiles --sc -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Listing profiles of type base failed!" 1>&2 - exit $CMDRC -fi diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_login.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_login.sh deleted file mode 100644 index b8eff2b07e..0000000000 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_login.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash - -baseUser=$1 -basePass=$2 - -# First create a base profile -cmd-cli profiles create base-profile "test_base" --user "$baseUser" --password "$basePass" -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Creating a test_base profile of type base failed!" 1>&2 - exit $CMDRC -fi - -# Next login to fruit auth -cmd-cli auth login fruit -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Logging into auth of type fruit failed!" 1>&2 - exit $CMDRC -fi - -# Now show contents of base profile -cmd-cli profiles list base-profiles --sc -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Listing profiles of type base failed!" 1>&2 - exit $CMDRC -fi diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_login_cert.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_login_cert.sh deleted file mode 100644 index 2e2dadbb15..0000000000 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_login_cert.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash - -baseCertFile=$1 -baseCertKey=$2 - -# First create a base profile -cmd-cli profiles create base-profile "test_base" --certFile "$baseCertFile" --certKeyFile "$baseCertKey" -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Creating a test_base profile of type base failed!" 1>&2 - exit $CMDRC -fi - -# Next login to fruit auth -cmd-cli auth login fruit -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Logging into auth of type fruit failed!" 1>&2 - exit $CMDRC -fi - -# Now show contents of base profile -cmd-cli profiles list base-profiles --sc -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Listing profiles of type base failed!" 1>&2 - exit $CMDRC -fi diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_login_create_profile.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_login_create_profile.sh deleted file mode 100644 index 3301161aad..0000000000 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_login_create_profile.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -echoVal=$1 -baseUser=$2 -basePass=$3 - -echo $echoVal | cmd-cli auth login fruit --user "$baseUser" --password "$basePass" -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Logging into auth of type fruit failed!" 1>&2 - exit $CMDRC -fi \ No newline at end of file diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_login_create_profile_cert.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_login_create_profile_cert.sh deleted file mode 100644 index a900ff0260..0000000000 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_login_create_profile_cert.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -echoVal=$1 -baseCertFile=$2 -baseCertKey=$3 - -echo $echoVal | cmd-cli auth login fruit --certFile "$baseCertFile" --certKeyFile "$baseCertKey" -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Logging into auth of type fruit failed!" 1>&2 - exit $CMDRC -fi \ No newline at end of file diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_login_show_profiles.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_login_show_profiles.sh deleted file mode 100644 index 72e83fb7ed..0000000000 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_login_show_profiles.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -# Now show contents of base profile -cmd-cli profiles list base-profiles --sc -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Listing profiles of type base failed!" 1>&2 - exit $CMDRC -fi diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_login_show_token.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_login_show_token.sh deleted file mode 100644 index 20a8c6b370..0000000000 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_login_show_token.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash - -baseUser=$1 -basePass=$2 - -# First create a base profile -cmd-cli profiles create base-profile "test_base" --user "$baseUser" --password "$basePass" -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Creating a test_base profile of type base failed!" 1>&2 - exit $CMDRC -fi - -# Next login to fruit auth -cmd-cli auth login fruit --show-token -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Logging into auth of type fruit failed!" 1>&2 - exit $CMDRC -fi diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_login_show_token_cert.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_login_show_token_cert.sh deleted file mode 100644 index a996a1b5c8..0000000000 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_login_show_token_cert.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash - -baseCertFile=$1 -baseCertKey=$2 - -# First create a base profile -cmd-cli profiles create base-profile "test_base" --certFile "$baseCertFile" --certKeyFile "$baseCertKey" -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Creating a test_base profile of type base failed!" 1>&2 - exit $CMDRC -fi - -# Next login to fruit auth -cmd-cli auth login fruit --show-token -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Logging into auth of type fruit failed!" 1>&2 - exit $CMDRC -fi diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_login_show_token_rfj.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_login_show_token_rfj.sh deleted file mode 100644 index 3bb985706d..0000000000 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_login_show_token_rfj.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -# Next login to fruit auth -cmd-cli auth login fruit --st --rfj -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Logging into auth of type fruit failed!" 1>&2 - exit $CMDRC -fi diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_logout.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_logout.sh deleted file mode 100644 index f5638b1967..0000000000 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_logout.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -# Next logout of fruit auth -cmd-cli auth logout fruit -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Logging out of auth of type fruit failed!" 1>&2 - exit $CMDRC -fi - -# Now show contents of base profile -cmd-cli profiles list base-profiles --sc -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Listing profiles of type base failed!" 1>&2 - exit $CMDRC -fi diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_logout_specify_token.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_logout_specify_token.sh deleted file mode 100644 index 33541b4373..0000000000 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_and_auth_logout_specify_token.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -tokenValue=$1 - -# Next logout of fruit auth -cmd-cli auth logout fruit --token-value "$tokenValue" -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Logging out of auth of type fruit failed!" 1>&2 - exit $CMDRC -fi - -# Now show contents of base profile -cmd-cli profiles list base-profiles --sc -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Listing profiles of type base failed!" 1>&2 - exit $CMDRC -fi diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_create.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_create.sh deleted file mode 100644 index 921c1be86d..0000000000 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_create.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -baseUser=$1 -basePass=$2 - -# First create a base profile -cmd-cli profiles create base-profile "test_base" --user "$baseUser" --password "$basePass" -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Creating a test_base profile of type base failed!" 1>&2 - exit $CMDRC -fi diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_create_cert.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_create_cert.sh deleted file mode 100644 index 5495f01f74..0000000000 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/base_profile_create_cert.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -baseCertFile=$1 -baseCertKey=$2 - -# First create a base profile -cmd-cli profiles create base-profile "test_base" --certFile "$baseCertFile" --certKeyFile "$baseCertKey" -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Creating a test_base profile of type base failed!" 1>&2 - exit $CMDRC -fi diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/show_profiles.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/show_profiles.sh new file mode 100644 index 0000000000..88190d9ac0 --- /dev/null +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/auth/__scripts__/show_profiles.sh @@ -0,0 +1,10 @@ +#!/bin/sh +# This script must be called AFTER a script copies a config file into our test directory. + +# include zowe-cli\__tests__\__scripts__\exitOnFailure function +myScriptDir=`dirname $0` +. $myScriptDir/../../../../../../../../../../__tests__/__scripts__/exitOnFailure.sh + +# show contents of our config file +imperative-test-cli config list profiles +exitOnFailure "Display of updated imperative-test-cli.config.json failed!" $? diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/Cmd.cli.profile.option.mapping.integration.test.ts b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/Cmd.cli.profile.option.mapping.integration.test.ts index 3d30bbd6db..2feb0fb158 100644 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/Cmd.cli.profile.option.mapping.integration.test.ts +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/Cmd.cli.profile.option.mapping.integration.test.ts @@ -35,14 +35,14 @@ describe("cmd-cli profile mapping", () => { const moldType = "none"; const response = runCliScript(__dirname + "/__scripts__/profiles/map_banana_to_options.sh", TEST_ENVIRONMENT.workingDir, [color, description, moldType]); - expect(response.stderr.toString()).toContain("The command 'profiles create' is deprecated."); - expect(response.status).toBe(0); // the output of the command should use the profile values + expect(response.stderr.toString()).toBe(""); expect(response.stdout.toString()).toContain("Color: " + color); expect(response.stdout.toString()).toContain("Description: " + description); expect(response.stdout.toString()).toContain("Mold type: " + moldType); expect(response.stdout.toString()).toContain("Sweetness: mild"); + expect(response.status).toBe(0); }); it("should have command line arguments take precedence over profile fields", () => { @@ -55,14 +55,14 @@ describe("cmd-cli profile mapping", () => { const cliMoldType = "no mold at all"; const response = runCliScript(__dirname + "/__scripts__/profiles/banana_profile_and_specify_cli.sh", TEST_ENVIRONMENT.workingDir, [color, description, moldType, cliColor, cliDescription, cliMoldType]); - expect(response.stderr.toString()).toContain("The command 'profiles create' is deprecated."); - expect(response.status).toBe(0); // the output of the command should use the CLI arguments + expect(response.stderr.toString()).toBe(""); expect(response.stdout.toString()).toContain("Color: " + cliColor); expect(response.stdout.toString()).toContain("Description: " + cliDescription); expect(response.stdout.toString()).toContain("Mold type: " + cliMoldType); expect(response.stdout.toString()).toContain("Sweetness: mild"); + expect(response.status).toBe(0); }); it("should have environmental variables take precedence over profile fields", () => { @@ -75,14 +75,14 @@ describe("cmd-cli profile mapping", () => { const envMoldType = "no mold at all"; const response = runCliScript(__dirname + "/__scripts__/profiles/banana_profile_and_specify_env.sh", TEST_ENVIRONMENT.workingDir, [color, description, moldType, envColor, envDescription, envMoldType]); - expect(response.stderr.toString()).toContain("The command 'profiles create' is deprecated."); - expect(response.status).toBe(0); // the output of the command should use the env variable values + expect(response.stderr.toString()).toBe(""); expect(response.stdout.toString()).toContain("Color: " + envColor); expect(response.stdout.toString()).toContain("Description: " + envDescription); expect(response.stdout.toString()).toContain("Mold type: " + envMoldType); expect(response.stdout.toString()).toContain("Sweetness: mild"); + expect(response.status).toBe(0); }); it("should have command line arguments take precedence over profile fields and environmental variables", () => { @@ -102,14 +102,14 @@ describe("cmd-cli profile mapping", () => { const response = runCliScript(__dirname + "/__scripts__/profiles/banana_profile_and_specify_env_and_cli.sh", TEST_ENVIRONMENT.workingDir, [color, description, moldType, envColor, envDescription, envMoldType, cliColor, cliDescription, cliMoldType]); - expect(response.stderr.toString()).toContain("The command 'profiles create' is deprecated."); - expect(response.status).toBe(0); // the output of the command should use the CLI arguments + expect(response.stderr.toString()).toBe(""); expect(response.stdout.toString()).toContain("Color: " + cliColor); expect(response.stdout.toString()).toContain("Description: " + cliDescription); expect(response.stdout.toString()).toContain("Mold type: " + cliMoldType); expect(response.stdout.toString()).toContain("Sweetness: mild"); + expect(response.status).toBe(0); }); it("should have environmental variables take precedence over default values", () => { @@ -123,15 +123,15 @@ describe("cmd-cli profile mapping", () => { const response = runCliScript(__dirname + "/__scripts__/profiles/specify_env_sweetness.sh", TEST_ENVIRONMENT.workingDir, [cliColor, cliDescription, cliMoldType, envSweetness]); - expect(response.stderr.toString()).toBe(""); - expect(response.status).toBe(0); // the output of the command should use the CLI arguments // except for sweetness which was specified by environmental variables + expect(response.stderr.toString()).toBe(""); expect(response.stdout.toString()).toContain("Color: " + cliColor); expect(response.stdout.toString()).toContain("Description: " + cliDescription); expect(response.stdout.toString()).toContain("Mold type: " + cliMoldType); expect(response.stdout.toString()).toContain("Sweetness: " + envSweetness); + expect(response.status).toBe(0); }); it("should have service profile fields take precedence over base profile fields", () => { @@ -140,13 +140,13 @@ describe("cmd-cli profile mapping", () => { const kiwiAmount = 1000; const response = runCliScript(__dirname + "/__scripts__/profiles/base_and_kiwi_profile.sh", TEST_ENVIRONMENT.workingDir, [baseAmount, basePrice, kiwiAmount]); - expect(response.stderr.toString()).toContain("The command 'profiles create' is deprecated."); - expect(response.status).toBe(0); // the output of the command should use the base profile values // except for amount which was specified in service profile + expect(response.stderr.toString()).toBe(""); expect(response.stdout.toString()).toContain(`Amount: ${kiwiAmount}`); expect(response.stdout.toString()).toContain(`Price: ${basePrice}`); + expect(response.status).toBe(0); }); it("should be able to specify positional options via environmental variables", () => { @@ -156,13 +156,13 @@ describe("cmd-cli profile mapping", () => { const envMoldType = "no mold at all"; const response = runCliScript(__dirname + "/__scripts__/profiles/specify_env_for_positional.sh", TEST_ENVIRONMENT.workingDir, [envColor, envDescription, envMoldType]); - expect(response.stderr.toString()).toBe(""); - expect(response.status).toBe(0); // the output of the command should use the env variable values + expect(response.stderr.toString()).toBe(""); expect(response.stdout.toString()).toContain("Color: " + envColor); expect(response.stdout.toString()).toContain("Description: " + envDescription); expect(response.stdout.toString()).toContain("Mold type: " + envMoldType); + expect(response.status).toBe(0); }); it("should map profile fields to positional options", () => { @@ -171,13 +171,13 @@ describe("cmd-cli profile mapping", () => { const moldType = "none"; const response = runCliScript(__dirname + "/__scripts__/profiles/map_banana_to_positionals.sh", TEST_ENVIRONMENT.workingDir, [color, description, moldType]); - expect(response.stderr.toString()).toContain("The command 'profiles create' is deprecated."); - expect(response.status).toBe(0); // the output of the command should use the profile values + expect(response.stderr.toString()).toBe(""); expect(response.stdout.toString()).toContain("Color: " + color); expect(response.stdout.toString()).toContain("Description: " + description); expect(response.stdout.toString()).toContain("Mold type: " + moldType); + expect(response.status).toBe(0); }); it("should be able to specify valid number type options via environmental variables", () => { @@ -188,14 +188,14 @@ describe("cmd-cli profile mapping", () => { const envSides = "443"; const response = runCliScript(__dirname + "/__scripts__/profiles/specify_env_for_number.sh", TEST_ENVIRONMENT.workingDir, [cliColor, cliDescription, cliMoldType, envSides]); - expect(response.stderr.toString()).toBe(""); - expect(response.status).toBe(0); // the output of the command should use the env variable values + expect(response.stderr.toString()).toBe(""); expect(response.stdout.toString()).toContain("Color: " + cliColor); expect(response.stdout.toString()).toContain("Description: " + cliDescription); expect(response.stdout.toString()).toContain("Mold type: " + cliMoldType); expect(response.stdout.toString()).toContain("Sides: " + envSides); + expect(response.status).toBe(0); }); it("should get a syntax error when specifying a non-numeric value via environmental variables", () => { @@ -207,14 +207,17 @@ describe("cmd-cli profile mapping", () => { const response = runCliScript(__dirname + "/__scripts__/profiles/specify_env_for_number.sh", TEST_ENVIRONMENT.workingDir, [cliColor, cliDescription, cliMoldType, envSides]); - expect(response.stderr.toString()).toContain("failed!"); - expect(response.stderr.toString()).toContain("Syntax"); - expect(response.stderr.toString()).toContain("number"); + expect(response.stderr.toString()).toContain("Syntax Error"); + expect(response.stderr.toString()).toContain("Invalid value specified for option"); + expect(response.stderr.toString()).toContain("--sides"); + expect(response.stderr.toString()).toContain("You specified"); + expect(response.stderr.toString()).toContain(envSides); + expect(response.stderr.toString()).toContain("The value must be a number"); expect(response.stderr.toString()).toContain(envSides); expect(response.status).toBe(1); }); - it("should be able to specify valid boolean type options (true) via environmental variables", () => { + it("should be able to specify true boolean type options via environmental variables", () => { // values used as env variables const cliColor = "yellow and black"; const cliDescription = "A beautiful bunch of ripe banana hides the deadly black tarantula"; @@ -222,17 +225,17 @@ describe("cmd-cli profile mapping", () => { const envRipe = "true"; const response = runCliScript(__dirname + "/__scripts__/profiles/specify_env_for_boolean.sh", TEST_ENVIRONMENT.workingDir, [cliColor, cliDescription, cliMoldType, envRipe]); - expect(response.stderr.toString()).toBe(""); - expect(response.status).toBe(0); // the output of the command should use the env variable values + expect(response.stderr.toString()).toBe(""); expect(response.stdout.toString()).toContain("Color: " + cliColor); expect(response.stdout.toString()).toContain("Description: " + cliDescription); expect(response.stdout.toString()).toContain("Mold type: " + cliMoldType); expect(response.stdout.toString()).toContain("Ripe: true"); + expect(response.status).toBe(0); }); - it("should be able to specify valid boolean type options (false) via environmental variables", () => { + it("should be able to specify false boolean type options via environmental variables", () => { // values used as env variables const cliColor = "yellow and black"; const cliDescription = "A beautiful bunch of ripe banana hides the deadly black tarantula"; @@ -240,14 +243,14 @@ describe("cmd-cli profile mapping", () => { const envRipe = "false"; const response = runCliScript(__dirname + "/__scripts__/profiles/specify_env_for_boolean.sh", TEST_ENVIRONMENT.workingDir, [cliColor, cliDescription, cliMoldType, envRipe]); - expect(response.stderr.toString()).toBe(""); - expect(response.status).toBe(0); // the output of the command should use the env variable values + expect(response.stderr.toString()).toBe(""); expect(response.stdout.toString()).toContain("Color: " + cliColor); expect(response.stdout.toString()).toContain("Description: " + cliDescription); expect(response.stdout.toString()).toContain("Mold type: " + cliMoldType); expect(response.stdout.toString()).toContain("Ripe: false"); + expect(response.status).toBe(0); }); it("should get a syntax error when specifying a non-boolean value via environmental variables", () => { @@ -259,10 +262,12 @@ describe("cmd-cli profile mapping", () => { const response = runCliScript(__dirname + "/__scripts__/profiles/specify_env_for_boolean.sh", TEST_ENVIRONMENT.workingDir, [cliColor, cliDescription, cliMoldType, envRipe]); - expect(response.stderr.toString()).toContain("failed!"); - expect(response.stderr.toString()).toContain("Syntax"); - expect(response.stderr.toString()).toContain("boolean"); + expect(response.stderr.toString()).toContain("Syntax Error"); + expect(response.stderr.toString()).toContain("Invalid value specified for option"); + expect(response.stderr.toString()).toContain("--ripe (-r)"); + expect(response.stderr.toString()).toContain("You specified"); expect(response.stderr.toString()).toContain(envRipe); + expect(response.stderr.toString()).toContain("The value must be a boolean (true or false)"); expect(response.status).toBe(1); }); @@ -277,16 +282,16 @@ describe("cmd-cli profile mapping", () => { }).join(" "); const response = runCliScript(__dirname + "/__scripts__/profiles/specify_env_for_array.sh", TEST_ENVIRONMENT.workingDir, [cliColor, cliDescription, cliMoldType, envNames]); - expect(response.stderr.toString()).toBe(""); - expect(response.status).toBe(0); // the output of the command should use the env variable values + expect(response.stderr.toString()).toBe(""); expect(response.stdout.toString()).toContain("Color: " + cliColor); expect(response.stdout.toString()).toContain("Description: " + cliDescription); expect(response.stdout.toString()).toContain("Mold type: " + cliMoldType); for (const name of rawNames) { expect(response.stdout.toString()).toContain(name.replace("\\'", "'")); } + expect(response.status).toBe(0); }); it("should not map profile fields to --name or --type", () => { @@ -296,11 +301,12 @@ describe("cmd-cli profile mapping", () => { const moldType = "none"; const response = runCliScript(__dirname + "/__scripts__/profiles/name_type_undefined.sh", TEST_ENVIRONMENT.workingDir, [color, description, moldType]); - expect(response.stderr.toString()).toContain("The command 'profiles create' is deprecated."); - expect(response.status).toBe(0); + // name and type should be undefined since we did not specify them via command line + expect(response.stderr.toString()).toBe(""); expect(response.stdout.toString()).toContain("Name: undefined"); expect(response.stdout.toString()).toContain("Type: undefined"); + expect(response.status).toBe(0); }); it("should still be able to specify --name and --type on command line", () => { // values used as env variables @@ -311,10 +317,11 @@ describe("cmd-cli profile mapping", () => { const cliType = "Big"; const response = runCliScript(__dirname + "/__scripts__/profiles/name_type_specify.sh", TEST_ENVIRONMENT.workingDir, [color, description, moldType, cliName, cliType]); - expect(response.stderr.toString()).toContain("The command 'profiles create' is deprecated."); - expect(response.status).toBe(0); + // name and type should be undefined since we did not specify them via command line + expect(response.stderr.toString()).toBe(""); expect(response.stdout.toString()).toContain("Name: " + cliName); expect(response.stdout.toString()).toContain("Type: " + cliType); + expect(response.status).toBe(0); }); }); diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/Cmd.cli.profiles.create.banana-profile.integration.test.ts b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/Cmd.cli.profiles.create.banana-profile.integration.test.ts deleted file mode 100644 index 2eb8e00b9f..0000000000 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/Cmd.cli.profiles.create.banana-profile.integration.test.ts +++ /dev/null @@ -1,60 +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 { runCliScript } from "../../../../../../src/TestUtil"; -import { ITestEnvironment } from "../../../../../../__src__/environment/doc/response/ITestEnvironment"; -import { SetupTestEnvironment } from "../../../../../../__src__/environment/SetupTestEnvironment"; -// Test Environment populated in the beforeAll(); -let TEST_ENVIRONMENT: ITestEnvironment; -describe("cmd-cli profiles create banana", () => { - // Create the unique test environment - beforeAll(async () => { - TEST_ENVIRONMENT = await SetupTestEnvironment.createTestEnv({ - cliHomeEnvVar: "CMD_CLI_CLI_HOME", - testName: "cmd_profiles_create_banana" - }); - }); - - it("should create profiles and only list the type requested", () => { - - // Create a few profiles of multiple types - const response = runCliScript(__dirname + "/__scripts__/profiles/create_some_profiles.sh", TEST_ENVIRONMENT.workingDir); - expect(response.status).toBe(0); - expect(response.stderr.toString()).toContain("command 'profiles create' is deprecated"); - expect(response.stdout.toString()).toContain("test_banana"); - expect(response.stdout.toString()).toContain("test_strawberry"); - expect(response.stdout.toString()).toContain("test_kiwi"); - expect(response.stdout.toString()).not.toContain("Overwrote existing profile"); - - // List the profiles for banana - const listBananaResponse = runCliScript(__dirname + "/__scripts__/profiles/list_profiles_of_type.sh", TEST_ENVIRONMENT.workingDir, - ["banana"]); - expect(listBananaResponse.status).toBe(0); - expect(listBananaResponse.stderr.toString()).toContain("command 'profiles list' is deprecated"); - expect(listBananaResponse.stdout.toString()).not.toContain("strawberry"); - expect(listBananaResponse.stdout.toString()).toMatchSnapshot(); - - // List the profiles for strawberry - const listStrawberryResponse = runCliScript(__dirname + "/__scripts__/profiles/list_profiles_of_type.sh", TEST_ENVIRONMENT.workingDir, - ["strawberry"]); - expect(listStrawberryResponse.status).toBe(0); - expect(listStrawberryResponse.stderr.toString()).toContain("command 'profiles list' is deprecated"); - expect(listStrawberryResponse.stdout.toString()).toMatchSnapshot(); - expect((listStrawberryResponse.stdout.toString().match(/default/g) || []).length).toBe(1); - - // List the profiles for kiwi - const listKiwiResponse = runCliScript(__dirname + "/__scripts__/profiles/list_profiles_of_type.sh", TEST_ENVIRONMENT.workingDir, ["kiwi"]); - expect(listKiwiResponse.status).toBe(0); - expect(listKiwiResponse.stderr.toString()).toContain("command 'profiles list' is deprecated"); - expect(listKiwiResponse.stdout.toString()).not.toContain("kiwiSecret"); - expect(listKiwiResponse.stdout.toString()).toMatchSnapshot(); - }); -}); diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/Cmd.cli.profiles.create.insecure.integration.test.ts b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/Cmd.cli.profiles.create.insecure.integration.test.ts deleted file mode 100644 index 31087fd290..0000000000 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/Cmd.cli.profiles.create.insecure.integration.test.ts +++ /dev/null @@ -1,34 +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 { runCliScript } from "../../../../../../src/TestUtil"; -import { ITestEnvironment } from "../../../../../../__src__/environment/doc/response/ITestEnvironment"; -import { SetupTestEnvironment } from "../../../../../../__src__/environment/SetupTestEnvironment"; -// Test Environment populated in the beforeAll(); -let TEST_ENVIRONMENT: ITestEnvironment; -describe("cmd-cli profiles create insecure", () => { - // Create the unique test environment - beforeAll(async () => { - TEST_ENVIRONMENT = await SetupTestEnvironment.createTestEnv({ - cliHomeEnvVar: "CMD_CLI_CLI_HOME", - testName: "cmd_profiles_create_insecure" - }); - }); - - it("should create a profile with a field marked as secure in plain text if the cli does not mark keytar as a dependency", () => { - const response = runCliScript(__dirname + "/__scripts__/profiles/create_insecure_profile.sh", TEST_ENVIRONMENT.workingDir); - expect(response.stderr.toString()).toContain("command 'profiles create' is deprecated"); - expect(response.stderr.toString()).toContain("command 'profiles list' is deprecated"); - expect(response.stdout.toString()).toContain("not so secret info"); - expect(response.stdout.toString()).not.toContain("managed by"); - expect(response.status).toBe(0); - }); -}); diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/banana.config.json b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/banana.config.json new file mode 100644 index 0000000000..a731429402 --- /dev/null +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/banana.config.json @@ -0,0 +1,20 @@ +{ + "profiles": { + "bananaProfName": { + "type": "banana", + "properties": { + "color": "NoColorVal", + "bananaDescription": "NoDescriptionVal", + "moldType": "NoMoldTypeVal", + "sweetness": "mild", + "ripe": false, + "sides": 0, + "names": ["NoNamesVal"] + } + }, + }, + "defaults": { + "banana": "bananaProfName" + }, + "autoStore": true +} \ No newline at end of file diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/banana_profile_and_specify_cli.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/banana_profile_and_specify_cli.sh index 874280e425..dc9f5f7a46 100644 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/banana_profile_and_specify_cli.sh +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/banana_profile_and_specify_cli.sh @@ -1,25 +1,27 @@ -#!/bin/bash +#!/bin/sh -color=$1 -description=$2 -moldtype=$3 +profileColor=${1:?"First parm (profileColor) is required."} +profileDescription=${2:?"Second parm (profileDescription) is required."} +profileMoldType=${3:?"Third parm (profileMoldType) is required."} -cliColor=$4 -cliDescription=$5 -cliMoldType=$6 -# First create a banana profile -cmd-cli profiles create banana-profile "test_banana" --color "$color" --banana-description "$description" --mold-type "$moldtype" -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Creating a test_banana profile of type banana failed!" 1>&2 - exit $CMDRC -fi +cliColor=${4:?"Fourth parm (cliColor) is required."} +cliDescription=${5:?"Fifth parm (cliDescription) is required."} +cliMoldType=${6:?"Sixth parm (cliMoldType) is required."} +# include zowe-cli\__tests__\__scripts__\exitOnFailure function +myScriptDir=`dirname $0` +. $myScriptDir/../../../../../../../../../../../__tests__/__scripts__/exitOnFailure.sh + +# set desired properties in our config file +cp $myScriptDir/banana.config.json . +exitOnFailure "Failed to copy config file." $? + +sed -e "s/NoColorVal/$profileColor/" \ + -e "s/NoDescriptionVal/$profileDescription/" \ + -e "s/NoMoldTypeVal/$profileMoldType/" \ + < banana.config.json > cmd-cli.config.json +exitOnFailure "Failed to update config file." $? + +# show the property values that will be used cmd-cli profile mapping --color "$cliColor" --banana-description "$cliDescription" --mold-type "$cliMoldType" -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Profile mapping command failed!" 1>&2 - exit $CMDRC -fi +exitOnFailure "The 'profile mapping' command failed." $? diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/banana_profile_and_specify_env.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/banana_profile_and_specify_env.sh index 66411bdf10..74a8433318 100644 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/banana_profile_and_specify_env.sh +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/banana_profile_and_specify_env.sh @@ -1,25 +1,27 @@ -#!/bin/bash +#!/bin/sh -color=$1 -description=$2 -moldtype=$3 +profileColor=${1:?"First parm (profileColor) is required."} +profileDescription=${2:?"Second parm (profileDescription) is required."} +profileMoldType=${3:?"Third parm (profileMoldType) is required."} -cliColor=$4 -cliDescription=$5 -cliMoldType=$6 -# First create a banana profile -cmd-cli profiles create banana-profile "test_banana" --color "$color" --banana-description "$description" --mold-type "$moldtype" -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Creating a test_banana profile of type banana failed!" 1>&2 - exit $CMDRC -fi +envColor=${4:?"Fourth parm (envColor) is required."} +envDescription=${5:?"Fifth parm (envDescription) is required."} +envMoldType=${6:?"Sixth parm (envMoldType) is required."} -CMD_CLI_OPT_COLOR="$4" CMD_CLI_OPT_BANANA_DESCRIPTION="$5" CMD_CLI_OPT_MOLD_TYPE="$6" cmd-cli profile mapping -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Profile mapping command failed!" 1>&2 - exit $CMDRC -fi +# include zowe-cli\__tests__\__scripts__\exitOnFailure function +myScriptDir=`dirname $0` +. $myScriptDir/../../../../../../../../../../../__tests__/__scripts__/exitOnFailure.sh + +# set desired properties in our config file +cp $myScriptDir/banana.config.json . +exitOnFailure "Failed to copy config file." $? + +sed -e "s/NoColorVal/$profileColor/" \ + -e "s/NoDescriptionVal/$profileDescription/" \ + -e "s/NoMoldTypeVal/$profileMoldType/" \ + < banana.config.json > cmd-cli.config.json +exitOnFailure "Failed to update config file." $? + +# show the property values that will be used +CMD_CLI_OPT_COLOR="$envColor" CMD_CLI_OPT_BANANA_DESCRIPTION="$envDescription" CMD_CLI_OPT_MOLD_TYPE="$envMoldType" cmd-cli profile mapping +exitOnFailure "The 'profile mapping' command failed." $? diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/banana_profile_and_specify_env_and_cli.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/banana_profile_and_specify_env_and_cli.sh index ae000d93a6..058942b964 100644 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/banana_profile_and_specify_env_and_cli.sh +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/banana_profile_and_specify_env_and_cli.sh @@ -1,25 +1,32 @@ -#!/bin/bash +#!/bin/sh -color=$1 -description=$2 -moldtype=$3 +profileColor=${1:?"First parm (profileColor) is required."} +profileDescription=${2:?"Second parm (profileDescription) is required."} +profileMoldType=${3:?"Third parm (profileMoldType) is required."} -cliColor=$7 -cliDescription=$8 -cliMoldType=$9 -# First create a banana profile -cmd-cli profiles create banana-profile "test_banana" --color "$color" --banana-description "$description" --mold-type "$moldtype" -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Creating a test_banana profile of type banana failed!" 1>&2 - exit $CMDRC -fi +envColor=${4:?"Fourth parm (envColor) is required."} +envDescription=${5:?"Fifth parm (envDescription) is required."} +envMoldType=${6:?"Sixth parm (envMoldType) is required."} -CMD_CLI_OPT_COLOR="$4" CMD_CLI_OPT_BANANA_DESCRIPTION="$5" CMD_CLI_OPT_MOLD_TYPE="$6" cmd-cli profile mapping --color "$cliColor" --banana-description "$cliDescription" --mold-type "$cliMoldType" -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Profile mapping command failed!" 1>&2 - exit $CMDRC -fi +cliColor=${7:?"Seventh parm (cliColor) is required."} +cliDescription=${8:?"Eighth parm (cliDescription) is required."} +cliMoldType=${9:?"Nineth parm (cliMoldType) is required."} + +# include zowe-cli\__tests__\__scripts__\exitOnFailure function +myScriptDir=`dirname $0` +. $myScriptDir/../../../../../../../../../../../__tests__/__scripts__/exitOnFailure.sh + +# set desired properties in our config file +cp $myScriptDir/banana.config.json . +exitOnFailure "Failed to copy config file." $? + +sed -e "s/NoColorVal/$profileColor/" \ + -e "s/NoDescriptionVal/$profileDescription/" \ + -e "s/NoMoldTypeVal/$profileMoldType/" \ + < banana.config.json > cmd-cli.config.json +exitOnFailure "Failed to update config file." $? + +# show the property values that will be used +CMD_CLI_OPT_COLOR="$envColor" CMD_CLI_OPT_BANANA_DESCRIPTION="$envDescription" CMD_CLI_OPT_MOLD_TYPE="$envMoldType" \ + cmd-cli profile mapping --color "$cliColor" --banana-description "$cliDescription" --mold-type "$cliMoldType" +exitOnFailure "The 'profile mapping' command failed." $? diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/base_and_kiwi.config.json b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/base_and_kiwi.config.json new file mode 100644 index 0000000000..cab203266e --- /dev/null +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/base_and_kiwi.config.json @@ -0,0 +1,22 @@ +{ + "profiles": { + "baseProfName": { + "type": "base", + "properties": { + "amount": NoBaseAmountVal, + "price": NoBasePriceVal + } + }, + "kiwiProfName": { + "type": "kiwi", + "properties": { + "amount": NoKiwiAmountVal + } + } + }, + "defaults": { + "base": "baseProfName", + "kiwi": "kiwiProfName" + }, + "autoStore": true +} \ No newline at end of file diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/base_and_kiwi_profile.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/base_and_kiwi_profile.sh index 81a7bc8bab..ce499eef37 100644 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/base_and_kiwi_profile.sh +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/base_and_kiwi_profile.sh @@ -1,31 +1,23 @@ -#!/bin/bash +#!/bin/sh -baseAmount=$1 -basePrice=$2 -kiwiAmount=$3 +baseAmount=${1:?"First parm (baseAmount) is required."} +basePrice=${2:?"Second parm (basePrice) is required."} +kiwiAmount=${3:?"Third parm (kiwiAmount) is required."} -# First create a base profile -cmd-cli profiles create base-profile "test_base" --amount $baseAmount --price $basePrice -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Creating a test_base profile of type base failed!" 1>&2 - exit $CMDRC -fi +# include zowe-cli\__tests__\__scripts__\exitOnFailure function +myScriptDir=`dirname $0` +. $myScriptDir/../../../../../../../../../../../__tests__/__scripts__/exitOnFailure.sh -# Next create a kiwi profile -cmd-cli profiles create kiwi-profile "test_kiwi" --amount $kiwiAmount --dd -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Creating a test_kiwi profile of type kiwi failed!" 1>&2 - exit $CMDRC -fi +# set desired properties in our config file +cp $myScriptDir/base_and_kiwi.config.json . +exitOnFailure "Failed to copy config file." $? +sed -e "s/NoBaseAmountVal/$baseAmount/" \ + -e "s/NoBasePriceVal/$basePrice/" \ + -e "s/NoKiwiAmountVal/$kiwiAmount/" \ + < base_and_kiwi.config.json > cmd-cli.config.json +exitOnFailure "Failed to update config file." $? + +# show the property values that will be used cmd-cli profile mapping-base -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Profile mapping command failed!" 1>&2 - exit $CMDRC -fi +exitOnFailure "The 'profile mapping' command failed." $? diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/create_insecure_profile.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/create_insecure_profile.sh deleted file mode 100644 index da85e0cad8..0000000000 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/create_insecure_profile.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -cmd-cli profiles create insecure "test_insecure" --info "some info" --secret "not so secret info" -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Creating a profile of type 'insecure' failed!" 1>&2 - exit $CMDRC -fi - -cmd-cli profiles list insecure --sc \ No newline at end of file diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/create_some_profiles.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/create_some_profiles.sh deleted file mode 100644 index bb23d58ce9..0000000000 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/create_some_profiles.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash -# First create a banana profile -cmd-cli profiles create banana-profile "test_banana" --color "green" -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Creating a test_banana profile of type banana failed!" 1>&2 - exit $CMDRC -fi - -# Next create a strawberry profile with the same name as the banana profile -# This should cause the defaults of both types to be the same profile name -cmd-cli profiles create strawberry-profile "test_banana" --amount 1000 -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Creating a test_banana profile of type strawberry failed!" 1>&2 - exit $CMDRC -fi - -# Next create a strawberry profile with the same name as the banana profile -cmd-cli profiles create strawberry-profile "test_strawberry" --amount 1000 -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Creating a test_strawberry profile failed!" 1>&2 - exit $CMDRC -fi - -# Next create a kiwi profile with kiwiSecret not defined -cmd-cli profiles create kiwi-profile "test_kiwi" --amount 1000 -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Creating a test_kiwi profile failed!" 1>&2 - exit $CMDRC -fi diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/list_profiles_of_type.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/list_profiles_of_type.sh deleted file mode 100644 index ef2f15619a..0000000000 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/list_profiles_of_type.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash -cmd-cli profiles list $1-profiles --show-contents -exit $? \ No newline at end of file diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/map_banana_to_options.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/map_banana_to_options.sh index 250c287730..afbb066e5e 100644 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/map_banana_to_options.sh +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/map_banana_to_options.sh @@ -1,21 +1,23 @@ -#!/bin/bash +#!/bin/sh -color=$1 -description=$2 -moldtype=$3 -# First create a banana profile -cmd-cli profiles create banana-profile "test_banana" --color "$color" --banana-description "$description" --mold-type "$moldtype" -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Creating a test_banana profile of type banana failed!" 1>&2 - exit $CMDRC -fi +profileColor=${1:?"First parm (profileColor) is required."} +profileDescription=${2:?"Second parm (profileDescription) is required."} +profileMoldType=${3:?"Third parm (profileMoldType) is required."} +# include zowe-cli\__tests__\__scripts__\exitOnFailure function +myScriptDir=`dirname $0` +. $myScriptDir/../../../../../../../../../../../__tests__/__scripts__/exitOnFailure.sh + +# set desired properties in our config file +cp $myScriptDir/banana.config.json . +exitOnFailure "Failed to copy config file." $? + +sed -e "s/NoColorVal/$profileColor/" \ + -e "s/NoDescriptionVal/$profileDescription/" \ + -e "s/NoMoldTypeVal/$profileMoldType/" \ + < banana.config.json > cmd-cli.config.json +exitOnFailure "Failed to update config file." $? + +# show the property values that will be used cmd-cli profile mapping -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Profile mapping command failed!" 1>&2 - exit $CMDRC -fi +exitOnFailure "The 'profile mapping' command failed." $? diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/map_banana_to_positionals.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/map_banana_to_positionals.sh index fd49ad0234..60f783253c 100644 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/map_banana_to_positionals.sh +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/map_banana_to_positionals.sh @@ -1,21 +1,22 @@ -#!/bin/bash +#!/bin/sh -color=$1 -description=$2 -moldtype=$3 -# First create a banana profile -cmd-cli profiles create banana-profile "test_banana" --color "$color" --banana-description "$description" --mold-type "$moldtype" -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Creating a test_banana profile of type banana failed!" 1>&2 - exit $CMDRC -fi +profileColor=${1:?"First parm (profileColor) is required."} +profileDescription=${2:?"Second parm (profileDescription) is required."} +profileMoldType=${3:?"Third parm (profileMoldType) is required."} + +# include zowe-cli\__tests__\__scripts__\exitOnFailure function +myScriptDir=`dirname $0` +. $myScriptDir/../../../../../../../../../../../__tests__/__scripts__/exitOnFailure.sh + +# set desired properties in our config file +cp $myScriptDir/banana.config.json . +exitOnFailure "Failed to copy config file." $? + +sed -e "s/NoColorVal/$profileColor/" \ + -e "s/NoDescriptionVal/$profileDescription/" \ + -e "s/NoMoldTypeVal/$profileMoldType/" \ + < banana.config.json > cmd-cli.config.json +exitOnFailure "Failed to update config file." $? cmd-cli profile mapping-positional -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Profile mapping command failed!" 1>&2 - exit $CMDRC -fi +exitOnFailure "The 'profile mapping-positional' command failed." $? diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/name_type_specify.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/name_type_specify.sh index 22bae3af8f..763e21da98 100644 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/name_type_specify.sh +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/name_type_specify.sh @@ -1,23 +1,25 @@ -#!/bin/bash +#!/bin/sh + +profileColor=${1:?"First parm (profileColor) is required."} +profileDescription=${2:?"Second parm (profileDescription) is required."} +profileMoldType=${3:?"Third parm (profileMoldType) is required."} +cliName=${4:?"Fourth parm (cliName) is required."} +cliType=${5:?"Fifth parm (cliType) is required."} + +# include zowe-cli\__tests__\__scripts__\exitOnFailure function +myScriptDir=`dirname $0` +. $myScriptDir/../../../../../../../../../../../__tests__/__scripts__/exitOnFailure.sh + +# set desired properties in our config file +cp $myScriptDir/banana.config.json . +exitOnFailure "Failed to copy config file." $? + +sed -e "s/NoColorVal/$profileColor/" \ + -e "s/NoDescriptionVal/$profileDescription/" \ + -e "s/NoMoldTypeVal/$profileMoldType/" \ + < banana.config.json > cmd-cli.config.json +exitOnFailure "Failed to update config file." $? -color=$1 -description=$2 -moldtype=$3 -# First create a banana profile -cmd-cli profiles create banana-profile "test_banana" --color "$color" --banana-description "$description" --mold-type "$moldtype" -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Creating a test_banana profile of type banana failed!" 1>&2 - exit $CMDRC -fi - cliName=$4 -cliType=$5 # should print the name and type that are specified, not the profile name or type cmd-cli profile mapping-name-type "$cliName" --type "$cliType" -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Profile mapping command failed!" 1>&2 - exit $CMDRC -fi \ No newline at end of file +exitOnFailure "The 'profile mapping-name-type' command failed." $? diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/name_type_undefined.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/name_type_undefined.sh index 82b1bd9c7b..dc016314f4 100644 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/name_type_undefined.sh +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/name_type_undefined.sh @@ -1,21 +1,23 @@ -#!/bin/bash +#!/bin/sh + +profileColor=${1:?"First parm (profileColor) is required."} +profileDescription=${2:?"Second parm (profileDescription) is required."} +profileMoldType=${3:?"Third parm (profileMoldType) is required."} + +# include zowe-cli\__tests__\__scripts__\exitOnFailure function +myScriptDir=`dirname $0` +. $myScriptDir/../../../../../../../../../../../__tests__/__scripts__/exitOnFailure.sh + +# set desired properties in our config file +cp $myScriptDir/banana.config.json . +exitOnFailure "Failed to copy config file." $? + +sed -e "s/NoColorVal/$profileColor/" \ + -e "s/NoDescriptionVal/$profileDescription/" \ + -e "s/NoMoldTypeVal/$profileMoldType/" \ + < banana.config.json > cmd-cli.config.json +exitOnFailure "Failed to update config file." $? -color=$1 -description=$2 -moldtype=$3 -# First create a banana profile -cmd-cli profiles create banana-profile "test_banana" --color "$color" --banana-description "$description" --mold-type "$moldtype" -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Creating a test_banana profile of type banana failed!" 1>&2 - exit $CMDRC -fi # should print name: undefined type: undefined, not the profile name or type cmd-cli profile mapping-name-type -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Profile mapping command failed!" 1>&2 - exit $CMDRC -fi \ No newline at end of file +exitOnFailure "The 'profile mapping-name-type' command failed." $? diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/specify_env_for_array.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/specify_env_for_array.sh index 96e1f69290..37ca311c3e 100644 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/specify_env_for_array.sh +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/specify_env_for_array.sh @@ -1,13 +1,13 @@ -#!/bin/bash +#!/bin/sh -cliColor=$1 -cliDescription=$2 -cliMoldType=$3 +cliColor=${1:?"First parm (cliColor) is required."} +cliDescription=${2:?"Second parm (cliDescription) is required."} +cliMoldType=${3:?"Third parm (cliMoldType) is required."} +envNames=${4:?"Fourth parm (envNames) is required."} -CMD_CLI_OPT_NAMES="$4" cmd-cli profile mapping --color "$cliColor" --banana-description "$cliDescription" --mold-type "$cliMoldType" -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Profile mapping command failed!" 1>&2 - exit $CMDRC -fi +# include zowe-cli\__tests__\__scripts__\exitOnFailure function +myScriptDir=`dirname $0` +. $myScriptDir/../../../../../../../../../../../__tests__/__scripts__/exitOnFailure.sh + +CMD_CLI_OPT_NAMES="$envNames" cmd-cli profile mapping --color "$cliColor" --banana-description "$cliDescription" --mold-type "$cliMoldType" +exitOnFailure "The 'profile mapping' command failed." $? diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/specify_env_for_boolean.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/specify_env_for_boolean.sh index 7f234835ba..74f16677af 100644 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/specify_env_for_boolean.sh +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/specify_env_for_boolean.sh @@ -1,13 +1,13 @@ -#!/bin/bash +#!/bin/sh -cliColor=$1 -cliDescription=$2 -cliMoldType=$3 +cliColor=${1:?"First parm (cliColor) is required."} +cliDescription=${2:?"Second parm (cliDescription) is required."} +cliMoldType=${3:?"Third parm (cliMoldType) is required."} +envRipe=${4:?"Fourth parm (envRipe) is required."} -CMD_CLI_OPT_RIPE=$4 cmd-cli profile mapping --color "$cliColor" --banana-description "$cliDescription" --mold-type "$cliMoldType" -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Profile mapping command failed!" 1>&2 - exit $CMDRC -fi +# include zowe-cli\__tests__\__scripts__\exitOnFailure function +myScriptDir=`dirname $0` +. $myScriptDir/../../../../../../../../../../../__tests__/__scripts__/exitOnFailure.sh + +CMD_CLI_OPT_RIPE=$envRipe cmd-cli profile mapping --color "$cliColor" --banana-description "$cliDescription" --mold-type "$cliMoldType" +exitOnFailure "The 'profile mapping' command failed." $? diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/specify_env_for_number.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/specify_env_for_number.sh index ab7258c438..1a82c3d3b8 100644 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/specify_env_for_number.sh +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/specify_env_for_number.sh @@ -1,13 +1,13 @@ -#!/bin/bash +#!/bin/sh -cliColor=$1 -cliDescription=$2 -cliMoldType=$3 +cliColor=${1:?"First parm (cliColor) is required."} +cliDescription=${2:?"Second parm (cliDescription) is required."} +cliMoldType=${3:?"Third parm (cliMoldType) is required."} +envSides=${4:?"Fourth parm (envSides) is required."} -CMD_CLI_OPT_SIDES=$4 cmd-cli profile mapping --color "$cliColor" --banana-description "$cliDescription" --mold-type "$cliMoldType" -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Profile mapping command failed!" 1>&2 - exit $CMDRC -fi +# include zowe-cli\__tests__\__scripts__\exitOnFailure function +myScriptDir=`dirname $0` +. $myScriptDir/../../../../../../../../../../../__tests__/__scripts__/exitOnFailure.sh + +CMD_CLI_OPT_SIDES=$envSides cmd-cli profile mapping --color "$cliColor" --banana-description "$cliDescription" --mold-type "$cliMoldType" +exitOnFailure "The 'profile mapping' command failed." $? diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/specify_env_for_positional.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/specify_env_for_positional.sh index ef2b4c71f5..cdfd23f411 100644 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/specify_env_for_positional.sh +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/specify_env_for_positional.sh @@ -1,9 +1,13 @@ -#!/bin/bash +#!/bin/sh -CMD_CLI_OPT_COLOR="$1" CMD_CLI_OPT_BANANA_DESCRIPTION="$2" CMD_CLI_OPT_MOLD_TYPE="$3" cmd-cli profile mapping-positional -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Profile mapping command failed!" 1>&2 - exit $CMDRC -fi +envColor=${1:?"First parm (envColor) is required."} +envDescription=${2:?"Second parm (envDescription) is required."} +envMoldType=${3:?"Third parm (envMoldType) is required."} + +# include zowe-cli\__tests__\__scripts__\exitOnFailure function +myScriptDir=`dirname $0` +. $myScriptDir/../../../../../../../../../../../__tests__/__scripts__/exitOnFailure.sh + +CMD_CLI_OPT_COLOR="$envColor" CMD_CLI_OPT_BANANA_DESCRIPTION="$envDescription" CMD_CLI_OPT_MOLD_TYPE="$envMoldType" \ + cmd-cli profile mapping-positional +exitOnFailure "The 'profile mapping-positional' command failed." $? diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/specify_env_sweetness.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/specify_env_sweetness.sh index 9137cab837..6109b33546 100644 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/specify_env_sweetness.sh +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__scripts__/profiles/specify_env_sweetness.sh @@ -1,14 +1,13 @@ -#!/bin/bash +#!/bin/sh +cliColor=${1:?"First parm (cliColor) is required."} +cliDescription=${2:?"Second parm (cliDescription) is required."} +cliMoldType=${3:?"Third parm (cliMoldType) is required."} +envSweetness=${4:?"Fourth parm (envSweetness) is required."} -cliColor=$1 -cliDescription=$2 -cliMoldType=$3 +# include zowe-cli\__tests__\__scripts__\exitOnFailure function +myScriptDir=`dirname $0` +. $myScriptDir/../../../../../../../../../../../__tests__/__scripts__/exitOnFailure.sh -CMD_CLI_OPT_SWEETNESS="$4" cmd-cli profile mapping --color "$cliColor" --banana-description "$cliDescription" --mold-type "$cliMoldType" -CMDRC=$? -if [ $CMDRC -gt 0 ] -then - echo "Profile mapping command failed!" 1>&2 - exit $CMDRC -fi +CMD_CLI_OPT_SWEETNESS="$envSweetness" cmd-cli profile mapping --color "$cliColor" --banana-description "$cliDescription" --mold-type "$cliMoldType" +exitOnFailure "The 'profile mapping' command failed." $? diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__snapshots__/Cmd.cli.profiles.create.banana-profile.integration.test.ts.snap b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__snapshots__/Cmd.cli.profiles.create.banana-profile.integration.test.ts.snap deleted file mode 100644 index d45fa14349..0000000000 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/profiles/__snapshots__/Cmd.cli.profiles.create.banana-profile.integration.test.ts.snap +++ /dev/null @@ -1,30 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`cmd-cli profiles create banana should create profiles and only list the type requested 1`] = ` -"- - name: test_banana (default) - contents: - color: green -" -`; - -exports[`cmd-cli profiles create banana should create profiles and only list the type requested 2`] = ` -"- - name: test_banana (default) - contents: - amount: 1000 -- - name: test_strawberry - contents: - amount: 1000 -" -`; - -exports[`cmd-cli profiles create banana should create profiles and only list the type requested 3`] = ` -"- - name: test_kiwi (default) - contents: - amount: 1000 - price: 1 -" -`; diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/read/Cmd.cli.read.profile.integration.test.ts b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/read/Cmd.cli.read.profile.integration.test.ts index dc885a4358..940cf53bc7 100644 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/read/Cmd.cli.read.profile.integration.test.ts +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/read/Cmd.cli.read.profile.integration.test.ts @@ -23,10 +23,11 @@ describe("cmd-cli profiles read profiles", () => { }); }); - it("should create a profile with a field marked as secure in plain text (no keytar) and be able to read the contents", () => { + it("should read a profile with a secure field stored in plain text and be able to read the contents", () => { const response = runCliScript(__dirname + "/__scripts__/profile/create_and_read.sh", TEST_ENVIRONMENT.workingDir); - expect(response.stderr.toString()).toContain("command 'profiles create' is deprecated"); - expect(response.stdout.toString()).toContain("not so secret info"); + expect(response.stderr.toString()).toBe(""); + expect(response.stdout.toString()).toContain("info: some info"); + expect(response.stdout.toString()).toContain("secret: not so secret info"); expect(response.stdout.toString()).not.toContain("managed by"); expect(response.status).toBe(0); }); diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/read/__scripts__/__resources__/profiles/insecure/insecure_meta.yaml b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/read/__scripts__/__resources__/profiles/insecure/insecure_meta.yaml new file mode 100644 index 0000000000..d1b55364ae --- /dev/null +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/read/__scripts__/__resources__/profiles/insecure/insecure_meta.yaml @@ -0,0 +1,30 @@ +defaultProfile: test_insecure +configuration: + type: insecure + schema: + type: object + title: 'insecure Profile' + description: 'insecure Profile' + properties: + info: + type: string + optionDefinition: + name: info + aliases: + - i + description: 'The info property.' + type: string + required: false + group: 'insecure group' + secret: + type: string + secure: true + optionDefinition: + name: secret + aliases: + - s + description: 'The secret property.' + type: string + required: false + group: 'insecure group' + required: [] diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/read/__scripts__/__resources__/profiles/insecure/test_insecure.yaml b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/read/__scripts__/__resources__/profiles/insecure/test_insecure.yaml new file mode 100644 index 0000000000..a5125f379a --- /dev/null +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/read/__scripts__/__resources__/profiles/insecure/test_insecure.yaml @@ -0,0 +1,2 @@ +info: some info +secret: not so secret info diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/read/__scripts__/profile/create_and_read.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/read/__scripts__/profile/create_and_read.sh index d142b03524..3e25d4c778 100644 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/read/__scripts__/profile/create_and_read.sh +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/read/__scripts__/profile/create_and_read.sh @@ -1,4 +1,13 @@ -#!/bin/bash -set -e -OUTPUT=$(cmd-cli profiles create insecure "test_insecure" --info "some info" --secret "not so secret info") +#!/bin/sh + +# include zowe-cli\__tests__\__scripts__\exitOnFailure function +myScriptDir=`dirname $0` +. $myScriptDir/../../../../../../../../../../../__tests__/__scripts__/exitOnFailure.sh + +# copy pre-existing profiles to test directory +cp -r $myScriptDir/../__resources__/profiles profiles +exitOnFailure "Failed to copy test profile." $? + +# read the profile and display its information cmd-cli read profile +exitOnFailure "Failed display profile." $? diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/root/Cmd.cli.root.integration.test.ts b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/root/Cmd.cli.root.integration.test.ts index fb0367fd4c..9d54634a50 100644 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/root/Cmd.cli.root.integration.test.ts +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/root/Cmd.cli.root.integration.test.ts @@ -50,11 +50,13 @@ describe("cmd-cli", () => { expect(response.stderr.toString()).toContain('Use "cmd-cli --help" to view groups, commands, and options.'); }); - it("should flag an invalid command and list valid commands", async () => { + it("should flag a valid command with invalid arguments", async () => { const response = runCliScript(__dirname + "/__scripts__/invalid_command2.sh", TEST_ENVIRONMENT.workingDir); expect(response.status).toBe(1); - expect(response.stderr.toString()).toContain( - "Available commands are \"banana-profile, strawberry-profile, kiwi-profile, insecure-profile, base-profile\""); + expect(response.stderr.toString()).toContain("Unknown argument: vegetable"); + expect(response.stderr.toString()).toContain("Command failed due to improper syntax"); + expect(response.stderr.toString()).toContain("Did you mean: auth login fruit?"); + expect(response.stderr.toString()).toContain('Command entered: "auth login vegetable"'); }); it("should display the version", async () => { diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/root/__scripts__/invalid_command2.sh b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/root/__scripts__/invalid_command2.sh index d963a61f76..75e9eeeb23 100644 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/root/__scripts__/invalid_command2.sh +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/root/__scripts__/invalid_command2.sh @@ -1,5 +1,5 @@ #!/bin/bash echo "================ISSUING CMD WITH VALID GROUP AND INVALID CMD===============" -cmd-cli profiles cre abc +cmd-cli auth login vegetable exit $? \ No newline at end of file diff --git a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/root/__snapshots__/Cmd.cli.root.integration.test.ts.snap b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/root/__snapshots__/Cmd.cli.root.integration.test.ts.snap index a425a85f88..b5e4cde0ea 100644 --- a/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/root/__snapshots__/Cmd.cli.root.integration.test.ts.snap +++ b/packages/imperative/__tests__/__integration__/cmd/__tests__/integration/cli/root/__snapshots__/Cmd.cli.root.integration.test.ts.snap @@ -18,18 +18,17 @@ exports[`cmd-cli should display the help 1`] = ` GROUPS ------ - auth Connect to token-based authentication services - auto-format Invoke handlers to test auto-format - chained chained handler test commands - gen-help Commands to test help generator - invalid Invalid definitions - invoke Invoke handlers to test promise reject/fulfill - nested Test a complex structure - profile Validate profile mapping - profiles Create and manage configuration profiles (deprecated) - read Read some profiles - respond Invoke handlers that will produce messages - validate Validate syntax checking + auth Connect to token-based authentication services + auto-format Invoke handlers to test auto-format + chained chained handler test commands + gen-help Commands to test help generator + invalid Invalid definitions + invoke Invoke handlers to test promise reject/fulfill + nested Test a complex structure + profile Validate profile mapping + read Read some profiles + respond Invoke handlers that will produce messages + validate Validate syntax checking OPTIONS ------- @@ -74,18 +73,17 @@ exports[`cmd-cli should display the help 1`] = ` GROUPS ------ - auth Connect to token-based authentication services - auto-format Invoke handlers to test auto-format - chained chained handler test commands - gen-help Commands to test help generator - invalid Invalid definitions - invoke Invoke handlers to test promise reject/fulfill - nested Test a complex structure - profile Validate profile mapping - profiles Create and manage configuration profiles (deprecated) - read Read some profiles - respond Invoke handlers that will produce messages - validate Validate syntax checking + auth Connect to token-based authentication services + auto-format Invoke handlers to test auto-format + chained chained handler test commands + gen-help Commands to test help generator + invalid Invalid definitions + invoke Invoke handlers to test promise reject/fulfill + nested Test a complex structure + profile Validate profile mapping + read Read some profiles + respond Invoke handlers that will produce messages + validate Validate syntax checking OPTIONS ------- @@ -118,7 +116,7 @@ exports[`cmd-cli should display the help 1`] = ` \\"success\\": true, \\"exitCode\\": 0, \\"message\\": \\"\\", - \\"stdout\\": \\"\\\\n DESCRIPTION\\\\n -----------\\\\n\\\\n A test CLI for the 'cmd' imperative package\\\\n\\\\n USAGE\\\\n -----\\\\n\\\\n cmd-cli \\\\n\\\\n Where is one of the following:\\\\n\\\\n GROUPS\\\\n ------\\\\n\\\\n auth Connect to token-based authentication services \\\\n auto-format Invoke handlers to test auto-format \\\\n chained chained handler test commands \\\\n gen-help Commands to test help generator \\\\n invalid Invalid definitions \\\\n invoke Invoke handlers to test promise reject/fulfill \\\\n nested Test a complex structure \\\\n profile Validate profile mapping \\\\n profiles Create and manage configuration profiles (deprecated)\\\\n read Read some profiles \\\\n respond Invoke handlers that will produce messages \\\\n validate Validate syntax checking \\\\n\\\\n OPTIONS\\\\n -------\\\\n\\\\n --version | -V (boolean)\\\\n\\\\n Display the current version of Cmd Package CLI\\\\n\\\\n --available-commands | --ac (boolean)\\\\n\\\\n Displays a list of available commands\\\\n\\\\n GLOBAL OPTIONS\\\\n --------------\\\\n\\\\n --response-format-json | --rfj (boolean)\\\\n\\\\n Produce JSON formatted data from a command\\\\n\\\\n --help | -h (boolean)\\\\n\\\\n Display help text\\\\n\\\\n --help-web | --hw (boolean)\\\\n\\\\n Display HTML help in browser\\\\n\\\\n\\", + \\"stdout\\": \\"\\\\n DESCRIPTION\\\\n -----------\\\\n\\\\n A test CLI for the 'cmd' imperative package\\\\n\\\\n USAGE\\\\n -----\\\\n\\\\n cmd-cli \\\\n\\\\n Where is one of the following:\\\\n\\\\n GROUPS\\\\n ------\\\\n\\\\n auth Connect to token-based authentication services\\\\n auto-format Invoke handlers to test auto-format \\\\n chained chained handler test commands \\\\n gen-help Commands to test help generator \\\\n invalid Invalid definitions \\\\n invoke Invoke handlers to test promise reject/fulfill\\\\n nested Test a complex structure \\\\n profile Validate profile mapping \\\\n read Read some profiles \\\\n respond Invoke handlers that will produce messages \\\\n validate Validate syntax checking \\\\n\\\\n OPTIONS\\\\n -------\\\\n\\\\n --version | -V (boolean)\\\\n\\\\n Display the current version of Cmd Package CLI\\\\n\\\\n --available-commands | --ac (boolean)\\\\n\\\\n Displays a list of available commands\\\\n\\\\n GLOBAL OPTIONS\\\\n --------------\\\\n\\\\n --response-format-json | --rfj (boolean)\\\\n\\\\n Produce JSON formatted data from a command\\\\n\\\\n --help | -h (boolean)\\\\n\\\\n Display help text\\\\n\\\\n --help-web | --hw (boolean)\\\\n\\\\n Display HTML help in browser\\\\n\\\\n\\", \\"stderr\\": \\"\\", \\"data\\": {} }" @@ -261,132 +259,6 @@ cmd-cli profile mapping-positional Tests Imperative's profile to CLI mapping capabilities. -cmd-cli profiles create banana-profile - - Banana Profile - -cmd-cli profiles create base-profile - - Fruit Profile - -cmd-cli profiles create insecure-profile - - Test Secured Fields - -cmd-cli profiles create kiwi-profile - - Kiwi Profile - -cmd-cli profiles create strawberry-profile - - Strawberry Profile - -cmd-cli profiles delete banana-profile - - Delete a banana profile. You must specify a profile name to be deleted. To find - a list of available profiles for deletion, issue the profiles list command. By - default, you will be prompted to confirm the profile removal. - -cmd-cli profiles delete base-profile - - Delete a base profile. You must specify a profile name to be deleted. To find a - list of available profiles for deletion, issue the profiles list command. By - default, you will be prompted to confirm the profile removal. - -cmd-cli profiles delete insecure-profile - - Delete a insecure profile. You must specify a profile name to be deleted. To - find a list of available profiles for deletion, issue the profiles list command. - By default, you will be prompted to confirm the profile removal. - -cmd-cli profiles delete kiwi-profile - - Delete a kiwi profile. You must specify a profile name to be deleted. To find a - list of available profiles for deletion, issue the profiles list command. By - default, you will be prompted to confirm the profile removal. - -cmd-cli profiles delete strawberry-profile - - Delete a strawberry profile. You must specify a profile name to be deleted. To - find a list of available profiles for deletion, issue the profiles list command. - By default, you will be prompted to confirm the profile removal. - -cmd-cli profiles list banana-profiles - - Banana Profile - -cmd-cli profiles list base-profiles - - Fruit Profile - -cmd-cli profiles list insecure-profiles - - Test Secured Fields - -cmd-cli profiles list kiwi-profiles - - Kiwi Profile - -cmd-cli profiles list strawberry-profiles - - Strawberry Profile - -cmd-cli profiles set-default banana-profile - - The banana set default-profiles command allows you to set the default profiles - for this command group. When a banana command is issued and no profile override - options are specified, the default profiles for the command group are - automatically loaded for the command based on the commands profile requirements. - -cmd-cli profiles set-default base-profile - - The base set default-profiles command allows you to set the default profiles for - this command group. When a base command is issued and no profile override - options are specified, the default profiles for the command group are - automatically loaded for the command based on the commands profile requirements. - -cmd-cli profiles set-default insecure-profile - - The insecure set default-profiles command allows you to set the default profiles - for this command group. When a insecure command is issued and no profile - override options are specified, the default profiles for the command group are - automatically loaded for the command based on the commands profile requirements. - -cmd-cli profiles set-default kiwi-profile - - The kiwi set default-profiles command allows you to set the default profiles for - this command group. When a kiwi command is issued and no profile override - options are specified, the default profiles for the command group are - automatically loaded for the command based on the commands profile requirements. - -cmd-cli profiles set-default strawberry-profile - - The strawberry set default-profiles command allows you to set the default - profiles for this command group. When a strawberry command is issued and no - profile override options are specified, the default profiles for the command - group are automatically loaded for the command based on the commands profile - requirements. - -cmd-cli profiles update banana-profile - - Banana Profile - -cmd-cli profiles update base-profile - - Fruit Profile - -cmd-cli profiles update insecure-profile - - Test Secured Fields - -cmd-cli profiles update kiwi-profile - - Kiwi Profile - -cmd-cli profiles update strawberry-profile - - Strawberry Profile - cmd-cli read profile Read some profiles diff --git a/packages/imperative/__tests__/__integration__/cmd/src/cli/auth/FruitAuthHandler.ts b/packages/imperative/__tests__/__integration__/cmd/src/cli/auth/FruitAuthHandler.ts index 1f9f883831..a939a52377 100644 --- a/packages/imperative/__tests__/__integration__/cmd/src/cli/auth/FruitAuthHandler.ts +++ b/packages/imperative/__tests__/__integration__/cmd/src/cli/auth/FruitAuthHandler.ts @@ -9,7 +9,8 @@ * */ -import { BaseAuthHandler, AbstractSession, ICommandArguments, ISession, SessConstants } from "../../../../../../lib"; +import { BaseAuthHandler, AbstractSession, CredentialManagerFactory, ICommandArguments, ISession, SessConstants +} from "../../../../../../lib"; /** * This class is used by the auth command handlers as the base class for their implementation. @@ -52,6 +53,13 @@ export default class ApimlAuthHandler extends BaseAuthHandler { * @returns {Promise} The response from the auth service containing a token */ protected async doLogin(session: AbstractSession) { + await CredentialManagerFactory.initialize({ + service: null, + Manager: null, + displayName: null, + invalidOnFailure: null + }); + if (session.ISession.user) { return `${session.ISession.user}:${session.ISession.password}@fakeToken`; } else { diff --git a/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/__resources__/expectedObjects.ts b/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/__resources__/expectedObjects.ts index 39a1965232..294d32cffc 100644 --- a/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/__resources__/expectedObjects.ts +++ b/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/__resources__/expectedObjects.ts @@ -147,6 +147,14 @@ export const expectedSchemaObject = { tokenValue: { type: "string", description: "Fruit token value" + }, + certFile: { + type: "existingLocalFile", + description: "Fruit certificate file" + }, + certKeyFile: { + type: "existingLocalFile", + description: "Fruit certificate key file" } } }, diff --git a/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/__resources__/profiles_secured_and_base/base/base_meta.yaml b/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/__resources__/profiles_secured_and_base/base/base_meta.yaml new file mode 100644 index 0000000000..40afa6c96b --- /dev/null +++ b/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/__resources__/profiles_secured_and_base/base/base_meta.yaml @@ -0,0 +1,157 @@ +defaultProfile: test +configuration: + type: base + schema: + type: object + title: 'Secure Profile' + description: 'Secure Profile' + properties: + info: + type: string + optionDefinition: + name: info + description: 'The info the keep in the profile.' + type: string + group: Options + aliases: [] + secret: + type: string + secure: true + includeInTemplate: true + optionDefinition: + name: secret + description: 'The secret info the keep in the profile.' + type: string + group: Options + aliases: [] + host: + type: string + optionDefinition: + name: host + description: 'Fruit host' + type: string + group: Options + aliases: [] + port: + type: number + optionDefinition: + name: port + description: 'Fruit port' + type: number + group: Options + aliases: [] + user: + type: string + optionDefinition: + name: user + description: 'Fruit username' + type: string + group: Options + aliases: [] + secure: true + password: + type: string + optionDefinition: + name: password + description: 'Fruit password' + type: string + group: Options + aliases: [] + secure: true + tokenType: + type: string + optionDefinition: + name: token-type + description: 'Fruit token type' + type: string + group: Options + aliases: [] + tokenValue: + type: string + optionDefinition: + name: token-value + description: 'Fruit token value' + type: string + group: Options + aliases: [] + secure: true + authConfig: + - + serviceName: fruit + handler: /home/stduser/repos/zowe-cli/packages/imperative/__tests__/__integration__/imperative/lib/cli/auth/FruitAuthHandler + login: + options: + - + name: info + description: 'The info the keep in the profile.' + type: string + group: Options + aliases: [] + - + name: secret + description: 'The secret info the keep in the profile.' + type: string + group: Options + aliases: [] + - + name: host + description: 'Fruit host' + type: string + group: Options + aliases: [] + - + name: port + description: 'Fruit port' + type: number + group: Options + aliases: [] + - + name: user + description: 'Fruit username' + type: string + group: Options + aliases: [] + - + name: password + description: 'Fruit password' + type: string + group: Options + aliases: [] + logout: + options: + - + name: info + description: 'The info the keep in the profile.' + type: string + group: Options + aliases: [] + - + name: secret + description: 'The secret info the keep in the profile.' + type: string + group: Options + aliases: [] + - + name: host + description: 'Fruit host' + type: string + group: Options + aliases: [] + - + name: port + description: 'Fruit port' + type: number + group: Options + aliases: [] + - + name: token-type + description: 'Fruit token type' + type: string + group: Options + aliases: [] + - + name: token-value + description: 'Fruit token value' + type: string + group: Options + aliases: [] diff --git a/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/__resources__/profiles_secured_and_base/base/test.yaml b/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/__resources__/profiles_secured_and_base/base/test.yaml new file mode 100644 index 0000000000..b5263a8558 --- /dev/null +++ b/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/__resources__/profiles_secured_and_base/base/test.yaml @@ -0,0 +1 @@ +host: example.com diff --git a/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/__resources__/profiles_secured_and_base/secured/secured_meta.yaml b/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/__resources__/profiles_secured_and_base/secured/secured_meta.yaml new file mode 100644 index 0000000000..d3cc574273 --- /dev/null +++ b/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/__resources__/profiles_secured_and_base/secured/secured_meta.yaml @@ -0,0 +1,24 @@ +defaultProfile: test +configuration: + type: secured + schema: + type: object + title: 'Test Secured Fields' + description: 'Test Secured Fields' + properties: + info: + type: string + includeInTemplate: true + optionDefinition: + name: info + description: 'The info the keep in the profile.' + type: string + required: true + secret: + type: string + secure: true + optionDefinition: + name: secret + description: 'The secret info the keep in the profile.' + type: string + required: true diff --git a/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/__resources__/profiles_secured_and_base/secured/test.yaml b/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/__resources__/profiles_secured_and_base/secured/test.yaml new file mode 100644 index 0000000000..2e7290be7d --- /dev/null +++ b/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/__resources__/profiles_secured_and_base/secured/test.yaml @@ -0,0 +1,2 @@ +info: hello +secret: 'managed by Imperative Package Test CLI' diff --git a/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/convert-profiles/__scripts__/create_profiles_secured_and_base.sh b/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/convert-profiles/__scripts__/create_profiles_secured_and_base.sh deleted file mode 100644 index c9428deec7..0000000000 --- a/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/convert-profiles/__scripts__/create_profiles_secured_and_base.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -imperative-test-cli profiles create secured test --info hello --secret world -if [ $? -gt 0 ] -then - exit $? -fi - -imperative-test-cli profiles create base test --host example.com -exit $? diff --git a/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/convert-profiles/__scripts__/delete_profiles.sh b/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/convert-profiles/__scripts__/delete_profiles.sh new file mode 100644 index 0000000000..baad2b2114 --- /dev/null +++ b/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/convert-profiles/__scripts__/delete_profiles.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +# Delete all available profiles, but leave the profile type definitions +for profile in profiles/base/test.yaml profiles/secured/test.yaml profiles/v1profile/myv1profile.yaml; do + if [ -e $profile ]; then + rm $profile + fi +done diff --git a/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/convert-profiles/__scripts__/delete_profiles_secured_and_base.sh b/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/convert-profiles/__scripts__/delete_profiles_secured_and_base.sh deleted file mode 100644 index db09b2ab45..0000000000 --- a/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/convert-profiles/__scripts__/delete_profiles_secured_and_base.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -imperative-test-cli profiles delete secured test -if [ $? -gt 0 ] -then - exit $? -fi - -imperative-test-cli profiles delete base test -if [ $? -gt 0 ] -then - exit $? -fi - -imperative-test-cli profiles delete v1profile myv1profile -exit $? diff --git a/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/convert-profiles/__scripts__/delete_profiles_secured_and_base_noerr.sh b/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/convert-profiles/__scripts__/delete_profiles_secured_and_base_noerr.sh deleted file mode 100644 index 8985bbed3f..0000000000 --- a/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/convert-profiles/__scripts__/delete_profiles_secured_and_base_noerr.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -imperative-test-cli profiles delete secured test || true - -imperative-test-cli profiles delete base test || true - -imperative-test-cli profiles delete v1profile myv1profile || true diff --git a/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/convert-profiles/cli.imperative-test-cli.config.convert-profiles.integration.subtest.ts b/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/convert-profiles/cli.imperative-test-cli.config.convert-profiles.integration.subtest.ts index c849cc4f34..4078dce115 100644 --- a/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/convert-profiles/cli.imperative-test-cli.config.convert-profiles.integration.subtest.ts +++ b/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/convert-profiles/cli.imperative-test-cli.config.convert-profiles.integration.subtest.ts @@ -12,7 +12,7 @@ import * as fs from "fs"; import * as fsExtra from "fs-extra"; import * as path from "path"; -import { keyring as keytar } from "@zowe/secrets-for-zowe-sdk"; +import { keyring } from "@zowe/secrets-for-zowe-sdk"; import { ITestEnvironment } from "../../../../../../../__src__/environment/doc/response/ITestEnvironment"; import { SetupTestEnvironment } from "../../../../../../../__src__/environment/SetupTestEnvironment"; import { runCliScript } from "../../../../../../../src/TestUtil"; @@ -33,11 +33,14 @@ describe("imperative-test-cli config convert-profiles", () => { }); beforeEach(() => { - runCliScript(__dirname + "/__scripts__/create_profiles_secured_and_base.sh", TEST_ENVIRONMENT.workingDir); + fsExtra.copySync(__dirname + "/../../config/__resources__/profiles_secured_and_base", TEST_ENVIRONMENT.workingDir + "/profiles"); }); afterEach(() => { - runCliScript(__dirname + "/__scripts__/delete_profiles_secured_and_base_noerr.sh", TEST_ENVIRONMENT.workingDir); + const response = runCliScript(__dirname + "/__scripts__/delete_profiles.sh", TEST_ENVIRONMENT.workingDir); + expect(response.stdout.toString()).toEqual(""); + expect(response.stderr.toString()).toEqual(""); + if (fs.existsSync(configJsonPath)) { fs.unlinkSync(configJsonPath); } @@ -53,12 +56,17 @@ describe("imperative-test-cli config convert-profiles", () => { }); it("should convert profiles to team config", async () => { + // set a value in the secure vault that would have been created for the V1 secured profile + await keyring.setPassword("imperative-test-cli", "secured_test_secret", + Buffer.from('"world"').toString("base64") + ); + const response = runCliScript(__dirname + "/__scripts__/convert_profiles.sh", TEST_ENVIRONMENT.workingDir, ["y"]); - expect(response.status).toBe(0); + expect(response.stderr.toString()).toEqual(""); expect(response.stdout.toString()).toContain("Detected 2 old profile(s) to convert"); expect(response.stdout.toString()).toContain("Your new profiles have been saved"); expect(response.stdout.toString()).toContain("Your old profiles have been moved"); - expect(response.stderr.toString()).toEqual(""); + expect(response.status).toBe(0); // Check contents of config JSON const configJson = JSON.parse(fs.readFileSync(configJsonPath, "utf-8")); @@ -87,7 +95,7 @@ describe("imperative-test-cli config convert-profiles", () => { }); // Check secure credentials stored in vault - const securedValue = await keytar.getPassword("imperative-test-cli", "secure_config_props"); + const securedValue = await keyring.getPassword("imperative-test-cli", "secure_config_props"); const secureConfigProps = JSON.parse(Buffer.from(securedValue, "base64").toString()); expect(secureConfigProps).toMatchObject({ [configJsonPath]: { @@ -104,10 +112,13 @@ describe("imperative-test-cli config convert-profiles", () => { it("should convert v1 profile property names to v2 names", async () => { // we don't want the profiles created by beforeEach(). We only want an old profile. - runCliScript(__dirname + "/__scripts__/delete_profiles_secured_and_base_noerr.sh", TEST_ENVIRONMENT.workingDir); + let response = runCliScript(__dirname + "/__scripts__/delete_profiles.sh", TEST_ENVIRONMENT.workingDir); + expect(response.stdout.toString()).toEqual(""); + expect(response.stderr.toString()).toEqual(""); + fsExtra.copySync(__dirname + "/../../config/__resources__/profiles_with_v1_names", TEST_ENVIRONMENT.workingDir + "/profiles"); - const response = runCliScript(__dirname + "/__scripts__/convert_profiles.sh", TEST_ENVIRONMENT.workingDir, ["y"]); + response = runCliScript(__dirname + "/__scripts__/convert_profiles.sh", TEST_ENVIRONMENT.workingDir, ["y"]); expect(response.status).toBe(0); expect(response.stdout.toString()).toContain("Detected 1 old profile(s) to convert"); expect(response.stdout.toString()).toContain("Your new profiles have been saved"); @@ -142,17 +153,20 @@ describe("imperative-test-cli config convert-profiles", () => { describe("failure scenarios", () => { it("should not convert profiles if prompt is rejected", () => { const response = runCliScript(__dirname + "/__scripts__/convert_profiles.sh", TEST_ENVIRONMENT.workingDir, ["n"]); - expect(response.status).toBe(0); + expect(response.stderr.toString()).toEqual(""); expect(response.stdout.toString()).toContain("Detected 2 old profile(s) to convert"); expect(response.stdout.toString()).not.toContain("Your new profiles have been saved"); expect(response.stdout.toString()).not.toContain("Your old profiles have been moved"); - expect(response.stderr.toString()).toEqual(""); + expect(response.status).toBe(0); expect(fs.existsSync(configJsonPath)).toBe(false); }); it("should not delete profiles if prompt is rejected", () => { - runCliScript(__dirname + "/__scripts__/delete_profiles_secured_and_base.sh", TEST_ENVIRONMENT.workingDir); + // delete profiles previously created, but leave the profile type definitions + let response = runCliScript(__dirname + "/__scripts__/delete_profiles.sh", TEST_ENVIRONMENT.workingDir); + expect(response.stderr.toString()).toEqual(""); + expect(response.stdout.toString()).toEqual(""); - const response = runCliScript(__dirname + "/__scripts__/convert_profiles_delete.sh", TEST_ENVIRONMENT.workingDir, ["n"]); + response = runCliScript(__dirname + "/__scripts__/convert_profiles_delete.sh", TEST_ENVIRONMENT.workingDir, ["n"]); expect(response.status).toBe(0); expect(response.stdout.toString()).toContain("No old profiles were found"); expect(response.stdout.toString()).toContain("Are you sure you want to delete your v1 profiles?"); diff --git a/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/schema/cli.imperative-test-cli.config.schema.integration.test.ts b/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/schema/cli.imperative-test-cli.config.schema.integration.test.ts index 7389551188..ccaad18d91 100644 --- a/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/schema/cli.imperative-test-cli.config.schema.integration.test.ts +++ b/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/config/schema/cli.imperative-test-cli.config.schema.integration.test.ts @@ -38,8 +38,8 @@ describe("imperative-test-cli config schema", () => { }); it("should print the generated schema", () => { const response = runCliScript(__dirname + "/__scripts__/schema.sh", TEST_ENVIRONMENT.workingDir, [""]); - expect(JSON.parse(response.stdout.toString())).toEqual(expectedSchemaObject); expect(response.stderr.toString()).toEqual(""); expect(response.error).toBeFalsy(); + expect(JSON.parse(response.stdout.toString())).toEqual(expectedSchemaObject); }); }); diff --git a/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/profiles/__scripts__/secured-profile/create_and_list.sh b/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/profiles/__scripts__/secured-profile/create_and_list.sh deleted file mode 100644 index 529e20af12..0000000000 --- a/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/profiles/__scripts__/secured-profile/create_and_list.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash -FORCE_COLOR=0 -OUTPUT="$(imperative-test-cli profiles create secured-profile $2 --info "Not a secret" --secret "$1" --ow)" -RC=$? -if [ $RC -ne 0 ] -then - echo "Create profile command returned a non-zero RC: $?" 1>&2 - echo "$OUTPUT" - exit $RC -fi -imperative-test-cli profiles list secured-profiles --show-contents -RC=$? -if [ $RC -ne 0 ] -then - echo "List profiles command returned a non-zero RC: $?" 1>&2 - exit $RC -fi -exit $? \ No newline at end of file diff --git a/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/profiles/cli.imperative-test-cli.profiles.create.secured-profile.integration.subtest.ts b/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/profiles/cli.imperative-test-cli.profiles.create.secured-profile.integration.subtest.ts deleted file mode 100644 index 4c186d6dbe..0000000000 --- a/packages/imperative/__tests__/__integration__/imperative/__tests__/__integration__/cli/profiles/cli.imperative-test-cli.profiles.create.secured-profile.integration.subtest.ts +++ /dev/null @@ -1,41 +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 { ITestEnvironment } from "../../../../../../__src__/environment/doc/response/ITestEnvironment"; -import { SetupTestEnvironment } from "../../../../../../__src__/environment/SetupTestEnvironment"; -import { runCliScript } from "../../../../../../src/TestUtil"; - -// Test Environment populated in the beforeAll(); -let TEST_ENVIRONMENT: ITestEnvironment; - -describe("imperative-test-cli profiles create secured-profile", () => { - - // Create the unique test environment - beforeAll(async () => { - TEST_ENVIRONMENT = await SetupTestEnvironment.createTestEnv({ - cliHomeEnvVar: "IMPERATIVE_TEST_CLI_CLI_HOME", - testName: "imperative_test_cli_test_create_secured_profile_command" - }); - }); - - it("should allow us to create a secured profile, list the contents and the secured fields should be hidden", () => { - const secret: string = "supersecretwords"; - const profileName: string = "my_secret"; - const response = runCliScript(__dirname + "/__scripts__/secured-profile/create_and_list.sh", TEST_ENVIRONMENT.workingDir, - [secret, profileName]); - expect(response.stderr.toString()).toContain("command 'profiles create' is deprecated"); - expect(response.stderr.toString()).toContain("command 'profiles list' is deprecated"); - expect(response.status).toBe(0); - expect(response.stdout.toString()).not.toContain(secret); - expect(response.stdout.toString()).toContain(profileName); - expect(response.stdout.toString()).toContain("managed by"); - }); -}); diff --git a/packages/imperative/__tests__/__integration__/imperative/src/cli/auth/FruitAuthHandler.ts b/packages/imperative/__tests__/__integration__/imperative/src/cli/auth/FruitAuthHandler.ts index 1e1fa70006..0cb0fc985f 100644 --- a/packages/imperative/__tests__/__integration__/imperative/src/cli/auth/FruitAuthHandler.ts +++ b/packages/imperative/__tests__/__integration__/imperative/src/cli/auth/FruitAuthHandler.ts @@ -38,6 +38,8 @@ export default class FruitAuthHandler extends BaseAuthHandler { port: 3000, user: args.user, password: args.password, + cert: args.certFile, + certKey: args.certKeyFile, tokenType: args.tokenType, tokenValue: args.tokenValue }; @@ -50,7 +52,11 @@ export default class FruitAuthHandler extends BaseAuthHandler { * @returns {Promise} The response from the auth service containing a token */ protected async doLogin(session: AbstractSession) { - return `${session.ISession.user}:${session.ISession.password}@fakeToken`; + if (session.ISession.user) { + return `${session.ISession.user}:${session.ISession.password}@fakeToken`; + } else { + return `fakeCertificate@fakeToken`; + } } /** diff --git a/packages/imperative/__tests__/__integration__/imperative/src/imperative.ts b/packages/imperative/__tests__/__integration__/imperative/src/imperative.ts index 1047412178..3c3f68e855 100644 --- a/packages/imperative/__tests__/__integration__/imperative/src/imperative.ts +++ b/packages/imperative/__tests__/__integration__/imperative/src/imperative.ts @@ -59,6 +59,18 @@ const tokenValueOption: ICommandOptionDefinition = { type: "string" }; +const certFileOption: ICommandOptionDefinition = { + name: "cert-file", + description: "Fruit certificate file", + type: "existingLocalFile" +}; + +const certKeyFileOption: ICommandOptionDefinition = { + name: "cert-key-file", + description: "Fruit certificate key file", + type: "existingLocalFile" +}; + // Example to use with tsnode: */*CommandDefinitions!(.d).*s export const config: IImperativeConfig = { commandModuleGlobs: ["**/cli/*/*definition!(.d).*s"], @@ -148,6 +160,14 @@ export const config: IImperativeConfig = { type: "string", optionDefinition: tokenValueOption, secure: true + }, + certFile: { + type: "existingLocalFile", + optionDefinition: certFileOption + }, + certKeyFile: { + type: "existingLocalFile", + optionDefinition: certKeyFileOption } }, }, @@ -162,7 +182,9 @@ export const config: IImperativeConfig = { hostOption, portOption, userOption, - passwordOption + passwordOption, + certFileOption, + certKeyFileOption ] }, logout: { diff --git a/packages/imperative/src/operations/__tests__/__integration__/Operations.integration.spec.ts b/packages/imperative/__tests__/__integration__/operations/Operations.integration.spec.ts similarity index 96% rename from packages/imperative/src/operations/__tests__/__integration__/Operations.integration.spec.ts rename to packages/imperative/__tests__/__integration__/operations/Operations.integration.spec.ts index b5273a15e6..25bc818f66 100644 --- a/packages/imperative/src/operations/__tests__/__integration__/Operations.integration.spec.ts +++ b/packages/imperative/__tests__/__integration__/operations/Operations.integration.spec.ts @@ -10,14 +10,12 @@ */ /* eslint-disable jest/expect-expect */ -import { TestOperations1 } from "../operation/TestOperations1"; -import { TestOperations4 } from "../operation/TestOperations4"; - +import { TestOperations1 } from "../../__unit__/operations/TestOperations1"; +import { TestOperations3 } from "../../__unit__/operations/TestOperations3"; +import { TestOperations4 } from "../../__unit__/operations/TestOperations4"; import { isNullOrUndefined } from "util"; -import { TestOperations3 } from "../operation/TestOperations3"; - -import { IOperationResult, Operation, Operations } from "../../index"; -import { TestLogger } from "../../../../__tests__/src/TestLogger"; +import { IOperationResult, Operation, Operations } from "../../../src/operations/index"; +import { TestLogger } from "../../../__tests__/src/TestLogger"; const logger = TestLogger.getTestLogger(); diff --git a/packages/imperative/src/cmd/__tests__/ChainedHandlerUtils.unit.test.ts b/packages/imperative/__tests__/__unit__/cmd/ChainedHandlerUtils.unit.test.ts similarity index 98% rename from packages/imperative/src/cmd/__tests__/ChainedHandlerUtils.unit.test.ts rename to packages/imperative/__tests__/__unit__/cmd/ChainedHandlerUtils.unit.test.ts index f8f32f255b..d204ce64cf 100644 --- a/packages/imperative/src/cmd/__tests__/ChainedHandlerUtils.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/cmd/ChainedHandlerUtils.unit.test.ts @@ -9,8 +9,8 @@ * */ -import { ChainedHandlerService } from "../src/ChainedHandlerUtils"; -import { IChainedHandlerEntry } from "../"; +import { ChainedHandlerService } from "../../../src/cmd/ChainedHandlerUtils"; +import { IChainedHandlerEntry } from "../../../"; import { TestLogger } from "../../../__tests__/src/TestLogger"; import * as yargs from "yargs"; diff --git a/packages/imperative/src/cmd/__tests__/CommandPreparer.unit.test.ts b/packages/imperative/__tests__/__unit__/cmd/CommandPreparer.unit.test.ts similarity index 99% rename from packages/imperative/src/cmd/__tests__/CommandPreparer.unit.test.ts rename to packages/imperative/__tests__/__unit__/cmd/CommandPreparer.unit.test.ts index 13345b0adf..8e89a6fd7b 100644 --- a/packages/imperative/src/cmd/__tests__/CommandPreparer.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/cmd/CommandPreparer.unit.test.ts @@ -9,8 +9,8 @@ * */ -import { ICommandDefinition } from "../src/doc/ICommandDefinition"; -import { CommandPreparer } from "../src/CommandPreparer"; +import { ICommandDefinition } from "../../../src/cmd/doc/ICommandDefinition"; +import { CommandPreparer } from "../../../src/cmd/CommandPreparer"; import { TestLogger } from "../../../__tests__/src/TestLogger"; import { inspect } from "util"; import { @@ -23,7 +23,7 @@ import { VALID_COMMANDS_WITH_PROFILES, SAMPLE_BASE_PROFILE } from "./__resources__/CommandDefinitions"; -import { ImperativeError } from "../../error/src/ImperativeError"; +import { ImperativeError } from "../../../src/error/ImperativeError"; // UnitTestUtils.replaceIt(); diff --git a/packages/imperative/src/cmd/__tests__/CommandProcessor.unit.test.ts b/packages/imperative/__tests__/__unit__/cmd/CommandProcessor.unit.test.ts similarity index 98% rename from packages/imperative/src/cmd/__tests__/CommandProcessor.unit.test.ts rename to packages/imperative/__tests__/__unit__/cmd/CommandProcessor.unit.test.ts index b5b3e44b10..b73b12964e 100644 --- a/packages/imperative/src/cmd/__tests__/CommandProcessor.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/cmd/CommandProcessor.unit.test.ts @@ -9,27 +9,27 @@ * */ -import { IInvokeCommandParms } from "../src/doc/parms/IInvokeCommandParms"; -import { ICommandDefinition } from "../src/doc/ICommandDefinition"; -import { CommandProcessor } from "../src/CommandProcessor"; -import { ICommandResponse } from "../src/doc/response/response/ICommandResponse"; -import { CommandResponse } from "../src/response/CommandResponse"; -import { IHelpGenerator } from "../src/help/doc/IHelpGenerator"; -import { BasicProfileManager, IProfileManagerFactory, IProfileTypeConfiguration } from "../../profiles"; -import { ImperativeError } from "../../error"; -import { ICommandValidatorResponse } from "../src/doc/response/response/ICommandValidatorResponse"; -import { SharedOptions } from "../src/utils/SharedOptions"; -import { CommandProfileLoader } from "../src/profiles/CommandProfileLoader"; -import { CliUtils } from "../../utilities/src/CliUtils"; -import { WebHelpManager } from "../src/help/WebHelpManager"; -import { ImperativeConfig } from "../../utilities/src/ImperativeConfig"; +import { IInvokeCommandParms } from "../../../src/cmd/doc/parms/IInvokeCommandParms"; +import { ICommandDefinition } from "../../../src/cmd/doc/ICommandDefinition"; +import { CommandProcessor } from "../../../src/cmd/CommandProcessor"; +import { ICommandResponse } from "../../../src/cmd/doc/response/response/ICommandResponse"; +import { CommandResponse } from "../../../src/cmd/response/CommandResponse"; +import { IHelpGenerator } from "../../../src/cmd/help/doc/IHelpGenerator"; +import { BasicProfileManager, IProfileManagerFactory, IProfileTypeConfiguration } from "../../../src/profiles"; +import { ImperativeError } from "../../../src/error"; +import { ICommandValidatorResponse } from "../../../src/cmd/doc/response/response/ICommandValidatorResponse"; +import { SharedOptions } from "../../../src/cmd/utils/SharedOptions"; +import { CommandProfileLoader } from "../../../src/cmd/profiles/CommandProfileLoader"; +import { CliUtils } from "../../../src/utilities/CliUtils"; +import { WebHelpManager } from "../../../src/cmd/help/WebHelpManager"; +import { ImperativeConfig } from "../../../src/utilities/ImperativeConfig"; import { setupConfigToLoad } from "../../../__tests__/src/TestUtil"; -import { EnvFileUtils } from "../../utilities"; +import { EnvFileUtils } from "../../../src/utilities/EnvFileUtils"; import { join } from "path"; -jest.mock("../src/syntax/SyntaxValidator"); -jest.mock("../src/utils/SharedOptions"); -jest.mock("../../utilities/src/ImperativeConfig"); +jest.mock("../../../src/cmd/syntax/SyntaxValidator"); +jest.mock("../../../src/cmd/utils/SharedOptions"); +jest.mock("../../../src/utilities/ImperativeConfig"); // Persist the original definitions of process.write const ORIGINAL_STDOUT_WRITE = process.stdout.write; diff --git a/packages/imperative/src/cmd/__tests__/__model__/TestArgHandler.ts b/packages/imperative/__tests__/__unit__/cmd/__model__/TestArgHandler.ts similarity index 75% rename from packages/imperative/src/cmd/__tests__/__model__/TestArgHandler.ts rename to packages/imperative/__tests__/__unit__/cmd/__model__/TestArgHandler.ts index 8f33e4b3fd..251fd3c37e 100644 --- a/packages/imperative/src/cmd/__tests__/__model__/TestArgHandler.ts +++ b/packages/imperative/__tests__/__unit__/cmd/__model__/TestArgHandler.ts @@ -9,8 +9,8 @@ * */ -import { ICommandHandler } from "../../src/doc/handler/ICommandHandler"; -import { IHandlerParameters } from "../../src/doc/handler/IHandlerParameters"; +import { ICommandHandler } from "../../../../src/cmd/doc/handler/ICommandHandler"; +import { IHandlerParameters } from "../../../../src/cmd/doc/handler/IHandlerParameters"; export default class TestCmdHandler implements ICommandHandler { public async process(commandParameters: IHandlerParameters) { diff --git a/packages/imperative/src/cmd/__tests__/__model__/TestCmdHandler.ts b/packages/imperative/__tests__/__unit__/cmd/__model__/TestCmdHandler.ts similarity index 90% rename from packages/imperative/src/cmd/__tests__/__model__/TestCmdHandler.ts rename to packages/imperative/__tests__/__unit__/cmd/__model__/TestCmdHandler.ts index d0c6026002..cdcb7e20c5 100644 --- a/packages/imperative/src/cmd/__tests__/__model__/TestCmdHandler.ts +++ b/packages/imperative/__tests__/__unit__/cmd/__model__/TestCmdHandler.ts @@ -9,9 +9,9 @@ * */ -import { ICommandHandler } from "../../src/doc/handler/ICommandHandler"; -import { IHandlerParameters } from "../../src/doc/handler/IHandlerParameters"; -import { ImperativeError } from "../../../error"; +import { ICommandHandler } from "../../../../src/cmd/doc/handler/ICommandHandler"; +import { IHandlerParameters } from "../../../../src/cmd/doc/handler/IHandlerParameters"; +import { ImperativeError } from "../../../../src/error"; export default class TestCmdHandler implements ICommandHandler { public process(commandParameters: IHandlerParameters): Promise { diff --git a/packages/imperative/src/cmd/__tests__/__resources__/.zowe.env.json b/packages/imperative/__tests__/__unit__/cmd/__resources__/.zowe.env.json similarity index 100% rename from packages/imperative/src/cmd/__tests__/__resources__/.zowe.env.json rename to packages/imperative/__tests__/__unit__/cmd/__resources__/.zowe.env.json diff --git a/packages/imperative/src/cmd/__tests__/__resources__/CommandDefinitions.ts b/packages/imperative/__tests__/__unit__/cmd/__resources__/CommandDefinitions.ts similarity index 98% rename from packages/imperative/src/cmd/__tests__/__resources__/CommandDefinitions.ts rename to packages/imperative/__tests__/__unit__/cmd/__resources__/CommandDefinitions.ts index ea58a59bd6..fa22002a94 100644 --- a/packages/imperative/src/cmd/__tests__/__resources__/CommandDefinitions.ts +++ b/packages/imperative/__tests__/__unit__/cmd/__resources__/CommandDefinitions.ts @@ -9,9 +9,9 @@ * */ -import { ICommandDefinition } from "../../src/doc/ICommandDefinition"; -import { ICommandOptionDefinition } from "../../src/doc/option/ICommandOptionDefinition"; -import { ICommandProfileTypeConfiguration } from "../../src/doc/profiles/definition/ICommandProfileTypeConfiguration"; +import { ICommandDefinition } from "../../../../src/cmd/doc/ICommandDefinition"; +import { ICommandOptionDefinition } from "../../../../src/cmd/doc/option/ICommandOptionDefinition"; +import { ICommandProfileTypeConfiguration } from "../../../../src/cmd/doc/profiles/definition/ICommandProfileTypeConfiguration"; export const COMPLEX_COMMAND: ICommandDefinition = { name: "test-group", diff --git a/packages/imperative/src/cmd/__tests__/__resources__/project.config.user.json b/packages/imperative/__tests__/__unit__/cmd/__resources__/project.config.user.json similarity index 100% rename from packages/imperative/src/cmd/__tests__/__resources__/project.config.user.json rename to packages/imperative/__tests__/__unit__/cmd/__resources__/project.config.user.json diff --git a/packages/imperative/src/cmd/__tests__/__snapshots__/ChainedHandlerUtils.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/cmd/__snapshots__/ChainedHandlerUtils.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/cmd/__tests__/__snapshots__/ChainedHandlerUtils.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/cmd/__snapshots__/ChainedHandlerUtils.unit.test.ts.snap diff --git a/packages/imperative/src/cmd/__tests__/__snapshots__/CommandPreparer.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/cmd/__snapshots__/CommandPreparer.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/cmd/__tests__/__snapshots__/CommandPreparer.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/cmd/__snapshots__/CommandPreparer.unit.test.ts.snap diff --git a/packages/imperative/src/cmd/__tests__/__snapshots__/CommandProcessor.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/cmd/__snapshots__/CommandProcessor.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/cmd/__tests__/__snapshots__/CommandProcessor.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/cmd/__snapshots__/CommandProcessor.unit.test.ts.snap diff --git a/packages/imperative/src/cmd/__tests__/handlers/FailedCommandHandler.unit.test.ts b/packages/imperative/__tests__/__unit__/cmd/handlers/FailedCommandHandler.unit.test.ts similarity index 92% rename from packages/imperative/src/cmd/__tests__/handlers/FailedCommandHandler.unit.test.ts rename to packages/imperative/__tests__/__unit__/cmd/handlers/FailedCommandHandler.unit.test.ts index d03f1c4b88..60e94ad4b7 100644 --- a/packages/imperative/src/cmd/__tests__/handlers/FailedCommandHandler.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/cmd/handlers/FailedCommandHandler.unit.test.ts @@ -9,13 +9,13 @@ * */ -import { CommandResponse, ICommandResponse } from "../../"; -import { ICommandHandler } from "../../src/doc/handler/ICommandHandler"; +import { CommandResponse, ICommandResponse } from "../../../../"; +import { ICommandHandler } from "../../../../src/cmd/doc/handler/ICommandHandler"; import { inspect } from "util"; import { MULTIPLE_GROUPS } from "../__resources__/CommandDefinitions"; import { TestLogger } from "../../../../__tests__/src/TestLogger"; -import { ICommandHandlerRequire } from "../../src/doc/handler/ICommandHandlerRequire"; +import { ICommandHandlerRequire } from "../../../../src/cmd/doc/handler/ICommandHandlerRequire"; jest.mock("../../../imperative/src/Imperative"); diff --git a/packages/imperative/src/cmd/__tests__/handlers/__snapshots__/FailedCommandHandler.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/cmd/handlers/__snapshots__/FailedCommandHandler.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/cmd/__tests__/handlers/__snapshots__/FailedCommandHandler.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/cmd/handlers/__snapshots__/FailedCommandHandler.unit.test.ts.snap diff --git a/packages/imperative/src/cmd/__tests__/help/AbstractHelpGenerator.unit.test.ts b/packages/imperative/__tests__/__unit__/cmd/help/AbstractHelpGenerator.unit.test.ts similarity index 97% rename from packages/imperative/src/cmd/__tests__/help/AbstractHelpGenerator.unit.test.ts rename to packages/imperative/__tests__/__unit__/cmd/help/AbstractHelpGenerator.unit.test.ts index 416627fa22..b88dc4b9d5 100644 --- a/packages/imperative/src/cmd/__tests__/help/AbstractHelpGenerator.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/cmd/help/AbstractHelpGenerator.unit.test.ts @@ -10,9 +10,9 @@ */ import { InheritedHelpGenerator } from "./model/InheritedHelpGenerator"; -import { IHelpGeneratorFactoryParms } from "../../../cmd/src/help/doc/IHelpGeneratorFactoryParms"; -import { ICommandDefinition } from "../../src/doc/ICommandDefinition"; -import { ICommandOptionDefinition } from "../../src/doc/option/ICommandOptionDefinition"; +import { IHelpGeneratorFactoryParms } from "../../../../src/cmd/help/doc/IHelpGeneratorFactoryParms"; +import { ICommandDefinition } from "../../../../src/cmd/doc/ICommandDefinition"; +import { ICommandOptionDefinition } from "../../../../src/cmd/doc/option/ICommandOptionDefinition"; const chalkColor: string = "blue"; const oldForceColorOption = process.env.FORCE_COLOR; diff --git a/packages/imperative/src/cmd/__tests__/help/AbstractHelpGeneratorFactory.unit.test.ts b/packages/imperative/__tests__/__unit__/cmd/help/AbstractHelpGeneratorFactory.unit.test.ts similarity index 96% rename from packages/imperative/src/cmd/__tests__/help/AbstractHelpGeneratorFactory.unit.test.ts rename to packages/imperative/__tests__/__unit__/cmd/help/AbstractHelpGeneratorFactory.unit.test.ts index 2ea127a098..52c3f24fc8 100644 --- a/packages/imperative/src/cmd/__tests__/help/AbstractHelpGeneratorFactory.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/cmd/help/AbstractHelpGeneratorFactory.unit.test.ts @@ -10,8 +10,8 @@ */ import { TestHelpGeneratorFactory } from "./model/TestHelpGeneratorFactory"; -import { ImperativeError } from "../../../index"; -import { ICommandDefinition } from "../../src/doc/ICommandDefinition"; +import { ImperativeError } from "../../../../src/error"; +import { ICommandDefinition } from "../../../../src/cmd/doc/ICommandDefinition"; import { InheritedHelpGenerator } from "./model/InheritedHelpGenerator"; const SAMPLE_COMMAND: ICommandDefinition = { diff --git a/packages/imperative/src/cmd/__tests__/help/DefaultHelpGenerator.unit.test.ts b/packages/imperative/__tests__/__unit__/cmd/help/DefaultHelpGenerator.unit.test.ts similarity index 97% rename from packages/imperative/src/cmd/__tests__/help/DefaultHelpGenerator.unit.test.ts rename to packages/imperative/__tests__/__unit__/cmd/help/DefaultHelpGenerator.unit.test.ts index fd5385eda5..563a1f161d 100644 --- a/packages/imperative/src/cmd/__tests__/help/DefaultHelpGenerator.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/cmd/help/DefaultHelpGenerator.unit.test.ts @@ -9,15 +9,15 @@ * */ -jest.mock("../../../imperative/src/Imperative"); -jest.mock("../../../utilities/src/ImperativeConfig"); - -import { IHelpGeneratorFactoryParms } from "../../../cmd/src/help/doc/IHelpGeneratorFactoryParms"; -import { ICommandDefinition } from "../../src/doc/ICommandDefinition"; -import { DefaultHelpGenerator } from "../../src/help/DefaultHelpGenerator"; -import { ICommandOptionDefinition } from "../.."; -import { ImperativeError } from "../../.."; -import { ImperativeConfig } from "../../../utilities"; +jest.mock("../../../../src/imperative/Imperative"); +jest.mock("../../../../src/utilities/ImperativeConfig"); + +import { IHelpGeneratorFactoryParms } from "../../../../src/cmd/help/doc/IHelpGeneratorFactoryParms"; +import { ICommandDefinition } from "../../../../src/cmd/doc/ICommandDefinition"; +import { DefaultHelpGenerator } from "../../../../src/cmd/help/DefaultHelpGenerator"; +import { ICommandOptionDefinition } from "../../../../"; +import { ImperativeError } from "../../../../."; +import { ImperativeConfig } from "../../../../src/utilities/ImperativeConfig"; const chalkColor: string = "blue"; const oldForceColorOption = process.env.FORCE_COLOR; diff --git a/packages/imperative/src/cmd/__tests__/help/WebHelpGenerator.unit.test.ts b/packages/imperative/__tests__/__unit__/cmd/help/WebHelpGenerator.unit.test.ts similarity index 93% rename from packages/imperative/src/cmd/__tests__/help/WebHelpGenerator.unit.test.ts rename to packages/imperative/__tests__/__unit__/cmd/help/WebHelpGenerator.unit.test.ts index 18a153e089..3e38dbf1b8 100644 --- a/packages/imperative/src/cmd/__tests__/help/WebHelpGenerator.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/cmd/help/WebHelpGenerator.unit.test.ts @@ -12,14 +12,14 @@ import * as fs from "fs"; import * as path from "path"; -import { Imperative } from "../../../imperative/src/Imperative"; -import { WebHelpGenerator } from "../../src/help/WebHelpGenerator"; -import { WebHelpManager } from "../../src/help/WebHelpManager"; -import { CommandResponse } from "../../src/response/CommandResponse"; -import { IImperativeConfig } from "../../../imperative/src/doc/IImperativeConfig"; -import { ImperativeConfig } from "../../../utilities/src/ImperativeConfig"; -import { IO } from "../../../io"; -import { ICommandDefinition } from "../../../cmd/src/doc/ICommandDefinition"; +import { Imperative } from "../../../../src/imperative/Imperative"; +import { WebHelpGenerator } from "../../../../src/cmd/help/WebHelpGenerator"; +import { WebHelpManager } from "../../../../src/cmd/help/WebHelpManager"; +import { CommandResponse } from "../../../../src/cmd/response/CommandResponse"; +import { IImperativeConfig } from "../../../../src/imperative/doc/IImperativeConfig"; +import { ImperativeConfig } from "../../../../src/utilities/ImperativeConfig"; +import { IO } from "../../../../src/io"; +import { ICommandDefinition } from "../../../../src/cmd/doc/ICommandDefinition"; describe("WebHelpGenerator", () => { describe("buildHelp", () => { diff --git a/packages/imperative/src/cmd/__tests__/help/WebHelpManager.unit.test.ts b/packages/imperative/__tests__/__unit__/cmd/help/WebHelpManager.unit.test.ts similarity index 93% rename from packages/imperative/src/cmd/__tests__/help/WebHelpManager.unit.test.ts rename to packages/imperative/__tests__/__unit__/cmd/help/WebHelpManager.unit.test.ts index c49cbfe41a..db812a4279 100644 --- a/packages/imperative/src/cmd/__tests__/help/WebHelpManager.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/cmd/help/WebHelpManager.unit.test.ts @@ -14,13 +14,14 @@ import * as fsExtra from "fs-extra"; import * as path from "path"; import * as rimraf from "rimraf"; -import { IO } from "../../../io/src/IO"; -import { Imperative } from "../../../imperative/src/Imperative"; -import { WebHelpManager } from "../../src/help/WebHelpManager"; -import { CommandResponse } from "../../src/response/CommandResponse"; -import { ImperativeConfig, GuiResult, ProcessUtils } from "../../../utilities"; -import { WebHelpGenerator } from "../.."; -import { IImperativeConfig } from "../../../imperative/src/doc/IImperativeConfig"; +import { IO } from "../../../../src/io/IO"; +import { Imperative } from "../../../../src/imperative/Imperative"; +import { WebHelpManager } from "../../../../src/cmd/help/WebHelpManager"; +import { CommandResponse } from "../../../../src/cmd/response/CommandResponse"; +import { ProcessUtils, GuiResult } from "../../../../src/utilities/ProcessUtils"; +import { ImperativeConfig } from "../../../../src/utilities/ImperativeConfig"; +import { WebHelpGenerator } from "../../../.."; +import { IImperativeConfig } from "../../../../src/imperative/doc/IImperativeConfig"; describe("WebHelpManager", () => { describe("buildHelp", () => { diff --git a/packages/imperative/src/cmd/__tests__/help/__snapshots__/AbstractHelpGenerator.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/cmd/help/__snapshots__/AbstractHelpGenerator.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/cmd/__tests__/help/__snapshots__/AbstractHelpGenerator.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/cmd/help/__snapshots__/AbstractHelpGenerator.unit.test.ts.snap diff --git a/packages/imperative/src/cmd/__tests__/help/__snapshots__/AbstractHelpGeneratorFactory.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/cmd/help/__snapshots__/AbstractHelpGeneratorFactory.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/cmd/__tests__/help/__snapshots__/AbstractHelpGeneratorFactory.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/cmd/help/__snapshots__/AbstractHelpGeneratorFactory.unit.test.ts.snap diff --git a/packages/imperative/src/cmd/__tests__/help/__snapshots__/DefaultHelpGenerator.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/cmd/help/__snapshots__/DefaultHelpGenerator.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/cmd/__tests__/help/__snapshots__/DefaultHelpGenerator.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/cmd/help/__snapshots__/DefaultHelpGenerator.unit.test.ts.snap diff --git a/packages/imperative/src/cmd/__tests__/help/model/InheritedHelpGenerator.ts b/packages/imperative/__tests__/__unit__/cmd/help/model/InheritedHelpGenerator.ts similarity index 85% rename from packages/imperative/src/cmd/__tests__/help/model/InheritedHelpGenerator.ts rename to packages/imperative/__tests__/__unit__/cmd/help/model/InheritedHelpGenerator.ts index e02470b5e1..dddad0268e 100644 --- a/packages/imperative/src/cmd/__tests__/help/model/InheritedHelpGenerator.ts +++ b/packages/imperative/__tests__/__unit__/cmd/help/model/InheritedHelpGenerator.ts @@ -9,8 +9,8 @@ * */ -import { AbstractHelpGenerator } from "../../../src/help/abstract/AbstractHelpGenerator"; -import { CommandOptionType } from "../../../src/doc/option/ICommandOptionDefinition"; +import { AbstractHelpGenerator } from "../../../../../src/cmd/help/abstract/AbstractHelpGenerator"; +import { CommandOptionType } from "../../../../../src/cmd/doc/option/ICommandOptionDefinition"; export class InheritedHelpGenerator extends AbstractHelpGenerator { diff --git a/packages/imperative/src/cmd/__tests__/help/model/TestHelpGeneratorFactory.ts b/packages/imperative/__tests__/__unit__/cmd/help/model/TestHelpGeneratorFactory.ts similarity index 75% rename from packages/imperative/src/cmd/__tests__/help/model/TestHelpGeneratorFactory.ts rename to packages/imperative/__tests__/__unit__/cmd/help/model/TestHelpGeneratorFactory.ts index 3159828706..25206d75ae 100644 --- a/packages/imperative/src/cmd/__tests__/help/model/TestHelpGeneratorFactory.ts +++ b/packages/imperative/__tests__/__unit__/cmd/help/model/TestHelpGeneratorFactory.ts @@ -9,9 +9,9 @@ * */ -import { AbstractHelpGeneratorFactory } from "../../../src/help/abstract/AbstractHelpGeneratorFactory"; -import { IHelpGeneratorParms } from "../../../src/help/doc/IHelpGeneratorParms"; -import { IHelpGenerator } from "../../../src/help/doc/IHelpGenerator"; +import { AbstractHelpGeneratorFactory } from "../../../../../src/cmd/help/abstract/AbstractHelpGeneratorFactory"; +import { IHelpGeneratorParms } from "../../../../../src/cmd/help/doc/IHelpGeneratorParms"; +import { IHelpGenerator } from "../../../../../src/cmd/help/doc/IHelpGenerator"; import { InheritedHelpGenerator } from "./InheritedHelpGenerator"; /** * Test implementation for the abstract help generator factory diff --git a/packages/imperative/src/cmd/__tests__/process/CommandResponseDataProcess.ts b/packages/imperative/__tests__/__unit__/cmd/process/CommandResponseDataProcess.ts similarity index 95% rename from packages/imperative/src/cmd/__tests__/process/CommandResponseDataProcess.ts rename to packages/imperative/__tests__/__unit__/cmd/process/CommandResponseDataProcess.ts index bab8290e1d..432e3e89f1 100644 --- a/packages/imperative/src/cmd/__tests__/process/CommandResponseDataProcess.ts +++ b/packages/imperative/__tests__/__unit__/cmd/process/CommandResponseDataProcess.ts @@ -9,8 +9,8 @@ * */ -import { Imperative } from "../../../imperative/src/Imperative"; -import { CommandResponse } from "../../"; +import { Imperative } from "../../../../src/imperative/Imperative"; +import { CommandResponse } from "../../../../"; export const WRITE_MESSAGE_ONE: string = "Hello from Command Response Process Message 1 (stdout)"; export const WRITE_MESSAGE_TWO: string = "Hello from Command Response Process Message 2 (stdout)"; diff --git a/packages/imperative/src/cmd/__tests__/process/CommandResponseJsonFailedProcess.ts b/packages/imperative/__tests__/__unit__/cmd/process/CommandResponseJsonFailedProcess.ts similarity index 94% rename from packages/imperative/src/cmd/__tests__/process/CommandResponseJsonFailedProcess.ts rename to packages/imperative/__tests__/__unit__/cmd/process/CommandResponseJsonFailedProcess.ts index c1fd716a31..704f818efa 100644 --- a/packages/imperative/src/cmd/__tests__/process/CommandResponseJsonFailedProcess.ts +++ b/packages/imperative/__tests__/__unit__/cmd/process/CommandResponseJsonFailedProcess.ts @@ -9,8 +9,8 @@ * */ -import { Imperative } from "../../../imperative/src/Imperative"; -import { CommandResponse } from "../../"; +import { Imperative } from "../../../../src/imperative/Imperative"; +import { CommandResponse } from "../../../../"; export const JSON_WRITE_ERROR_MESSAGE_ONE: string = "Hello from Command Response JSON Process Message 1 (stderr)"; export const JSON_WRITE_ERROR_MESSAGE_TWO: string = "Hello from Command Response JSON Process Message 2 (stderr)"; diff --git a/packages/imperative/src/cmd/__tests__/process/CommandResponseJsonProcess.ts b/packages/imperative/__tests__/__unit__/cmd/process/CommandResponseJsonProcess.ts similarity index 95% rename from packages/imperative/src/cmd/__tests__/process/CommandResponseJsonProcess.ts rename to packages/imperative/__tests__/__unit__/cmd/process/CommandResponseJsonProcess.ts index 4da4f77a6c..8911770cea 100644 --- a/packages/imperative/src/cmd/__tests__/process/CommandResponseJsonProcess.ts +++ b/packages/imperative/__tests__/__unit__/cmd/process/CommandResponseJsonProcess.ts @@ -9,8 +9,8 @@ * */ -import { Imperative } from "../../../imperative/src/Imperative"; -import { CommandResponse } from "../../"; +import { Imperative } from "../../../../src/imperative/Imperative"; +import { CommandResponse } from "../../../../"; export const JSON_WRITE_MESSAGE_ONE: string = "Hello from Command Response JSON Process Message 1 (stdout)"; export const JSON_WRITE_MESSAGE_TWO: string = "Hello from Command Response JSON Process Message 2 (stdout)"; diff --git a/packages/imperative/src/cmd/__tests__/process/CommandResponseProcess.ts b/packages/imperative/__tests__/__unit__/cmd/process/CommandResponseProcess.ts similarity index 94% rename from packages/imperative/src/cmd/__tests__/process/CommandResponseProcess.ts rename to packages/imperative/__tests__/__unit__/cmd/process/CommandResponseProcess.ts index f8e2c08117..c191d8a98a 100644 --- a/packages/imperative/src/cmd/__tests__/process/CommandResponseProcess.ts +++ b/packages/imperative/__tests__/__unit__/cmd/process/CommandResponseProcess.ts @@ -9,8 +9,8 @@ * */ -import { Imperative } from "../../../imperative/src/Imperative"; -import { CommandResponse } from "../../"; +import { Imperative } from "../../../../src/imperative/Imperative"; +import { CommandResponse } from "../../../../"; export const WRITE_MESSAGE_ONE: string = "Hello from Command Response Process Message 1 (stdout)"; export const WRITE_MESSAGE_TWO: string = "Hello from Command Response Process Message 2 (stdout)"; diff --git a/packages/imperative/src/cmd/__tests__/profiles/CliProfileManager.credentials.unit.test.ts b/packages/imperative/__tests__/__unit__/cmd/profiles/CliProfileManager.credentials.unit.test.ts similarity index 98% rename from packages/imperative/src/cmd/__tests__/profiles/CliProfileManager.credentials.unit.test.ts rename to packages/imperative/__tests__/__unit__/cmd/profiles/CliProfileManager.credentials.unit.test.ts index 0e57e741ce..e29ed15f61 100644 --- a/packages/imperative/src/cmd/__tests__/profiles/CliProfileManager.credentials.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/cmd/profiles/CliProfileManager.credentials.unit.test.ts @@ -10,20 +10,20 @@ */ import { TestLogger } from "../../../../__tests__/src/TestLogger"; -import { ProfileIO } from "../../../profiles/src/utils/ProfileIO"; -import { CliProfileManager } from "../../src/profiles/CliProfileManager"; -import { IProfile } from "../../../profiles/src/doc/definition/IProfile"; +import { ProfileIO } from "../../../../src/profiles/utils/ProfileIO"; +import { CliProfileManager } from "../../../../src/cmd/profiles/CliProfileManager"; +import { IProfile } from "../../../../src/profiles/doc/definition/IProfile"; import { ONLY_ORANGE_WITH_CREDENTIALS, SECURE_ORANGE_PROFILE_TYPE, TEST_PROFILE_ROOT_DIR -} from "../../../profiles/__tests__/TestConstants"; -import { CredentialManagerFactory, DefaultCredentialManager } from "../../../security"; -import { BasicProfileManager } from "../../../profiles/src/BasicProfileManager"; -import { ProfilesConstants, ISaveProfile, IProfileSaved } from "../../../profiles"; +} from "../../../../__tests__/__unit__/profiles/TestConstants"; +import { CredentialManagerFactory, DefaultCredentialManager } from "../../../../src/security"; +import { BasicProfileManager } from "../../../../src/profiles/BasicProfileManager"; +import { ProfilesConstants, ISaveProfile, IProfileSaved } from "../../../../src/profiles"; -jest.mock("../../../profiles/src/utils/ProfileIO"); -jest.mock("../../../security/src/DefaultCredentialManager"); +jest.mock("../../../../src/profiles/utils/ProfileIO"); +jest.mock("../../../../src/profiles/security/DefaultCredentialManager"); // TODO: Some of these tests are not completely isolated, some may cause others to fail depending on mocks diff --git a/packages/imperative/src/cmd/__tests__/profiles/CliProfileManager.unit.test.ts b/packages/imperative/__tests__/__unit__/cmd/profiles/CliProfileManager.unit.test.ts similarity index 95% rename from packages/imperative/src/cmd/__tests__/profiles/CliProfileManager.unit.test.ts rename to packages/imperative/__tests__/__unit__/cmd/profiles/CliProfileManager.unit.test.ts index f221f0dc64..0639f56481 100644 --- a/packages/imperative/src/cmd/__tests__/profiles/CliProfileManager.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/cmd/profiles/CliProfileManager.unit.test.ts @@ -9,21 +9,21 @@ * */ -import { ProfileUtils } from "../../../profiles/src/utils/ProfileUtils"; +import { ProfileUtils } from "../../../../src/profiles/utils/ProfileUtils"; import { TestLogger } from "../../../../__tests__/src/TestLogger"; -import { ICommandProfileTypeConfiguration } from "../../src/doc/profiles/definition/ICommandProfileTypeConfiguration"; -import { ProfileIO } from "../../../profiles/src/utils/ProfileIO"; -import { CliProfileManager } from "../../src/profiles/CliProfileManager"; -import { IProfile } from "../../../profiles/src/doc/definition/IProfile"; +import { ICommandProfileTypeConfiguration } from "../../../../src/cmd/doc/profiles/definition/ICommandProfileTypeConfiguration"; +import { ProfileIO } from "../../../../src/profiles/utils/ProfileIO"; +import { CliProfileManager } from "../../../../src/cmd/profiles/CliProfileManager"; +import { IProfile } from "../../../../src/profiles/doc/definition/IProfile"; import { inspect } from "util"; -import { ISaveProfileFromCliArgs } from "../../../profiles/src/doc/parms/ISaveProfileFromCliArgs"; -import { ImperativeError } from "../../../error/src/ImperativeError"; -import { PROFILE_TYPE } from "../../../../__tests__/src/packages/profiles/src/constants/BasicProfileManagerTestConstants"; -import { TEST_PROFILE_ROOT_DIR } from "../../../profiles/__tests__/TestConstants"; -import { IProfileLoaded } from "../../.."; +import { ISaveProfileFromCliArgs } from "../../../../src/profiles/doc/parms/ISaveProfileFromCliArgs"; +import { ImperativeError } from "../../../../src/error/ImperativeError"; +import { STRAWBERRY_PROFILE_TYPE } from "../../../../__tests__/__unit__/profiles/TestConstants"; +import { TEST_PROFILE_ROOT_DIR } from "../../../../__tests__/__unit__/profiles/TestConstants"; +import { IProfileLoaded } from "../../../.."; -jest.mock("../../../profiles/src/utils/ProfileIO"); -jest.mock("../../../security/src/DefaultCredentialManager"); +jest.mock("../../../../src/profiles/utils/ProfileIO"); +jest.mock("../../../../src/security/DefaultCredentialManager"); describe("Cli Profile Manager", () => { let writtenProfile: any; @@ -669,7 +669,7 @@ describe("Cli Profile Manager", () => { const prof = new CliProfileManager({ profileRootDirectory: TEST_PROFILE_ROOT_DIR, typeConfigurations: [{ - type: PROFILE_TYPE.STRAWBERRY, + type: STRAWBERRY_PROFILE_TYPE, schema: { type: "object", title: "test profile for updating on merging", @@ -684,11 +684,11 @@ describe("Cli Profile Manager", () => { } } }], - type: PROFILE_TYPE.STRAWBERRY, + type: STRAWBERRY_PROFILE_TYPE, logger: testLogger }); const profileA = { - type: PROFILE_TYPE.STRAWBERRY, name: "first", + type: STRAWBERRY_PROFILE_TYPE, name: "first", myArrayVariable: ["old_value1", "oldValue2"], // test that the array replacement still works on deeply nested fields hasNestedArray: {hasNestedArray: {hasNestedArray: ["old_value1", "old_value2"]}}, @@ -700,7 +700,7 @@ describe("Cli Profile Manager", () => { return path.indexOf("meta") === -1 ? path : undefined; }); ProfileIO.readProfileFile = jest.fn((filePath: string, type: string) => { - if (type === PROFILE_TYPE.STRAWBERRY) { + if (type === STRAWBERRY_PROFILE_TYPE) { return profileA; } else { return { @@ -714,7 +714,7 @@ describe("Cli Profile Manager", () => { hasNestedArray: {hasNestedArray: {hasNestedArray: ["new_value1", "new_value2", "new_value3", "new_value4"]}}, }; const updateResult = await prof.update({ - type: PROFILE_TYPE.STRAWBERRY, + type: STRAWBERRY_PROFILE_TYPE, name: "first", profile: profileB, merge: true }); const merged = updateResult.profile; @@ -735,7 +735,7 @@ describe("Cli Profile Manager", () => { const prof = new CliProfileManager({ profileRootDirectory: TEST_PROFILE_ROOT_DIR, typeConfigurations: [{ - type: PROFILE_TYPE.STRAWBERRY, + type: STRAWBERRY_PROFILE_TYPE, schema: { type: "object", title: "test profile for updating on merging", @@ -769,7 +769,7 @@ describe("Cli Profile Manager", () => { } } }], - type: PROFILE_TYPE.STRAWBERRY, + type: STRAWBERRY_PROFILE_TYPE, logger: testLogger }); const profileA = { @@ -784,7 +784,7 @@ describe("Cli Profile Manager", () => { return path.indexOf("meta") === -1 ? path : undefined; }); ProfileIO.readProfileFile = jest.fn((filePath: string, type: string) => { - if (type === PROFILE_TYPE.STRAWBERRY) { + if (type === STRAWBERRY_PROFILE_TYPE) { return profileA; } else { return { @@ -794,13 +794,13 @@ describe("Cli Profile Manager", () => { } }); const profileB: IProfile = { - type: PROFILE_TYPE.STRAWBERRY, + type: STRAWBERRY_PROFILE_TYPE, name: "first" }; const newArrayVariable = ["new_value1", "new_value2", "new_value3"]; const newNestedArray = ["new_value1", "new_value2", "new_value3", "new_value4"]; const updateResult = await prof.update({ - type: PROFILE_TYPE.STRAWBERRY, name: "first", + type: STRAWBERRY_PROFILE_TYPE, name: "first", profile: profileB, args: { $0: "dummy", _: [], hasNestedArray: newNestedArray, diff --git a/packages/imperative/src/cmd/__tests__/profiles/CommandProfileLoader.unit.test.ts b/packages/imperative/__tests__/__unit__/cmd/profiles/CommandProfileLoader.unit.test.ts similarity index 96% rename from packages/imperative/src/cmd/__tests__/profiles/CommandProfileLoader.unit.test.ts rename to packages/imperative/__tests__/__unit__/cmd/profiles/CommandProfileLoader.unit.test.ts index 13852e998d..718b9e5b61 100644 --- a/packages/imperative/src/cmd/__tests__/profiles/CommandProfileLoader.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/cmd/profiles/CommandProfileLoader.unit.test.ts @@ -9,18 +9,18 @@ * */ -jest.mock("../../../profiles/src/BasicProfileManager"); -jest.mock("../../../profiles/src/BasicProfileManagerFactory"); -jest.mock("../../../utilities/src/ImperativeConfig"); -jest.mock("../../../logger/src/LoggerUtils"); -import { CommandProfileLoader } from "../../src/profiles/CommandProfileLoader"; -import { ICommandDefinition } from "../../src/doc/ICommandDefinition"; -import { BasicProfileManager } from "../../../profiles/src/BasicProfileManager"; +jest.mock("../../../../src/profiles/BasicProfileManager"); +jest.mock("../../../../src/profiles/BasicProfileManagerFactory"); +jest.mock("../../../../src/utilities/ImperativeConfig"); +jest.mock("../../../../src/logger/LoggerUtils"); +import { CommandProfileLoader } from "../../../../src/cmd/profiles/CommandProfileLoader"; +import { ICommandDefinition } from "../../../../src/cmd/doc/ICommandDefinition"; +import { BasicProfileManager } from "../../../../src/profiles/BasicProfileManager"; import { TestLogger } from "../../../../__tests__/src/TestLogger"; -import { CommandProfiles } from "../../src/profiles/CommandProfiles"; -import { ImperativeError } from "../../../error"; -import { BasicProfileManagerFactory, IProfile, IProfileLoaded } from "../../../profiles"; -import { ImperativeConfig } from "../../../utilities"; +import { CommandProfiles } from "../../../../src/cmd/profiles/CommandProfiles"; +import { ImperativeError } from "../../../../src/error"; +import { BasicProfileManagerFactory, IProfile, IProfileLoaded } from "../../../../src/profiles"; +import { ImperativeConfig } from "../../../../src/utilities/ImperativeConfig"; const TEST_PROFILES_DIR = "/test/data/profiles/fake"; diff --git a/packages/imperative/src/cmd/__tests__/profiles/CommandProfiles.unit.test.ts b/packages/imperative/__tests__/__unit__/cmd/profiles/CommandProfiles.unit.test.ts similarity index 97% rename from packages/imperative/src/cmd/__tests__/profiles/CommandProfiles.unit.test.ts rename to packages/imperative/__tests__/__unit__/cmd/profiles/CommandProfiles.unit.test.ts index bf683a2eaa..bf2f136af2 100644 --- a/packages/imperative/src/cmd/__tests__/profiles/CommandProfiles.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/cmd/profiles/CommandProfiles.unit.test.ts @@ -9,9 +9,9 @@ * */ -import { IProfile, IProfileLoaded } from "../../../profiles"; -import { CommandProfiles } from "../../src/profiles/CommandProfiles"; -import { ImperativeError } from "../../../error"; +import { IProfile, IProfileLoaded } from "../../../../src/profiles"; +import { CommandProfiles } from "../../../../src/cmd/profiles/CommandProfiles"; +import { ImperativeError } from "../../../../src/error"; const BANANA_PROFILE_TYPE: string = "banana"; const STRAWBERRY_PROFILE_TYPE: string = "strawberry"; diff --git a/packages/imperative/src/cmd/__tests__/profiles/__snapshots__/CliProfileManager.credentials.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/cmd/profiles/__snapshots__/CliProfileManager.credentials.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/cmd/__tests__/profiles/__snapshots__/CliProfileManager.credentials.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/cmd/profiles/__snapshots__/CliProfileManager.credentials.unit.test.ts.snap diff --git a/packages/imperative/src/cmd/__tests__/profiles/__snapshots__/CommandProfileLoader.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/cmd/profiles/__snapshots__/CommandProfileLoader.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/cmd/__tests__/profiles/__snapshots__/CommandProfileLoader.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/cmd/profiles/__snapshots__/CommandProfileLoader.unit.test.ts.snap diff --git a/packages/imperative/src/cmd/__tests__/profiles/__snapshots__/CommandProfiles.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/cmd/profiles/__snapshots__/CommandProfiles.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/cmd/__tests__/profiles/__snapshots__/CommandProfiles.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/cmd/profiles/__snapshots__/CommandProfiles.unit.test.ts.snap diff --git a/packages/imperative/src/cmd/__tests__/profiles/builders/CompleteProfilesGroupBuilder.unit.test.ts b/packages/imperative/__tests__/__unit__/cmd/profiles/builders/CompleteProfilesGroupBuilder.unit.test.ts similarity index 81% rename from packages/imperative/src/cmd/__tests__/profiles/builders/CompleteProfilesGroupBuilder.unit.test.ts rename to packages/imperative/__tests__/__unit__/cmd/profiles/builders/CompleteProfilesGroupBuilder.unit.test.ts index 04d7fe60e2..dc6308d091 100644 --- a/packages/imperative/src/cmd/__tests__/profiles/builders/CompleteProfilesGroupBuilder.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/cmd/profiles/builders/CompleteProfilesGroupBuilder.unit.test.ts @@ -9,12 +9,12 @@ * */ -jest.mock("../../../../utilities/src/ImperativeConfig"); +jest.mock("../../../../../src/utilities/ImperativeConfig"); -import { ImperativeConfig } from "../../../../utilities"; +import { ImperativeConfig } from "../../../../../src/utilities/ImperativeConfig"; import { deleteHandlerPaths, testBuilderProfiles } from "./ProfileBuilderTestConstants"; import { TestLogger } from "../../../../../__tests__/src/TestLogger"; -import { CompleteProfilesGroupBuilder } from "../../../../imperative/src/profiles/builders/CompleteProfilesGroupBuilder"; +import { CompleteProfilesGroupBuilder } from "../../../../../src/imperative/profiles/builders/CompleteProfilesGroupBuilder"; describe("Complete Profiles Group Builder", () => { const logger = TestLogger.getTestLogger(); diff --git a/packages/imperative/src/cmd/__tests__/profiles/builders/ProfileBuilderTestConstants.ts b/packages/imperative/__tests__/__unit__/cmd/profiles/builders/ProfileBuilderTestConstants.ts similarity index 90% rename from packages/imperative/src/cmd/__tests__/profiles/builders/ProfileBuilderTestConstants.ts rename to packages/imperative/__tests__/__unit__/cmd/profiles/builders/ProfileBuilderTestConstants.ts index c282ed3626..e15c14aac4 100644 --- a/packages/imperative/src/cmd/__tests__/profiles/builders/ProfileBuilderTestConstants.ts +++ b/packages/imperative/__tests__/__unit__/cmd/profiles/builders/ProfileBuilderTestConstants.ts @@ -9,8 +9,8 @@ * */ -import { ICommandDefinition } from "../../../src/doc/ICommandDefinition"; -import { ICommandProfileTypeConfiguration } from "../../../../cmd/src/doc/profiles/definition/ICommandProfileTypeConfiguration"; +import { ICommandDefinition } from "../../../../../src/cmd/doc/ICommandDefinition"; +import { ICommandProfileTypeConfiguration } from "../../../../../src/cmd/doc/profiles/definition/ICommandProfileTypeConfiguration"; export const testBuilderProfiles: ICommandProfileTypeConfiguration[] = [ { diff --git a/packages/imperative/src/cmd/__tests__/profiles/builders/ProfilesCreateCommandBuilder.unit.test.ts b/packages/imperative/__tests__/__unit__/cmd/profiles/builders/ProfilesCreateCommandBuilder.unit.test.ts similarity index 97% rename from packages/imperative/src/cmd/__tests__/profiles/builders/ProfilesCreateCommandBuilder.unit.test.ts rename to packages/imperative/__tests__/__unit__/cmd/profiles/builders/ProfilesCreateCommandBuilder.unit.test.ts index 68c571efb2..d865747a6b 100644 --- a/packages/imperative/src/cmd/__tests__/profiles/builders/ProfilesCreateCommandBuilder.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/cmd/profiles/builders/ProfilesCreateCommandBuilder.unit.test.ts @@ -11,7 +11,7 @@ import { deleteHandlerPaths, testBuilderProfiles } from "./ProfileBuilderTestConstants"; import { TestLogger } from "../../../../../__tests__/src/TestLogger"; -import { ProfilesCreateCommandBuilder } from "../../../../imperative/src/profiles/builders/ProfilesCreateCommandBuilder"; +import { ProfilesCreateCommandBuilder } from "../../../../../src/imperative/profiles/builders/ProfilesCreateCommandBuilder"; describe("Profile Create Command Builder", () => { const logger = TestLogger.getTestLogger(); diff --git a/packages/imperative/src/cmd/__tests__/profiles/builders/ProfilesDeleteCommandBuilder.unit.test.ts b/packages/imperative/__tests__/__unit__/cmd/profiles/builders/ProfilesDeleteCommandBuilder.unit.test.ts similarity index 82% rename from packages/imperative/src/cmd/__tests__/profiles/builders/ProfilesDeleteCommandBuilder.unit.test.ts rename to packages/imperative/__tests__/__unit__/cmd/profiles/builders/ProfilesDeleteCommandBuilder.unit.test.ts index 3586e80ed5..58d79ae3b5 100644 --- a/packages/imperative/src/cmd/__tests__/profiles/builders/ProfilesDeleteCommandBuilder.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/cmd/profiles/builders/ProfilesDeleteCommandBuilder.unit.test.ts @@ -9,12 +9,12 @@ * */ -jest.mock("../../../../utilities/src/ImperativeConfig"); +jest.mock("../../../../utilities/ImperativeConfig"); import { deleteHandlerPaths, testBuilderProfiles } from "./ProfileBuilderTestConstants"; import { TestLogger } from "../../../../../__tests__/src/TestLogger"; -import { ProfilesDeleteCommandBuilder } from "../../../../imperative/src/profiles/builders/ProfilesDeleteCommandBuilder"; -import { ImperativeConfig } from "../../../../utilities"; +import { ProfilesDeleteCommandBuilder } from "../../../../../src/imperative/profiles/builders/ProfilesDeleteCommandBuilder"; +import { ImperativeConfig } from "../../../../../src/utilities/ImperativeConfig"; describe("Profile Delete Command Builder", () => { const logger = TestLogger.getTestLogger(); diff --git a/packages/imperative/src/cmd/__tests__/profiles/builders/ProfilesListCommandBuilder.unit.test.ts b/packages/imperative/__tests__/__unit__/cmd/profiles/builders/ProfilesListCommandBuilder.unit.test.ts similarity index 89% rename from packages/imperative/src/cmd/__tests__/profiles/builders/ProfilesListCommandBuilder.unit.test.ts rename to packages/imperative/__tests__/__unit__/cmd/profiles/builders/ProfilesListCommandBuilder.unit.test.ts index 8b12c110ca..3d4a74e0f8 100644 --- a/packages/imperative/src/cmd/__tests__/profiles/builders/ProfilesListCommandBuilder.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/cmd/profiles/builders/ProfilesListCommandBuilder.unit.test.ts @@ -11,7 +11,7 @@ import { deleteHandlerPaths, testBuilderProfiles } from "./ProfileBuilderTestConstants"; import { TestLogger } from "../../../../../__tests__/src/TestLogger"; -import { ProfilesListCommandBuilder } from "../../../../imperative/src/profiles/builders/ProfilesListCommandBuilder"; +import { ProfilesListCommandBuilder } from "../../../../../src/imperative/profiles/builders/ProfilesListCommandBuilder"; describe("Profile List Command Builder", () => { diff --git a/packages/imperative/src/cmd/__tests__/profiles/builders/ProfilesSetCommandBuilder.unit.test.ts b/packages/imperative/__tests__/__unit__/cmd/profiles/builders/ProfilesSetCommandBuilder.unit.test.ts similarity index 89% rename from packages/imperative/src/cmd/__tests__/profiles/builders/ProfilesSetCommandBuilder.unit.test.ts rename to packages/imperative/__tests__/__unit__/cmd/profiles/builders/ProfilesSetCommandBuilder.unit.test.ts index 4708f59ac6..0a1b44ce27 100644 --- a/packages/imperative/src/cmd/__tests__/profiles/builders/ProfilesSetCommandBuilder.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/cmd/profiles/builders/ProfilesSetCommandBuilder.unit.test.ts @@ -11,7 +11,7 @@ import { deleteHandlerPaths, testBuilderProfiles } from "./ProfileBuilderTestConstants"; import { TestLogger } from "../../../../../__tests__/src/TestLogger"; -import { ProfilesSetCommandBuilder } from "../../../../imperative/src/profiles/builders/ProfilesSetCommandBuilder"; +import { ProfilesSetCommandBuilder } from ".../../../../../src/imperative/profiles/builders/ProfilesSetCommandBuilder"; describe("Profile Set Command Builder", () => { const logger = TestLogger.getTestLogger(); diff --git a/packages/imperative/src/cmd/__tests__/profiles/builders/ProfilesShowDependenciesCommandBuilder.unit.test.ts b/packages/imperative/__tests__/__unit__/cmd/profiles/builders/ProfilesShowDependenciesCommandBuilder.unit.test.ts similarity index 93% rename from packages/imperative/src/cmd/__tests__/profiles/builders/ProfilesShowDependenciesCommandBuilder.unit.test.ts rename to packages/imperative/__tests__/__unit__/cmd/profiles/builders/ProfilesShowDependenciesCommandBuilder.unit.test.ts index d40c6aa50d..767ad0e7fe 100644 --- a/packages/imperative/src/cmd/__tests__/profiles/builders/ProfilesShowDependenciesCommandBuilder.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/cmd/profiles/builders/ProfilesShowDependenciesCommandBuilder.unit.test.ts @@ -11,7 +11,7 @@ import { deleteHandlerPaths, testBuilderProfiles } from "./ProfileBuilderTestConstants"; import { TestLogger } from "../../../../../__tests__/src/TestLogger"; -import { ProfilesShowDependenciesCommandBuilder } from "../../../../imperative/src/profiles/builders/ProfilesShowDependenciesCommandBuilder"; +import { ProfilesShowDependenciesCommandBuilder } from "../../../../../src/imperative/profiles/builders/ProfilesShowDependenciesCommandBuilder"; describe("Profile Show Dependencies Command Builder", () => { const logger = TestLogger.getTestLogger(); diff --git a/packages/imperative/src/cmd/__tests__/profiles/builders/ProfilesUpdateCommandBuilder.unit.test.ts b/packages/imperative/__tests__/__unit__/cmd/profiles/builders/ProfilesUpdateCommandBuilder.unit.test.ts similarity index 97% rename from packages/imperative/src/cmd/__tests__/profiles/builders/ProfilesUpdateCommandBuilder.unit.test.ts rename to packages/imperative/__tests__/__unit__/cmd/profiles/builders/ProfilesUpdateCommandBuilder.unit.test.ts index b914a10749..22e9f7129a 100644 --- a/packages/imperative/src/cmd/__tests__/profiles/builders/ProfilesUpdateCommandBuilder.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/cmd/profiles/builders/ProfilesUpdateCommandBuilder.unit.test.ts @@ -11,7 +11,7 @@ import { deleteHandlerPaths, testBuilderProfiles } from "./ProfileBuilderTestConstants"; import { TestLogger } from "../../../../../__tests__/src/TestLogger"; -import { ProfilesUpdateCommandBuilder } from "../../../../imperative/src/profiles/builders/ProfilesUpdateCommandBuilder"; +import { ProfilesUpdateCommandBuilder } from "../../../../../src/imperative/profiles/builders/ProfilesUpdateCommandBuilder"; describe("Profile Update Command Builder", () => { const logger = TestLogger.getTestLogger(); diff --git a/packages/imperative/src/cmd/__tests__/profiles/builders/ProfilesValidateCommandBuilder.unit.test.ts b/packages/imperative/__tests__/__unit__/cmd/profiles/builders/ProfilesValidateCommandBuilder.unit.test.ts similarity index 82% rename from packages/imperative/src/cmd/__tests__/profiles/builders/ProfilesValidateCommandBuilder.unit.test.ts rename to packages/imperative/__tests__/__unit__/cmd/profiles/builders/ProfilesValidateCommandBuilder.unit.test.ts index b0111b8003..f2f4bcad4d 100644 --- a/packages/imperative/src/cmd/__tests__/profiles/builders/ProfilesValidateCommandBuilder.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/cmd/profiles/builders/ProfilesValidateCommandBuilder.unit.test.ts @@ -9,12 +9,12 @@ * */ -jest.mock("../../../../utilities/src/ImperativeConfig"); +jest.mock("../../../../utilities/ImperativeConfig"); import { deleteHandlerPaths, testBuilderProfiles } from "./ProfileBuilderTestConstants"; import { TestLogger } from "../../../../../__tests__/src/TestLogger"; -import { ProfilesValidateCommandBuilder } from "../../../../imperative/src/profiles/builders/ProfilesValidateCommandBuilder"; -import { ImperativeConfig } from "../../../../utilities"; +import { ProfilesValidateCommandBuilder } from "../../../../../src/imperative/profiles/builders/ProfilesValidateCommandBuilder"; +import { ImperativeConfig } from "../../../../../src/utilities/ImperativeConfig"; describe("Profile Validate Command Builder", () => { const logger = TestLogger.getTestLogger(); diff --git a/packages/imperative/src/cmd/__tests__/profiles/builders/__snapshots__/CompleteProfilesGroupBuilder.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/cmd/profiles/builders/__snapshots__/CompleteProfilesGroupBuilder.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/cmd/__tests__/profiles/builders/__snapshots__/CompleteProfilesGroupBuilder.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/cmd/profiles/builders/__snapshots__/CompleteProfilesGroupBuilder.unit.test.ts.snap diff --git a/packages/imperative/src/cmd/__tests__/profiles/builders/__snapshots__/ProfilesCreateCommandBuilder.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/cmd/profiles/builders/__snapshots__/ProfilesCreateCommandBuilder.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/cmd/__tests__/profiles/builders/__snapshots__/ProfilesCreateCommandBuilder.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/cmd/profiles/builders/__snapshots__/ProfilesCreateCommandBuilder.unit.test.ts.snap diff --git a/packages/imperative/src/cmd/__tests__/profiles/builders/__snapshots__/ProfilesDeleteCommandBuilder.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/cmd/profiles/builders/__snapshots__/ProfilesDeleteCommandBuilder.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/cmd/__tests__/profiles/builders/__snapshots__/ProfilesDeleteCommandBuilder.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/cmd/profiles/builders/__snapshots__/ProfilesDeleteCommandBuilder.unit.test.ts.snap diff --git a/packages/imperative/src/cmd/__tests__/profiles/builders/__snapshots__/ProfilesListCommandBuilder.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/cmd/profiles/builders/__snapshots__/ProfilesListCommandBuilder.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/cmd/__tests__/profiles/builders/__snapshots__/ProfilesListCommandBuilder.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/cmd/profiles/builders/__snapshots__/ProfilesListCommandBuilder.unit.test.ts.snap diff --git a/packages/imperative/src/cmd/__tests__/profiles/builders/__snapshots__/ProfilesSetCommandBuilder.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/cmd/profiles/builders/__snapshots__/ProfilesSetCommandBuilder.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/cmd/__tests__/profiles/builders/__snapshots__/ProfilesSetCommandBuilder.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/cmd/profiles/builders/__snapshots__/ProfilesSetCommandBuilder.unit.test.ts.snap diff --git a/packages/imperative/src/cmd/__tests__/profiles/builders/__snapshots__/ProfilesShowDependenciesCommandBuilder.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/cmd/profiles/builders/__snapshots__/ProfilesShowDependenciesCommandBuilder.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/cmd/__tests__/profiles/builders/__snapshots__/ProfilesShowDependenciesCommandBuilder.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/cmd/profiles/builders/__snapshots__/ProfilesShowDependenciesCommandBuilder.unit.test.ts.snap diff --git a/packages/imperative/src/cmd/__tests__/profiles/builders/__snapshots__/ProfilesUpdateCommandBuilder.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/cmd/profiles/builders/__snapshots__/ProfilesUpdateCommandBuilder.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/cmd/__tests__/profiles/builders/__snapshots__/ProfilesUpdateCommandBuilder.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/cmd/profiles/builders/__snapshots__/ProfilesUpdateCommandBuilder.unit.test.ts.snap diff --git a/packages/imperative/src/cmd/__tests__/profiles/builders/__snapshots__/ProfilesValidateCommandBuilder.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/cmd/profiles/builders/__snapshots__/ProfilesValidateCommandBuilder.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/cmd/__tests__/profiles/builders/__snapshots__/ProfilesValidateCommandBuilder.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/cmd/profiles/builders/__snapshots__/ProfilesValidateCommandBuilder.unit.test.ts.snap diff --git a/packages/imperative/src/cmd/__tests__/profiles/profileHandlers/AddTwoNumbersHandler.ts b/packages/imperative/__tests__/__unit__/cmd/profiles/profileHandlers/AddTwoNumbersHandler.ts similarity index 89% rename from packages/imperative/src/cmd/__tests__/profiles/profileHandlers/AddTwoNumbersHandler.ts rename to packages/imperative/__tests__/__unit__/cmd/profiles/profileHandlers/AddTwoNumbersHandler.ts index 0f3db4eef3..621e113962 100644 --- a/packages/imperative/src/cmd/__tests__/profiles/profileHandlers/AddTwoNumbersHandler.ts +++ b/packages/imperative/__tests__/__unit__/cmd/profiles/profileHandlers/AddTwoNumbersHandler.ts @@ -9,7 +9,7 @@ * */ -import { ICommandHandler, IHandlerParameters } from "../../../"; +import { ICommandHandler, IHandlerParameters } from "../../../../../"; export default class AddTwoNumbersHandler implements ICommandHandler { public async process(params: IHandlerParameters): Promise { diff --git a/packages/imperative/src/cmd/__tests__/profiles/profileHandlers/DoNothingHandler.ts b/packages/imperative/__tests__/__unit__/cmd/profiles/profileHandlers/DoNothingHandler.ts similarity index 88% rename from packages/imperative/src/cmd/__tests__/profiles/profileHandlers/DoNothingHandler.ts rename to packages/imperative/__tests__/__unit__/cmd/profiles/profileHandlers/DoNothingHandler.ts index ab19d2da81..0ad226de53 100644 --- a/packages/imperative/src/cmd/__tests__/profiles/profileHandlers/DoNothingHandler.ts +++ b/packages/imperative/__tests__/__unit__/cmd/profiles/profileHandlers/DoNothingHandler.ts @@ -9,7 +9,7 @@ * */ -import { ICommandHandler, IHandlerParameters } from "../../../"; +import { ICommandHandler, IHandlerParameters } from "../../../../../"; export default class DoNothingHandler implements ICommandHandler { public async process(params: IHandlerParameters): Promise { diff --git a/packages/imperative/src/cmd/__tests__/profiles/profileHandlers/ThrowErrorHandler.ts b/packages/imperative/__tests__/__unit__/cmd/profiles/profileHandlers/ThrowErrorHandler.ts similarity index 87% rename from packages/imperative/src/cmd/__tests__/profiles/profileHandlers/ThrowErrorHandler.ts rename to packages/imperative/__tests__/__unit__/cmd/profiles/profileHandlers/ThrowErrorHandler.ts index 021b5f32d2..2dcfffcc35 100644 --- a/packages/imperative/src/cmd/__tests__/profiles/profileHandlers/ThrowErrorHandler.ts +++ b/packages/imperative/__tests__/__unit__/cmd/profiles/profileHandlers/ThrowErrorHandler.ts @@ -9,7 +9,7 @@ * */ -import { ICommandHandler, IHandlerParameters } from "../../../"; +import { ICommandHandler, IHandlerParameters } from "../../../../../"; export default class ThrowErrorHandler implements ICommandHandler { public async process(params: IHandlerParameters): Promise { diff --git a/packages/imperative/src/cmd/__tests__/response/CommandResponse.unit.test.ts b/packages/imperative/__tests__/__unit__/cmd/response/CommandResponse.unit.test.ts similarity index 99% rename from packages/imperative/src/cmd/__tests__/response/CommandResponse.unit.test.ts rename to packages/imperative/__tests__/__unit__/cmd/response/CommandResponse.unit.test.ts index 02f0af5fd0..965293a71b 100644 --- a/packages/imperative/src/cmd/__tests__/response/CommandResponse.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/cmd/response/CommandResponse.unit.test.ts @@ -9,16 +9,17 @@ * */ -import { ITaskWithStatus, TaskStage } from "../../../operations"; +import { ITaskWithStatus, TaskStage } from "../../../../src/operations"; jest.mock("chalk"); -import { CommandResponse } from "../../src/response/CommandResponse"; -import { ImperativeError } from "../../../error"; +import { CommandResponse } from "../../../../src/cmd/response/CommandResponse"; +import { ImperativeError } from "../../../../src/error"; import { inspect } from "util"; import { TestLogger } from "../../../../__tests__/src/TestLogger"; -import { IO } from "../../../io"; -import { OUTPUT_FORMAT } from "../.."; -import { CliUtils, IDaemonResponse } from "../../../utilities"; +import { IO } from "../../../../src/io"; +import { OUTPUT_FORMAT } from "../../../.."; +import { CliUtils } from "../../../../src/utilities/CliUtils"; +import { IDaemonResponse } from "../../../../src/utilities/doc/IDaemonResponse"; const beforeForceColor = process.env.FORCE_COLOR; diff --git a/packages/imperative/src/cmd/__tests__/response/HandlerResponse.unit.test.ts b/packages/imperative/__tests__/__unit__/cmd/response/HandlerResponse.unit.test.ts similarity index 79% rename from packages/imperative/src/cmd/__tests__/response/HandlerResponse.unit.test.ts rename to packages/imperative/__tests__/__unit__/cmd/response/HandlerResponse.unit.test.ts index e95443b881..31e6b21ce9 100644 --- a/packages/imperative/src/cmd/__tests__/response/HandlerResponse.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/cmd/response/HandlerResponse.unit.test.ts @@ -9,9 +9,9 @@ * */ -import { HandlerResponse } from "../../src/response/HandlerResponse"; -import { CommandResponse } from "../../src/response/CommandResponse"; -import { IHandlerResponseApi } from "../../src/doc/response/api/handler/IHandlerResponseApi"; +import { HandlerResponse } from "../../../../src/cmd/response/HandlerResponse"; +import { CommandResponse } from "../../../../src/cmd/response/CommandResponse"; +import { IHandlerResponseApi } from "../../../../src/cmd/doc/response/api/handler/IHandlerResponseApi"; describe("Handler Response", () => { it("Handler Response", () => { diff --git a/packages/imperative/src/cmd/__tests__/response/__snapshots__/CommandResponse.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/cmd/response/__snapshots__/CommandResponse.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/cmd/__tests__/response/__snapshots__/CommandResponse.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/cmd/response/__snapshots__/CommandResponse.unit.test.ts.snap diff --git a/packages/imperative/src/cmd/__tests__/utils/CommandUtils.unit.test.ts b/packages/imperative/__tests__/__unit__/cmd/utils/CommandUtils.unit.test.ts similarity index 92% rename from packages/imperative/src/cmd/__tests__/utils/CommandUtils.unit.test.ts rename to packages/imperative/__tests__/__unit__/cmd/utils/CommandUtils.unit.test.ts index c92e854337..b74454a1e7 100644 --- a/packages/imperative/src/cmd/__tests__/utils/CommandUtils.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/cmd/utils/CommandUtils.unit.test.ts @@ -9,13 +9,13 @@ * */ -import { ICommandDefinition } from "../../src/doc/ICommandDefinition"; -import { CommandPreparer } from "../../src/CommandPreparer"; -import { ICommandOptionDefinition } from "../../src/doc/option/ICommandOptionDefinition"; +import { ICommandDefinition } from "../../../../src/cmd/doc/ICommandDefinition"; +import { CommandPreparer } from "../../../../src/cmd/CommandPreparer"; +import { ICommandOptionDefinition } from "../../../../src/cmd/doc/option/ICommandOptionDefinition"; import { COMPLEX_COMMAND, COMPLEX_COMMAND_WITH_ALIASES, MULTIPLE_GROUPS } from "../__resources__/CommandDefinitions"; import { TestLogger } from "../../../../__tests__/src/TestLogger"; import { inspect } from "util"; -import { CommandUtils, ICommandTreeEntry } from "../../"; +import { CommandUtils, ICommandTreeEntry } from "../../../../"; import { cloneDeep } from "lodash"; // UnitTestUtils.replaceIt(); diff --git a/packages/imperative/src/cmd/__tests__/utils/SharedOptions.unit.test.ts b/packages/imperative/__tests__/__unit__/cmd/utils/SharedOptions.unit.test.ts similarity index 91% rename from packages/imperative/src/cmd/__tests__/utils/SharedOptions.unit.test.ts rename to packages/imperative/__tests__/__unit__/cmd/utils/SharedOptions.unit.test.ts index d9690978a7..a51abec191 100644 --- a/packages/imperative/src/cmd/__tests__/utils/SharedOptions.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/cmd/utils/SharedOptions.unit.test.ts @@ -10,12 +10,12 @@ */ // jest.mock("process"); -import { SharedOptions } from "../../src/utils/SharedOptions"; -import { Constants } from "../../../constants/src/Constants"; +import { SharedOptions } from "../../../../src/cmd/utils/SharedOptions"; +import { Constants } from "../../../../src/constants/Constants"; import { Socket } from "net"; -import { ImperativeError } from "../../../error"; -import { CommandResponse } from "../../src/response/CommandResponse"; +import { ImperativeError } from "../../../../src/error"; +import { CommandResponse } from "../../../../src/cmd/response/CommandResponse"; jest.mock("../../src/response/CommandResponse"); diff --git a/packages/imperative/src/cmd/__tests__/utils/__snapshots__/CommandUtils.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/cmd/utils/__snapshots__/CommandUtils.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/cmd/__tests__/utils/__snapshots__/CommandUtils.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/cmd/utils/__snapshots__/CommandUtils.unit.test.ts.snap diff --git a/packages/imperative/src/cmd/__tests__/utils/__snapshots__/SharedOptions.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/cmd/utils/__snapshots__/SharedOptions.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/cmd/__tests__/utils/__snapshots__/SharedOptions.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/cmd/utils/__snapshots__/SharedOptions.unit.test.ts.snap diff --git a/packages/imperative/src/cmd/__tests__/yargs/YargsConfigurer.unit.test.ts b/packages/imperative/__tests__/__unit__/cmd/yargs/YargsConfigurer.unit.test.ts similarity index 98% rename from packages/imperative/src/cmd/__tests__/yargs/YargsConfigurer.unit.test.ts rename to packages/imperative/__tests__/__unit__/cmd/yargs/YargsConfigurer.unit.test.ts index 6c3b0c7049..76f9df4fed 100644 --- a/packages/imperative/src/cmd/__tests__/yargs/YargsConfigurer.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/cmd/yargs/YargsConfigurer.unit.test.ts @@ -9,8 +9,8 @@ * */ -import { CommandProcessor } from "../../src/CommandProcessor"; -import { Constants, ImperativeConfig, YargsConfigurer } from "../../.."; +import { CommandProcessor } from "../../../../src/cmd/CommandProcessor"; +import { Constants, ImperativeConfig, YargsConfigurer } from "../../../.."; jest.mock("yargs"); jest.mock("../../src/CommandProcessor"); diff --git a/packages/imperative/src/cmd/__tests__/yargs/__snapshots__/YargsConfigurer.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/cmd/yargs/__snapshots__/YargsConfigurer.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/cmd/__tests__/yargs/__snapshots__/YargsConfigurer.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/cmd/yargs/__snapshots__/YargsConfigurer.unit.test.ts.snap diff --git a/packages/imperative/src/config/__tests__/Config.api.unit.test.ts b/packages/imperative/__tests__/__unit__/config/Config.api.unit.test.ts similarity index 98% rename from packages/imperative/src/config/__tests__/Config.api.unit.test.ts rename to packages/imperative/__tests__/__unit__/config/Config.api.unit.test.ts index 120166a7df..5c783e1224 100644 --- a/packages/imperative/src/config/__tests__/Config.api.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/config/Config.api.unit.test.ts @@ -12,12 +12,12 @@ import * as fs from "fs"; import * as path from "path"; import * as JSONC from "comment-json"; -import { ConfigSecure } from "../src/api"; -import { Config } from "../src/Config"; -import { ConfigConstants } from "../src/ConfigConstants"; -import { IConfig } from "../src/doc/IConfig"; -import { IConfigLayer } from "../src/doc/IConfigLayer"; -import { IConfigProfile } from "../src/doc/IConfigProfile"; +import { ConfigSecure } from "../../../src/config/api"; +import { Config } from "../../../src/config/"; +import { ConfigConstants } from "../../../src/config/ConfigConstants"; +import { IConfig } from "../../../src/config/doc/IConfig"; +import { IConfigLayer } from "../../../src/config/doc/IConfigLayer"; +import { IConfigProfile } from "../../../src/config/doc/IConfigProfile"; const MY_APP = "my_app"; diff --git a/packages/imperative/src/config/__tests__/Config.secure.unit.test.ts b/packages/imperative/__tests__/__unit__/config/Config.secure.unit.test.ts similarity index 91% rename from packages/imperative/src/config/__tests__/Config.secure.unit.test.ts rename to packages/imperative/__tests__/__unit__/config/Config.secure.unit.test.ts index 44500f6737..304ca140ca 100644 --- a/packages/imperative/src/config/__tests__/Config.secure.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/config/Config.secure.unit.test.ts @@ -12,12 +12,12 @@ import * as fs from "fs"; import * as path from "path"; import * as lodash from "lodash"; -import { CredentialManagerFactory } from "../../security"; -import { ImperativeError } from "../../error/src/ImperativeError"; -import { Config } from "../src/Config"; -import { IConfig } from "../src/doc/IConfig"; -import { IConfigSecure } from "../src/doc/IConfigSecure"; -import { IConfigVault } from "../src/doc/IConfigVault"; +import { CredentialManagerFactory } from "../../../src/security"; +import { ImperativeError } from "../../../src/error/ImperativeError"; +import { Config } from "../../../src/config/Config"; +import { IConfig } from "../../../src/config/doc/IConfig"; +import { IConfigSecure } from "../../../src/config/doc/IConfigSecure"; +import { IConfigVault } from "../../../src/config/doc/IConfigVault"; const MY_APP = "my_app"; @@ -161,7 +161,10 @@ describe("Config secure tests", () => { .mockReturnValueOnce(false); // Global layer jest.spyOn(fs, "readFileSync"); const config = await Config.load(MY_APP); - expect(config.api.secure.secureFields()).toEqual(["profiles.fruit.properties.secret"]); + expect(config.api.secure.secureFields()).toEqual([ + "profiles.fruit.properties.secret", + "profiles.fruit.profiles.grape.properties.secret2" + ]); }); it("should list all secure fields for a profile", async () => { @@ -176,6 +179,19 @@ describe("Config secure tests", () => { expect(config.api.secure.securePropsForProfile("fruit.apple")).toEqual(["secret"]); }); + it("should not list secure fields for a profile with partial name match", async () => { + jest.spyOn(Config, "search").mockReturnValue(projectConfigPath); + jest.spyOn(fs, "existsSync") + .mockReturnValueOnce(false) // Project user layer + .mockReturnValueOnce(true) // Project layer + .mockReturnValueOnce(false) // User layer + .mockReturnValueOnce(false); // Global layer + jest.spyOn(fs, "readFileSync"); + const config = await Config.load(MY_APP); + expect(config.api.secure.securePropsForProfile("fruit.grape")).toEqual(["secret", "secret2"]); + expect(config.api.secure.securePropsForProfile("fruit.grapefruit")).toEqual(["secret"]); + }); + describe("secureInfoForProp", () => { const configProperties: IConfig = { profiles: { diff --git a/packages/imperative/src/config/__tests__/Config.unit.test.ts b/packages/imperative/__tests__/__unit__/config/Config.unit.test.ts similarity index 99% rename from packages/imperative/src/config/__tests__/Config.unit.test.ts rename to packages/imperative/__tests__/__unit__/config/Config.unit.test.ts index 708e480243..92cfaaaa4e 100644 --- a/packages/imperative/src/config/__tests__/Config.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/config/Config.unit.test.ts @@ -13,11 +13,11 @@ import * as fs from "fs"; import * as os from "os"; import * as path from "path"; import * as findUp from "find-up"; -import { ImperativeError } from "../../error/src/ImperativeError"; -import { Config } from "../src/Config"; -import { ConfigConstants } from "../src/ConfigConstants"; +import { ImperativeError } from "../../../src/error/ImperativeError"; +import { Config } from "../../../src/config/Config"; +import { ConfigConstants } from "../../../src/config/ConfigConstants"; import * as JSONC from "comment-json"; -import { ConfigLayers, ConfigSecure } from "../src/api"; +import { ConfigLayers, ConfigSecure } from "../../../src/config/api"; const MY_APP = "my_app"; diff --git a/packages/imperative/src/config/__tests__/ConfigAutoStore.unit.test.ts b/packages/imperative/__tests__/__unit__/config/ConfigAutoStore.unit.test.ts similarity index 98% rename from packages/imperative/src/config/__tests__/ConfigAutoStore.unit.test.ts rename to packages/imperative/__tests__/__unit__/config/ConfigAutoStore.unit.test.ts index a861671f60..7f52b48c79 100644 --- a/packages/imperative/src/config/__tests__/ConfigAutoStore.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/config/ConfigAutoStore.unit.test.ts @@ -9,11 +9,11 @@ * */ -jest.mock("../../logger/src/LoggerUtils"); -import { AbstractAuthHandler } from "../../imperative"; -import { SessConstants } from "../../rest"; -import { ImperativeConfig } from "../../utilities"; -import { ConfigAutoStore } from "../src/ConfigAutoStore"; +jest.mock("../../../src/logger/LoggerUtils"); +import { AbstractAuthHandler } from "../../../src/imperative"; +import { SessConstants } from "../../../src/rest"; +import { ImperativeConfig } from "../../../src/utilities/ImperativeConfig"; +import { ConfigAutoStore } from "../../../src/config/ConfigAutoStore"; import { setupConfigToLoad } from "../../../__tests__/src/TestUtil"; describe("ConfigAutoStore tests", () => { diff --git a/packages/imperative/src/config/__tests__/ConfigBuilder.unit.test.ts b/packages/imperative/__tests__/__unit__/config/ConfigBuilder.unit.test.ts similarity index 99% rename from packages/imperative/src/config/__tests__/ConfigBuilder.unit.test.ts rename to packages/imperative/__tests__/__unit__/config/ConfigBuilder.unit.test.ts index f7e2f63cb5..f47c08153a 100644 --- a/packages/imperative/src/config/__tests__/ConfigBuilder.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/config/ConfigBuilder.unit.test.ts @@ -9,9 +9,9 @@ * */ -import { CredentialManagerFactory, IImperativeConfig } from "../.."; -import { Config, ConfigBuilder, IConfig } from "../"; -import { ProfileIO } from "../../profiles"; +import { CredentialManagerFactory, IImperativeConfig } from "../../../"; +import { Config, ConfigBuilder, IConfig } from "../../../"; +import { ProfileIO } from "../../../src/profiles"; import * as config from "../../../__tests__/__integration__/imperative/src/imperative"; import * as lodash from "lodash"; diff --git a/packages/imperative/src/config/__tests__/ConfigSchema.unit.test.ts b/packages/imperative/__tests__/__unit__/config/ConfigSchema.unit.test.ts similarity index 99% rename from packages/imperative/src/config/__tests__/ConfigSchema.unit.test.ts rename to packages/imperative/__tests__/__unit__/config/ConfigSchema.unit.test.ts index b0d582622e..38087b0e7c 100644 --- a/packages/imperative/src/config/__tests__/ConfigSchema.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/config/ConfigSchema.unit.test.ts @@ -9,11 +9,11 @@ * */ -import { IProfileTypeConfiguration } from "../../profiles"; -import { ConfigSchema } from "../src/ConfigSchema"; +import { IProfileTypeConfiguration } from "../../../src/profiles"; +import { ConfigSchema } from "../../../src/config/ConfigSchema"; import { cloneDeep } from "lodash"; -import { ICommandProfileTypeConfiguration, ImperativeConfig, Logger } from "../.."; -import { Config, IConfig, IConfigLayer, IConfigUpdateSchemaHelperOptions } from ".."; +import { ICommandProfileTypeConfiguration, ImperativeConfig, Logger } from "../../../"; +import { Config, IConfig, IConfigLayer, IConfigUpdateSchemaHelperOptions } from "../../.."; import * as path from "path"; describe("Config Schema", () => { diff --git a/packages/imperative/src/config/__tests__/ConfigUtils.unit.test.ts b/packages/imperative/__tests__/__unit__/config/ConfigUtils.unit.test.ts similarity index 94% rename from packages/imperative/src/config/__tests__/ConfigUtils.unit.test.ts rename to packages/imperative/__tests__/__unit__/config/ConfigUtils.unit.test.ts index c909303d13..f7ad2e004d 100644 --- a/packages/imperative/src/config/__tests__/ConfigUtils.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/config/ConfigUtils.unit.test.ts @@ -9,9 +9,9 @@ * */ -import * as ConfigUtils from "../../config/src/ConfigUtils"; -import { CredentialManagerFactory } from "../../security"; -import { ImperativeConfig } from "../../utilities"; +import { ConfigUtils } from "../../../src/config/ConfigUtils"; +import { CredentialManagerFactory } from "../../../src/security"; +import { ImperativeConfig } from "../../../src/utilities/ImperativeConfig"; describe("Config Utils", () => { describe("coercePropValue", () => { diff --git a/packages/imperative/src/config/__tests__/ProfInfoErr.unit.test.ts b/packages/imperative/__tests__/__unit__/config/ProfInfoErr.unit.test.ts similarity index 98% rename from packages/imperative/src/config/__tests__/ProfInfoErr.unit.test.ts rename to packages/imperative/__tests__/__unit__/config/ProfInfoErr.unit.test.ts index b3bffe3691..ece785c3e9 100644 --- a/packages/imperative/src/config/__tests__/ProfInfoErr.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/config/ProfInfoErr.unit.test.ts @@ -9,7 +9,7 @@ * */ -import { ProfInfoErr } from "../src/ProfInfoErr"; +import { ProfInfoErr } from "../../../src/config/ProfInfoErr"; describe("ProfInfoErr tests", () => { it("should throw error with only impErrDetails", async () => { diff --git a/packages/imperative/src/config/__tests__/ProfileCredentials.unit.test.ts b/packages/imperative/__tests__/__unit__/config/ProfileCredentials.unit.test.ts similarity index 97% rename from packages/imperative/src/config/__tests__/ProfileCredentials.unit.test.ts rename to packages/imperative/__tests__/__unit__/config/ProfileCredentials.unit.test.ts index cb8c450dae..c52513da57 100644 --- a/packages/imperative/src/config/__tests__/ProfileCredentials.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/config/ProfileCredentials.unit.test.ts @@ -10,13 +10,13 @@ */ import * as fs from "fs"; -import { CredentialManagerFactory, DefaultCredentialManager, ICredentialManagerInit } from "../../security"; -import { ConfigSecure } from "../src/api/ConfigSecure"; -import { ProfileCredentials } from "../src/ProfileCredentials"; +import { CredentialManagerFactory, DefaultCredentialManager, ICredentialManagerInit } from "../../../src/security"; +import { ConfigSecure } from "../../../src/config/api/ConfigSecure"; +import { ProfileCredentials } from "../../../src/config/ProfileCredentials"; jest.mock("../../security/src/CredentialManagerFactory"); jest.mock("../../security/src/DefaultCredentialManager"); -jest.mock("../../utilities/src/ImperativeConfig"); +jest.mock("../../utilities/ImperativeConfig"); function mockConfigApi(secureApi: Partial): any { return { diff --git a/packages/imperative/src/config/__tests__/ProfileInfo.OldProfiles.unit.test.ts b/packages/imperative/__tests__/__unit__/config/ProfileInfo.OldProfiles.unit.test.ts similarity index 98% rename from packages/imperative/src/config/__tests__/ProfileInfo.OldProfiles.unit.test.ts rename to packages/imperative/__tests__/__unit__/config/ProfileInfo.OldProfiles.unit.test.ts index d73f69e081..5b6f8e1d7d 100644 --- a/packages/imperative/src/config/__tests__/ProfileInfo.OldProfiles.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/config/ProfileInfo.OldProfiles.unit.test.ts @@ -10,14 +10,14 @@ */ import * as path from "path"; -import { ProfileInfo } from "../src/ProfileInfo"; -import { IProfAttrs } from "../src/doc/IProfAttrs"; -import { IProfOpts } from "../src/doc/IProfOpts"; -import { ProfInfoErr } from "../src/ProfInfoErr"; -import { ProfLocType } from "../src/doc/IProfLoc"; -import { IProfileSchema, ProfileIO } from "../../profiles"; -import { ImperativeError } from "../../error"; -import { IProfArgAttrs } from "../src/doc/IProfArgAttrs"; +import { ProfileInfo } from "../../../src/config/ProfileInfo"; +import { IProfAttrs } from "../../../src/config//doc/IProfAttrs"; +import { IProfOpts } from "../../../src/config/doc/IProfOpts"; +import { ProfInfoErr } from "../../../src/config/ProfInfoErr"; +import { ProfLocType } from "../../../src/config/doc/IProfLoc"; +import { IProfileSchema, ProfileIO } from "../../../src/profiles"; +import { ImperativeError } from "../../../src/error"; +import { IProfArgAttrs } from "../../../src/config/doc/IProfArgAttrs"; const testAppNm = "ProfInfoApp"; const testEnvPrefix = testAppNm.toUpperCase(); diff --git a/packages/imperative/src/config/__tests__/ProfileInfo.TeamConfig.unit.test.ts b/packages/imperative/__tests__/__unit__/config/ProfileInfo.TeamConfig.unit.test.ts similarity index 98% rename from packages/imperative/src/config/__tests__/ProfileInfo.TeamConfig.unit.test.ts rename to packages/imperative/__tests__/__unit__/config/ProfileInfo.TeamConfig.unit.test.ts index 1042b5a537..e3cf436b7e 100644 --- a/packages/imperative/src/config/__tests__/ProfileInfo.TeamConfig.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/config/ProfileInfo.TeamConfig.unit.test.ts @@ -12,19 +12,19 @@ import * as path from "path"; import * as jsonfile from "jsonfile"; import * as lodash from "lodash"; -import { ProfileInfo } from "../src/ProfileInfo"; -import { IProfAttrs } from "../src/doc/IProfAttrs"; -import { IProfArgAttrs } from "../src/doc/IProfArgAttrs"; -import { IProfOpts } from "../src/doc/IProfOpts"; -import { ProfInfoErr } from "../src/ProfInfoErr"; -import { Config } from "../src/Config"; -import { IConfigOpts } from "../src/doc/IConfigOpts"; -import { ProfLocType } from "../src/doc/IProfLoc"; -import { IProfileSchema } from "../../profiles"; -import { AbstractSession, SessConstants } from "../../rest"; -import { ConfigAutoStore } from "../src/ConfigAutoStore"; -import { ImperativeConfig } from "../../utilities/src/ImperativeConfig"; -import { ImperativeError } from "../../error"; +import { ProfileInfo } from "../../../src/config/ProfileInfo"; +import { IProfAttrs } from "../../../src/config/doc/IProfAttrs"; +import { IProfArgAttrs } from "../../../src/config/doc/IProfArgAttrs"; +import { IProfOpts } from "../../../src/config/doc/IProfOpts"; +import { ProfInfoErr } from "../../../src/config/ProfInfoErr"; +import { Config } from "../../../src/config/Config"; +import { IConfigOpts } from "../../../src/config/doc/IConfigOpts"; +import { ProfLocType } from "../../../src/config/doc/IProfLoc"; +import { IProfileSchema } from "../../../src/profiles"; +import { AbstractSession, SessConstants } from "../../../src/rest"; +import { ConfigAutoStore } from "../../../src/config/ConfigAutoStore"; +import { ImperativeConfig } from "../../../src/utilities/ImperativeConfig"; +import { ImperativeError } from "../../../src/error"; const testAppNm = "ProfInfoApp"; const testEnvPrefix = testAppNm.toUpperCase(); diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home/profiles/base/base_apiml.yaml b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home/profiles/base/base_apiml.yaml similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home/profiles/base/base_apiml.yaml rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home/profiles/base/base_apiml.yaml diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home/profiles/base/base_for_userNm.yaml b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home/profiles/base/base_for_userNm.yaml similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home/profiles/base/base_for_userNm.yaml rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home/profiles/base/base_for_userNm.yaml diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home/profiles/base/base_meta.yaml b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home/profiles/base/base_meta.yaml similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home/profiles/base/base_meta.yaml rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home/profiles/base/base_meta.yaml diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home/profiles/missing/missing_meta.yaml b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home/profiles/missing/missing_meta.yaml similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home/profiles/missing/missing_meta.yaml rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home/profiles/missing/missing_meta.yaml diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home/profiles/tso/tsoProfName.yaml b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home/profiles/tso/tsoProfName.yaml similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home/profiles/tso/tsoProfName.yaml rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home/profiles/tso/tsoProfName.yaml diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home/profiles/tso/tso_meta.yaml b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home/profiles/tso/tso_meta.yaml similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home/profiles/tso/tso_meta.yaml rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home/profiles/tso/tso_meta.yaml diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home/profiles/zosmf/lpar1_zosmf.yaml b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home/profiles/zosmf/lpar1_zosmf.yaml similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home/profiles/zosmf/lpar1_zosmf.yaml rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home/profiles/zosmf/lpar1_zosmf.yaml diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home/profiles/zosmf/lpar2_zosmf.yaml b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home/profiles/zosmf/lpar2_zosmf.yaml similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home/profiles/zosmf/lpar2_zosmf.yaml rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home/profiles/zosmf/lpar2_zosmf.yaml diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home/profiles/zosmf/lpar3_zosmf.yaml b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home/profiles/zosmf/lpar3_zosmf.yaml similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home/profiles/zosmf/lpar3_zosmf.yaml rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home/profiles/zosmf/lpar3_zosmf.yaml diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home/profiles/zosmf/lpar4_zosmf.yaml b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home/profiles/zosmf/lpar4_zosmf.yaml similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home/profiles/zosmf/lpar4_zosmf.yaml rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home/profiles/zosmf/lpar4_zosmf.yaml diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home/profiles/zosmf/lpar5_zosmf.yaml b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home/profiles/zosmf/lpar5_zosmf.yaml similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home/profiles/zosmf/lpar5_zosmf.yaml rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home/profiles/zosmf/lpar5_zosmf.yaml diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home/profiles/zosmf/zosmf_meta.yaml b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home/profiles/zosmf/zosmf_meta.yaml similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home/profiles/zosmf/zosmf_meta.yaml rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home/profiles/zosmf/zosmf_meta.yaml diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home_team_config_proj/ProfInfoApp.config.json b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home_team_config_proj/ProfInfoApp.config.json similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home_team_config_proj/ProfInfoApp.config.json rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home_team_config_proj/ProfInfoApp.config.json diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home_team_config_proj/ProfInfoApp.schema.json b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home_team_config_proj/ProfInfoApp.schema.json similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home_team_config_proj/ProfInfoApp.schema.json rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home_team_config_proj/ProfInfoApp.schema.json diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home_three/profiles/base/base_meta.yaml b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home_three/profiles/base/base_meta.yaml similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home_three/profiles/base/base_meta.yaml rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home_three/profiles/base/base_meta.yaml diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home_three/profiles/tso/tso_meta.yaml b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home_three/profiles/tso/tso_meta.yaml similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home_three/profiles/tso/tso_meta.yaml rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home_three/profiles/tso/tso_meta.yaml diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home_three/profiles/zosmf/zosmf_meta.yaml b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home_three/profiles/zosmf/zosmf_meta.yaml similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home_three/profiles/zosmf/zosmf_meta.yaml rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home_three/profiles/zosmf/zosmf_meta.yaml diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home_two/profiles/base/base_apiml.yaml b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home_two/profiles/base/base_apiml.yaml similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home_two/profiles/base/base_apiml.yaml rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home_two/profiles/base/base_apiml.yaml diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home_two/profiles/base/base_for_userNm.yaml b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home_two/profiles/base/base_for_userNm.yaml similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home_two/profiles/base/base_for_userNm.yaml rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home_two/profiles/base/base_for_userNm.yaml diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home_two/profiles/base/base_meta.yaml b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home_two/profiles/base/base_meta.yaml similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home_two/profiles/base/base_meta.yaml rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home_two/profiles/base/base_meta.yaml diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home_two/profiles/tso/tsoProfName.yaml b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home_two/profiles/tso/tsoProfName.yaml similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home_two/profiles/tso/tsoProfName.yaml rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home_two/profiles/tso/tsoProfName.yaml diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home_two/profiles/tso/tso_meta.yaml b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home_two/profiles/tso/tso_meta.yaml similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home_two/profiles/tso/tso_meta.yaml rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home_two/profiles/tso/tso_meta.yaml diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home_two/profiles/zosmf/lpar1_zosmf.yaml b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home_two/profiles/zosmf/lpar1_zosmf.yaml similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home_two/profiles/zosmf/lpar1_zosmf.yaml rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home_two/profiles/zosmf/lpar1_zosmf.yaml diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home_two/profiles/zosmf/lpar2_zosmf.yaml b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home_two/profiles/zosmf/lpar2_zosmf.yaml similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home_two/profiles/zosmf/lpar2_zosmf.yaml rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home_two/profiles/zosmf/lpar2_zosmf.yaml diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home_two/profiles/zosmf/lpar3_zosmf.yaml b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home_two/profiles/zosmf/lpar3_zosmf.yaml similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home_two/profiles/zosmf/lpar3_zosmf.yaml rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home_two/profiles/zosmf/lpar3_zosmf.yaml diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home_two/profiles/zosmf/lpar4_zosmf.yaml b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home_two/profiles/zosmf/lpar4_zosmf.yaml similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home_two/profiles/zosmf/lpar4_zosmf.yaml rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home_two/profiles/zosmf/lpar4_zosmf.yaml diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home_two/profiles/zosmf/lpar5_zosmf.yaml b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home_two/profiles/zosmf/lpar5_zosmf.yaml similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home_two/profiles/zosmf/lpar5_zosmf.yaml rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home_two/profiles/zosmf/lpar5_zosmf.yaml diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home_two/profiles/zosmf/zosmf_meta.yaml b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home_two/profiles/zosmf/zosmf_meta.yaml similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_home_two/profiles/zosmf/zosmf_meta.yaml rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_home_two/profiles/zosmf/zosmf_meta.yaml diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_large_team_config_proj/ProfInfoApp.config.json b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_large_team_config_proj/ProfInfoApp.config.json similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_large_team_config_proj/ProfInfoApp.config.json rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_large_team_config_proj/ProfInfoApp.config.json diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_nested_team_config_proj/ProfInfoApp.config.json b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_nested_team_config_proj/ProfInfoApp.config.json similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_nested_team_config_proj/ProfInfoApp.config.json rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_nested_team_config_proj/ProfInfoApp.config.json diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_nested_team_config_proj/ProfInfoApp.schema.json b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_nested_team_config_proj/ProfInfoApp.schema.json similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_nested_team_config_proj/ProfInfoApp.schema.json rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_nested_team_config_proj/ProfInfoApp.schema.json diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_team_config_proj/ProfInfoApp.config.json b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_team_config_proj/ProfInfoApp.config.json similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_team_config_proj/ProfInfoApp.config.json rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_team_config_proj/ProfInfoApp.config.json diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_team_config_proj/ProfInfoApp.schema.json b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_team_config_proj/ProfInfoApp.schema.json similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_team_config_proj/ProfInfoApp.schema.json rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_team_config_proj/ProfInfoApp.schema.json diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_user_and_team_config_proj/ProfInfoApp.config.json b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_user_and_team_config_proj/ProfInfoApp.config.json similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_user_and_team_config_proj/ProfInfoApp.config.json rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_user_and_team_config_proj/ProfInfoApp.config.json diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_user_and_team_config_proj/ProfInfoApp.config.user.json b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_user_and_team_config_proj/ProfInfoApp.config.user.json similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_user_and_team_config_proj/ProfInfoApp.config.user.json rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_user_and_team_config_proj/ProfInfoApp.config.user.json diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_user_and_team_config_proj/ProfInfoApp.schema.json b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_user_and_team_config_proj/ProfInfoApp.schema.json similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_user_and_team_config_proj/ProfInfoApp.schema.json rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_user_and_team_config_proj/ProfInfoApp.schema.json diff --git a/packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_user_and_team_config_proj/ProfInfoApp_user.schema.json b/packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_user_and_team_config_proj/ProfInfoApp_user.schema.json similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/ProfInfoApp_user_and_team_config_proj/ProfInfoApp_user.schema.json rename to packages/imperative/__tests__/__unit__/config/__resources__/ProfInfoApp_user_and_team_config_proj/ProfInfoApp_user.schema.json diff --git a/packages/imperative/src/config/__tests__/__resources__/badproject.config.json b/packages/imperative/__tests__/__unit__/config/__resources__/badproject.config.json similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/badproject.config.json rename to packages/imperative/__tests__/__unit__/config/__resources__/badproject.config.json diff --git a/packages/imperative/src/config/__tests__/__resources__/commented-project.config.user.json b/packages/imperative/__tests__/__unit__/config/__resources__/commented-project.config.user.json similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/commented-project.config.user.json rename to packages/imperative/__tests__/__unit__/config/__resources__/commented-project.config.user.json diff --git a/packages/imperative/src/config/__tests__/__resources__/my_app.config.json b/packages/imperative/__tests__/__unit__/config/__resources__/my_app.config.json similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/my_app.config.json rename to packages/imperative/__tests__/__unit__/config/__resources__/my_app.config.json diff --git a/packages/imperative/src/config/__tests__/__resources__/my_app.config.user.json b/packages/imperative/__tests__/__unit__/config/__resources__/my_app.config.user.json similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/my_app.config.user.json rename to packages/imperative/__tests__/__unit__/config/__resources__/my_app.config.user.json diff --git a/packages/imperative/src/config/__tests__/__resources__/my_app.schema.json b/packages/imperative/__tests__/__unit__/config/__resources__/my_app.schema.json similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/my_app.schema.json rename to packages/imperative/__tests__/__unit__/config/__resources__/my_app.schema.json diff --git a/packages/imperative/src/config/__tests__/__resources__/project.config.json b/packages/imperative/__tests__/__unit__/config/__resources__/project.config.json similarity index 60% rename from packages/imperative/src/config/__tests__/__resources__/project.config.json rename to packages/imperative/__tests__/__unit__/config/__resources__/project.config.json index 5a69cd0ddf..c2a1b3be7f 100644 --- a/packages/imperative/src/config/__tests__/__resources__/project.config.json +++ b/packages/imperative/__tests__/__unit__/config/__resources__/project.config.json @@ -16,6 +16,21 @@ "properties": { "color": "orange" } + }, + "grape": { + "type": "fruit", + "properties": { + "color": "red" + }, + "secure": [ + "secret2" + ] + }, + "grapefruit": { + "type": "fruit", + "properties": { + "color": "pink" + } } }, "secure": [ diff --git a/packages/imperative/src/config/__tests__/__resources__/project.config.user.json b/packages/imperative/__tests__/__unit__/config/__resources__/project.config.user.json similarity index 100% rename from packages/imperative/src/config/__tests__/__resources__/project.config.user.json rename to packages/imperative/__tests__/__unit__/config/__resources__/project.config.user.json diff --git a/packages/imperative/src/config/__tests__/__snapshots__/Config.api.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/config/__snapshots__/Config.api.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/config/__tests__/__snapshots__/Config.api.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/config/__snapshots__/Config.api.unit.test.ts.snap diff --git a/packages/imperative/src/config/__tests__/__snapshots__/Config.secure.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/config/__snapshots__/Config.secure.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/config/__tests__/__snapshots__/Config.secure.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/config/__snapshots__/Config.secure.unit.test.ts.snap diff --git a/packages/imperative/src/config/__tests__/__snapshots__/Config.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/config/__snapshots__/Config.unit.test.ts.snap similarity index 88% rename from packages/imperative/src/config/__tests__/__snapshots__/Config.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/config/__snapshots__/Config.unit.test.ts.snap index 5c9a0e7e47..eca30feba2 100644 --- a/packages/imperative/src/config/__tests__/__snapshots__/Config.unit.test.ts.snap +++ b/packages/imperative/__tests__/__unit__/config/__snapshots__/Config.unit.test.ts.snap @@ -67,6 +67,21 @@ Object { }, "type": "fruit", }, + "grape": Object { + "properties": Object { + "color": "red", + }, + "secure": Array [ + "secret2", + ], + "type": "fruit", + }, + "grapefruit": Object { + "properties": Object { + "color": "pink", + }, + "type": "fruit", + }, "orange": Object { "properties": Object { "color": "orange", @@ -183,6 +198,21 @@ Object { }, "type": "fruit", }, + "grape": Object { + "properties": Object { + "color": "red", + }, + "secure": Array [ + "secret2", + ], + "type": "fruit", + }, + "grapefruit": Object { + "properties": Object { + "color": "pink", + }, + "type": "fruit", + }, "orange": Object { "properties": Object { "color": "orange", diff --git a/packages/imperative/src/config/__tests__/__snapshots__/ConfigSchema.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/config/__snapshots__/ConfigSchema.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/config/__tests__/__snapshots__/ConfigSchema.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/config/__snapshots__/ConfigSchema.unit.test.ts.snap diff --git a/packages/imperative/src/console/__tests__/Console.unit.test.ts b/packages/imperative/__tests__/__unit__/console/Console.unit.test.ts similarity index 98% rename from packages/imperative/src/console/__tests__/Console.unit.test.ts rename to packages/imperative/__tests__/__unit__/console/Console.unit.test.ts index 32f3d1f9c3..26ef0173f7 100644 --- a/packages/imperative/src/console/__tests__/Console.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/console/Console.unit.test.ts @@ -9,7 +9,7 @@ * */ -import { Console } from "../../console"; +import { Console } from "../../../src/console"; describe("Console tests", () => { it("Should allow for checking if a level is valid", () => { diff --git a/packages/imperative/src/error/__tests__/ImperativeError.unit.test.ts b/packages/imperative/__tests__/__unit__/error/ImperativeError.unit.test.ts similarity index 91% rename from packages/imperative/src/error/__tests__/ImperativeError.unit.test.ts rename to packages/imperative/__tests__/__unit__/error/ImperativeError.unit.test.ts index a6e46e64e5..94ddf6dbde 100644 --- a/packages/imperative/src/error/__tests__/ImperativeError.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/error/ImperativeError.unit.test.ts @@ -9,7 +9,7 @@ * */ -import { ImperativeError } from "../src/ImperativeError"; +import { ImperativeError } from "../../../src/error/ImperativeError"; describe("ImperativeError", () => { it("should not throw any deprecation warnings", () => { diff --git a/packages/imperative/src/expect/__tests__/ImperativeExpect.unit.test.ts b/packages/imperative/__tests__/__unit__/expect/ImperativeExpect.unit.test.ts similarity index 98% rename from packages/imperative/src/expect/__tests__/ImperativeExpect.unit.test.ts rename to packages/imperative/__tests__/__unit__/expect/ImperativeExpect.unit.test.ts index 9c13f16571..bfb49ba984 100644 --- a/packages/imperative/src/expect/__tests__/ImperativeExpect.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/expect/ImperativeExpect.unit.test.ts @@ -9,8 +9,8 @@ * */ -import { ImperativeExpect } from "../../expect"; -import { ImperativeError } from "../../error"; +import { ImperativeExpect } from "../../../src/expect"; +import { ImperativeError } from "../../../src/error"; import { TestLogger } from "../../../__tests__/src/TestLogger"; // UnitTestUtils.replaceIt(); diff --git a/packages/imperative/src/expect/__tests__/__snapshots__/ImperativeExpect.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/expect/__snapshots__/ImperativeExpect.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/expect/__tests__/__snapshots__/ImperativeExpect.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/expect/__snapshots__/ImperativeExpect.unit.test.ts.snap diff --git a/packages/imperative/src/imperative/__tests__/ConfigValidator.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/ConfigValidator.unit.test.ts similarity index 97% rename from packages/imperative/src/imperative/__tests__/ConfigValidator.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/ConfigValidator.unit.test.ts index bbee4d5c4b..b088a8b6a3 100644 --- a/packages/imperative/src/imperative/__tests__/ConfigValidator.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/ConfigValidator.unit.test.ts @@ -9,7 +9,7 @@ * */ -import { ConfigurationValidator, IImperativeConfig } from "../index"; +import { ConfigurationValidator, IImperativeConfig } from "../../../src/index"; describe("Imperative should validate config provided by the consumer", () => { diff --git a/packages/imperative/src/imperative/__tests__/ConfigurationLoader.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/ConfigurationLoader.unit.test.ts similarity index 95% rename from packages/imperative/src/imperative/__tests__/ConfigurationLoader.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/ConfigurationLoader.unit.test.ts index ed29e8905b..d8e75ec5a1 100644 --- a/packages/imperative/src/imperative/__tests__/ConfigurationLoader.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/ConfigurationLoader.unit.test.ts @@ -9,9 +9,9 @@ * */ -import { ConfigurationLoader } from ".."; -import { IImperativeOverrides } from "../src/doc/IImperativeOverrides"; -import { IApimlSvcAttrs } from "../src/doc/IApimlSvcAttrs"; +import { ConfigurationLoader } from "../../.."; +import { IImperativeOverrides } from "../../../src/imperative/doc/IImperativeOverrides"; +import { IApimlSvcAttrs } from "../../../src/imperative/doc/IApimlSvcAttrs"; import { homedir } from "os"; import * as path from "path"; diff --git a/packages/imperative/src/imperative/__tests__/DefinitionTreeResolver.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/DefinitionTreeResolver.unit.test.ts similarity index 94% rename from packages/imperative/src/imperative/__tests__/DefinitionTreeResolver.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/DefinitionTreeResolver.unit.test.ts index 4e551cf54a..4fa162f17c 100644 --- a/packages/imperative/src/imperative/__tests__/DefinitionTreeResolver.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/DefinitionTreeResolver.unit.test.ts @@ -9,11 +9,11 @@ * */ -import { DefinitionTreeResolver } from "../src/DefinitionTreeResolver"; -import { ImperativeError } from "../../error"; -import { Logger } from "../../logger"; -import { Console } from "../../console"; -import { ICommandDefinition } from "../../cmd"; +import { DefinitionTreeResolver } from "../../../src/imperative/DefinitionTreeResolver"; +import { ImperativeError } from "../../../src/error"; +import { Logger } from "../../../src/logger"; +import { Console } from "../../../src/console"; +import { ICommandDefinition } from "../../../src/cmd"; const fakeDefinition: ICommandDefinition = { name: "users", diff --git a/packages/imperative/src/imperative/__tests__/Imperative.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/Imperative.unit.test.ts similarity index 90% rename from packages/imperative/src/imperative/__tests__/Imperative.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/Imperative.unit.test.ts index 9b5ff1cc51..fd1688f3bb 100644 --- a/packages/imperative/src/imperative/__tests__/Imperative.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/Imperative.unit.test.ts @@ -12,13 +12,13 @@ import Mock = jest.Mock; import { join } from "path"; import { generateRandomAlphaNumericString } from "../../../__tests__/src/TestUtil"; -import { IImperativeConfig } from "../src/doc/IImperativeConfig"; -import { IImperativeOverrides } from "../src/doc/IImperativeOverrides"; -import { IConfigLogging } from "../../logger"; -import { IImperativeEnvironmentalVariableSettings } from ".."; -import { ICommandDefinition } from "../../cmd/src/doc/ICommandDefinition"; +import { IImperativeConfig } from "../../../src/imperative/doc/IImperativeConfig"; +import { IImperativeOverrides } from "../../../src/imperative/doc/IImperativeOverrides"; +import { IConfigLogging } from "../../../src/logger"; +import { IImperativeEnvironmentalVariableSettings } from "../../.."; +import { ICommandDefinition } from "../../../src/cmd/doc/ICommandDefinition"; import * as yargs from "yargs"; -import { ImperativeError } from "../../error/src/ImperativeError"; +import { ImperativeError } from "../../../src/error/ImperativeError"; describe("Imperative", () => { const mainModule = process.mainModule; @@ -34,14 +34,13 @@ describe("Imperative", () => { jest.doMock("../src/ConfigurationLoader"); jest.doMock("../src/ConfigurationValidator"); jest.doMock("../src/help/ImperativeHelpGeneratorFactory"); - jest.doMock("../../utilities/src/ImperativeConfig"); + jest.doMock("../../utilities/ImperativeConfig"); jest.doMock("../src/config/ConfigManagementFacility"); jest.doMock("../src/plugins/PluginManagementFacility"); jest.doMock("../../settings/src/AppSettings"); jest.doMock("../../logger/src/Logger"); jest.doMock("../src/env/EnvironmentalVariableSettings"); jest.doMock("../src/auth/builders/CompleteAuthGroupBuilder"); - jest.doMock("../src/profiles/builders/CompleteProfilesGroupBuilder"); jest.doMock("../src/config/cmd/auto-init/builders/CompleteAutoInitCommandBuilder"); jest.doMock("../../config/src/Config"); jest.doMock("../../security/src/CredentialManagerFactory"); @@ -52,13 +51,12 @@ describe("Imperative", () => { const { ConfigurationLoader } = require("../src/ConfigurationLoader"); const ConfigurationValidator = require("../src/ConfigurationValidator").ConfigurationValidator.validate; const { AppSettings } = require("../../settings"); - const { ImperativeConfig } = require("../../utilities/src/ImperativeConfig"); + const { ImperativeConfig } = require("../../utilities/ImperativeConfig"); const { ConfigManagementFacility } = require("../src/config/ConfigManagementFacility"); const { PluginManagementFacility } = require("../src/plugins/PluginManagementFacility"); const { Logger } = require("../../logger"); const { EnvironmentalVariableSettings } = require("../src/env/EnvironmentalVariableSettings"); const { CompleteAuthGroupBuilder } = require("../src/auth/builders/CompleteAuthGroupBuilder"); - const { CompleteProfilesGroupBuilder } = require("../src/profiles/builders/CompleteProfilesGroupBuilder"); const { CompleteAutoInitCommandBuilder } = require("../src/config/cmd/auto-init/builders/CompleteAutoInitCommandBuilder"); const { Config } = require("../../config/src/Config"); const { CredentialManagerFactory } = require("../../security/src/CredentialManagerFactory"); @@ -85,9 +83,6 @@ describe("Imperative", () => { CompleteAuthGroupBuilder: { getAuthGroup: CompleteAuthGroupBuilder.getAuthGroup as Mock }, - CompleteProfilesGroupBuilder: { - getProfileGroup: CompleteProfilesGroupBuilder.getProfileGroup as Mock - }, CompleteAutoInitCommandBuilder: { getAutoInitCommand: CompleteAutoInitCommandBuilder.getAutoInitCommand as Mock< typeof CompleteAutoInitCommandBuilder.getAutoInitCommand @@ -105,7 +100,7 @@ describe("Imperative", () => { // If we error here, jest silently fails and says the test is empty. So let's make sure // that doesn't happen! - const { Logger } = (jest as any).requireActual("../../logger/src/Logger"); + const { Logger } = (jest as any).requireActual("../src/logger/Logger"); Logger.getConsoleLogger().fatal("Imperative.test.ts test execution error!"); Logger.getConsoleLogger().fatal(error); @@ -623,41 +618,6 @@ describe("Imperative", () => { }] }; - it("should call getProfileGroup when we need to auto-generate commands", () => { - /* addAutoGeneratedCommands calls ImperativeConfig.instance.loadedConfig. - * getLoadedConfig is a getter of a property, so mock we the property. - * We need loadedConfig.autoGenerateProfileCommands to be null and - * loadedConfig.profiles to have something in it. - */ - Object.defineProperty(mocks.ImperativeConfig.instance, "loadedConfig", { - configurable: true, - get: jest.fn(() => fakeConfig) - }); - - const autoGenCmdTree = Imperative.addAutoGeneratedCommands(JSON.parse(JSON.stringify(mockRootCmdTree))); - expect(mocks.CompleteProfilesGroupBuilder.getProfileGroup).toHaveBeenCalledTimes(1); - expect(autoGenCmdTree.children.length).toBe(2); - }); - - it("should add base profile in getProfileGroup when it is defined in Imperative config", () => { - /* addAutoGeneratedCommands calls ImperativeConfig.instance.loadedConfig. - * getLoadedConfig is a getter of a property, so mock we the property. - * We need loadedConfig.autoGenerateProfileCommands to be null and - * loadedConfig.profiles to have something in it. - */ - Object.defineProperty(mocks.ImperativeConfig.instance, "loadedConfig", { - configurable: true, - get: jest.fn(() => { - return { ...fakeConfig, baseProfile: fakeConfig.profiles[0] }; - }) - }); - - const autoGenCmdTree = Imperative.addAutoGeneratedCommands(JSON.parse(JSON.stringify(mockRootCmdTree))); - expect(mocks.CompleteProfilesGroupBuilder.getProfileGroup).toHaveBeenCalledTimes(1); - expect(mocks.CompleteProfilesGroupBuilder.getProfileGroup.mock.calls[0][0].length).toBe(2); - expect(autoGenCmdTree.children.length).toBe(2); - }); - it("should add auth service in getAuthGroup when it is defined in Imperative config", () => { /* addAutoGeneratedCommands calls ImperativeConfig.instance.loadedConfig. * getLoadedConfig is a getter of a property, so mock we the property. @@ -698,8 +658,8 @@ describe("Imperative", () => { const autoGenCmdTree = Imperative.addAutoGeneratedCommands(JSON.parse(JSON.stringify(mockRootCmdTree))); expect(mocks.CompleteAuthGroupBuilder.getAuthGroup).toHaveBeenCalledTimes(1); - // Expect 3 command groups added (auth, config and profiles) - expect(autoGenCmdTree.children.length).toBe(3); + // Expect 2 command groups added (auth and config) + expect(autoGenCmdTree.children.length).toBe(2); }); it("should add auto init in the config group when it is defined in Imperative config", () => { diff --git a/packages/imperative/src/imperative/__tests__/LoggingConfigurer.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/LoggingConfigurer.unit.test.ts similarity index 98% rename from packages/imperative/src/imperative/__tests__/LoggingConfigurer.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/LoggingConfigurer.unit.test.ts index ba39b217b7..6bba102fe1 100644 --- a/packages/imperative/src/imperative/__tests__/LoggingConfigurer.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/LoggingConfigurer.unit.test.ts @@ -9,7 +9,7 @@ * */ -import { LoggingConfigurer } from "../src/LoggingConfigurer"; +import { LoggingConfigurer } from "../../../src/imperative/LoggingConfigurer"; import * as os from "os"; import * as path from "path"; diff --git a/packages/imperative/src/imperative/__tests__/OverridesLoader.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/OverridesLoader.unit.test.ts similarity index 97% rename from packages/imperative/src/imperative/__tests__/OverridesLoader.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/OverridesLoader.unit.test.ts index 1bc0f3ae2e..a5410b9dde 100644 --- a/packages/imperative/src/imperative/__tests__/OverridesLoader.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/OverridesLoader.unit.test.ts @@ -9,16 +9,17 @@ * */ -import { IImperativeConfig } from "../src/doc/IImperativeConfig"; +import { IImperativeConfig } from "../../../src/imperative/doc/IImperativeConfig"; jest.mock("../../security"); -jest.mock("../../utilities/src/ImperativeConfig"); +jest.mock("../../utilities/ImperativeConfig"); -import { OverridesLoader } from "../src/OverridesLoader"; -import { CredentialManagerFactory, AbstractCredentialManager } from "../../security"; +import { OverridesLoader } from "../../../src/imperative/OverridesLoader"; +import { CredentialManagerFactory, AbstractCredentialManager } from "../../../src/security"; import * as path from "path"; -import { ImperativeConfig, Logger } from "../.."; -import { AppSettings } from "../../settings"; +import { Logger } from "../../../"; +import { ImperativeConfig } from "../../../src/utilities/ImperativeConfig"; +import { AppSettings } from "../../../src/settings"; const TEST_MANAGER_NAME = "test manager"; diff --git a/packages/imperative/src/imperative/__tests__/__model__/Sample.configuration.ts b/packages/imperative/__tests__/__unit__/imperative/__model__/Sample.configuration.ts similarity index 88% rename from packages/imperative/src/imperative/__tests__/__model__/Sample.configuration.ts rename to packages/imperative/__tests__/__unit__/imperative/__model__/Sample.configuration.ts index 34e733f34d..d9a39f4ba7 100644 --- a/packages/imperative/src/imperative/__tests__/__model__/Sample.configuration.ts +++ b/packages/imperative/__tests__/__unit__/imperative/__model__/Sample.configuration.ts @@ -9,7 +9,7 @@ * */ -import { IImperativeConfig } from "../../src/doc/IImperativeConfig"; +import { IImperativeConfig } from "../../../../src/imperative/doc/IImperativeConfig"; import { homedir } from "os"; const config: IImperativeConfig = { diff --git a/packages/imperative/src/imperative/__tests__/__model__/Sample.definition.ts b/packages/imperative/__tests__/__unit__/imperative/__model__/Sample.definition.ts similarity index 92% rename from packages/imperative/src/imperative/__tests__/__model__/Sample.definition.ts rename to packages/imperative/__tests__/__unit__/imperative/__model__/Sample.definition.ts index 400411e552..6f8c113a37 100644 --- a/packages/imperative/src/imperative/__tests__/__model__/Sample.definition.ts +++ b/packages/imperative/__tests__/__unit__/imperative/__model__/Sample.definition.ts @@ -9,7 +9,7 @@ * */ -import { ICommandDefinition } from "../../../cmd"; +import { ICommandDefinition } from "../../../../src/cmd"; const IssueCommand: ICommandDefinition = { name: "users", diff --git a/packages/imperative/src/imperative/__tests__/__snapshots__/DefinitionTreeResolver.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/imperative/__snapshots__/DefinitionTreeResolver.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/imperative/__tests__/__snapshots__/DefinitionTreeResolver.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/imperative/__snapshots__/DefinitionTreeResolver.unit.test.ts.snap diff --git a/packages/imperative/src/imperative/__tests__/__snapshots__/LoggingConfigurer.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/imperative/__snapshots__/LoggingConfigurer.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/imperative/__tests__/__snapshots__/LoggingConfigurer.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/imperative/__snapshots__/LoggingConfigurer.unit.test.ts.snap diff --git a/packages/imperative/src/imperative/__tests__/config/cmd/auto-init/AutoInitCommandBuilder.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/config/auto-init/AutoInitCommandBuilder.unit.test.ts similarity index 85% rename from packages/imperative/src/imperative/__tests__/config/cmd/auto-init/AutoInitCommandBuilder.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/config/auto-init/AutoInitCommandBuilder.unit.test.ts index 1596a5d784..8c6ac8fc11 100644 --- a/packages/imperative/src/imperative/__tests__/config/cmd/auto-init/AutoInitCommandBuilder.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/config/auto-init/AutoInitCommandBuilder.unit.test.ts @@ -9,11 +9,11 @@ * */ -import { AutoInitCommandBuilder } from "../../../../src/config/cmd/auto-init/builders/AutoInitCommandBuilder"; -import { Logger } from "../../../../../logger"; -import { Constants } from "../../../../../constants"; +import { AutoInitCommandBuilder } from "../../../../../src/imperative/config/cmd/auto-init/builders/AutoInitCommandBuilder"; +import { Logger } from "../../../../../src/logger"; +import { Constants } from "../../../../../src/constants"; import { minimalAutoInitConfig } from "./__data__/SampleAutoInitConfig"; -import { ICommandDefinition } from "../../../../../cmd"; +import { ICommandDefinition } from "../../../../../src/cmd"; describe("AutoInitCommandBuilder", () => { it("should build command successfully if valid auto init config supplied with buildFull", () => { diff --git a/packages/imperative/src/imperative/__tests__/config/cmd/auto-init/BaseAutoInitHandler.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/config/auto-init/BaseAutoInitHandler.unit.test.ts similarity index 97% rename from packages/imperative/src/imperative/__tests__/config/cmd/auto-init/BaseAutoInitHandler.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/config/auto-init/BaseAutoInitHandler.unit.test.ts index c234a30523..4556878069 100644 --- a/packages/imperative/src/imperative/__tests__/config/cmd/auto-init/BaseAutoInitHandler.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/config/auto-init/BaseAutoInitHandler.unit.test.ts @@ -9,16 +9,17 @@ * */ -import { IHandlerParameters } from "../../../../../cmd"; -import { ImperativeConfig, ProcessUtils } from "../../../../../utilities"; +import { IHandlerParameters } from "../../../../../src/cmd"; +import { ImperativeConfig } from "../../../../../src/utilities/ImperativeConfig"; +import { ProcessUtils } from "../../../../../src/utilities/ProcessUtils"; import { FakeAutoInitHandler } from "./__data__/FakeAutoInitHandler"; import * as lodash from "lodash"; import * as jestDiff from "jest-diff"; import stripAnsi = require("strip-ansi"); -import { ConfigSchema } from "../../../../../config"; -import { CredentialManagerFactory } from "../../../../../security"; -import { SessConstants, Session } from "../../../../../rest"; -import { OverridesLoader } from "../../../../src/OverridesLoader"; +import { ConfigSchema } from "../../../../../src/config"; +import { CredentialManagerFactory } from "../../../../../src/security"; +import { SessConstants, Session } from "../../../../../src/rest"; +import { OverridesLoader } from "../../../../../src/imperative/OverridesLoader"; jest.mock("strip-ansi"); diff --git a/packages/imperative/src/imperative/__tests__/config/cmd/auto-init/CompleteAutoInitCommandBuilder.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/config/auto-init/CompleteAutoInitCommandBuilder.unit.test.ts similarity index 74% rename from packages/imperative/src/imperative/__tests__/config/cmd/auto-init/CompleteAutoInitCommandBuilder.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/config/auto-init/CompleteAutoInitCommandBuilder.unit.test.ts index d8feeab591..3793a3dd48 100644 --- a/packages/imperative/src/imperative/__tests__/config/cmd/auto-init/CompleteAutoInitCommandBuilder.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/config/auto-init/CompleteAutoInitCommandBuilder.unit.test.ts @@ -9,9 +9,9 @@ * */ -import { CompleteAutoInitCommandBuilder } from "../../../../src/config/cmd/auto-init/builders/CompleteAutoInitCommandBuilder"; -import { Logger } from "../../../../../logger"; -import { ICommandDefinition } from "../../../../../cmd"; +import { CompleteAutoInitCommandBuilder } from "../../../../../src/imperative/config/cmd/auto-init/builders/CompleteAutoInitCommandBuilder"; +import { Logger } from "../../../../../src/logger"; +import { ICommandDefinition } from "../../../../../src/cmd"; import { fakeAutoInitConfig } from "./__data__/SampleAutoInitConfig"; describe("CompleteAutoInitCommandBuilder", () => { diff --git a/packages/imperative/src/imperative/__tests__/config/cmd/auto-init/__data__/FakeAutoInitHandler.ts b/packages/imperative/__tests__/__unit__/imperative/config/auto-init/__data__/FakeAutoInitHandler.ts similarity index 80% rename from packages/imperative/src/imperative/__tests__/config/cmd/auto-init/__data__/FakeAutoInitHandler.ts rename to packages/imperative/__tests__/__unit__/imperative/config/auto-init/__data__/FakeAutoInitHandler.ts index 3284586c0a..1cb98c7e6a 100644 --- a/packages/imperative/src/imperative/__tests__/config/cmd/auto-init/__data__/FakeAutoInitHandler.ts +++ b/packages/imperative/__tests__/__unit__/imperative/config/auto-init/__data__/FakeAutoInitHandler.ts @@ -9,9 +9,9 @@ * */ -import { BaseAutoInitHandler } from "../../../../../src/config/cmd/auto-init/handlers/BaseAutoInitHandler"; -import { ICommandArguments, IHandlerResponseApi } from "../../../../../../cmd"; -import { ISession, AbstractSession } from "../../../../../../rest"; +import { BaseAutoInitHandler } from "../../../../../../src/imperative/config/cmd/auto-init/handlers/BaseAutoInitHandler"; +import { ICommandArguments, IHandlerResponseApi } from "../../../../../../src/cmd"; +import { ISession, AbstractSession } from "../../../../../../src/rest"; export class FakeAutoInitHandler extends BaseAutoInitHandler { public mProfileType: string = "fruit"; diff --git a/packages/imperative/src/imperative/__tests__/config/cmd/auto-init/__data__/SampleAutoInitConfig.ts b/packages/imperative/__tests__/__unit__/imperative/config/auto-init/__data__/SampleAutoInitConfig.ts similarity index 89% rename from packages/imperative/src/imperative/__tests__/config/cmd/auto-init/__data__/SampleAutoInitConfig.ts rename to packages/imperative/__tests__/__unit__/imperative/config/auto-init/__data__/SampleAutoInitConfig.ts index f74716eeaf..81be5eea2b 100644 --- a/packages/imperative/src/imperative/__tests__/config/cmd/auto-init/__data__/SampleAutoInitConfig.ts +++ b/packages/imperative/__tests__/__unit__/imperative/config/auto-init/__data__/SampleAutoInitConfig.ts @@ -9,8 +9,8 @@ * */ -import { ICommandProfileAutoInitConfig } from "../../../../../../cmd/src/doc/profiles/definition/ICommandProfileAutoInitConfig"; -import { ICommandOptionDefinition } from "../../../../../../cmd"; +import { ICommandProfileAutoInitConfig } from "../../../../../../src/cmd/doc/profiles/definition/ICommandProfileAutoInitConfig"; +import { ICommandOptionDefinition } from "../../../../../../src/cmd"; const fakeOption: ICommandOptionDefinition = { name: "fake", diff --git a/packages/imperative/src/imperative/__tests__/config/cmd/auto-init/__snapshots__/CompleteAutoInitCommandBuilder.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/imperative/config/auto-init/__snapshots__/CompleteAutoInitCommandBuilder.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/imperative/__tests__/config/cmd/auto-init/__snapshots__/CompleteAutoInitCommandBuilder.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/imperative/config/auto-init/__snapshots__/CompleteAutoInitCommandBuilder.unit.test.ts.snap diff --git a/packages/imperative/src/imperative/__tests__/config/cmd/convert-profiles/convert-profiles.handler.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/config/convert-profiles/convert-profiles.handler.unit.test.ts similarity index 98% rename from packages/imperative/src/imperative/__tests__/config/cmd/convert-profiles/convert-profiles.handler.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/config/convert-profiles/convert-profiles.handler.unit.test.ts index 7d9c66e7df..e96b4a17b9 100644 --- a/packages/imperative/src/imperative/__tests__/config/cmd/convert-profiles/convert-profiles.handler.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/config/convert-profiles/convert-profiles.handler.unit.test.ts @@ -12,17 +12,17 @@ import * as fs from "fs"; import * as fsExtra from "fs-extra"; import { keyring as keytar } from "@zowe/secrets-for-zowe-sdk"; -import { Config, ConfigBuilder, ConfigSchema } from "../../../../../config"; -import { IHandlerParameters } from "../../../../../cmd"; -import { ProfileIO } from "../../../../../profiles"; -import { AppSettings } from "../../../../../settings"; -import { ImperativeConfig } from "../../../../../utilities"; -import * as npmInterface from "../../../../src/plugins/utilities/npm-interface"; -import { PluginIssues } from "../../../../src/plugins/utilities/PluginIssues"; -import ConvertProfilesHandler from "../../../../src/config/cmd/convert-profiles/convert-profiles.handler"; - -jest.mock("../../../../src/plugins/utilities/npm-interface"); -jest.mock("../../../../../imperative/src/OverridesLoader"); +import { Config, ConfigBuilder, ConfigSchema } from "../../../../../src/config"; +import { IHandlerParameters } from "../../../../../src/cmd"; +import { ProfileIO } from "../../../../../src/profiles"; +import { AppSettings } from "../../../../../src/settings"; +import { ImperativeConfig } from "../../../../../src/utilities/ImperativeConfig"; +import * as npmInterface from "../../../../../src/imperative/plugins/utilities/npm-interface"; +import { PluginIssues } from "../../../../../src/imperative/plugins/utilities/PluginIssues"; +import ConvertProfilesHandler from "../../../../../src/imperative/config/cmd/convert-profiles/convert-profiles.handler"; + +jest.mock("../../../../../src/plugins/utilities/npm-interface"); +jest.mock("../../../../../src/imperative/OverridesLoader"); let stdout: string; let stderr: string; diff --git a/packages/imperative/src/imperative/__tests__/config/cmd/edit/edit.handler.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/config/edit/edit.handler.unit.test.ts similarity index 89% rename from packages/imperative/src/imperative/__tests__/config/cmd/edit/edit.handler.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/config/edit/edit.handler.unit.test.ts index 1a137dc806..2101bfae68 100644 --- a/packages/imperative/src/imperative/__tests__/config/cmd/edit/edit.handler.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/config/edit/edit.handler.unit.test.ts @@ -9,9 +9,10 @@ * */ -import EditHandler from "../../../../src/config/cmd/edit/edit.handler"; -import { IHandlerParameters } from "../../../../../cmd"; -import { ImperativeConfig, ProcessUtils } from "../../../../../utilities"; +import EditHandler from "../../../../../src/imperative/config/cmd/edit/edit.handler"; +import { IHandlerParameters } from "../../../../../src/cmd"; +import { ImperativeConfig } from "../../../../../src/utilities/ImperativeConfig"; +import { ProcessUtils } from "../../../../../src/utilities/ProcessUtils"; const getIHandlerParametersObject = (): IHandlerParameters => { const x: any = { diff --git a/packages/imperative/src/imperative/__tests__/config/cmd/import/import.handler.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/config/import/import.handler.unit.test.ts similarity index 96% rename from packages/imperative/src/imperative/__tests__/config/cmd/import/import.handler.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/config/import/import.handler.unit.test.ts index 671bab25e8..89592eff5b 100644 --- a/packages/imperative/src/imperative/__tests__/config/cmd/import/import.handler.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/config/import/import.handler.unit.test.ts @@ -14,13 +14,13 @@ import * as path from "path"; import * as url from "url"; import * as JSONC from "comment-json"; import * as lodash from "lodash"; -import ImportHandler from "../../../../src/config/cmd/import/import.handler"; -import { IHandlerParameters } from "../../../../../cmd"; -import { Config, ConfigConstants, IConfig } from "../../../../../config"; -import { ISession, RestClient } from "../../../../../rest"; -import { ImperativeConfig } from "../../../../.."; +import ImportHandler from "../../../../../src/imperative/config/cmd/import/import.handler"; +import { IHandlerParameters } from "../../../../../src/cmd"; +import { Config, ConfigConstants, IConfig } from "../../../../../src/config"; +import { ISession, RestClient } from "../../../../../src/rest"; +import { ImperativeConfig } from "../../../../../src/utilities/ImperativeConfig"; import { expectedConfigObject, expectedSchemaObject } from - "../../../../../../__tests__/__integration__/imperative/__tests__/__integration__/cli/config/__resources__/expectedObjects"; + "../../../../../__tests__/__integration__/imperative/__tests__/__integration__/cli/config/__resources__/expectedObjects"; jest.mock("fs"); diff --git a/packages/imperative/src/imperative/__tests__/config/cmd/init/init.handler.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/config/init/init.handler.unit.test.ts similarity index 97% rename from packages/imperative/src/imperative/__tests__/config/cmd/init/init.handler.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/config/init/init.handler.unit.test.ts index 83249761c7..a687985abf 100644 --- a/packages/imperative/src/imperative/__tests__/config/cmd/init/init.handler.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/config/init/init.handler.unit.test.ts @@ -9,21 +9,22 @@ * */ -import { IHandlerParameters } from "../../../../.."; -import { Config } from "../../../../../config/src/Config"; -import { ConfigConstants } from "../../../../../config/src/ConfigConstants"; -import { ImperativeConfig, ProcessUtils } from "../../../../../utilities"; -import { IImperativeConfig } from "../../../../src/doc/IImperativeConfig"; +import { IHandlerParameters } from "../../../../../"; +import { Config } from "../../../../../src/config/Config"; +import { ConfigConstants } from "../../../../../src/config/ConfigConstants"; +import { ProcessUtils } from "../../../../../src/utilities/ProcessUtils"; +import { ImperativeConfig } from "../../../../../src/utilities/ImperativeConfig"; +import { IImperativeConfig } from "../../../../../src/imperative/doc/IImperativeConfig"; import { expectedSchemaObject } from - "../../../../../../__tests__/__integration__/imperative/__tests__/__integration__/cli/config/__resources__/expectedObjects"; -import InitHandler from "../../../../src/config/cmd/init/init.handler"; -import * as config from "../../../../../../__tests__/__integration__/imperative/src/imperative"; + "../../../../../__tests__/__integration__/imperative/__tests__/__integration__/cli/config/__resources__/expectedObjects"; +import InitHandler from "../../../../../src/imperative/config/cmd/init/init.handler"; +import * as config from "../../../../../__tests__/__integration__/imperative/src/imperative"; import * as path from "path"; import * as lodash from "lodash"; import * as fs from "fs"; -import { CredentialManagerFactory } from "../../../../../security"; -import { setupConfigToLoad } from "../../../../../../__tests__/src/TestUtil"; -import { OverridesLoader } from "../../../../src/OverridesLoader"; +import { CredentialManagerFactory } from "../../../../../src/security"; +import { setupConfigToLoad } from "../../../../../__tests__/src/TestUtil"; +import { OverridesLoader } from "../../../../../src/imperative/OverridesLoader"; jest.mock("fs"); diff --git a/packages/imperative/src/imperative/__tests__/config/cmd/list/list.handler.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/config/list/list.handler.unit.test.ts similarity index 95% rename from packages/imperative/src/imperative/__tests__/config/cmd/list/list.handler.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/config/list/list.handler.unit.test.ts index 9651183eb9..c888413bef 100644 --- a/packages/imperative/src/imperative/__tests__/config/cmd/list/list.handler.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/config/list/list.handler.unit.test.ts @@ -9,12 +9,12 @@ * */ -jest.mock("../../../../../utilities/src/ImperativeConfig"); +jest.mock("../../../../../utilities/ImperativeConfig"); -import { Config, ConfigConstants, IConfig, IConfigLayer } from "../../../../../config"; -import { ImperativeConfig } from "../../../../../utilities"; +import { Config, ConfigConstants, IConfig, IConfigLayer } from "../../../../../src/config"; +import { ImperativeConfig } from "../../../../../src/utilities/ImperativeConfig"; import { cloneDeep } from "lodash"; -import ListHandler from "../../../../src/config/cmd/list/list.handler"; +import ListHandler from "../../../../../src/imperative/config/cmd/list/list.handler"; let dataObj: any; let formatObj: any; diff --git a/packages/imperative/src/imperative/__tests__/config/cmd/profiles/profiles.handler.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/config/profiles/profiles.handler.unit.test.ts similarity index 88% rename from packages/imperative/src/imperative/__tests__/config/cmd/profiles/profiles.handler.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/config/profiles/profiles.handler.unit.test.ts index cdd0b68689..16541124d6 100644 --- a/packages/imperative/src/imperative/__tests__/config/cmd/profiles/profiles.handler.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/config/profiles/profiles.handler.unit.test.ts @@ -9,11 +9,11 @@ * */ -jest.mock("../../../../../utilities/src/ImperativeConfig"); +jest.mock("../../../../../utilities/ImperativeConfig"); -import { IConfig } from "../../../../../config"; -import { ImperativeConfig } from "../../../../../utilities"; -import ProfilesHandler from "../../../../src/config/cmd/profiles/profiles.handler"; +import { IConfig } from "../../../../../src/config/doc/IConfig"; +import { ImperativeConfig } from "../../../../../src/utilities/ImperativeConfig"; +import ProfilesHandler from "../../../../../src/imperative/config/cmd/profiles/profiles.handler"; let dataObj: any; let formatObj: any; diff --git a/packages/imperative/src/imperative/__tests__/config/cmd/report-env/EnvQuery.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/config/report-env/EnvQuery.unit.test.ts similarity index 97% rename from packages/imperative/src/imperative/__tests__/config/cmd/report-env/EnvQuery.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/config/report-env/EnvQuery.unit.test.ts index 7a426f180c..38a3c1f264 100644 --- a/packages/imperative/src/imperative/__tests__/config/cmd/report-env/EnvQuery.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/config/report-env/EnvQuery.unit.test.ts @@ -13,13 +13,13 @@ import * as fs from "fs"; import * as os from "os"; import * as path from "path"; -import { CommandResponse } from "../../../../../cmd/src/response/CommandResponse"; -import { IO } from "../../../../../io"; -import { ImperativeConfig } from "../../../../../utilities"; -import { PluginIssues } from "../../../../src/plugins/utilities/PluginIssues"; +import { CommandResponse } from "../../../../../src/cmd/response/CommandResponse"; +import { IO } from "../../../../../src/io"; +import { ImperativeConfig } from "../../../../../src/utilities/ImperativeConfig"; +import { PluginIssues } from "../../../../../src/imperative/plugins/utilities/PluginIssues"; -import { EnvQuery, IGetItemOpts, IGetItemVal } from "../../../../src/config/cmd/report-env/EnvQuery"; -import { ItemId } from "../../../../src/config/cmd/report-env/EnvItems"; +import { EnvQuery, IGetItemOpts, IGetItemVal } from "../../../../../src/imperative/config/cmd/report-env/EnvQuery"; +import { ItemId } from "../../../../../src/imperative/config/cmd/report-env/EnvItems"; describe("Tests for EnvQuery module", () => { const fakeCliHomeDir = "this_is_a_fake_cli_home_dir"; @@ -120,7 +120,7 @@ describe("Tests for EnvQuery module", () => { Object.defineProperty(impCfg, "callerLocation", { configurable: true, get: jest.fn(() => { - return path.normalize(__dirname + "/../../../../../../../cli"); + return path.normalize(__dirname + "../../../../../cli"); }) }); const itemObj: IGetItemVal = await EnvQuery.getEnvItemVal(ItemId.ZOWE_VER); @@ -283,7 +283,7 @@ describe("Tests for EnvQuery module", () => { }); it("should report an unknown item id", async () => { - const itemObj: IGetItemVal = await EnvQuery.getEnvItemVal(999); + const itemObj: IGetItemVal = await EnvQuery.getEnvItemVal(999 as any); expect(itemObj.itemProbMsg).toBe("An unknown item ID was supplied = 999"); }); diff --git a/packages/imperative/src/imperative/__tests__/config/cmd/report-env/Report-env.handler.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/config/report-env/Report-env.handler.unit.test.ts similarity index 92% rename from packages/imperative/src/imperative/__tests__/config/cmd/report-env/Report-env.handler.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/config/report-env/Report-env.handler.unit.test.ts index 9d54433f6b..ff3c382d90 100644 --- a/packages/imperative/src/imperative/__tests__/config/cmd/report-env/Report-env.handler.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/config/report-env/Report-env.handler.unit.test.ts @@ -9,9 +9,9 @@ * */ -import ReportEnvHandler from "../../../../src/config/cmd/report-env/Report-env.handler"; -import { EnvQuery, IGetItemVal } from "../../../../src/config/cmd/report-env/EnvQuery"; -import { ItemId } from "../../../../src/config/cmd/report-env/EnvItems"; +import ReportEnvHandler from "../../../../../src/imperative/config/cmd/report-env/Report-env.handler"; +import { EnvQuery, IGetItemVal } from "../../../../../src/imperative/config/cmd/report-env/EnvQuery"; +import { ItemId } from "../../../../../src/imperative/config/cmd/report-env/EnvItems"; describe("Handler for config report-env", () => { diff --git a/packages/imperative/src/imperative/__tests__/config/cmd/schema/schema.handler.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/config/schema/schema.handler.unit.test.ts similarity index 90% rename from packages/imperative/src/imperative/__tests__/config/cmd/schema/schema.handler.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/config/schema/schema.handler.unit.test.ts index fc726fa006..249f384028 100644 --- a/packages/imperative/src/imperative/__tests__/config/cmd/schema/schema.handler.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/config/schema/schema.handler.unit.test.ts @@ -9,11 +9,11 @@ * */ -jest.mock("../../../../../utilities/src/ImperativeConfig"); +jest.mock("../../../../../utilities/ImperativeConfig"); -import { ImperativeConfig } from "../../../../../utilities"; -import { IProfileTypeConfiguration } from "../../../../../profiles"; -import SchemaHandler from "../../../../src/config/cmd/schema/schema.handler"; +import { ImperativeConfig } from "../../../../../src/utilities/ImperativeConfig"; +import { IProfileTypeConfiguration } from "../../../../../src/profiles"; +import SchemaHandler from "../../../../../src/imperative/config/cmd/schema/schema.handler"; let dataObj: any; let errorText: string; diff --git a/packages/imperative/src/imperative/__tests__/config/cmd/secure/secure.handler.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/config/secure/secure.handler.unit.test.ts similarity index 96% rename from packages/imperative/src/imperative/__tests__/config/cmd/secure/secure.handler.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/config/secure/secure.handler.unit.test.ts index eaf068137e..79a9769a81 100644 --- a/packages/imperative/src/imperative/__tests__/config/cmd/secure/secure.handler.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/config/secure/secure.handler.unit.test.ts @@ -9,23 +9,24 @@ * */ -import { IHandlerParameters, Logger } from "../../../../.."; -import { Config } from "../../../../../config/src/Config"; -import { IConfig, IConfigOpts, IConfigProfile } from "../../../../../config"; -import { ImperativeConfig } from "../../../../../utilities"; -import { IImperativeConfig } from "../../../../src/doc/IImperativeConfig"; -import { ICredentialManagerInit } from "../../../../../security/src/doc/ICredentialManagerInit"; -import { CredentialManagerFactory } from "../../../../../security"; +import { IHandlerParameters, Logger } from "../../../../../"; +import { Config } from "../../../../../src/config/Config"; +import { IConfig, IConfigOpts, IConfigProfile } from "../../../../../src/config"; +import { ImperativeConfig } from "../../../../../src/utilities/ImperativeConfig"; +import { IImperativeConfig } from "../../../../../src/imperative/doc/IImperativeConfig"; +import { ICredentialManagerInit } from "../../../../../src/security/doc/ICredentialManagerInit"; +import { CredentialManagerFactory } from "../../../../../src/security"; import { expectedConfigObject } from - "../../../../../../__tests__/__integration__/imperative/__tests__/__integration__/cli/config/__resources__/expectedObjects"; -import SecureHandler from "../../../../src/config/cmd/secure/secure.handler"; -import * as config from "../../../../../../__tests__/__integration__/imperative/src/imperative"; + "../../../../../__tests__/__integration__/imperative/__tests__/__integration__/cli/config/__resources__/expectedObjects"; +import SecureHandler from "../../../../../src/imperative/config/cmd/secure/secure.handler"; +import * as config from "../../../../../__tests__/__integration__/imperative/src/imperative"; import { keyring as keytar } from "@zowe/secrets-for-zowe-sdk"; import * as path from "path"; import * as lodash from "lodash"; import * as fs from "fs"; -import { SessConstants } from "../../../../../rest"; -import { setupConfigToLoad } from "../../../../../../__tests__/src/TestUtil"; +import { SessConstants } from "../../../../../src/rest"; +import { setupConfigToLoad } from "../../../../../__tests__/src/TestUtil"; +import { IHandlerFormatOutputApi } from "../../../../../src"; let readPromptSpy: any; const getIHandlerParametersObject = (): IHandlerParameters => { @@ -130,7 +131,7 @@ describe("Configuration Secure command handler", () => { it("should attempt to secure the project configuration", async () => { const handler = new SecureHandler(); - const params = getIHandlerParametersObject(); + const params: IHandlerParameters = getIHandlerParametersObject(); params.arguments.userConfig = false; params.arguments.globalConfig = false; @@ -192,8 +193,7 @@ describe("Configuration Secure command handler", () => { it("should attempt to secure the user configuration", async () => { const handler = new SecureHandler(); - const params = getIHandlerParametersObject(); - + const params: IHandlerParameters = getIHandlerParametersObject(); params.arguments.userConfig = true; params.arguments.globalConfig = false; @@ -252,7 +252,7 @@ describe("Configuration Secure command handler", () => { it("should attempt to secure the global project configuration", async () => { const handler = new SecureHandler(); - const params = getIHandlerParametersObject(); + const params: IHandlerParameters = getIHandlerParametersObject(); params.arguments.userConfig = false; params.arguments.globalConfig = true; @@ -314,7 +314,7 @@ describe("Configuration Secure command handler", () => { it("should attempt to secure the global user configuration", async () => { const handler = new SecureHandler(); - const params = getIHandlerParametersObject(); + const params: IHandlerParameters = getIHandlerParametersObject(); params.arguments.userConfig = true; params.arguments.globalConfig = true; @@ -376,7 +376,7 @@ describe("Configuration Secure command handler", () => { it("should fail to secure the project configuration if there is no project configuration", async () => { const handler = new SecureHandler(); - const params = getIHandlerParametersObject(); + const params: IHandlerParameters = getIHandlerParametersObject(); params.arguments.userConfig = false; params.arguments.globalConfig = false; @@ -420,7 +420,7 @@ describe("Configuration Secure command handler", () => { it("should secure the project configuration and prune unused properties", async () => { const handler = new SecureHandler(); - const params = getIHandlerParametersObject(); + const params: IHandlerParameters = getIHandlerParametersObject(); params.arguments.userConfig = false; params.arguments.globalConfig = false; @@ -505,7 +505,7 @@ describe("Configuration Secure command handler", () => { const authHandlerPath = __dirname + "/../../../../src/auth/handlers/AbstractAuthHandler"; const handler = new SecureHandler(); - const params = getIHandlerParametersObject(); + const params: IHandlerParameters = getIHandlerParametersObject(); let mockAuthHandlerApi: any; beforeAll(() => { diff --git a/packages/imperative/src/imperative/__tests__/config/cmd/set/set.handler.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/config/set/set.handler.unit.test.ts similarity index 98% rename from packages/imperative/src/imperative/__tests__/config/cmd/set/set.handler.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/config/set/set.handler.unit.test.ts index d060bcb3f4..5e168beb28 100644 --- a/packages/imperative/src/imperative/__tests__/config/cmd/set/set.handler.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/config/set/set.handler.unit.test.ts @@ -9,16 +9,16 @@ * */ -import { IHandlerParameters } from "../../../../.."; -import { Config } from "../../../../../config/src/Config"; -import { IConfigOpts } from "../../../../../config"; -import { ImperativeConfig } from "../../../../../utilities"; -import { IImperativeConfig } from "../../../../src/doc/IImperativeConfig"; -import { ICredentialManagerInit } from "../../../../../security/src/doc/ICredentialManagerInit"; -import { CredentialManagerFactory } from "../../../../../security"; +import { IHandlerParameters } from "../../../../../../"; +import { Config } from "../../../../../../src/config/Config"; +import { IConfigOpts } from "../../../../../../src/config"; +import { ImperativeConfig } from "../../../../../../src/utilities/ImperativeConfig"; +import { IImperativeConfig } from "../../../../../../src/imperative/doc/IImperativeConfig"; +import { ICredentialManagerInit } from "../../../../../../src/security/doc/ICredentialManagerInit"; +import { CredentialManagerFactory } from "../../../../../../src/security"; import { expectedConfigObject, expectedUserConfigObject } from "../../../../../../__tests__/__integration__/imperative/__tests__/__integration__/cli/config/__resources__/expectedObjects"; -import SetHandler from "../../../../src/config/cmd/set/set.handler"; +import SetHandler from "../../../../../../src/imperative/config/cmd/set/set.handler"; import * as config from "../../../../../../__tests__/__integration__/imperative/src/imperative"; import { keyring as keytar } from "@zowe/secrets-for-zowe-sdk"; import * as path from "path"; diff --git a/packages/imperative/src/imperative/__tests__/config/cmd/update-schema/updateSchema.handler.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/config/update-schema/updateSchema.handler.unit.test.ts similarity index 90% rename from packages/imperative/src/imperative/__tests__/config/cmd/update-schema/updateSchema.handler.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/config/update-schema/updateSchema.handler.unit.test.ts index 650539f2a8..da58b4fdfb 100644 --- a/packages/imperative/src/imperative/__tests__/config/cmd/update-schema/updateSchema.handler.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/config/update-schema/updateSchema.handler.unit.test.ts @@ -9,12 +9,12 @@ * */ -jest.mock("../../../../../utilities/src/ImperativeConfig"); +jest.mock("../../../../../utilities/ImperativeConfig"); -import { ImperativeConfig } from "../../../../../utilities"; -import { IProfileTypeConfiguration } from "../../../../../profiles"; -import UpdateSchemasHandler from "../../../../src/config/cmd/update-schemas/update-schemas.handler"; -import { ConfigSchema } from "../../../../.."; +import { ImperativeConfig } from "../../../../../../src/utilities/ImperativeConfig"; +import { IProfileTypeConfiguration } from "../../../../../../src/profiles"; +import UpdateSchemasHandler from "../../../../../../src/imperative/config/cmd/update-schemas/update-schemas.handler"; +import { ConfigSchema } from "../../../../../../"; let dataObj: any; let formatObj: any; diff --git a/packages/imperative/src/imperative/__tests__/env/EnvironmentalVariableSettings.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/env/EnvironmentalVariableSettings.unit.test.ts similarity index 93% rename from packages/imperative/src/imperative/__tests__/env/EnvironmentalVariableSettings.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/env/EnvironmentalVariableSettings.unit.test.ts index 0f2e479411..5d6a5ad930 100644 --- a/packages/imperative/src/imperative/__tests__/env/EnvironmentalVariableSettings.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/env/EnvironmentalVariableSettings.unit.test.ts @@ -9,11 +9,11 @@ * */ -import { EnvironmentalVariableSettings } from "../../src/env/EnvironmentalVariableSettings"; -import { IImperativeEnvironmentalVariableSettings } from "../../src/doc/IImperativeEnvironmentalVariableSettings"; -import { IImperativeEnvironmentalVariableSetting } from "../../src/doc/IImperativeEnvironmentalVariableSetting"; -import { ImperativeError } from "../../../error/src/ImperativeError"; -import { Constants } from "../../../constants/src/Constants"; +import { EnvironmentalVariableSettings } from "../../../../src/imperative/env/EnvironmentalVariableSettings"; +import { IImperativeEnvironmentalVariableSettings } from "../../../../src/imperative/doc/IImperativeEnvironmentalVariableSettings"; +import { IImperativeEnvironmentalVariableSetting } from "../../../../src/imperative/doc/IImperativeEnvironmentalVariableSetting"; +import { ImperativeError } from "../../../../src/error/ImperativeError"; +import { Constants } from "../../../../src/constants/Constants"; // save env so we can screw it up later const nodeEnv = process.env; diff --git a/packages/imperative/src/imperative/__tests__/handlers/DefaultRootCommandHandler.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/handlers/DefaultRootCommandHandler.unit.test.ts similarity index 93% rename from packages/imperative/src/imperative/__tests__/handlers/DefaultRootCommandHandler.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/handlers/DefaultRootCommandHandler.unit.test.ts index b98317b2aa..d623f545a6 100644 --- a/packages/imperative/src/imperative/__tests__/handlers/DefaultRootCommandHandler.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/handlers/DefaultRootCommandHandler.unit.test.ts @@ -9,16 +9,16 @@ * */ -jest.mock("../../../utilities/src/ImperativeConfig"); -jest.mock("../../../imperative/src/Imperative"); +jest.mock("../../../utilities/ImperativeConfig"); +jest.mock("../../../../src/imperative/Imperative"); import { TestLogger } from "../../../../__tests__/src/TestLogger"; -import { ICommandDefinition, CommandResponse, CommandPreparer, ICommandHandler } from "../../../cmd"; -import { ICommandHandlerRequire } from "../../../cmd/src/doc/handler/ICommandHandlerRequire"; -import { ImperativeConfig } from "../../../utilities/src/ImperativeConfig"; +import { ICommandDefinition, CommandResponse, CommandPreparer, ICommandHandler } from "../../../../src/cmd"; +import { ICommandHandlerRequire } from "../../../../src/cmd/doc/handler/ICommandHandlerRequire"; +import { ImperativeConfig } from "../../../../src/utilities/ImperativeConfig"; /* eslint-disable-next-line jest/no-mocks-import */ -import { MOCKED_COMMAND_TREE } from "../../../imperative/src/__mocks__/Imperative"; +import { MOCKED_COMMAND_TREE } from "../../../../src/imperative/__mocks__/Imperative"; (CommandResponse as any).spinnerChars = "-oO0)|(0Oo-"; const beforeForceColor = process.env.FORCE_COLOR; diff --git a/packages/imperative/src/imperative/__tests__/handlers/__snapshots__/DefaultRootCommandHandler.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/imperative/handlers/__snapshots__/DefaultRootCommandHandler.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/imperative/__tests__/handlers/__snapshots__/DefaultRootCommandHandler.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/imperative/handlers/__snapshots__/DefaultRootCommandHandler.unit.test.ts.snap diff --git a/packages/imperative/src/imperative/__tests__/plugins/AbstractPluginLifeCycle.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/plugins/AbstractPluginLifeCycle.unit.test.ts similarity index 90% rename from packages/imperative/src/imperative/__tests__/plugins/AbstractPluginLifeCycle.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/plugins/AbstractPluginLifeCycle.unit.test.ts index 4f48d45160..6e3c183a6b 100644 --- a/packages/imperative/src/imperative/__tests__/plugins/AbstractPluginLifeCycle.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/plugins/AbstractPluginLifeCycle.unit.test.ts @@ -15,7 +15,7 @@ import { join } from "path"; describe("AbstractPluginLifeCycle", () => { it("should have the right class definition", () => { const absLifeCycleClass: string = fs.readFileSync( - join(__dirname, "../../src/plugins/AbstractPluginLifeCycle.ts"), + join(__dirname, "../../../../src/imperative/plugins/AbstractPluginLifeCycle.ts"), "utf8" ); expect(absLifeCycleClass).toContain("export abstract class AbstractPluginLifeCycle"); diff --git a/packages/imperative/src/imperative/__tests__/plugins/PluginManagementFacility.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/plugins/PluginManagementFacility.unit.test.ts similarity index 98% rename from packages/imperative/src/imperative/__tests__/plugins/PluginManagementFacility.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/plugins/PluginManagementFacility.unit.test.ts index aed70ad3bb..731d86b86d 100644 --- a/packages/imperative/src/imperative/__tests__/plugins/PluginManagementFacility.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/plugins/PluginManagementFacility.unit.test.ts @@ -13,30 +13,30 @@ import Mock = jest.MockedFunction; jest.mock("fs"); jest.mock("jsonfile"); -jest.mock("../../src/plugins/utilities/PMFConstants"); -jest.mock("../../src/plugins/PluginRequireProvider"); +jest.mock("../../../../src/imperative/plugins/utilities/PMFConstants"); +jest.mock("../../../../src/imperative/plugins/PluginRequireProvider"); import * as fs from "fs"; -import { AppSettings } from "../../../settings"; +import { AppSettings } from "../../../../src/settings"; import { ICommandDefinition } from "../../../../src/cmd"; -import { IImperativeConfig } from "../../src/doc/IImperativeConfig"; -import { ImperativeConfig } from "../../../utilities/src/ImperativeConfig"; -import { UpdateImpConfig } from "../../src/UpdateImpConfig"; -import { IPluginJson } from "../../src/plugins/doc/IPluginJson"; -import { IssueSeverity, PluginIssues } from "../../src/plugins/utilities/PluginIssues"; +import { IImperativeConfig } from "../../../../src/imperative/doc/IImperativeConfig"; +import { ImperativeConfig } from "../../../../src/utilities/ImperativeConfig"; +import { UpdateImpConfig } from "../../../../src/imperative/UpdateImpConfig"; +import { IPluginJson } from "../../../../src/imperative/plugins/doc/IPluginJson"; +import { IssueSeverity, PluginIssues } from "../../../../src/imperative/plugins/utilities/PluginIssues"; import { join, resolve } from "path"; -import { PluginManagementFacility } from "../../src/plugins/PluginManagementFacility"; -import { PMFConstants } from "../../src/plugins/utilities/PMFConstants"; +import { PluginManagementFacility } from "../../../../src/imperative/plugins/PluginManagementFacility"; +import { PMFConstants } from "../../../../src/imperative/plugins/utilities/PMFConstants"; import * as jsonfile from "jsonfile"; -import { ConfigurationLoader } from "../../src/ConfigurationLoader"; -import { ConfigurationValidator } from "../../src/ConfigurationValidator"; -import { ICommandProfileTypeConfiguration } from "../../../cmd"; -import { DefinitionTreeResolver } from "../../src/DefinitionTreeResolver"; -import { IPluginCfgProps } from "../../src/plugins/doc/IPluginCfgProps"; -import { Logger } from "../../../logger"; -import { IO } from "../../../io"; -import { ISettingsFile } from "../../../settings/src/doc/ISettingsFile"; -import { CredentialManagerOverride } from "../../../security/src/CredentialManagerOverride"; +import { ConfigurationLoader } from "../../../../src/imperative/ConfigurationLoader"; +import { ConfigurationValidator } from "../../../../src/imperative/ConfigurationValidator"; +import { ICommandProfileTypeConfiguration } from "../../../../src/cmd"; +import { DefinitionTreeResolver } from "../../../../src/imperative/DefinitionTreeResolver"; +import { IPluginCfgProps } from "../../../../src/imperative/plugins/doc/IPluginCfgProps"; +import { Logger } from "../../../../src/logger"; +import { IO } from "../../../../src/io"; +import { ISettingsFile } from "../../../../src/settings/doc/ISettingsFile"; +import { CredentialManagerOverride } from "../../../../src/security/CredentialManagerOverride"; // NOTE: Several tests for CredentialManager override are currently disabled describe("Plugin Management Facility", () => { diff --git a/packages/imperative/src/imperative/__tests__/plugins/PluginRequireProvider.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/plugins/PluginRequireProvider.unit.test.ts similarity index 97% rename from packages/imperative/src/imperative/__tests__/plugins/PluginRequireProvider.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/plugins/PluginRequireProvider.unit.test.ts index 7a2c307a99..17759227f8 100644 --- a/packages/imperative/src/imperative/__tests__/plugins/PluginRequireProvider.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/plugins/PluginRequireProvider.unit.test.ts @@ -11,16 +11,16 @@ import { getMockWrapper } from "../../../../__tests__/__src__/types/MockWrapper"; -jest.mock("../../../utilities/src/ImperativeConfig"); +jest.mock("../../../../src/utilities/ImperativeConfig"); jest.mock("find-up"); jest.mock("path"); import * as Module from "module"; import * as findUp from "find-up"; -import { ImperativeConfig } from "../../../utilities/src/ImperativeConfig"; -import { PluginRequireProvider } from "../../src/plugins/PluginRequireProvider"; -import { PluginRequireAlreadyCreatedError } from "../../src/plugins/errors/PluginRequireAlreadyCreatedError"; -import { PluginRequireNotCreatedError } from "../../src/plugins/errors/PluginRequireNotCreatedError"; +import { ImperativeConfig } from "../../../../src/utilities/ImperativeConfig"; +import { PluginRequireProvider } from "../../../../src/imperative/plugins/PluginRequireProvider"; +import { PluginRequireAlreadyCreatedError } from "../../../../src/imperative/plugins/errors/PluginRequireAlreadyCreatedError"; +import { PluginRequireNotCreatedError } from "../../../../src/imperative/plugins/errors/PluginRequireNotCreatedError"; import * as path from "path"; import { generateRandomAlphaNumericString } from "../../../../__tests__/src/TestUtil"; diff --git a/packages/imperative/src/imperative/__tests__/plugins/__resources__/baseCliConfig.testData.ts b/packages/imperative/__tests__/__unit__/imperative/plugins/__resources__/baseCliConfig.testData.ts similarity index 100% rename from packages/imperative/src/imperative/__tests__/plugins/__resources__/baseCliConfig.testData.ts rename to packages/imperative/__tests__/__unit__/imperative/plugins/__resources__/baseCliConfig.testData.ts diff --git a/packages/imperative/src/imperative/__tests__/plugins/__resources__/impCmdTree.testData.js b/packages/imperative/__tests__/__unit__/imperative/plugins/__resources__/impCmdTree.testData.js similarity index 100% rename from packages/imperative/src/imperative/__tests__/plugins/__resources__/impCmdTree.testData.js rename to packages/imperative/__tests__/__unit__/imperative/plugins/__resources__/impCmdTree.testData.js diff --git a/packages/imperative/src/imperative/__tests__/plugins/__resources__/mockConfigModule.ts b/packages/imperative/__tests__/__unit__/imperative/plugins/__resources__/mockConfigModule.ts similarity index 100% rename from packages/imperative/src/imperative/__tests__/plugins/__resources__/mockConfigModule.ts rename to packages/imperative/__tests__/__unit__/imperative/plugins/__resources__/mockConfigModule.ts diff --git a/packages/imperative/src/imperative/__tests__/plugins/cmd/firststeps/showfirststeps.handler.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/plugins/cmd/firststeps/showfirststeps.handler.unit.test.ts similarity index 92% rename from packages/imperative/src/imperative/__tests__/plugins/cmd/firststeps/showfirststeps.handler.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/plugins/cmd/firststeps/showfirststeps.handler.unit.test.ts index 3e2e3f79a2..79259ca9e5 100644 --- a/packages/imperative/src/imperative/__tests__/plugins/cmd/firststeps/showfirststeps.handler.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/plugins/cmd/firststeps/showfirststeps.handler.unit.test.ts @@ -14,15 +14,15 @@ import Mock = jest.Mock; jest.mock("../../../../../cmd/src/response/CommandResponse"); jest.mock("../../../../../cmd/src/response/HandlerResponse"); -import { HandlerResponse, IHandlerParameters } from "../../../../../cmd"; -import { ImperativeConfig } from "../../../../../utilities/src/ImperativeConfig"; -import { IImperativeConfig } from "../../../../src/doc/IImperativeConfig"; +import { HandlerResponse, IHandlerParameters } from "../../../../../../src/cmd"; +import { ImperativeConfig } from "../../../../../../src/utilities/ImperativeConfig"; +import { IImperativeConfig } from "../../../../../../src/imperative/doc/IImperativeConfig"; import { resolve } from "path"; -import { TextUtils } from "../../../../../utilities"; -import FirststepsHandler from "../../../../src/plugins/cmd/showfirststeps/showfirststeps.handler"; -import { ImperativeError } from "../../../../../error/src/ImperativeError"; -import { IPluginCfgProps } from "../../../../src/plugins/doc/IPluginCfgProps"; -import { PluginManagementFacility } from "../../../../src/plugins/PluginManagementFacility"; +import { TextUtils } from "../../../../../../src/utilities/TextUtils"; +import FirststepsHandler from "../../../../../../src/imperative/plugins/cmd/showfirststeps/showfirststeps.handler"; +import { ImperativeError } from "../../../../../../src/error/ImperativeError"; +import { IPluginCfgProps } from "../../../../../../src/imperative/plugins/doc/IPluginCfgProps"; +import { PluginManagementFacility } from "../../../../../../src/imperative/plugins/PluginManagementFacility"; describe("Plugin first steps command handler", () => { diff --git a/packages/imperative/src/imperative/__tests__/plugins/cmd/install/install.handler.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/plugins/cmd/install/install.handler.unit.test.ts similarity index 89% rename from packages/imperative/src/imperative/__tests__/plugins/cmd/install/install.handler.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/plugins/cmd/install/install.handler.unit.test.ts index a5971d7653..830f9417cf 100644 --- a/packages/imperative/src/imperative/__tests__/plugins/cmd/install/install.handler.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/plugins/cmd/install/install.handler.unit.test.ts @@ -12,17 +12,20 @@ /* eslint-disable jest/expect-expect */ import Mock = jest.Mock; +let expectedVal: unknown; +let returnedVal: unknown; + jest.mock("cross-spawn"); jest.mock("jsonfile"); -jest.mock("../../../../src/plugins/utilities/npm-interface/install"); -jest.mock("../../../../src/plugins/utilities/runValidatePlugin"); -jest.mock("../../../../src/plugins/utilities/PMFConstants"); -jest.mock("../../../../../cmd/src/response/CommandResponse"); -jest.mock("../../../../../cmd/src/response/HandlerResponse"); -jest.mock("../../../../../cmd/src/doc/handler/IHandlerParameters"); -jest.mock("../../../../../logger"); -jest.mock("../../../../src/Imperative"); -jest.mock("../../../../src/plugins/utilities/NpmFunctions"); +jest.mock("../../../../../../src/imperative/plugins/utilities/npm-interface/install"); +jest.mock("../../../../../../src/imperative/plugins/utilities/runValidatePlugin"); +jest.mock("../../../../../../src/imperative/plugins/utilities/PMFConstants"); +jest.mock("../../../../../../src/cmd/response/CommandResponse"); +jest.mock("../../../../../../src/cmd/response/HandlerResponse"); +jest.mock("../../../../../../src/cmd/doc/handler/IHandlerParameters"); +jest.mock("../../../../../../src/logger"); +jest.mock("../../../../../../src/imperative/Imperative"); +jest.mock("../../../../../../src/imperative/plugins/utilities/NpmFunctions"); jest.doMock("path", () => { const originalPath = jest.requireActual("path"); return { @@ -37,23 +40,20 @@ jest.doMock("path", () => { }; }); -import { HandlerResponse, IHandlerParameters } from "../../../../../cmd"; -import { Console } from "../../../../../console"; -import { ImperativeError } from "../../../../../error"; -import { install } from "../../../../src/plugins/utilities/npm-interface"; -import { runValidatePlugin } from "../../../../src/plugins/utilities/runValidatePlugin"; -import InstallHandler from "../../../../src/plugins/cmd/install/install.handler"; -import { IPluginJson } from "../../../../src/plugins/doc/IPluginJson"; -import { Logger } from "../../../../../logger"; +import { HandlerResponse, IHandlerParameters } from "../../../../../../src/cmd"; +import { Console } from "../../../../../../src/console"; +import { ImperativeError } from "../../../../../../src/error"; +import { install } from "../../../../../../src/imperative/plugins/utilities/npm-interface"; +import { runValidatePlugin } from "../../../../../../src/imperative/plugins/utilities/runValidatePlugin"; +import InstallHandler from "../../../../../../src/imperative/plugins/cmd/install/install.handler"; +import { IPluginJson } from "../../../../../../src/imperative/plugins/doc/IPluginJson"; +import { Logger } from "../../../../../../src/logger"; import { readFileSync, writeFileSync } from "jsonfile"; -import { PMFConstants } from "../../../../src/plugins/utilities/PMFConstants"; -import { TextUtils } from "../../../../../utilities"; -import { getRegistry, npmLogin } from "../../../../src/plugins/utilities/NpmFunctions"; +import { PMFConstants } from "../../../../../../src/imperative/plugins/utilities/PMFConstants"; +import { TextUtils } from "../../../../../../src/utilities/TextUtils"; +import { getRegistry, npmLogin } from "../../../../../../src/imperative/plugins/utilities/NpmFunctions"; import * as spawn from "cross-spawn"; -let expectedVal: unknown; -let returnedVal: unknown; - describe("Plugin Management Facility install handler", () => { // Objects created so types are correct. diff --git a/packages/imperative/src/imperative/__tests__/plugins/cmd/list/__snapshots__/list.handler.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/imperative/plugins/cmd/list/__snapshots__/list.handler.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/imperative/__tests__/plugins/cmd/list/__snapshots__/list.handler.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/imperative/plugins/cmd/list/__snapshots__/list.handler.unit.test.ts.snap diff --git a/packages/imperative/src/imperative/__tests__/plugins/cmd/list/list.handler.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/plugins/cmd/list/list.handler.unit.test.ts similarity index 88% rename from packages/imperative/src/imperative/__tests__/plugins/cmd/list/list.handler.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/plugins/cmd/list/list.handler.unit.test.ts index ba6d499011..51cd799156 100644 --- a/packages/imperative/src/imperative/__tests__/plugins/cmd/list/list.handler.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/plugins/cmd/list/list.handler.unit.test.ts @@ -13,16 +13,16 @@ import Mock = jest.Mock; jest.mock("jsonfile"); -jest.mock("../../../../src/plugins/utilities/PMFConstants"); -jest.mock("../../../../../cmd/src/response/CommandResponse"); -jest.mock("../../../../../cmd/src/response/HandlerResponse"); -jest.mock("../../../../../logger"); - -import { HandlerResponse, IHandlerParameters } from "../../../../../cmd"; -import { Console } from "../../../../../console"; -import { IPluginJson } from "../../../../src/plugins/doc/IPluginJson"; -import ListHandler from "../../../../src/plugins/cmd/list/list.handler"; -import { Logger } from "../../../../../logger/"; +jest.mock("../../../../../../src/imperative/plugins/utilities/PMFConstants"); +jest.mock("../../../../../../src/cmd/response/CommandResponse"); +jest.mock("../../../../../../src/cmd/response/HandlerResponse"); +jest.mock("../../../../../../src/logger"); + +import { HandlerResponse, IHandlerParameters } from "../../../../../../src/cmd"; +import { Console } from "../../../../../../src/console"; +import { IPluginJson } from "../../../../../../src/imperative/plugins/doc/IPluginJson"; +import ListHandler from "../../../../../../src/imperative/plugins/cmd/list/list.handler"; +import { Logger } from "../../../../../../src/logger/"; import { readFileSync } from "jsonfile"; const stripAnsi = require("strip-ansi"); diff --git a/packages/imperative/src/imperative/__tests__/plugins/cmd/uninstall/uninstall.handler.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/plugins/cmd/uninstall/uninstall.handler.unit.test.ts similarity index 88% rename from packages/imperative/src/imperative/__tests__/plugins/cmd/uninstall/uninstall.handler.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/plugins/cmd/uninstall/uninstall.handler.unit.test.ts index 0c7ebdb07a..7b395a6bfb 100644 --- a/packages/imperative/src/imperative/__tests__/plugins/cmd/uninstall/uninstall.handler.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/plugins/cmd/uninstall/uninstall.handler.unit.test.ts @@ -14,29 +14,29 @@ import Mock = jest.Mock; jest.mock("child_process"); jest.mock("jsonfile"); -jest.mock("../../../../src/plugins/utilities/npm-interface/uninstall"); -jest.mock("../../../../src/plugins/utilities/PMFConstants"); -jest.mock("../../../../../cmd/src/response/CommandResponse"); -jest.mock("../../../../../cmd/src/response/HandlerResponse"); -jest.mock("../../../../../cmd/src/doc/handler/IHandlerParameters"); -jest.mock("../../../../../logger"); - -import { HandlerResponse, IHandlerParameters } from "../../../../../cmd"; -import { Console } from "../../../../../console"; -import { ConfigurationLoader } from "../../../../src/ConfigurationLoader"; -import { CredentialManagerOverride } from "../../../../../security"; -import { IImperativeConfig } from "../../../../src/doc/IImperativeConfig"; -import { IPluginJson } from "../../../../src/plugins/doc/IPluginJson"; -import { PluginManagementFacility } from "../../../../src/plugins/PluginManagementFacility"; -import { AbstractPluginLifeCycle } from "../../../../src/plugins/AbstractPluginLifeCycle"; -import { ImperativeError } from "../../../../../error"; -import { Logger } from "../../../../../logger"; -import { TextUtils } from "../../../../../utilities"; -import UninstallHandler from "../../../../src/plugins/cmd/uninstall/uninstall.handler"; +jest.mock("../../../../../../src/imperative/plugins/utilities/npm-interface/uninstall"); +jest.mock("../../../../../../src/imperative/plugins/utilities/PMFConstants"); +jest.mock("../../../../../../src/cmd/response/CommandResponse"); +jest.mock("../../../../../../src/cmd/response/HandlerResponse"); +jest.mock("../../../../../../src/cmd/doc/handler/IHandlerParameters"); +jest.mock("../../../../../../src/logger"); + +import { HandlerResponse, IHandlerParameters } from "../../../../../../src/cmd"; +import { Console } from "../../../../../../src/console"; +import { ConfigurationLoader } from "../../../../../../src/imperative/ConfigurationLoader"; +import { CredentialManagerOverride } from "../../../../../../src/security"; +import { IImperativeConfig } from "../../../../../../src/imperative/doc/IImperativeConfig"; +import { IPluginJson } from "../../../../../../src/imperative/plugins/doc/IPluginJson"; +import { PluginManagementFacility } from "../../../../../../src/imperative/plugins/PluginManagementFacility"; +import { AbstractPluginLifeCycle } from "../../../../../../src/imperative/plugins/AbstractPluginLifeCycle"; +import { ImperativeError } from "../../../../../../src/error"; +import { Logger } from "../../../../../../src/logger"; +import { TextUtils } from "../../../../../../src/utilities/TextUtils"; +import UninstallHandler from "../../../../../../src/imperative/plugins/cmd/uninstall/uninstall.handler"; import * as ChildProcesses from "child_process"; import * as JsonFile from "jsonfile"; -import * as NpmInterface from "../../../../src/plugins/utilities/npm-interface"; -import * as NpmFunctions from "../../../../src/plugins/utilities/NpmFunctions"; +import * as NpmInterface from "../../../../../../src/imperative/plugins/utilities/npm-interface"; +import * as NpmFunctions from "../../../../../../src/imperative/plugins/utilities/NpmFunctions"; describe("Plugin Management Facility uninstall handler", () => { diff --git a/packages/imperative/src/imperative/__tests__/plugins/cmd/update/update.handler.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/plugins/cmd/update/update.handler.unit.test.ts similarity index 85% rename from packages/imperative/src/imperative/__tests__/plugins/cmd/update/update.handler.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/plugins/cmd/update/update.handler.unit.test.ts index 40c914b7ba..681f77ca1a 100644 --- a/packages/imperative/src/imperative/__tests__/plugins/cmd/update/update.handler.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/plugins/cmd/update/update.handler.unit.test.ts @@ -13,24 +13,24 @@ import Mock = jest.Mock; jest.mock("child_process"); jest.mock("jsonfile"); -jest.mock("../../../../src/plugins/utilities/npm-interface/update"); -jest.mock("../../../../src/plugins/utilities/PMFConstants"); -jest.mock("../../../../../cmd/src/doc/handler/IHandlerParameters"); -jest.mock("../../../../../cmd/src/response/CommandResponse"); -jest.mock("../../../../../cmd/src/response/HandlerResponse"); -jest.mock("../../../../../logger"); -jest.mock("../../../../src/plugins/utilities/NpmFunctions"); - -import { HandlerResponse, IHandlerParameters } from "../../../../../cmd"; -import { Console } from "../../../../../console"; -import { IPluginJson } from "../../../../src/plugins/doc/IPluginJson"; -import { Logger } from "../../../../../logger"; -import { PMFConstants } from "../../../../src/plugins/utilities/PMFConstants"; -import UpdateHandler from "../../../../src/plugins/cmd/update/update.handler"; -import * as NpmFunctions from "../../../../src/plugins/utilities/NpmFunctions"; +jest.mock("../../../../../../src/imperative/plugins/utilities/npm-interface/update"); +jest.mock("../../../../../../src/imperative/plugins/utilities/PMFConstants"); +jest.mock("../../../../../../src/cmd/doc/handler/IHandlerParameters"); +jest.mock("../../../../../../src/cmd/response/CommandResponse"); +jest.mock("../../../../../../src/cmd/response/HandlerResponse"); +jest.mock("../../../../../../src/logger"); +jest.mock("../../../../../../src/imperative/plugins/utilities/NpmFunctions"); + +import { HandlerResponse, IHandlerParameters } from "../../../../../../src/cmd"; +import { Console } from "../../../../../../src/console"; +import { IPluginJson } from "../../../../../../src/imperative/plugins/doc/IPluginJson"; +import { Logger } from "../../../../../../src/logger"; +import { PMFConstants } from "../../../../../../src/imperative/plugins/utilities/PMFConstants"; +import UpdateHandler from "../../../../../../src/imperative/plugins/cmd/update/update.handler"; +import * as NpmFunctions from "../../../../../../src/imperative/plugins/utilities/NpmFunctions"; import * as ChildProcesses from "child_process"; import * as JsonFile from "jsonfile"; -import * as NpmInterface from "../../../../src/plugins/utilities/npm-interface"; +import * as NpmInterface from "../../../../../../src/imperative/plugins/utilities/npm-interface"; describe("Plugin Management Facility update handler", () => { diff --git a/packages/imperative/src/imperative/__tests__/plugins/cmd/validate/validate.handler.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/plugins/cmd/validate/validate.handler.unit.test.ts similarity index 94% rename from packages/imperative/src/imperative/__tests__/plugins/cmd/validate/validate.handler.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/plugins/cmd/validate/validate.handler.unit.test.ts index d2bb50ed5b..db7b16b849 100644 --- a/packages/imperative/src/imperative/__tests__/plugins/cmd/validate/validate.handler.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/plugins/cmd/validate/validate.handler.unit.test.ts @@ -11,15 +11,15 @@ import Mock = jest.Mock; -jest.mock("../../../../../cmd/src/response/CommandResponse"); -jest.mock("../../../../../cmd/src/response/HandlerResponse"); +jest.mock("../../../../../../src/cmd/response/CommandResponse"); +jest.mock("../../../../../../src/cmd/response/HandlerResponse"); -import { HandlerResponse, IHandlerParameters } from "../../../../../cmd"; -import { ImperativeConfig } from "../../../../../utilities/src/ImperativeConfig"; -import { IssueSeverity, PluginIssues } from "../../../../src/plugins/utilities/PluginIssues"; +import { HandlerResponse, IHandlerParameters } from "../../../../../../src/cmd"; +import { ImperativeConfig } from "../../../../../../src/utilities/ImperativeConfig"; +import { IssueSeverity, PluginIssues } from "../../../../../../src/imperative/plugins/utilities/PluginIssues"; import { resolve } from "path"; -import { TextUtils } from "../../../../../utilities"; -import ValidateHandler from "../../../../src/plugins/cmd/validate/validate.handler"; +import { TextUtils } from "../../../../../../src/utilities/TextUtils"; +import ValidateHandler from "../../../../../../src/imperative/plugins/cmd/validate/validate.handler"; describe("Plugin validate command handler", () => { diff --git a/packages/imperative/src/imperative/__tests__/plugins/utilities/NpmFunctions.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/plugins/utilities/NpmFunctions.unit.test.ts similarity index 96% rename from packages/imperative/src/imperative/__tests__/plugins/utilities/NpmFunctions.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/plugins/utilities/NpmFunctions.unit.test.ts index 41c9021617..9169098a81 100644 --- a/packages/imperative/src/imperative/__tests__/plugins/utilities/NpmFunctions.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/plugins/utilities/NpmFunctions.unit.test.ts @@ -13,8 +13,8 @@ import * as spawn from "cross-spawn"; import * as jsonfile from "jsonfile"; import * as npmPackageArg from "npm-package-arg"; import * as pacote from "pacote"; -import * as npmFunctions from "../../../src/plugins/utilities/NpmFunctions"; -import { PMFConstants } from "../../../src/plugins/utilities/PMFConstants"; +import * as npmFunctions from "../../../../../src/imperative/plugins/utilities/NpmFunctions"; +import { PMFConstants } from "../../../../../src/imperative/plugins/utilities/PMFConstants"; jest.mock("cross-spawn"); jest.mock("jsonfile"); diff --git a/packages/imperative/src/imperative/__tests__/plugins/utilities/PMFConstants.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/plugins/utilities/PMFConstants.unit.test.ts similarity index 90% rename from packages/imperative/src/imperative/__tests__/plugins/utilities/PMFConstants.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/plugins/utilities/PMFConstants.unit.test.ts index f89c0c6991..1d1c067f76 100644 --- a/packages/imperative/src/imperative/__tests__/plugins/utilities/PMFConstants.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/plugins/utilities/PMFConstants.unit.test.ts @@ -11,13 +11,13 @@ jest.mock("path"); jest.mock("../../../../logger/src/Logger"); -jest.mock("../../../../utilities/src/ImperativeConfig"); +jest.mock("../../../../utilities/ImperativeConfig"); import Mock = jest.Mock; describe("PMFConstants", () => { let {PMFConstants} = require("../../../src/plugins/utilities/PMFConstants"); - let {ImperativeConfig} = require("../../../../utilities/src/ImperativeConfig"); + let {ImperativeConfig} = require("../../../../utilities/ImperativeConfig"); let {EnvironmentalVariableSettings} = require("../../../src/env/EnvironmentalVariableSettings"); let {join} = require("path"); @@ -28,9 +28,9 @@ describe("PMFConstants", () => { beforeEach(async () => { jest.resetModules(); - ({PMFConstants} = await import("../../../src/plugins/utilities/PMFConstants")); - ({ImperativeConfig} = await import("../../../../utilities/src/ImperativeConfig")); - ({EnvironmentalVariableSettings} = await import("../../../src/env/EnvironmentalVariableSettings")); + ({PMFConstants} = await import("../../../../../src/imperative/plugins/utilities/PMFConstants")); + ({ImperativeConfig} = await import("../../../../../src/utilities/ImperativeConfig")); + ({EnvironmentalVariableSettings} = await import("../../../../../src/imperative/env/EnvironmentalVariableSettings")); ({join} = await import("path")); mocks.join = join; diff --git a/packages/imperative/src/imperative/__tests__/plugins/utilities/PluginIssues.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/plugins/utilities/PluginIssues.unit.test.ts similarity index 98% rename from packages/imperative/src/imperative/__tests__/plugins/utilities/PluginIssues.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/plugins/utilities/PluginIssues.unit.test.ts index 0ce7de7ef7..4b0cc7d432 100644 --- a/packages/imperative/src/imperative/__tests__/plugins/utilities/PluginIssues.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/plugins/utilities/PluginIssues.unit.test.ts @@ -9,7 +9,7 @@ * */ -import { IssueSeverity, PluginIssues } from "../../../src/plugins/utilities/PluginIssues"; +import { IssueSeverity, PluginIssues } from "../../../../../src/imperative/plugins/utilities/PluginIssues"; describe("PluginIssues", () => { diff --git a/packages/imperative/src/imperative/__tests__/plugins/utilities/npm-interface/install.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/plugins/utilities/npm-interface/install.unit.test.ts similarity index 91% rename from packages/imperative/src/imperative/__tests__/plugins/utilities/npm-interface/install.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/plugins/utilities/npm-interface/install.unit.test.ts index 8c7ff5b02f..96702aa1fd 100644 --- a/packages/imperative/src/imperative/__tests__/plugins/utilities/npm-interface/install.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/plugins/utilities/npm-interface/install.unit.test.ts @@ -17,15 +17,15 @@ let returnedVal: any; jest.mock("cross-spawn"); jest.mock("jsonfile"); jest.mock("find-up"); -jest.mock("../../../../src/plugins/utilities/PMFConstants"); -jest.mock("../../../../src/plugins/PluginManagementFacility"); -jest.mock("../../../../src/ConfigurationLoader"); -jest.mock("../../../../src/UpdateImpConfig"); -jest.mock("../../../../../config/src/ConfigSchema"); -jest.mock("../../../../../logger"); -jest.mock("../../../../../cmd/src/response/CommandResponse"); -jest.mock("../../../../../cmd/src/response/HandlerResponse"); -jest.mock("../../../../src/plugins/utilities/NpmFunctions"); +jest.mock("../../../../../../src/plugins/utilities/PMFConstants"); +jest.mock("../../../../../../src/plugins/PluginManagementFacility"); +jest.mock("../../../../../../src/ConfigurationLoader"); +jest.mock("../../../../../../src/UpdateImpConfig"); +jest.mock("../../../../../../src/config/ConfigSchema"); +jest.mock("../../../../../../src/logger"); +jest.mock("../../../../../../src/cmd/response/CommandResponse"); +jest.mock("../../../../../../src/cmd/response/HandlerResponse"); +jest.mock("../../../../../../src/plugins/utilities/NpmFunctions"); jest.doMock("path", () => { const originalPath = jest.requireActual("path"); return { @@ -40,22 +40,22 @@ jest.doMock("path", () => { }; }); -import { Console } from "../../../../../console"; -import { ImperativeError } from "../../../../../error"; -import { IImperativeConfig } from "../../../../src/doc/IImperativeConfig"; -import { install } from "../../../../src/plugins/utilities/npm-interface"; -import { IPluginJson } from "../../../../src/plugins/doc/IPluginJson"; -import { IPluginJsonObject } from "../../../../src/plugins/doc/IPluginJsonObject"; -import { Logger } from "../../../../../logger"; -import { PMFConstants } from "../../../../src/plugins/utilities/PMFConstants"; +import { Console } from "../../../../../../src/console"; +import { ImperativeError } from "../../../../../../src/error"; +import { IImperativeConfig } from "../../../../../../src/imperative/doc/IImperativeConfig"; +import { install } from "../../../../../../src/imperative/plugins/utilities/npm-interface"; +import { IPluginJson } from "../../../../../../src/imperative/plugins/doc/IPluginJson"; +import { IPluginJsonObject } from "../../../../../../src/imperative/plugins/doc/IPluginJsonObject"; +import { Logger } from "../../../../../../src/logger"; +import { PMFConstants } from "../../../../../../src/imperative/plugins/utilities/PMFConstants"; import { readFileSync, writeFileSync } from "jsonfile"; import { sync } from "find-up"; -import { getPackageInfo, installPackages } from "../../../../src/plugins/utilities/NpmFunctions"; -import { ConfigSchema } from "../../../../../config/src/ConfigSchema"; -import { PluginManagementFacility } from "../../../../src/plugins/PluginManagementFacility"; -import { AbstractPluginLifeCycle } from "../../../../src/plugins/AbstractPluginLifeCycle"; -import { ConfigurationLoader } from "../../../../src/ConfigurationLoader"; -import { UpdateImpConfig } from "../../../../src/UpdateImpConfig"; +import { getPackageInfo, installPackages } from "../../../../../../src/imperative/plugins/utilities/NpmFunctions"; +import { ConfigSchema } from "../../../../../../src/config/ConfigSchema"; +import { PluginManagementFacility } from "../../../../../../src/imperative/plugins/PluginManagementFacility"; +import { AbstractPluginLifeCycle } from "../../../../../../src/imperative/plugins/AbstractPluginLifeCycle"; +import { ConfigurationLoader } from "../../../../../../src/imperative/ConfigurationLoader"; +import { UpdateImpConfig } from "../../../../../../src/imperative/UpdateImpConfig"; import * as fs from "fs"; import * as path from "path"; diff --git a/packages/imperative/src/imperative/__tests__/plugins/utilities/npm-interface/uninstall.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/plugins/utilities/npm-interface/uninstall.unit.test.ts similarity index 91% rename from packages/imperative/src/imperative/__tests__/plugins/utilities/npm-interface/uninstall.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/plugins/utilities/npm-interface/uninstall.unit.test.ts index 28204bd208..105e28e126 100644 --- a/packages/imperative/src/imperative/__tests__/plugins/utilities/npm-interface/uninstall.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/plugins/utilities/npm-interface/uninstall.unit.test.ts @@ -20,15 +20,15 @@ jest.mock("../../../../../cmd/src/response/CommandResponse"); jest.mock("../../../../../cmd/src/response/HandlerResponse"); import * as fs from "fs"; -import { Console } from "../../../../../console"; +import { Console } from "../../../../../../src/console"; import { sync } from "cross-spawn"; -import { ImperativeError } from "../../../../../error"; -import { IPluginJson } from "../../../../src/plugins/doc/IPluginJson"; -import { Logger } from "../../../../../logger"; -import { PMFConstants } from "../../../../src/plugins/utilities/PMFConstants"; +import { ImperativeError } from "../../../../../../src/error"; +import { IPluginJson } from "../../../../../../src/imperative/plugins/doc/IPluginJson"; +import { Logger } from "../../../../../../src/logger"; +import { PMFConstants } from "../../../../../../src/imperative/plugins/utilities/PMFConstants"; import { readFileSync, writeFileSync } from "jsonfile"; -import { findNpmOnPath } from "../../../../src/plugins/utilities/NpmFunctions"; -import { uninstall } from "../../../../src/plugins/utilities/npm-interface"; +import { findNpmOnPath } from "../../../../../../src/imperative/plugins/utilities/NpmFunctions"; +import { uninstall } from "../../../../../../src/imperative/plugins/utilities/npm-interface"; describe("PMF: Uninstall Interface", () => { diff --git a/packages/imperative/src/imperative/__tests__/plugins/utilities/npm-interface/update.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/plugins/utilities/npm-interface/update.unit.test.ts similarity index 81% rename from packages/imperative/src/imperative/__tests__/plugins/utilities/npm-interface/update.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/plugins/utilities/npm-interface/update.unit.test.ts index da2ec64195..f68402efb4 100644 --- a/packages/imperative/src/imperative/__tests__/plugins/utilities/npm-interface/update.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/plugins/utilities/npm-interface/update.unit.test.ts @@ -13,19 +13,19 @@ import Mock = jest.Mock; jest.mock("cross-spawn"); jest.mock("jsonfile"); -jest.mock("../../../../src/plugins/utilities/PMFConstants"); -jest.mock("../../../../../logger"); -jest.mock("../../../../../cmd/src/response/CommandResponse"); -jest.mock("../../../../../cmd/src/response/HandlerResponse"); -jest.mock("../../../../src/plugins/utilities/NpmFunctions"); - -import { Console } from "../../../../../console"; -import { IPluginJson } from "../../../../src/plugins/doc/IPluginJson"; -import { Logger } from "../../../../../logger"; -import { PMFConstants } from "../../../../src/plugins/utilities/PMFConstants"; +jest.mock("../../../../../../src/imperative/plugins/utilities/PMFConstants"); +jest.mock("../../../../../../src/imperative/logger"); +jest.mock("../../../../../../src/imperative/cmd/response/CommandResponse"); +jest.mock("../../../../../../src/imperative/cmd/response/HandlerResponse"); +jest.mock("../../../../../../src/imperative/imperative/utilities/NpmFunctions"); + +import { Console } from "../../../../../../src/console"; +import { IPluginJson } from "../../../../../../src/imperative/plugins/doc/IPluginJson"; +import { Logger } from "../../../../../../src/logger"; +import { PMFConstants } from "../../../../../../src/imperative/plugins/utilities/PMFConstants"; import { readFileSync } from "jsonfile"; -import { update } from "../../../../src/plugins/utilities/npm-interface"; -import { getPackageInfo, installPackages } from "../../../../src/plugins/utilities/NpmFunctions"; +import { update } from "../../../../../../src/imperative/plugins/utilities/npm-interface"; +import { getPackageInfo, installPackages } from "../../../../../../src/imperative/plugins/utilities/NpmFunctions"; describe("PMF: update Interface", () => { // Objects created so types are correct. diff --git a/packages/imperative/src/imperative/__tests__/plugins/utilities/runValidatePlugin.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/plugins/utilities/runValidatePlugin.unit.test.ts similarity index 91% rename from packages/imperative/src/imperative/__tests__/plugins/utilities/runValidatePlugin.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/plugins/utilities/runValidatePlugin.unit.test.ts index 1f5ae7e922..0f1aafc8c8 100644 --- a/packages/imperative/src/imperative/__tests__/plugins/utilities/runValidatePlugin.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/plugins/utilities/runValidatePlugin.unit.test.ts @@ -9,9 +9,9 @@ * */ -import { runValidatePlugin } from "../../../src/plugins/utilities/runValidatePlugin"; +import { runValidatePlugin } from "../../../../../src/imperative/plugins/utilities/runValidatePlugin"; import { sync } from "cross-spawn"; -import { Imperative } from "../../.."; +import { Imperative } from "../../../../../"; import Mock = jest.Mock; jest.mock("cross-spawn"); diff --git a/packages/imperative/src/imperative/__tests__/profiles/handlers/CreateProfilesHandler.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/profiles/handlers/CreateProfilesHandler.unit.test.ts similarity index 93% rename from packages/imperative/src/imperative/__tests__/profiles/handlers/CreateProfilesHandler.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/profiles/handlers/CreateProfilesHandler.unit.test.ts index f95db9d1b2..b6fb4d5d43 100644 --- a/packages/imperative/src/imperative/__tests__/profiles/handlers/CreateProfilesHandler.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/profiles/handlers/CreateProfilesHandler.unit.test.ts @@ -9,12 +9,12 @@ * */ -jest.mock("../../../src/Imperative"); -jest.mock("../../../../utilities/src/ImperativeConfig"); +jest.mock("../../../../../src/imperative/Imperative"); +jest.mock("../../../../../src/utilities/ImperativeConfig"); -import { IProfileLoaded } from "../../../../profiles"; -import { Imperative } from "../../../src/Imperative"; -import { ImperativeConfig } from "../../../../utilities"; +import { IProfileLoaded } from "../../../../../src/profiles"; +import { Imperative } from "../../../../../src/imperative/Imperative"; +import { ImperativeConfig } from "../../../../../src/utilities/ImperativeConfig"; const fakeProfileIoError = "Pretend a ProfileIO error occurred"; const noMsgText = "No message text"; diff --git a/packages/imperative/src/imperative/__tests__/profiles/handlers/ListProfilesHandler.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/profiles/handlers/ListProfilesHandler.unit.test.ts similarity index 95% rename from packages/imperative/src/imperative/__tests__/profiles/handlers/ListProfilesHandler.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/profiles/handlers/ListProfilesHandler.unit.test.ts index e5fcc985b1..06218a8079 100644 --- a/packages/imperative/src/imperative/__tests__/profiles/handlers/ListProfilesHandler.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/profiles/handlers/ListProfilesHandler.unit.test.ts @@ -9,12 +9,12 @@ * */ -jest.mock("../../../src/Imperative"); -jest.mock("../../../../utilities/src/ImperativeConfig"); +jest.mock("../../../../../src/imperative/Imperative"); +jest.mock("../../../../../src/utilities/ImperativeConfig"); -import { IProfileLoaded } from "../../../../profiles"; -import { Imperative } from "../../../src/Imperative"; -import { ImperativeConfig } from "../../../../utilities"; +import { IProfileLoaded } from "../../../../../src/profiles"; +import { Imperative } from "../../../../../src/imperative/Imperative"; +import { ImperativeConfig } from "../../../../../src/utilities/ImperativeConfig"; // "Mocked" profiles const FAKE_PROFS: IProfileLoaded[] = [ diff --git a/packages/imperative/src/imperative/__tests__/profiles/handlers/NewDeleteProfilesHandler.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/profiles/handlers/NewDeleteProfilesHandler.unit.test.ts similarity index 93% rename from packages/imperative/src/imperative/__tests__/profiles/handlers/NewDeleteProfilesHandler.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/profiles/handlers/NewDeleteProfilesHandler.unit.test.ts index 6801595838..f9380665c6 100644 --- a/packages/imperative/src/imperative/__tests__/profiles/handlers/NewDeleteProfilesHandler.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/profiles/handlers/NewDeleteProfilesHandler.unit.test.ts @@ -9,12 +9,12 @@ * */ -jest.mock("../../../src/Imperative"); -jest.mock("../../../../utilities/src/ImperativeConfig"); +jest.mock("../../../../../src/imperative/Imperative"); +jest.mock("../../../../../src/utilities/ImperativeConfig"); -import { IProfileLoaded } from "../../../../profiles"; -import { Imperative } from "../../../src/Imperative"; -import { ImperativeConfig } from "../../../../utilities"; +import { IProfileLoaded } from "../../../../../src/profiles"; +import { Imperative } from "../../../../../src/imperative/Imperative"; +import { ImperativeConfig } from "../../../../../src/utilities/ImperativeConfig"; const fakeProfileIoError = "Pretend a ProfileIO error occurred"; const noMsgText = "No message text"; diff --git a/packages/imperative/src/imperative/__tests__/profiles/handlers/UpdateProfilesHandler.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/profiles/handlers/UpdateProfilesHandler.unit.test.ts similarity index 93% rename from packages/imperative/src/imperative/__tests__/profiles/handlers/UpdateProfilesHandler.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/profiles/handlers/UpdateProfilesHandler.unit.test.ts index 0032535b69..46e21e4acf 100644 --- a/packages/imperative/src/imperative/__tests__/profiles/handlers/UpdateProfilesHandler.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/profiles/handlers/UpdateProfilesHandler.unit.test.ts @@ -9,12 +9,12 @@ * */ -jest.mock("../../../src/Imperative"); -jest.mock("../../../../utilities/src/ImperativeConfig"); +jest.mock("../../../../../src/imperative/Imperative"); +jest.mock("../../../../../src/utilities/ImperativeConfig"); -import { IProfileLoaded } from "../../../../profiles"; -import { Imperative } from "../../../src/Imperative"; -import { ImperativeConfig } from "../../../../utilities"; +import { IProfileLoaded } from "../../../../../src/profiles"; +import { Imperative } from "../../../../../src/imperative/Imperative"; +import { ImperativeConfig } from "../../../../../src/utilities/ImperativeConfig"; const fakeProfileIoError = "Pretend a ProfileIO error occurred"; const noMsgText = "No message text"; diff --git a/packages/imperative/src/imperative/__tests__/profiles/handlers/ValidateProfileHandler.unit.test.ts b/packages/imperative/__tests__/__unit__/imperative/profiles/handlers/ValidateProfileHandler.unit.test.ts similarity index 93% rename from packages/imperative/src/imperative/__tests__/profiles/handlers/ValidateProfileHandler.unit.test.ts rename to packages/imperative/__tests__/__unit__/imperative/profiles/handlers/ValidateProfileHandler.unit.test.ts index 406679f58c..7ffcf80f45 100644 --- a/packages/imperative/src/imperative/__tests__/profiles/handlers/ValidateProfileHandler.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/imperative/profiles/handlers/ValidateProfileHandler.unit.test.ts @@ -9,13 +9,13 @@ * */ -jest.mock("../../../src/Imperative"); -jest.mock("../../../../utilities/src/ImperativeConfig"); +jest.mock("../../../../../src/imperative/Imperative"); +jest.mock("../../../../../src/utilities/ImperativeConfig"); -import { IProfileLoaded, ProfileValidator } from "../../../../profiles"; -import { ICommandProfileTypeConfiguration } from "../../../../cmd"; -import { Imperative } from "../../../src/Imperative"; -import { ImperativeConfig } from "../../../../utilities"; +import { IProfileLoaded, ProfileValidator } from "../../../../../src/profiles"; +import { ICommandProfileTypeConfiguration } from "../../../../../src/cmd"; +import { Imperative } from "../../../../../src/imperative/Imperative"; +import { ImperativeConfig } from "../../../../../src/utilities/ImperativeConfig"; const fakeProfileIoError = "Pretend a ProfileIO error occurred"; const noMsgText = "No message text"; diff --git a/packages/imperative/src/imperative/__tests__/profiles/handlers/__snapshots__/ListProfilesHandler.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/imperative/profiles/handlers/__snapshots__/ListProfilesHandler.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/imperative/__tests__/profiles/handlers/__snapshots__/ListProfilesHandler.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/imperative/profiles/handlers/__snapshots__/ListProfilesHandler.unit.test.ts.snap diff --git a/packages/imperative/src/io/__tests__/IO.unit.test.ts b/packages/imperative/__tests__/__unit__/io/IO.unit.test.ts similarity index 98% rename from packages/imperative/src/io/__tests__/IO.unit.test.ts rename to packages/imperative/__tests__/__unit__/io/IO.unit.test.ts index 880a40a1ea..e3fc20b928 100644 --- a/packages/imperative/src/io/__tests__/IO.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/io/IO.unit.test.ts @@ -16,10 +16,11 @@ jest.mock("path"); import * as fs from "fs"; import * as os from "os"; import * as path from "path"; -import { IO } from "../../io"; +import { IO } from "../../../src/io"; // use complete path to ExecUtils to avoid circular dependency that results from utilities/index -import { ExecUtils } from "../../utilities/src/ExecUtils"; -import { ProcessUtils, ISystemInfo } from "../../utilities"; +import { ExecUtils } from "../../../src/utilities/ExecUtils"; +import { ProcessUtils } from "../../../src/utilities/ProcessUtils"; +import { ISystemInfo } from "../../../src/utilities/doc/ISystemInfo"; describe("IO tests", () => { let existsSyncSpy: any; diff --git a/packages/imperative/src/io/__tests__/__snapshots__/IO.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/io/__snapshots__/IO.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/io/__tests__/__snapshots__/IO.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/io/__snapshots__/IO.unit.test.ts.snap diff --git a/packages/imperative/src/logger/__tests__/Logger.unit.test.ts b/packages/imperative/__tests__/__unit__/logger/Logger.unit.test.ts similarity index 97% rename from packages/imperative/src/logger/__tests__/Logger.unit.test.ts rename to packages/imperative/__tests__/__unit__/logger/Logger.unit.test.ts index 4e2ef1a769..1645480089 100644 --- a/packages/imperative/src/logger/__tests__/Logger.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/logger/Logger.unit.test.ts @@ -12,16 +12,16 @@ jest.mock("log4js"); jest.mock("fs"); import * as log4js from "log4js"; -import { LoggingConfigurer } from "../../imperative/src/LoggingConfigurer"; -import { IConfigLogging, ILog4jsConfig, Logger } from "../../logger"; -import { LoggerManager } from "../../logger/src/LoggerManager"; +import { LoggingConfigurer } from "../../../src/imperative/LoggingConfigurer"; +import { IConfigLogging, ILog4jsConfig, Logger } from "../../../src/logger"; +import { LoggerManager } from "../../../src/logger/src/LoggerManager"; -import { ImperativeError } from "../../error"; +import { ImperativeError } from "../../../src/error"; import * as os from "os"; import * as path from "path"; import * as fs from "fs"; -import { IO } from "../../io"; +import { IO } from "../../../src/io"; describe("Logger tests", () => { const fakeHome = "/home"; diff --git a/packages/imperative/src/logger/__tests__/LoggerConfigBuilder.unit.test.ts b/packages/imperative/__tests__/__unit__/logger/LoggerConfigBuilder.unit.test.ts similarity index 98% rename from packages/imperative/src/logger/__tests__/LoggerConfigBuilder.unit.test.ts rename to packages/imperative/__tests__/__unit__/logger/LoggerConfigBuilder.unit.test.ts index 489577de15..beeca5256d 100644 --- a/packages/imperative/src/logger/__tests__/LoggerConfigBuilder.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/logger/LoggerConfigBuilder.unit.test.ts @@ -9,7 +9,7 @@ * */ -import { LoggerConfigBuilder } from "../../logger"; +import { LoggerConfigBuilder } from "../../../src/logger"; import * as os from "os"; import * as path from "path"; diff --git a/packages/imperative/src/logger/__tests__/LoggerUtils.unit.test.ts b/packages/imperative/__tests__/__unit__/logger/LoggerUtils.unit.test.ts similarity index 96% rename from packages/imperative/src/logger/__tests__/LoggerUtils.unit.test.ts rename to packages/imperative/__tests__/__unit__/logger/LoggerUtils.unit.test.ts index fe82898085..33f5cc9233 100644 --- a/packages/imperative/src/logger/__tests__/LoggerUtils.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/logger/LoggerUtils.unit.test.ts @@ -9,9 +9,9 @@ * */ -import { EnvironmentalVariableSettings } from "../../imperative/src/env/EnvironmentalVariableSettings"; -import { LoggerUtils } from "../../logger"; -import { ImperativeConfig } from "../../utilities/src/ImperativeConfig"; +import { EnvironmentalVariableSettings } from "../../../src/imperative/env/EnvironmentalVariableSettings"; +import { LoggerUtils } from "../../../src/logger"; +import { ImperativeConfig } from "../../../src/utilities/ImperativeConfig"; describe("LoggerUtils tests", () => { diff --git a/packages/imperative/src/logger/__tests__/__snapshots__/Logger.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/logger/__snapshots__/Logger.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/logger/__tests__/__snapshots__/Logger.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/logger/__snapshots__/Logger.unit.test.ts.snap diff --git a/packages/imperative/src/logger/__tests__/__snapshots__/LoggerConfigBuilder.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/logger/__snapshots__/LoggerConfigBuilder.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/logger/__tests__/__snapshots__/LoggerConfigBuilder.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/logger/__snapshots__/LoggerConfigBuilder.unit.test.ts.snap diff --git a/packages/imperative/src/operations/__tests__/operation/TestOperations1.ts b/packages/imperative/__tests__/__unit__/operations/TestOperations1.ts similarity index 91% rename from packages/imperative/src/operations/__tests__/operation/TestOperations1.ts rename to packages/imperative/__tests__/__unit__/operations/TestOperations1.ts index a56482a68f..23d2877a64 100644 --- a/packages/imperative/src/operations/__tests__/operation/TestOperations1.ts +++ b/packages/imperative/__tests__/__unit__/operations/TestOperations1.ts @@ -12,7 +12,7 @@ import { TestSubOp1 } from "./subops/TestSubOp1"; import { TestSubOp2 } from "./subops/TestSubOp2"; import { TestSubOpNoUndo } from "./subops/TestSubOpNoUndo"; -import { Operations } from "../../../index"; +import { Operations } from "../../../../imperative/src/operations/index"; export class TestOperations1 extends Operations { constructor() { diff --git a/packages/imperative/src/operations/__tests__/operation/TestOperations2.ts b/packages/imperative/__tests__/__unit__/operations/TestOperations2.ts similarity index 90% rename from packages/imperative/src/operations/__tests__/operation/TestOperations2.ts rename to packages/imperative/__tests__/__unit__/operations/TestOperations2.ts index 2734327281..c3b5c231be 100644 --- a/packages/imperative/src/operations/__tests__/operation/TestOperations2.ts +++ b/packages/imperative/__tests__/__unit__/operations/TestOperations2.ts @@ -11,7 +11,7 @@ import { TestSubOp4 } from "./subops/TestSubOp4"; import { TestSubOp5 } from "./subops/TestSubOp5"; -import { Operations } from "../../../index"; +import { Operations } from "../../../../imperative/src/operations/index"; export class TestOperations2 extends Operations { diff --git a/packages/imperative/src/operations/__tests__/operation/TestOperations3.ts b/packages/imperative/__tests__/__unit__/operations/TestOperations3.ts similarity index 91% rename from packages/imperative/src/operations/__tests__/operation/TestOperations3.ts rename to packages/imperative/__tests__/__unit__/operations/TestOperations3.ts index bf38287b1a..d7430fb0df 100644 --- a/packages/imperative/src/operations/__tests__/operation/TestOperations3.ts +++ b/packages/imperative/__tests__/__unit__/operations/TestOperations3.ts @@ -12,7 +12,7 @@ import { TestSubOp6 } from "./subops/TestSubOp6"; import { TestOperations1 } from "./TestOperations1"; import { TestOperations2 } from "./TestOperations2"; -import { Operations } from "../../../index"; +import { Operations } from "../../../../imperative/src/operations/index"; export class TestOperations3 extends Operations { diff --git a/packages/imperative/src/operations/__tests__/operation/TestOperations4.ts b/packages/imperative/__tests__/__unit__/operations/TestOperations4.ts similarity index 92% rename from packages/imperative/src/operations/__tests__/operation/TestOperations4.ts rename to packages/imperative/__tests__/__unit__/operations/TestOperations4.ts index 0d8761e2ee..f7a17d3816 100644 --- a/packages/imperative/src/operations/__tests__/operation/TestOperations4.ts +++ b/packages/imperative/__tests__/__unit__/operations/TestOperations4.ts @@ -12,7 +12,7 @@ import { TestOperations1 } from "./TestOperations1"; import { TestOperations2 } from "./TestOperations2"; import { TestSubOpFail } from "./subops/TestSubOpFail"; -import { Operations } from "../../../index"; +import { Operations } from "../../../../imperative/src/operations/index"; export class TestOperations4 extends Operations { diff --git a/packages/imperative/src/operations/__tests__/operation/TestOperations5.ts b/packages/imperative/__tests__/__unit__/operations/TestOperations5.ts similarity index 91% rename from packages/imperative/src/operations/__tests__/operation/TestOperations5.ts rename to packages/imperative/__tests__/__unit__/operations/TestOperations5.ts index 9568473ef6..2ff821d41c 100644 --- a/packages/imperative/src/operations/__tests__/operation/TestOperations5.ts +++ b/packages/imperative/__tests__/__unit__/operations/TestOperations5.ts @@ -11,7 +11,7 @@ import { TestOperations1 } from "./TestOperations1"; import { TestSubOpDiverge } from "./subops/TestSubOpDiverge"; -import { Operations } from "../../../index"; +import { Operations } from "../../../../imperative/src/operations/index"; export class TestOperation5 extends Operations { diff --git a/packages/imperative/src/operations/__tests__/operation/subops/TestSubOp1.ts b/packages/imperative/__tests__/__unit__/operations/subops/TestSubOp1.ts similarity index 96% rename from packages/imperative/src/operations/__tests__/operation/subops/TestSubOp1.ts rename to packages/imperative/__tests__/__unit__/operations/subops/TestSubOp1.ts index bcd7e68d40..903fd94a7a 100644 --- a/packages/imperative/src/operations/__tests__/operation/subops/TestSubOp1.ts +++ b/packages/imperative/__tests__/__unit__/operations/subops/TestSubOp1.ts @@ -9,7 +9,7 @@ * */ -import { IOperationCompleted, IOperationUndoCompleted, Operation } from "../../../../index"; +import { IOperationCompleted, IOperationUndoCompleted, Operation } from "../../../../src/operations"; export class TestSubOp1 extends Operation { diff --git a/packages/imperative/src/operations/__tests__/operation/subops/TestSubOp2.ts b/packages/imperative/__tests__/__unit__/operations/subops/TestSubOp2.ts similarity index 96% rename from packages/imperative/src/operations/__tests__/operation/subops/TestSubOp2.ts rename to packages/imperative/__tests__/__unit__/operations/subops/TestSubOp2.ts index fd91710248..44f382a57e 100644 --- a/packages/imperative/src/operations/__tests__/operation/subops/TestSubOp2.ts +++ b/packages/imperative/__tests__/__unit__/operations/subops/TestSubOp2.ts @@ -9,7 +9,7 @@ * */ -import { IOperationCompleted, IOperationUndoCompleted, Operation } from "../../../../index"; +import { IOperationCompleted, IOperationUndoCompleted, Operation } from "../../../../src/operations"; export class TestSubOp2 extends Operation { diff --git a/packages/imperative/src/operations/__tests__/operation/subops/TestSubOp4.ts b/packages/imperative/__tests__/__unit__/operations/subops/TestSubOp4.ts similarity index 92% rename from packages/imperative/src/operations/__tests__/operation/subops/TestSubOp4.ts rename to packages/imperative/__tests__/__unit__/operations/subops/TestSubOp4.ts index a6bba7be64..32ac65678a 100644 --- a/packages/imperative/src/operations/__tests__/operation/subops/TestSubOp4.ts +++ b/packages/imperative/__tests__/__unit__/operations/subops/TestSubOp4.ts @@ -9,8 +9,8 @@ * */ -import { IOperationCompleted, IOperationUndoCompleted, Operation } from "../../../../index"; -import { TestLogger } from "../../../../../__tests__/src/TestLogger"; +import { IOperationCompleted, IOperationUndoCompleted, Operation } from "../../../../src/operations"; +import { TestLogger } from "../../../../__tests__/src/TestLogger"; const logger = TestLogger.getTestLogger(); diff --git a/packages/imperative/src/operations/__tests__/operation/subops/TestSubOp5.ts b/packages/imperative/__tests__/__unit__/operations/subops/TestSubOp5.ts similarity index 92% rename from packages/imperative/src/operations/__tests__/operation/subops/TestSubOp5.ts rename to packages/imperative/__tests__/__unit__/operations/subops/TestSubOp5.ts index 07194c129c..2631a866b6 100644 --- a/packages/imperative/src/operations/__tests__/operation/subops/TestSubOp5.ts +++ b/packages/imperative/__tests__/__unit__/operations/subops/TestSubOp5.ts @@ -9,8 +9,8 @@ * */ -import { IOperationCompleted, IOperationUndoCompleted, Operation } from "../../../../index"; -import { TestLogger } from "../../../../../__tests__/src/TestLogger"; +import { IOperationCompleted, IOperationUndoCompleted, Operation } from "../../../../src/operations"; +import { TestLogger } from "../../../../__tests__/src/TestLogger"; const logger = TestLogger.getTestLogger(); diff --git a/packages/imperative/src/operations/__tests__/operation/subops/TestSubOp6.ts b/packages/imperative/__tests__/__unit__/operations/subops/TestSubOp6.ts similarity index 92% rename from packages/imperative/src/operations/__tests__/operation/subops/TestSubOp6.ts rename to packages/imperative/__tests__/__unit__/operations/subops/TestSubOp6.ts index 5a7e97c0ce..abb170a0fb 100644 --- a/packages/imperative/src/operations/__tests__/operation/subops/TestSubOp6.ts +++ b/packages/imperative/__tests__/__unit__/operations/subops/TestSubOp6.ts @@ -9,8 +9,8 @@ * */ -import { IOperationCompleted, IOperationUndoCompleted, Operation } from "../../../../index"; -import { TestLogger } from "../../../../../__tests__/src/TestLogger"; +import { IOperationCompleted, IOperationUndoCompleted, Operation } from "../../../../src/operations"; +import { TestLogger } from "../../../../__tests__/src/TestLogger"; const logger = TestLogger.getTestLogger(); diff --git a/packages/imperative/src/operations/__tests__/operation/subops/TestSubOpDiverge.ts b/packages/imperative/__tests__/__unit__/operations/subops/TestSubOpDiverge.ts similarity index 92% rename from packages/imperative/src/operations/__tests__/operation/subops/TestSubOpDiverge.ts rename to packages/imperative/__tests__/__unit__/operations/subops/TestSubOpDiverge.ts index a5163a238d..7d3dc1cfc6 100644 --- a/packages/imperative/src/operations/__tests__/operation/subops/TestSubOpDiverge.ts +++ b/packages/imperative/__tests__/__unit__/operations/subops/TestSubOpDiverge.ts @@ -10,8 +10,8 @@ */ import { TestOperations2 } from "../TestOperations2"; -import { IOperationCompleted, IOperationUndoCompleted, Operation } from "../../../../index"; -import { TestLogger } from "../../../../../__tests__/src/TestLogger"; +import { IOperationCompleted, IOperationUndoCompleted, Operation } from "../../../../src/operations"; +import { TestLogger } from "../../../../__tests__/src/TestLogger"; const logger = TestLogger.getTestLogger(); diff --git a/packages/imperative/src/operations/__tests__/operation/subops/TestSubOpFail.ts b/packages/imperative/__tests__/__unit__/operations/subops/TestSubOpFail.ts similarity index 97% rename from packages/imperative/src/operations/__tests__/operation/subops/TestSubOpFail.ts rename to packages/imperative/__tests__/__unit__/operations/subops/TestSubOpFail.ts index 2806d2e80e..023e8aef48 100644 --- a/packages/imperative/src/operations/__tests__/operation/subops/TestSubOpFail.ts +++ b/packages/imperative/__tests__/__unit__/operations/subops/TestSubOpFail.ts @@ -9,7 +9,7 @@ * */ -import { IOperationCompleted, IOperationUndoCompleted, Operation } from "../../../../index"; +import { IOperationCompleted, IOperationUndoCompleted, Operation } from "../../../../src/operations"; export class TestSubOpFail extends Operation { diff --git a/packages/imperative/src/operations/__tests__/operation/subops/TestSubOpNoUndo.ts b/packages/imperative/__tests__/__unit__/operations/subops/TestSubOpNoUndo.ts similarity index 92% rename from packages/imperative/src/operations/__tests__/operation/subops/TestSubOpNoUndo.ts rename to packages/imperative/__tests__/__unit__/operations/subops/TestSubOpNoUndo.ts index 6ecf15e227..5092da9b50 100644 --- a/packages/imperative/src/operations/__tests__/operation/subops/TestSubOpNoUndo.ts +++ b/packages/imperative/__tests__/__unit__/operations/subops/TestSubOpNoUndo.ts @@ -9,8 +9,8 @@ * */ -import { IOperationCompleted, IOperationUndoCompleted, Operation } from "../../../../index"; -import { TestLogger } from "../../../../../__tests__/src/TestLogger"; +import { IOperationCompleted, IOperationUndoCompleted, Operation } from "../../../../src/operations"; +import { TestLogger } from "../../../../__tests__/src/TestLogger"; const logger = TestLogger.getTestLogger(); diff --git a/packages/imperative/src/profiles/__tests__/BasicProfileManager.constructor.unit.test.ts b/packages/imperative/__tests__/__unit__/profiles/BasicProfileManager.constructor.unit.test.ts similarity index 96% rename from packages/imperative/src/profiles/__tests__/BasicProfileManager.constructor.unit.test.ts rename to packages/imperative/__tests__/__unit__/profiles/BasicProfileManager.constructor.unit.test.ts index 44732265b2..9137824ee6 100644 --- a/packages/imperative/src/profiles/__tests__/BasicProfileManager.constructor.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/profiles/BasicProfileManager.constructor.unit.test.ts @@ -10,11 +10,11 @@ */ jest.mock("../src/utils/ProfileIO"); -import { ImperativeError } from "../../error/src/ImperativeError"; -import { TestLogger } from "../../../__tests__/src/TestLogger"; +import { ImperativeError } from "../../../src/error/ImperativeError"; +import { TestLogger } from "../../../src/../__tests__/src/TestLogger"; import { APPLE_PROFILE_TYPE, FRUIT_BASKET_BAD_DIR, FRUIT_BASKET_WORSE, MANGO_PROFILE_TYPE, ONLY_APPLE, TEST_PROFILE_ROOT_DIR } from "./TestConstants"; -import { BasicProfileManager } from "../src/BasicProfileManager"; -import { IProfileTypeConfiguration } from "../src/doc/config/IProfileTypeConfiguration"; +import { BasicProfileManager } from "../../../src/profiles/BasicProfileManager"; +import { IProfileTypeConfiguration } from "../../../src/profiles/doc/config/IProfileTypeConfiguration"; // UnitTestUtils.replaceIt(); diff --git a/packages/imperative/src/profiles/__tests__/BasicProfileManager.delete.unit.test.ts b/packages/imperative/__tests__/__unit__/profiles/BasicProfileManager.delete.unit.test.ts similarity index 97% rename from packages/imperative/src/profiles/__tests__/BasicProfileManager.delete.unit.test.ts rename to packages/imperative/__tests__/__unit__/profiles/BasicProfileManager.delete.unit.test.ts index 594859a70b..d4cfbe828e 100644 --- a/packages/imperative/src/profiles/__tests__/BasicProfileManager.delete.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/profiles/BasicProfileManager.delete.unit.test.ts @@ -11,9 +11,9 @@ jest.mock("../src/utils/ProfileIO"); -import { BasicProfileManager } from "../src/BasicProfileManager"; +import { BasicProfileManager } from "../../../src/profiles/BasicProfileManager"; import { TestLogger } from "../../../__tests__/src/TestLogger"; -import { IProfileDeleted } from "../src/doc/response/IProfileDeleted"; +import { IProfileDeleted } from "../../../src/profiles/doc/response/IProfileDeleted"; import { inspect } from "util"; import { APPLE_PROFILE_TYPE, diff --git a/packages/imperative/src/profiles/__tests__/BasicProfileManager.load.unit.test.ts b/packages/imperative/__tests__/__unit__/profiles/BasicProfileManager.load.unit.test.ts similarity index 99% rename from packages/imperative/src/profiles/__tests__/BasicProfileManager.load.unit.test.ts rename to packages/imperative/__tests__/__unit__/profiles/BasicProfileManager.load.unit.test.ts index 5530004561..96eac35599 100644 --- a/packages/imperative/src/profiles/__tests__/BasicProfileManager.load.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/profiles/BasicProfileManager.load.unit.test.ts @@ -11,7 +11,7 @@ import { TestLogger } from "../../../__tests__/src/TestLogger"; import { inspect } from "util"; -import { IProfileLoaded } from "../../profiles/src/doc/response/IProfileLoaded"; +import { IProfileLoaded } from "../../../src/profiles/doc/response/IProfileLoaded"; import { APPLE_PROFILE_TYPE, APPLE_TWO_REQ_DEP_BANANA_AND_STRAWBERRIES, diff --git a/packages/imperative/src/profiles/__tests__/BasicProfileManager.merge.unit.test.ts b/packages/imperative/__tests__/__unit__/profiles/BasicProfileManager.merge.unit.test.ts similarity index 98% rename from packages/imperative/src/profiles/__tests__/BasicProfileManager.merge.unit.test.ts rename to packages/imperative/__tests__/__unit__/profiles/BasicProfileManager.merge.unit.test.ts index 02d4f9c1a1..563f7adbb5 100644 --- a/packages/imperative/src/profiles/__tests__/BasicProfileManager.merge.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/profiles/BasicProfileManager.merge.unit.test.ts @@ -12,7 +12,7 @@ jest.mock("../src/utils/ProfileIO"); import { PROFILE_TYPE } from "../../../__tests__/src/packages/profiles/src/constants/BasicProfileManagerTestConstants"; -import { BasicProfileManager } from "../src/BasicProfileManager"; +import { BasicProfileManager } from "../../../src/profiles/BasicProfileManager"; import { APPLE_PROFILE_TYPE, GRAPE_PROFILE_TYPE, @@ -21,7 +21,7 @@ import { TEST_PROFILE_ROOT_DIR } from "./TestConstants"; import { TestLogger } from "../../../__tests__/src/TestLogger"; -import { IProfile, ProfileIO } from "../"; +import { IProfile, ProfileIO } from "../../../src/profiles"; import { inspect } from "util"; // UnitTestUtils.replaceIt(); diff --git a/packages/imperative/src/profiles/__tests__/BasicProfileManager.save.unit.test.ts b/packages/imperative/__tests__/__unit__/profiles/BasicProfileManager.save.unit.test.ts similarity index 98% rename from packages/imperative/src/profiles/__tests__/BasicProfileManager.save.unit.test.ts rename to packages/imperative/__tests__/__unit__/profiles/BasicProfileManager.save.unit.test.ts index 793ecf51bf..59dc1407d5 100644 --- a/packages/imperative/src/profiles/__tests__/BasicProfileManager.save.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/profiles/BasicProfileManager.save.unit.test.ts @@ -10,11 +10,12 @@ */ jest.mock("../src/utils/ProfileIO"); -import { ImperativeError } from "../../error/src/ImperativeError"; +import { ImperativeError } from "../../../src/error/ImperativeError"; import { TestLogger } from "../../../__tests__/src/TestLogger"; -import { ISaveProfile } from "../src/doc/parms/ISaveProfile"; +import { ISaveProfile } from "../../../src/profiles/doc/parms/ISaveProfile"; import { inspect } from "util"; -import { IProfileSaved } from "../src/doc/response/IProfileSaved"; +import { IProfileSaved } from "../../../src/profiles/doc/response/IProfileSaved"; + import { APPLE_BAN_UNKNOWN, APPLE_PROFILE_TYPE, @@ -27,7 +28,7 @@ import { STRAWBERRY_WITH_REQUIRED_APPLE_DEPENDENCY, TEST_PROFILE_ROOT_DIR } from "./TestConstants"; -import { BasicProfileManager } from "../src/BasicProfileManager"; +import { BasicProfileManager } from "../../../src/profiles/BasicProfileManager"; const BAD_SAMPLE_SAVE_PARMS: ISaveProfile = { name: "bad_apple", diff --git a/packages/imperative/src/profiles/__tests__/BasicProfileManager.unit.test.ts b/packages/imperative/__tests__/__unit__/profiles/BasicProfileManager.unit.test.ts similarity index 70% rename from packages/imperative/src/profiles/__tests__/BasicProfileManager.unit.test.ts rename to packages/imperative/__tests__/__unit__/profiles/BasicProfileManager.unit.test.ts index 8c14a19447..2a5d0e12f3 100644 --- a/packages/imperative/src/profiles/__tests__/BasicProfileManager.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/profiles/BasicProfileManager.unit.test.ts @@ -10,13 +10,12 @@ */ jest.mock("../src/utils/ProfileIO"); -import { ImperativeError } from "../../error/src/ImperativeError"; +import { ImperativeError } from "../../../src/error/ImperativeError"; import { TestLogger } from "../../../__tests__/src/TestLogger"; -import { IProfileLoaded } from "../../profiles/src/doc/response/IProfileLoaded"; +import { IProfileLoaded } from "../../../src/profiles/doc/response/IProfileLoaded"; import { APPLE_PROFILE_TYPE, APPLE_TWO_REQ_DEP_BANANA_AND_STRAWBERRIES, - APPLE_TWO_REQ_DEP_BANANA_ONE_REQ_DEP_GRAPE, BLUEBERRY_PROFILE_TYPE, FRUIT_BASKET_DIR, ONLY_APPLE, @@ -24,7 +23,7 @@ import { STRAWBERRY_AND_APPLE_NO_DEP, TEST_PROFILE_ROOT_DIR } from "./TestConstants"; -import { BasicProfileManager } from "../src/BasicProfileManager"; +import { BasicProfileManager } from "../../../src/profiles/BasicProfileManager"; // UnitTestUtils.replaceIt(); describe("Basic Profile Manager", () => { @@ -218,72 +217,6 @@ describe("Basic Profile Manager", () => { expect(error.message).toMatchSnapshot(); }); - it("should initialize the environment", async () => { - const responses = await BasicProfileManager.initialize({ - configuration: APPLE_TWO_REQ_DEP_BANANA_ONE_REQ_DEP_GRAPE, - profileRootDirectory: TEST_PROFILE_ROOT_DIR - }); - - expect(responses).toBeDefined(); - expect(responses).toMatchSnapshot(); - }); - - it("should detect missing parms on initialize", async () => { - let error; - try { - const responses = await BasicProfileManager.initialize(undefined); - } catch (e) { - error = e; - } - expect(error instanceof ImperativeError).toBe(true); - expect(error.message).toMatchSnapshot(); - }); - - it("should detect missing configuration on initialize", async () => { - let error; - try { - const parms = { - configuration: undefined as any, - profileRootDirectory: TEST_PROFILE_ROOT_DIR - }; - const responses = await BasicProfileManager.initialize(parms); - } catch (e) { - error = e; - } - expect(error instanceof ImperativeError).toBe(true); - expect(error.message).toMatchSnapshot(); - }); - - it("should detect missing profile directory on initialize", async () => { - let error; - try { - const parms = { - configuration: APPLE_TWO_REQ_DEP_BANANA_ONE_REQ_DEP_GRAPE, - profileRootDirectory: undefined as any - }; - const responses = await BasicProfileManager.initialize(parms); - } catch (e) { - error = e; - } - expect(error instanceof ImperativeError).toBe(true); - expect(error.message).toMatchSnapshot(); - }); - - it("should detect blank profile directory on initialize", async () => { - let error; - try { - const parms = { - configuration: APPLE_TWO_REQ_DEP_BANANA_ONE_REQ_DEP_GRAPE, - profileRootDirectory: " " - }; - const responses = await BasicProfileManager.initialize(parms); - } catch (e) { - error = e; - } - expect(error instanceof ImperativeError).toBe(true); - expect(error.message).toMatchSnapshot(); - }); - it("should create an instance and read all configurations from the meta files", async () => { const prof = new BasicProfileManager({ profileRootDirectory: TEST_PROFILE_ROOT_DIR + FRUIT_BASKET_DIR, @@ -308,42 +241,6 @@ describe("Basic Profile Manager", () => { expect(error.message).toMatchSnapshot(); }); - it("should detect that the configuration passed is not an array", async () => { - const init: any = { - configuration: [], - profileRootDirectory: TEST_PROFILE_ROOT_DIR + FRUIT_BASKET_DIR - }; - init.configuration = {}; - let error; - try { - const responses = await BasicProfileManager.initialize(init); - } catch (e) { - error = e; - } - expect(error).toBeDefined(); - expect(error instanceof ImperativeError).toBe(true); - expect(error.message).toMatchSnapshot(); - }); - - it("should only initialize types not already defined in the environment", async () => { - const responses = await BasicProfileManager.initialize({ - configuration: APPLE_TWO_REQ_DEP_BANANA_ONE_REQ_DEP_GRAPE, - profileRootDirectory: TEST_PROFILE_ROOT_DIR + FRUIT_BASKET_DIR - }); - expect(responses).toBeDefined(); - expect(responses).toMatchSnapshot(); - }); - - it("should allow a re-initialize of the environment", async () => { - const responses = await BasicProfileManager.initialize({ - configuration: APPLE_TWO_REQ_DEP_BANANA_ONE_REQ_DEP_GRAPE, - profileRootDirectory: TEST_PROFILE_ROOT_DIR + FRUIT_BASKET_DIR, - reinitialize: true - }); - expect(responses).toBeDefined(); - expect(responses).toMatchSnapshot(); - }); - it("should allow us to set the default in the meta profile", () => { let error; let response; diff --git a/packages/imperative/src/profiles/__tests__/BasicProfileManager.update.unit.test.ts b/packages/imperative/__tests__/__unit__/profiles/BasicProfileManager.update.unit.test.ts similarity index 93% rename from packages/imperative/src/profiles/__tests__/BasicProfileManager.update.unit.test.ts rename to packages/imperative/__tests__/__unit__/profiles/BasicProfileManager.update.unit.test.ts index 9071658896..8b1f55f9ba 100644 --- a/packages/imperative/src/profiles/__tests__/BasicProfileManager.update.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/profiles/BasicProfileManager.update.unit.test.ts @@ -9,10 +9,10 @@ * */ -import { BasicProfileManager } from "../src/BasicProfileManager"; +import { BasicProfileManager } from "../../../src/profiles/BasicProfileManager"; import { APPLE_PROFILE_TYPE, ONLY_APPLE, TEST_PROFILE_ROOT_DIR } from "./TestConstants"; import { TestLogger } from "../../../__tests__/src/TestLogger"; -import { IProfileUpdated } from "../src/doc/response/IProfileUpdated"; +import { IProfileUpdated } from "../../../src/profiles/doc/response/IProfileUpdated"; jest.mock("../src/utils/ProfileIO"); diff --git a/packages/imperative/src/profiles/__tests__/BasicProfileManager.validate.unit.test.ts b/packages/imperative/__tests__/__unit__/profiles/BasicProfileManager.validate.unit.test.ts similarity index 98% rename from packages/imperative/src/profiles/__tests__/BasicProfileManager.validate.unit.test.ts rename to packages/imperative/__tests__/__unit__/profiles/BasicProfileManager.validate.unit.test.ts index 9d4b548882..ea266750ca 100644 --- a/packages/imperative/src/profiles/__tests__/BasicProfileManager.validate.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/profiles/BasicProfileManager.validate.unit.test.ts @@ -9,9 +9,9 @@ * */ -import { BasicProfileManager } from "../src/BasicProfileManager"; +import { BasicProfileManager } from "../../../src/profiles/BasicProfileManager"; import { TestLogger } from "../../../__tests__/src/TestLogger"; -import { IProfileValidated } from "../src/doc/response/IProfileValidated"; +import { IProfileValidated } from "../../../src/profiles/doc/response/IProfileValidated"; import { APPLE_PROFILE_TYPE, ONLY_APPLE, diff --git a/packages/imperative/src/profiles/__tests__/TestConstants.ts b/packages/imperative/__tests__/__unit__/profiles/TestConstants.ts similarity index 100% rename from packages/imperative/src/profiles/__tests__/TestConstants.ts rename to packages/imperative/__tests__/__unit__/profiles/TestConstants.ts diff --git a/packages/imperative/src/profiles/__tests__/__snapshots__/BasicProfileManager.constructor.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/profiles/__snapshots__/BasicProfileManager.constructor.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/profiles/__tests__/__snapshots__/BasicProfileManager.constructor.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/profiles/__snapshots__/BasicProfileManager.constructor.unit.test.ts.snap diff --git a/packages/imperative/src/profiles/__tests__/__snapshots__/BasicProfileManager.delete.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/profiles/__snapshots__/BasicProfileManager.delete.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/profiles/__tests__/__snapshots__/BasicProfileManager.delete.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/profiles/__snapshots__/BasicProfileManager.delete.unit.test.ts.snap diff --git a/packages/imperative/src/profiles/__tests__/__snapshots__/BasicProfileManager.load.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/profiles/__snapshots__/BasicProfileManager.load.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/profiles/__tests__/__snapshots__/BasicProfileManager.load.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/profiles/__snapshots__/BasicProfileManager.load.unit.test.ts.snap diff --git a/packages/imperative/src/profiles/__tests__/__snapshots__/BasicProfileManager.save.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/profiles/__snapshots__/BasicProfileManager.save.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/profiles/__tests__/__snapshots__/BasicProfileManager.save.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/profiles/__snapshots__/BasicProfileManager.save.unit.test.ts.snap diff --git a/packages/imperative/src/profiles/__tests__/__snapshots__/BasicProfileManager.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/profiles/__snapshots__/BasicProfileManager.unit.test.ts.snap similarity index 72% rename from packages/imperative/src/profiles/__tests__/__snapshots__/BasicProfileManager.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/profiles/__snapshots__/BasicProfileManager.unit.test.ts.snap index b574616f7a..81eeb957bb 100644 --- a/packages/imperative/src/profiles/__tests__/__snapshots__/BasicProfileManager.unit.test.ts.snap +++ b/packages/imperative/__tests__/__unit__/profiles/__snapshots__/BasicProfileManager.unit.test.ts.snap @@ -1,22 +1,5 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`Basic Profile Manager should allow a re-initialize of the environment 1`] = ` -Array [ - Object { - "message": "Profile environment re-initialized for type \\"apple\\".", - }, - Object { - "message": "Profile environment re-initialized for type \\"strawberry\\".", - }, - Object { - "message": "Profile environment initialized for type \\"banana\\".", - }, - Object { - "message": "Profile environment re-initialized for type \\"grape\\".", - }, -] -`; - exports[`Basic Profile Manager should allow us to set the default in the meta profile 1`] = `"Default profile for type \\"blueberry\\" set to \\"tart_blueberry\\"."`; exports[`Basic Profile Manager should create an instance and read all configurations from the meta files 1`] = ` @@ -107,8 +90,6 @@ Array [ ] `; -exports[`Basic Profile Manager should detect blank profile directory on initialize 1`] = `"Expect Error: A request was made to initialize the profile environment, but the profile root directory was not supplied."`; - exports[`Basic Profile Manager should detect if the type is blank 1`] = `"Expect Error: No profile type supplied on the profile manager parameters."`; exports[`Basic Profile Manager should detect if the type is undefined 1`] = `"Expect Error: No profile type supplied on the profile manager parameters."`; @@ -121,16 +102,8 @@ Loading \\"strawberry_and_apple\\" of type \\"strawberry\\" Error Details: \\"Profile validation error during load of profile \\"good_apple\\" of type \\"apple\\". Error Details: Profile type \\"apple\\" specifies a required dependency of type \\"strawberry\\" on the \\"apple\\" profile type configuration document. A dependency of type \\"strawberry\\" was NOT listed on the input profile.\\"" `; -exports[`Basic Profile Manager should detect missing configuration on initialize 1`] = `"Expect Error: A request was made to initialize the profile environment, but no configuration documents were supplied."`; - -exports[`Basic Profile Manager should detect missing parms on initialize 1`] = `"Expect Error: A request was made to initialize the profile environment, but no parameters were supplied."`; - -exports[`Basic Profile Manager should detect missing profile directory on initialize 1`] = `"Expect Error: A request was made to initialize the profile environment, but the profile root directory was not supplied."`; - exports[`Basic Profile Manager should detect no parms when instantiating 1`] = `"Expect Error: Profile Manager input parms not supplied."`; -exports[`Basic Profile Manager should detect that the configuration passed is not an array 1`] = `"Expect Error: A request was mad to initialize the profile environment, but the configuration provided is invalid (not an array or of length 0)."`; - exports[`Basic Profile Manager should detect that the profile directory is blank 1`] = `"Expect Error: No profile root directory supplied on the profile manager parameters"`; exports[`Basic Profile Manager should detect that the profile directory is undefined 1`] = `"Expect Error: No profile root directory supplied on the profile manager parameters"`; @@ -139,23 +112,6 @@ exports[`Basic Profile Manager should fail a create if no configurations and pas exports[`Basic Profile Manager should fail a request to set the default if the profile is not found 1`] = `"Cannot update default profile for type \\"blueberry\\". The profile name specified (\\"bad_blueberry\\") does not exist. Please create before attempting to set the default."`; -exports[`Basic Profile Manager should initialize the environment 1`] = ` -Array [ - Object { - "message": "Profile environment initialized for type \\"apple\\".", - }, - Object { - "message": "Profile environment initialized for type \\"strawberry\\".", - }, - Object { - "message": "Profile environment initialized for type \\"banana\\".", - }, - Object { - "message": "Profile environment initialized for type \\"grape\\".", - }, -] -`; - exports[`Basic Profile Manager should load all profiles 1`] = ` Array [ Object { @@ -204,11 +160,3 @@ Array [ }, ] `; - -exports[`Basic Profile Manager should only initialize types not already defined in the environment 1`] = ` -Array [ - Object { - "message": "Profile environment initialized for type \\"banana\\".", - }, -] -`; diff --git a/packages/imperative/src/profiles/__tests__/__snapshots__/BasicProfileManager.update.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/profiles/__snapshots__/BasicProfileManager.update.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/profiles/__tests__/__snapshots__/BasicProfileManager.update.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/profiles/__snapshots__/BasicProfileManager.update.unit.test.ts.snap diff --git a/packages/imperative/src/profiles/__tests__/__snapshots__/BasicProfileManager.validate.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/profiles/__snapshots__/BasicProfileManager.validate.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/profiles/__tests__/__snapshots__/BasicProfileManager.validate.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/profiles/__snapshots__/BasicProfileManager.validate.unit.test.ts.snap diff --git a/packages/imperative/src/rest/__tests__/client/AbstractRestClient.unit.test.ts b/packages/imperative/__tests__/__unit__/rest/client/AbstractRestClient.unit.test.ts similarity index 98% rename from packages/imperative/src/rest/__tests__/client/AbstractRestClient.unit.test.ts rename to packages/imperative/__tests__/__unit__/rest/client/AbstractRestClient.unit.test.ts index c97fad3d7d..2acd9bd4ba 100644 --- a/packages/imperative/src/rest/__tests__/client/AbstractRestClient.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/rest/client/AbstractRestClient.unit.test.ts @@ -11,22 +11,22 @@ import * as https from "https"; import * as http from "http"; -import { Session } from "../../src/session/Session"; -import { RestClient } from "../../src/client/RestClient"; -import { Headers } from "../../src/client/Headers"; -import { ProcessUtils } from "../../../utilities"; +import { Session } from "../../../../src/rest/session/Session"; +import { RestClient } from "../../../../src/rest/client/RestClient"; +import { Headers } from "../../../../src/rest/client/Headers"; +import { ProcessUtils } from "../../../../src/utilities/ProcessUtils"; import { MockHttpRequestResponse } from "./__model__/MockHttpRequestResponse"; import { EventEmitter } from "events"; -import { ImperativeError } from "../../../error"; -import { IOptionsFullResponse } from "../../src/client/doc/IOptionsFullResponse"; -import { CLIENT_PROPERTY } from "../../src/client/types/AbstractRestClientProperties"; +import { ImperativeError } from "../../../../src/error"; +import { IOptionsFullResponse } from "../../../../src/rest/client/doc/IOptionsFullResponse"; +import { CLIENT_PROPERTY } from "../../../../src/rest/client/types/AbstractRestClientProperties"; import { PassThrough } from "stream"; import * as zlib from "zlib"; import * as streamToString from "stream-to-string"; -import { AbstractRestClient } from "../../src/client/AbstractRestClient"; +import { AbstractRestClient } from "../../../../src/rest/client/AbstractRestClient"; import * as os from "os"; import { join } from "path"; -import { IO } from "../../../io"; +import { IO } from "../../../../src/io"; /** * To test the AbstractRestClient, we use the existing default RestClient which diff --git a/packages/imperative/src/rest/__tests__/client/CompressionUtils.unit.test.ts b/packages/imperative/__tests__/__unit__/rest/client/CompressionUtils.unit.test.ts similarity index 98% rename from packages/imperative/src/rest/__tests__/client/CompressionUtils.unit.test.ts rename to packages/imperative/__tests__/__unit__/rest/client/CompressionUtils.unit.test.ts index 95f76a2af3..0d8a418b64 100644 --- a/packages/imperative/src/rest/__tests__/client/CompressionUtils.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/rest/client/CompressionUtils.unit.test.ts @@ -13,7 +13,7 @@ import * as os from "os"; import { PassThrough } from "stream"; import * as zlib from "zlib"; import * as streamToString from "stream-to-string"; -import { CompressionUtils } from "../../src/client/CompressionUtils"; +import { CompressionUtils } from "../../../../src/rest/client/CompressionUtils"; const responseText = "Request failed successfully"; const rawBuffer = Buffer.from(responseText); diff --git a/packages/imperative/src/rest/__tests__/client/RestClient.unit.test.ts b/packages/imperative/__tests__/__unit__/rest/client/RestClient.unit.test.ts similarity index 95% rename from packages/imperative/src/rest/__tests__/client/RestClient.unit.test.ts rename to packages/imperative/__tests__/__unit__/rest/client/RestClient.unit.test.ts index 251b959a85..f7b9206126 100644 --- a/packages/imperative/src/rest/__tests__/client/RestClient.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/rest/client/RestClient.unit.test.ts @@ -12,17 +12,17 @@ jest.mock("path"); import * as path from "path"; import * as https from "https"; -import { Session } from "../../src/session/Session"; +import { Session } from "../../../../src/rest/session/Session"; import { EventEmitter } from "events"; -import { ProcessUtils } from "../../../utilities"; +import { ProcessUtils } from "../../../../src/utilities/ProcessUtils"; import { MockHttpRequestResponse } from "./__model__/MockHttpRequestResponse"; import { CustomRestClient } from "./__model__/CustomRestClient"; import { CustomRestClientWithProcessError, EXPECTED_REST_ERROR } from "./__model__/CustomRestClientWithProcessError"; import { getRandomBytes } from "../../../../__tests__/src/TestUtil"; -import { RestClientError } from "../../src/client/RestClientError"; -import { IOptionsFullResponse } from "../../src/client/doc/IOptionsFullResponse"; -import { IRestClientResponse } from "../../src/client/doc/IRestClientResponse"; -import { CLIENT_PROPERTY } from "../../src/client/types/AbstractRestClientProperties"; +import { RestClientError } from "../../../../src/rest/client/RestClientError"; +import { IOptionsFullResponse } from "../../../../src/rest/client/doc/IOptionsFullResponse"; +import { IRestClientResponse } from "../../../../src/rest/client/doc/IRestClientResponse"; +import { CLIENT_PROPERTY } from "../../../../src/rest/client/types/AbstractRestClientProperties"; /** * RestClient is already tested vie the AbstractRestClient test, so we will extend RestClient diff --git a/packages/imperative/src/rest/__tests__/client/RestClientError.unit.test.ts b/packages/imperative/__tests__/__unit__/rest/client/RestClientError.unit.test.ts similarity index 91% rename from packages/imperative/src/rest/__tests__/client/RestClientError.unit.test.ts rename to packages/imperative/__tests__/__unit__/rest/client/RestClientError.unit.test.ts index cb8fe76204..5f8762db2d 100644 --- a/packages/imperative/src/rest/__tests__/client/RestClientError.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/rest/client/RestClientError.unit.test.ts @@ -9,8 +9,8 @@ * */ -import { RestClientError } from "../../src/client/RestClientError"; -import { ImperativeError } from "../../../error"; +import { RestClientError } from "../../../../src/rest/client/RestClientError"; +import { ImperativeError } from "../../../../src/error"; describe("RestClientError tests", () => { it("should be an instance of ImperativeError", async () => { diff --git a/packages/imperative/src/rest/__tests__/client/RestStandAloneUtils.unit.test.ts b/packages/imperative/__tests__/__unit__/rest/client/RestStandAloneUtils.unit.test.ts similarity index 91% rename from packages/imperative/src/rest/__tests__/client/RestStandAloneUtils.unit.test.ts rename to packages/imperative/__tests__/__unit__/rest/client/RestStandAloneUtils.unit.test.ts index f970b332e4..9a167fe902 100644 --- a/packages/imperative/src/rest/__tests__/client/RestStandAloneUtils.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/rest/client/RestStandAloneUtils.unit.test.ts @@ -9,7 +9,7 @@ * */ -import { RestStandAloneUtils } from "../../src/client/RestStandAloneUtils"; +import { RestStandAloneUtils } from "../../../../src/rest/client/RestStandAloneUtils"; const IN_USER = "shadyside"; const IN_PASSWORD = "darkside"; diff --git a/packages/imperative/src/rest/__tests__/client/__model__/CustomRestClient.ts b/packages/imperative/__tests__/__unit__/rest/client/__model__/CustomRestClient.ts similarity index 100% rename from packages/imperative/src/rest/__tests__/client/__model__/CustomRestClient.ts rename to packages/imperative/__tests__/__unit__/rest/client/__model__/CustomRestClient.ts diff --git a/packages/imperative/src/rest/__tests__/client/__model__/CustomRestClientWithProcessError.ts b/packages/imperative/__tests__/__unit__/rest/client/__model__/CustomRestClientWithProcessError.ts similarity index 100% rename from packages/imperative/src/rest/__tests__/client/__model__/CustomRestClientWithProcessError.ts rename to packages/imperative/__tests__/__unit__/rest/client/__model__/CustomRestClientWithProcessError.ts diff --git a/packages/imperative/src/rest/__tests__/client/__model__/MockHttpRequestResponse.ts b/packages/imperative/__tests__/__unit__/rest/client/__model__/MockHttpRequestResponse.ts similarity index 100% rename from packages/imperative/src/rest/__tests__/client/__model__/MockHttpRequestResponse.ts rename to packages/imperative/__tests__/__unit__/rest/client/__model__/MockHttpRequestResponse.ts diff --git a/packages/imperative/src/rest/__tests__/client/__snapshots__/AbstractRestClient.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/rest/client/__snapshots__/AbstractRestClient.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/rest/__tests__/client/__snapshots__/AbstractRestClient.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/rest/client/__snapshots__/AbstractRestClient.unit.test.ts.snap diff --git a/packages/imperative/src/rest/__tests__/client/__snapshots__/RestClient.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/rest/client/__snapshots__/RestClient.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/rest/__tests__/client/__snapshots__/RestClient.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/rest/client/__snapshots__/RestClient.unit.test.ts.snap diff --git a/packages/imperative/src/rest/__tests__/client/__snapshots__/RestClientError.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/rest/client/__snapshots__/RestClientError.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/rest/__tests__/client/__snapshots__/RestClientError.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/rest/client/__snapshots__/RestClientError.unit.test.ts.snap diff --git a/packages/imperative/src/rest/__tests__/session/ConnectionPropsForSessCfg.unit.test.ts b/packages/imperative/__tests__/__unit__/rest/session/ConnectionPropsForSessCfg.unit.test.ts similarity index 98% rename from packages/imperative/src/rest/__tests__/session/ConnectionPropsForSessCfg.unit.test.ts rename to packages/imperative/__tests__/__unit__/rest/session/ConnectionPropsForSessCfg.unit.test.ts index 70cea1f2d2..610b131162 100644 --- a/packages/imperative/src/rest/__tests__/session/ConnectionPropsForSessCfg.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/rest/session/ConnectionPropsForSessCfg.unit.test.ts @@ -9,17 +9,18 @@ * */ -jest.mock("../../../logger/src/LoggerUtils"); -import { ConnectionPropsForSessCfg } from "../../src/session/ConnectionPropsForSessCfg"; -import { CliUtils } from "../../../utilities/src/CliUtils"; -import { ImperativeError } from "../../../error"; -import * as SessConstants from "../../src/session/SessConstants"; -import { ISession } from "../../src/session/doc/ISession"; -import { Logger } from "../../../logger"; +jest.mock("../../../../src/LoggerUtils"); + +import { ConnectionPropsForSessCfg } from "../../../../src/rest/session/ConnectionPropsForSessCfg"; +import { CliUtils } from "../../../../src/utilities/CliUtils"; +import { ImperativeError } from "../../../../src/error"; +import * as SessConstants from "../../../../src/rest/session/SessConstants"; +import { ISession } from "../../../../src/rest/session/doc/ISession"; +import { Logger } from "../../../../src/logger"; import { join } from "path"; -import { ConfigAutoStore } from "../../../config/src/ConfigAutoStore"; +import { ConfigAutoStore } from "../../../../src/config/ConfigAutoStore"; import { setupConfigToLoad } from "../../../../__tests__/src/TestUtil"; -import { IOverridePromptConnProps } from "../../src/session/doc/IOverridePromptConnProps"; +import { IOverridePromptConnProps } from "../../../../src/rest/session/doc/IOverridePromptConnProps"; const certFilePath = join(__dirname, "..", "..", "..", "..", "__tests__", "__integration__", "cmd", "__tests__", "integration", "cli", "auth", "__resources__", "fakeCert.cert"); diff --git a/packages/imperative/src/rest/__tests__/session/Session.unit.test.ts b/packages/imperative/__tests__/__unit__/rest/session/Session.unit.test.ts similarity index 99% rename from packages/imperative/src/rest/__tests__/session/Session.unit.test.ts rename to packages/imperative/__tests__/__unit__/rest/session/Session.unit.test.ts index 4cec4483a0..4f30743d6a 100644 --- a/packages/imperative/src/rest/__tests__/session/Session.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/rest/session/Session.unit.test.ts @@ -10,7 +10,7 @@ */ import { URL } from "url"; -import { Session } from "../../src/session/Session"; +import { Session } from "../../../../src/rest/session/Session"; describe("Session tests", () => { diff --git a/packages/imperative/src/rest/__tests__/session/__snapshots__/Session.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/rest/session/__snapshots__/Session.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/rest/__tests__/session/__snapshots__/Session.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/rest/session/__snapshots__/Session.unit.test.ts.snap diff --git a/packages/imperative/src/security/__tests__/CredentialManagerFactory-testClasses/FailToExtend.ts b/packages/imperative/__tests__/__unit__/security/CredentialManagerFactory-testClasses/FailToExtend.ts similarity index 100% rename from packages/imperative/src/security/__tests__/CredentialManagerFactory-testClasses/FailToExtend.ts rename to packages/imperative/__tests__/__unit__/security/CredentialManagerFactory-testClasses/FailToExtend.ts diff --git a/packages/imperative/src/security/__tests__/CredentialManagerFactory-testClasses/GoodCredentialManager.ts b/packages/imperative/__tests__/__unit__/security/CredentialManagerFactory-testClasses/GoodCredentialManager.ts similarity index 99% rename from packages/imperative/src/security/__tests__/CredentialManagerFactory-testClasses/GoodCredentialManager.ts rename to packages/imperative/__tests__/__unit__/security/CredentialManagerFactory-testClasses/GoodCredentialManager.ts index cd25eaf5dd..061217d3b8 100644 --- a/packages/imperative/src/security/__tests__/CredentialManagerFactory-testClasses/GoodCredentialManager.ts +++ b/packages/imperative/__tests__/__unit__/security/CredentialManagerFactory-testClasses/GoodCredentialManager.ts @@ -9,7 +9,7 @@ * */ -import { AbstractCredentialManager, SecureCredential } from "../.."; +import { AbstractCredentialManager, SecureCredential } from "../../../.."; /** * This class is used to test the Credential Manager Factory load class method diff --git a/packages/imperative/src/security/__tests__/CredentialManagerFactory.unit.test.ts b/packages/imperative/__tests__/__unit__/security/CredentialManagerFactory.unit.test.ts similarity index 98% rename from packages/imperative/src/security/__tests__/CredentialManagerFactory.unit.test.ts rename to packages/imperative/__tests__/__unit__/security/CredentialManagerFactory.unit.test.ts index c98e9eaee4..bc053d7c19 100644 --- a/packages/imperative/src/security/__tests__/CredentialManagerFactory.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/security/CredentialManagerFactory.unit.test.ts @@ -28,8 +28,8 @@ describe("CredentialManagerFactory", () => { // reload our modules. So we will clear the module registry and import again jest.resetModules(); jest.doMock("../src/DefaultCredentialManager"); - ({ CredentialManagerFactory, DefaultCredentialManager, BadCredentialManagerError } = await import("..")); - ({ InvalidCredentialManager } = await import("../src/InvalidCredentialManager")); + ({ CredentialManagerFactory, DefaultCredentialManager, BadCredentialManagerError } = await import("../../../src/security")); + ({ InvalidCredentialManager } = await import("../../../src/security/InvalidCredentialManager")); }); it("should throw an error if no service name was provided", () => { diff --git a/packages/imperative/src/security/__tests__/CredentialManagerOverride.unit.test.ts b/packages/imperative/__tests__/__unit__/security/CredentialManagerOverride.unit.test.ts similarity index 98% rename from packages/imperative/src/security/__tests__/CredentialManagerOverride.unit.test.ts rename to packages/imperative/__tests__/__unit__/security/CredentialManagerOverride.unit.test.ts index 2433cc66bb..b9d2cf56a1 100644 --- a/packages/imperative/src/security/__tests__/CredentialManagerOverride.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/security/CredentialManagerOverride.unit.test.ts @@ -12,11 +12,10 @@ import * as fsExtra from "fs-extra"; import * as path from "path"; -import { CredentialManagerOverride } from "../src/CredentialManagerOverride"; -import { ICredentialManagerNameMap } from "../src/doc/ICredentialManagerNameMap"; -import { ImperativeConfig } from "../../utilities"; -import { ImperativeError } from "../../error"; -import { ISettingsFile } from "../../settings/src/doc/ISettingsFile"; +import { CredentialManagerOverride,ICredentialManagerNameMap } from "../../../src/security"; +import { ImperativeConfig } from "../../../src/utilities/ImperativeConfig"; +import { ImperativeError } from "../../../src/error"; +import { ISettingsFile } from "../../../src/settings/doc/ISettingsFile"; describe("CredentialManagerOverride", () => { let mockImpConfig: any; diff --git a/packages/imperative/src/security/__tests__/DefaultCredentialManager.unit.test.ts b/packages/imperative/__tests__/__unit__/security/DefaultCredentialManager.unit.test.ts similarity index 99% rename from packages/imperative/src/security/__tests__/DefaultCredentialManager.unit.test.ts rename to packages/imperative/__tests__/__unit__/security/DefaultCredentialManager.unit.test.ts index ea415ba2a2..c5621cbf7c 100644 --- a/packages/imperative/src/security/__tests__/DefaultCredentialManager.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/security/DefaultCredentialManager.unit.test.ts @@ -12,9 +12,9 @@ jest.mock("@zowe/secrets-for-zowe-sdk"); import * as path from "path"; -import { DefaultCredentialManager } from ".."; +import { DefaultCredentialManager } from "../../../src/security"; import { keyring as keytar } from "@zowe/secrets-for-zowe-sdk"; -import { ImperativeError } from "../../error"; +import { ImperativeError } from "../../../src/error"; const winMaxCredentialLength = 2560; diff --git a/packages/imperative/src/security/__tests__/InvalidCredentialManager.unit.test.ts b/packages/imperative/__tests__/__unit__/security/InvalidCredentialManager.unit.test.ts similarity index 93% rename from packages/imperative/src/security/__tests__/InvalidCredentialManager.unit.test.ts rename to packages/imperative/__tests__/__unit__/security/InvalidCredentialManager.unit.test.ts index f9640535e8..ab18da19a5 100644 --- a/packages/imperative/src/security/__tests__/InvalidCredentialManager.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/security/InvalidCredentialManager.unit.test.ts @@ -9,8 +9,8 @@ * */ -import { InvalidCredentialManager } from "../src/InvalidCredentialManager"; -import { BadCredentialManagerError } from ".."; +import { InvalidCredentialManager } from "../../../src/security/InvalidCredentialManager"; +import { BadCredentialManagerError } from "../../../"; describe("InvalidCredentialMangager", () => { it("should throw an error for every available method on the class", async () => { diff --git a/packages/imperative/src/security/__tests__/abstract/AbstractCredentialManager.unit.test.ts b/packages/imperative/__tests__/__unit__/security/abstract/AbstractCredentialManager.unit.test.ts similarity index 98% rename from packages/imperative/src/security/__tests__/abstract/AbstractCredentialManager.unit.test.ts rename to packages/imperative/__tests__/__unit__/security/abstract/AbstractCredentialManager.unit.test.ts index 7f684eecee..b25433162c 100644 --- a/packages/imperative/src/security/__tests__/abstract/AbstractCredentialManager.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/security/abstract/AbstractCredentialManager.unit.test.ts @@ -9,8 +9,8 @@ * */ -import { AbstractCredentialManager, DefaultCredentialManager } from "../.."; -import { ImperativeError } from "../../../error"; +import { AbstractCredentialManager, DefaultCredentialManager } from "../../../../"; +import { ImperativeError } from "../../../../src/error"; import { UnitTestUtils } from "../../../../__tests__/src/UnitTestUtils"; describe("AbstractCredentialManager", () => { diff --git a/packages/imperative/src/security/__tests__/abstract/__snapshots__/AbstractCredentialManager.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/security/abstract/__snapshots__/AbstractCredentialManager.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/security/__tests__/abstract/__snapshots__/AbstractCredentialManager.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/security/abstract/__snapshots__/AbstractCredentialManager.unit.test.ts.snap diff --git a/packages/imperative/src/security/__tests__/doc/ICredentialManagerNameMap.unit.test.ts b/packages/imperative/__tests__/__unit__/security/doc/ICredentialManagerNameMap.unit.test.ts similarity index 100% rename from packages/imperative/src/security/__tests__/doc/ICredentialManagerNameMap.unit.test.ts rename to packages/imperative/__tests__/__unit__/security/doc/ICredentialManagerNameMap.unit.test.ts diff --git a/packages/imperative/src/security/__tests__/errors/BadCredentialManagerError.unit.test.ts b/packages/imperative/__tests__/__unit__/security/errors/BadCredentialManagerError.unit.test.ts similarity index 93% rename from packages/imperative/src/security/__tests__/errors/BadCredentialManagerError.unit.test.ts rename to packages/imperative/__tests__/__unit__/security/errors/BadCredentialManagerError.unit.test.ts index 9c7a32ddf4..593f19dc8d 100644 --- a/packages/imperative/src/security/__tests__/errors/BadCredentialManagerError.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/security/errors/BadCredentialManagerError.unit.test.ts @@ -9,7 +9,7 @@ * */ -import { BadCredentialManagerError } from "../.."; +import { BadCredentialManagerError } from "../../../.."; describe("BadCredentialMangagerError", () => { it("should construct an imperative error with the proper cause error", () => { diff --git a/packages/imperative/src/settings/__tests__/AppSettings.unit.test.ts b/packages/imperative/__tests__/__unit__/settings/AppSettings.unit.test.ts similarity index 97% rename from packages/imperative/src/settings/__tests__/AppSettings.unit.test.ts rename to packages/imperative/__tests__/__unit__/settings/AppSettings.unit.test.ts index 078da76595..ec9d432894 100644 --- a/packages/imperative/src/settings/__tests__/AppSettings.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/settings/AppSettings.unit.test.ts @@ -14,13 +14,13 @@ import Mock = jest.Mock; jest.mock("fs"); jest.mock("jsonfile"); -import { AppSettings } from ".."; +import { AppSettings } from "../../../"; import { existsSync } from "fs"; -import { SettingsAlreadyInitialized, SettingsNotInitialized } from "../src/errors"; +import { SettingsAlreadyInitialized, SettingsNotInitialized } from "../../../src/settings/errors"; import { readFileSync, writeFile, writeFileSync } from "jsonfile"; -import { ISettingsFile } from "../src/doc/ISettingsFile"; +import { ISettingsFile } from "../../../src/settings/doc/ISettingsFile"; import * as DeepMerge from "deepmerge"; -import { JSONSettingsFilePersistence } from "../src/persistance/JSONSettingsFilePersistence"; +import { JSONSettingsFilePersistence } from "../../../src/settings/persistance/JSONSettingsFilePersistence"; /** * Type of all the keys in the app settings class diff --git a/packages/imperative/src/utilities/__tests__/CliUtils.unit.test.ts b/packages/imperative/__tests__/__unit__/utilities/CliUtils.unit.test.ts similarity index 99% rename from packages/imperative/src/utilities/__tests__/CliUtils.unit.test.ts rename to packages/imperative/__tests__/__unit__/utilities/CliUtils.unit.test.ts index acfcfd2dda..eb3fb62d61 100644 --- a/packages/imperative/src/utilities/__tests__/CliUtils.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/utilities/CliUtils.unit.test.ts @@ -10,10 +10,10 @@ */ import * as stream from "stream"; -import { CliUtils } from "../src/CliUtils"; -import { CommandProfiles, ICommandOptionDefinition } from "../../cmd"; -import { IProfile } from "../../profiles"; -import { ImperativeError } from "../../error"; +import { CliUtils } from "../../../src/utilities/CliUtils"; +import { CommandProfiles, ICommandOptionDefinition } from "../../../src/cmd"; +import { IProfile } from "../../../src/profiles"; +import { ImperativeError } from "../../../src/error"; jest.mock("readline-sync"); diff --git a/packages/imperative/src/utilities/__tests__/DaemonRequest.unit.test.ts b/packages/imperative/__tests__/__unit__/utilities/DaemonRequest.unit.test.ts similarity index 92% rename from packages/imperative/src/utilities/__tests__/DaemonRequest.unit.test.ts rename to packages/imperative/__tests__/__unit__/utilities/DaemonRequest.unit.test.ts index 5d296a00e2..b15a210d01 100644 --- a/packages/imperative/src/utilities/__tests__/DaemonRequest.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/utilities/DaemonRequest.unit.test.ts @@ -9,8 +9,8 @@ * */ -import { DaemonRequest } from "../src/DaemonRequest"; -import { IDaemonRequest } from "../src/doc/IDaemonRequest"; +import { DaemonRequest } from "../../../src/utilities/DaemonRequest"; +import { IDaemonRequest } from "../../../src/utilities/doc/IDaemonRequest"; describe("DaemonRequest tests", () => { it("should add stdout to JSON request", () => { diff --git a/packages/imperative/src/utilities/__tests__/EnvFileUtils.unit.test.ts b/packages/imperative/__tests__/__unit__/utilities/EnvFileUtils.unit.test.ts similarity index 99% rename from packages/imperative/src/utilities/__tests__/EnvFileUtils.unit.test.ts rename to packages/imperative/__tests__/__unit__/utilities/EnvFileUtils.unit.test.ts index f74bda59db..20326e1550 100644 --- a/packages/imperative/src/utilities/__tests__/EnvFileUtils.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/utilities/EnvFileUtils.unit.test.ts @@ -12,7 +12,7 @@ import * as fs from "fs"; import { homedir } from "os"; import { join } from "path"; -import { EnvFileUtils } from "../../utilities"; +import { EnvFileUtils } from "../../../src/utilities/EnvFileUtils"; describe("EnvFileUtils tests", () => { afterEach(() => { diff --git a/packages/imperative/src/utilities/__tests__/ExecUtils.unit.test.ts b/packages/imperative/__tests__/__unit__/utilities/ExecUtils.unit.test.ts similarity index 97% rename from packages/imperative/src/utilities/__tests__/ExecUtils.unit.test.ts rename to packages/imperative/__tests__/__unit__/utilities/ExecUtils.unit.test.ts index ebc8a18407..9ef1f6af96 100644 --- a/packages/imperative/src/utilities/__tests__/ExecUtils.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/utilities/ExecUtils.unit.test.ts @@ -10,7 +10,7 @@ */ import * as spawn from "cross-spawn"; -import { ExecUtils } from "../../utilities"; +import { ExecUtils } from "../../../src/utilities/ExecUtils"; jest.mock("cross-spawn"); jest.mock("opener"); diff --git a/packages/imperative/src/utilities/__tests__/ImperativeConfig.unit.test.ts b/packages/imperative/__tests__/__unit__/utilities/ImperativeConfig.unit.test.ts similarity index 96% rename from packages/imperative/src/utilities/__tests__/ImperativeConfig.unit.test.ts rename to packages/imperative/__tests__/__unit__/utilities/ImperativeConfig.unit.test.ts index a4c9e11895..e306bc862f 100644 --- a/packages/imperative/src/utilities/__tests__/ImperativeConfig.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/utilities/ImperativeConfig.unit.test.ts @@ -9,10 +9,10 @@ * */ -import { Constants } from "../../constants"; +import { Constants } from "../../../src/constants"; describe("ImperativeConfig", () => { - const {ImperativeConfig} = require("../../utilities/src/ImperativeConfig"); + const {ImperativeConfig} = require("../../utilities/ImperativeConfig"); const mockConfig = { name: "test-cli", diff --git a/packages/imperative/src/utilities/__tests__/JSONUtils.unit.test.ts b/packages/imperative/__tests__/__unit__/utilities/JSONUtils.unit.test.ts similarity index 97% rename from packages/imperative/src/utilities/__tests__/JSONUtils.unit.test.ts rename to packages/imperative/__tests__/__unit__/utilities/JSONUtils.unit.test.ts index 455e669a91..bf6ccf6fca 100644 --- a/packages/imperative/src/utilities/__tests__/JSONUtils.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/utilities/JSONUtils.unit.test.ts @@ -9,7 +9,7 @@ * */ -import { JSONUtils } from "../../utilities"; +import { JSONUtils } from "../../../src/utilities/JSONUtils"; interface ITestObj { name: string; diff --git a/packages/imperative/src/utilities/__tests__/JsUtils.unit.test.ts b/packages/imperative/__tests__/__unit__/utilities/JsUtils.unit.test.ts similarity index 96% rename from packages/imperative/src/utilities/__tests__/JsUtils.unit.test.ts rename to packages/imperative/__tests__/__unit__/utilities/JsUtils.unit.test.ts index 74451e3209..95688f8c60 100644 --- a/packages/imperative/src/utilities/__tests__/JsUtils.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/utilities/JsUtils.unit.test.ts @@ -9,7 +9,7 @@ * */ -import { JsUtils } from "../src/JsUtils"; +import { JsUtils } from "../../../src/utilities/JsUtils"; describe("JsUtils", () => { diff --git a/packages/imperative/src/utilities/__tests__/ProcessUtils.unit.test.ts b/packages/imperative/__tests__/__unit__/utilities/ProcessUtils.unit.test.ts similarity index 98% rename from packages/imperative/src/utilities/__tests__/ProcessUtils.unit.test.ts rename to packages/imperative/__tests__/__unit__/utilities/ProcessUtils.unit.test.ts index a20a6fd03e..63e23004db 100644 --- a/packages/imperative/src/utilities/__tests__/ProcessUtils.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/utilities/ProcessUtils.unit.test.ts @@ -10,7 +10,9 @@ */ import * as spawn from "cross-spawn"; -import { ExecUtils, GuiResult, ImperativeConfig, ProcessUtils } from "../../utilities"; +import { ProcessUtils, GuiResult } from "../../../src/utilities/ProcessUtils"; +import { ImperativeConfig } from "../../../src/utilities/ImperativeConfig"; +import { ExecUtils } from "../../../src/utilities/ExecUtils"; jest.mock("cross-spawn"); jest.mock("opener"); diff --git a/packages/imperative/src/utilities/__tests__/TextUtils.unit.test.ts b/packages/imperative/__tests__/__unit__/utilities/TextUtils.unit.test.ts similarity index 98% rename from packages/imperative/src/utilities/__tests__/TextUtils.unit.test.ts rename to packages/imperative/__tests__/__unit__/utilities/TextUtils.unit.test.ts index f656da77cc..a41e61805f 100644 --- a/packages/imperative/src/utilities/__tests__/TextUtils.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/utilities/TextUtils.unit.test.ts @@ -15,7 +15,7 @@ const tableObjects = [ { header1: "value1", 2: "value2", header3: "value3" }, ]; -import { TextUtils } from "../src/TextUtils"; +import { TextUtils } from "../../../src/utilities/TextUtils"; const beforeForceColor = process.env.FORCE_COLOR; diff --git a/packages/imperative/src/utilities/__tests__/__snapshots__/CliUtils.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/utilities/__snapshots__/CliUtils.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/utilities/__tests__/__snapshots__/CliUtils.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/utilities/__snapshots__/CliUtils.unit.test.ts.snap diff --git a/packages/imperative/src/utilities/__tests__/__snapshots__/JSONUtils.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/utilities/__snapshots__/JSONUtils.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/utilities/__tests__/__snapshots__/JSONUtils.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/utilities/__snapshots__/JSONUtils.unit.test.ts.snap diff --git a/packages/imperative/src/utilities/__tests__/__snapshots__/TextUtils.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/utilities/__snapshots__/TextUtils.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/utilities/__tests__/__snapshots__/TextUtils.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/utilities/__snapshots__/TextUtils.unit.test.ts.snap diff --git a/packages/imperative/src/utilities/__tests__/diff/DiffUtils.unit.test.ts b/packages/imperative/__tests__/__unit__/utilities/diff/DiffUtils.unit.test.ts similarity index 90% rename from packages/imperative/src/utilities/__tests__/diff/DiffUtils.unit.test.ts rename to packages/imperative/__tests__/__unit__/utilities/diff/DiffUtils.unit.test.ts index ec15c04a6f..94eb33aa1d 100644 --- a/packages/imperative/src/utilities/__tests__/diff/DiffUtils.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/utilities/diff/DiffUtils.unit.test.ts @@ -10,10 +10,10 @@ */ import * as diff from "diff"; -import { DiffUtils } from "../../src/diff/DiffUtils"; -import { IDiffOptions } from "../../src/diff/doc/IDiffOptions"; -import { IDiffNameOptions } from "../../src/diff/doc/IDiffNameOptions"; -import { WebDiffManager } from "../../src/diff/WebDiffManager"; +import { DiffUtils } from "../../../../src/utilities/diff/DiffUtils"; +import { IDiffOptions } from "../../../../src/utilities/diff/doc/IDiffOptions"; +import { IDiffNameOptions } from "../../../../src/utilities/diff/doc/IDiffNameOptions"; +import { WebDiffManager } from "../../../../src/utilities/diff/WebDiffManager"; import * as jestDiff from "jest-diff"; import * as diff2html from "diff2html"; jest.mock("diff"); diff --git a/packages/imperative/src/utilities/__tests__/diff/WebDiffGenerator.unit.test.ts b/packages/imperative/__tests__/__unit__/utilities/diff/WebDiffGenerator.unit.test.ts similarity index 87% rename from packages/imperative/src/utilities/__tests__/diff/WebDiffGenerator.unit.test.ts rename to packages/imperative/__tests__/__unit__/utilities/diff/WebDiffGenerator.unit.test.ts index 0b32138381..de6db9ad8b 100644 --- a/packages/imperative/src/utilities/__tests__/diff/WebDiffGenerator.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/utilities/diff/WebDiffGenerator.unit.test.ts @@ -12,9 +12,9 @@ import * as fs from 'fs'; import * as path from 'path'; -import WebDiffGenerator from "../../src/diff/WebDiffGenerator"; -import { ImperativeConfig } from "../../src/ImperativeConfig"; -import { IO } from '../../../io/'; +import WebDiffGenerator from "../../../../src/utilities/diff/WebDiffGenerator"; +import { ImperativeConfig } from "../../../../src/utilities/ImperativeConfig"; +import { IO } from '../../../../src/io/'; describe("WebDiffGenerator", () => { // setting up fake cli home and web diff dir for testing diff --git a/packages/imperative/src/utilities/__tests__/diff/WebDiffManager.unit.test.ts b/packages/imperative/__tests__/__unit__/utilities/diff/WebDiffManager.unit.test.ts similarity index 85% rename from packages/imperative/src/utilities/__tests__/diff/WebDiffManager.unit.test.ts rename to packages/imperative/__tests__/__unit__/utilities/diff/WebDiffManager.unit.test.ts index 76a1884b5f..1a91ed06a4 100644 --- a/packages/imperative/src/utilities/__tests__/diff/WebDiffManager.unit.test.ts +++ b/packages/imperative/__tests__/__unit__/utilities/diff/WebDiffManager.unit.test.ts @@ -12,13 +12,13 @@ import * as fs from 'fs'; import * as path from 'path'; -import { WebDiffManager } from "../../src/diff/WebDiffManager"; +import { WebDiffManager } from "../../../../src/utilities/diff/WebDiffManager"; import * as diff2html from "diff2html"; -import { ImperativeConfig } from "../../src/ImperativeConfig"; -import WebDiffGenerator from "../../src/diff/WebDiffGenerator"; -import { IImperativeConfig } from '../../../imperative'; -import { Imperative } from '../../../imperative/src/Imperative'; -import { ProcessUtils, GuiResult } from '../../src/ProcessUtils'; +import { ImperativeConfig } from "../../../../src/utilities/ImperativeConfig"; +import WebDiffGenerator from "../../../../src/utilities/diff/WebDiffGenerator"; +import { IImperativeConfig } from '../../../../src/imperative'; +import { Imperative } from '../../../../src/imperative/Imperative'; +import { ProcessUtils, GuiResult } from '../../../../src/utilities/ProcessUtils'; describe("WebDiffManager", () => { diff --git a/packages/imperative/src/utilities/__tests__/diff/__snapshots__/DiffUtils.unit.test.ts.snap b/packages/imperative/__tests__/__unit__/utilities/diff/__snapshots__/DiffUtils.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/utilities/__tests__/diff/__snapshots__/DiffUtils.unit.test.ts.snap rename to packages/imperative/__tests__/__unit__/utilities/diff/__snapshots__/DiffUtils.unit.test.ts.snap diff --git a/packages/imperative/__tests__/src/TestLogger.ts b/packages/imperative/__tests__/src/TestLogger.ts index 2654508971..e184dd93c9 100644 --- a/packages/imperative/__tests__/src/TestLogger.ts +++ b/packages/imperative/__tests__/src/TestLogger.ts @@ -9,10 +9,10 @@ * */ -import { LoggerConfigBuilder } from "../../src/logger/src/LoggerConfigBuilder"; -import { Logger } from "../../src/logger/src/Logger"; +import { LoggerConfigBuilder } from "../../src/logger/LoggerConfigBuilder"; +import { Logger } from "../../src/logger/Logger"; import { isNullOrUndefined } from "util"; -import { IConfigLogging } from "../../src/logger/src/doc/IConfigLogging"; +import { IConfigLogging } from "../../src/logger/doc/IConfigLogging"; import * as path from "path"; /** diff --git a/packages/imperative/__tests__/src/TestUtil.ts b/packages/imperative/__tests__/src/TestUtil.ts index d2070b831b..9582999bd3 100644 --- a/packages/imperative/__tests__/src/TestUtil.ts +++ b/packages/imperative/__tests__/src/TestUtil.ts @@ -440,7 +440,7 @@ export function runCliScript(scriptPath: string, cwd: string, args: any = [], en // Execute the command synchronously return sync("sh", [`${scriptPath}`].concat(args), {cwd, env: childEnv}); } else { - throw new Error("The script directory doesn't exist"); + throw new Error("The script directory doesn't exist: " + scriptPath); } } diff --git a/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/AutoGeneratedProfileCommands.integration.subtest.ts b/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/AutoGeneratedProfileCommands.integration.subtest.ts index 4487177c91..9c69126465 100644 --- a/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/AutoGeneratedProfileCommands.integration.subtest.ts +++ b/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/AutoGeneratedProfileCommands.integration.subtest.ts @@ -11,6 +11,8 @@ import { IImperativeConfig } from "../../../../../src/imperative"; import * as T from "../../../TestUtil"; +import * as path from "path"; +import * as fs from "fs"; describe("We should provide auto-generated profile commands for convenience, " + "so that Imperative-based CLIs can let users manage configuration profiles", () => { @@ -25,221 +27,81 @@ describe("We should provide auto-generated profile commands for convenience, " + const home = config.defaultHome; beforeAll(() => { + // ensure a clean CLI home directory exists before running our copy_profile script T.rimraf(home); - }); - beforeEach(() => { - T.rimraf(home); // delete profiles - }); - afterAll(() => { - T.rimraf(home); - }); - it("If we accept the default of auto-generating profile commands, " + - "commands should be generated for each profile type, " + - "and able to be invoked with --help", () => { + fs.mkdirSync(home); - T.findExpectedOutputInCommand(cliBin, ["profiles", "--help"], ["create", "set"], - "stdout", true, this); - // validate commands have been generated for each type of profile - T.findExpectedOutputInCommand(cliBin, ["profiles", "create", "--help"], [profileTypeA, profileTypeB], - "stdout", true, this); - T.findExpectedOutputInCommand(cliBin, ["profiles", "create", profileTypeA, "--help"], [profileTypeA], - "stdout", true, this); - T.findExpectedOutputInCommand(cliBin, ["profiles", "set", "--help"], [profileTypeA, profileTypeB], - "stdout", true, this); - T.findExpectedOutputInCommand(cliBin, ["profiles", "list", "--help"], [profileTypeA, profileTypeB], - "stdout", true, this); - T.findExpectedOutputInCommand(cliBin, ["profiles", "delete", "--help"], [profileTypeA, profileTypeB], - "stdout", true, this); - T.findExpectedOutputInCommand(cliBin, ["profiles", "update", "--help"], [profileTypeA, profileTypeB], - "stdout", true, this); - T.findExpectedOutputInCommand(cliBin, ["profiles", "validate", "--help"], [manyFieldProfile], - "stdout", true, this); + // copy existing profiles into test directory + const result = T.runCliScript(path.join(__dirname, "__scripts__/copy_auto_gen_profiles.sh"), home); + expect(result.stderr.toString()).toBe(""); + expect(result.status).toBe(0); }); - it("If we specify updateProfileExamples on our profile configuration, " + - "our examples should appear in the help text", () => { - T.findExpectedOutputInCommand(cliBin, ["profiles", "update", "profile-a", "--help"], ["froggy"], - "stdout", true, this); - - }); - - it("If we turn off auto-generating profile commands, " + - "commands should NOT be generated for each profile type", () => { - const cliBinNoCommands = __dirname + "/../ProfileExampleCLINoAutoGen.ts"; - T.findExpectedOutputInCommand(cliBinNoCommands, ["profiles", "--help"], - ["Command failed due to improper syntax", "Unknown group: profiles"], - "stderr", false, this); - // validate commands have been generated for each type of profile - T.findExpectedOutputInCommand(cliBinNoCommands, ["profiles", "create"], - ["Command failed due to improper syntax", "Unknown group: profiles"], - "stderr", false, this); - T.findExpectedOutputInCommand(cliBinNoCommands, ["profiles", "create", profileTypeA], - ["Command failed due to improper syntax", "Unknown group: profiles"], - "stderr", false, this); - T.findExpectedOutputInCommand(cliBinNoCommands, ["profiles", "set"], - ["Command failed due to improper syntax", "Unknown group: profiles"], - "stderr", false, this); - T.findExpectedOutputInCommand(cliBinNoCommands, ["profiles", "list"], - ["Command failed due to improper syntax", "Unknown group: profiles"], - "stderr", false, this); - T.findExpectedOutputInCommand(cliBinNoCommands, ["profiles", "delete"], - ["Command failed due to improper syntax", "Unknown group: profiles"], - "stderr", false, this); - T.findExpectedOutputInCommand(cliBinNoCommands, ["profiles", "update"], - ["Command failed due to improper syntax", "Unknown group: profiles"], - "stderr", false, this); + afterAll(() => { + T.rimraf(home); }); - it("If we have a profile type defined with a dependent profile, if we specify a non-existent " + - "profile-a profile, the command should fail", () => { - T.findExpectedOutputInCommand(cliBin, - ["profiles", "create", "profile-with-dependency", - "bad", - "--profile-a-profile", "fake", - "--ghost", "lenore"], - ["fake", "depend"], - "stderr", false, this, T.CMD_TYPE.ALL, {ignoreCase: true}); + it("should use a profile with a valid dependent profile", () => { + const result = T.executeTestCLICommand(cliBin, this, ["use-dependent-profile"]); + expect(result.stderr).toBe(""); + expect(result.stdout).toContain("Loaded profile dependency of type profile-a"); + expect(result.stdout).toContain("Loaded main profile of type profile-with-dependency"); + expect(result.status).toBe(0); }); - it("If we have a profile type defined with a dependent profile, if we specify a valid " + - "dependent profile, the command should succeed and we should be able to " + - "use the profile on a command", () => { - // basically the simple positive test case for dependent profile creation - const goodDependency = "good"; - const mainProfileName = "big_profile"; - T.findExpectedOutputInCommand(cliBin, ["profiles", "create", profileTypeA, goodDependency, "--animal", "doggy", - ], - ["doggy", "success", "numberWithDefault", "8080"], // expect default number value to be filled in - "stdout", true, this, T.CMD_TYPE.JSON, {ignoreCase: true}); - - T.findExpectedOutputInCommand(cliBin, - ["profiles", "create", "profile-with-dependency", - mainProfileName, - "--profile-a-profile", goodDependency, - "--ghost", "lenore"], - ["success"], - "stdout", true, this, T.CMD_TYPE.JSON, {ignoreCase: true}); + it("should use a profile with a dependent profile that is not the default for its type", () => { + // set the default profile for type profile-a + let result: any = T.runCliScript(path.join(__dirname, "__scripts__/set_default_profile.sh"), home, + [profileTypeA, "non_existent_default_a_profile"] + ); + expect(result.stderr.toString()).toBe(""); + expect(result.status).toBe(0); - // issue a command that uses the new profile with dependency - T.findExpectedOutputInCommand(cliBin, - ["use-dependent-profile"], [], "stdout", - true, this); + // use a profile that has a dependency which is now NOT the default profile for that dependency + result = T.executeTestCLICommand(cliBin, this, ["use-dependent-profile"]); + expect(result.stderr).toBe(""); + expect(result.stdout).toContain(`Loaded profile dependency of type ${profileTypeA}`); + expect(result.stdout).toContain("Loaded main profile of type profile-with-dependency"); + expect(result.status).toBe(0); }); - it("If we create a profile-with-dependencies, and the profile-a dependency is different than the default " + - "profile-a profile, the default profile-a profile should not be" + - " loaded when the profile-with-dependencies is used on a command", () => { - const defaultProfileA = "the_default_a_profile"; - const goodDependency = "good"; - const mainProfileName = "big_profile"; - T.findExpectedOutputInCommand(cliBin, ["profiles", "create", profileTypeA, defaultProfileA, "--animal", "emu"], - ["emu", "success"], - "stdout", true, this, T.CMD_TYPE.JSON, {ignoreCase: true}); - - T.findExpectedOutputInCommand(cliBin, ["profiles", "create", profileTypeA, goodDependency, "--animal", "doggy", - ], - ["doggy", "success"], - "stdout", true, this, T.CMD_TYPE.JSON, {ignoreCase: true}); - - T.findExpectedOutputInCommand(cliBin, - ["profiles", "create", "profile-with-dependency", - mainProfileName, - "--profile-a-profile", goodDependency, - "--ghost", "lenore"], - ["success"], - "stdout", true, this, T.CMD_TYPE.JSON, {ignoreCase: true}); - - // issue a command that uses the new profile with dependency - const useProfileOutput = T.findExpectedOutputInCommand(cliBin, - ["use-dependent-profile"], [], "stdout", - true, this); - // default profile shouldn't show up in output - expect(useProfileOutput.stdout.toString().indexOf(defaultProfileA)).toEqual(-1); - }); - - it("If we omit a required option definition on a generate create profile command," + - "defined in the profile schema, " + - "we should get a syntax error", () => { - T.findExpectedOutputInCommand(cliBin, ["profiles", "create", profileTypeA, "bad"], - ["animal"], - "stderr", false, this, T.CMD_TYPE.JSON, {ignoreCase: true}); - }); - - it("We should be able to run through all auto-generated profile commands for two types of profiles", () => { + it("should be able to use two types of profiles", () => { const firstProfile = "first"; const secondProfile = "second"; - // create two A profiles - T.findExpectedOutputInCommand(cliBin, ["profiles", "create", profileTypeA, firstProfile, "--animal", "doggy"], - ["doggy", "success"], - "stdout", true, this, T.CMD_TYPE.JSON, {ignoreCase: true}); - T.findExpectedOutputInCommand(cliBin, ["profiles", "create", - profileTypeA, secondProfile, "--animal", "sloth"], - ["sloth", "success"], - "stdout", true, this, T.CMD_TYPE.JSON, {ignoreCase: true}); + // set the default profile for type profile-a + let result: any = T.runCliScript(path.join(__dirname, "__scripts__/set_default_profile.sh"), home, + [profileTypeA, firstProfile] + ); + expect(result.stderr.toString()).toBe(""); + expect(result.status).toBe(0); - // Create two B profiles - T.findExpectedOutputInCommand(cliBin, ["profiles", "create", profileTypeB, firstProfile, "--bumblebee", "dumbledore"], - ["dumbledore", "success"], - "stdout", true, this, T.CMD_TYPE.JSON, {ignoreCase: true}); - T.findExpectedOutputInCommand(cliBin, ["profiles", "create", profileTypeB, secondProfile, "--bumblebee", "jerry"], - ["jerry", "success"], - "stdout", true, this, T.CMD_TYPE.JSON, {ignoreCase: true}); - - // update second B profile - T.findExpectedOutputInCommand(cliBin, ["profiles", "update", profileTypeB, secondProfile, "--bumblebee", "seinfeld"], - ["seinfeld", "success"], - "stdout", true, this, T.CMD_TYPE.JSON, {ignoreCase: true}); - - // list A type profiles - T.findExpectedOutputInCommand(cliBin, ["profiles", "list", profileTypeA], - [firstProfile, secondProfile], - "stdout", true, this, T.CMD_TYPE.JSON, {ignoreCase: true}); - - // list B type profiles - T.findExpectedOutputInCommand(cliBin, ["profiles", "list", profileTypeB], - [firstProfile, secondProfile], - "stdout", true, this, T.CMD_TYPE.JSON, {ignoreCase: true}); + // set the default profile for type profile-b + result = T.runCliScript(path.join(__dirname, "__scripts__/set_default_profile.sh"), home, + [profileTypeB, firstProfile] + ); + expect(result.stderr.toString()).toBe(""); + expect(result.status).toBe(0); // use both A profiles T.findExpectedOutputInCommand(cliBin, ["use-profile-a"], [], // default A profile - "stdout", true, this, T.CMD_TYPE.JSON, {ignoreCase: true}); + "stdout", true, this, T.CMD_TYPE.JSON, { ignoreCase: true } + ); T.findExpectedOutputInCommand(cliBin, ["use-profile-a", "--profile-a-profile", secondProfile], [], - "stdout", true, this, T.CMD_TYPE.JSON, {ignoreCase: true}); + "stdout", true, this, T.CMD_TYPE.JSON, { ignoreCase: true } + ); // use both B profiles T.findExpectedOutputInCommand(cliBin, ["use-profile-b"], // default B profile [], - "stdout", true, this, T.CMD_TYPE.JSON, {ignoreCase: true}); + "stdout", true, this, T.CMD_TYPE.JSON, { ignoreCase: true } + ); T.findExpectedOutputInCommand(cliBin, ["use-profile-b", "--profile-b-profile", secondProfile], [], - "stdout", true, this, T.CMD_TYPE.JSON, {ignoreCase: true}); - - // set the default A profile to the second and make sure it is used - T.findExpectedOutputInCommand(cliBin, ["profiles", "set", profileTypeA, secondProfile], // default B profile - [], - "stdout", true, this, T.CMD_TYPE.JSON, {ignoreCase: true}); - T.findExpectedOutputInCommand(cliBin, ["use-profile-a"], // second profile should be used - [], - "stdout", true, this, T.CMD_TYPE.JSON, {ignoreCase: true}); - - // set the default B profile to the second and make sure it is used - T.findExpectedOutputInCommand(cliBin, ["profiles", "set", profileTypeB, secondProfile], // default B profile - [], - "stdout", true, this, T.CMD_TYPE.JSON, {ignoreCase: true}); - T.findExpectedOutputInCommand(cliBin, ["use-profile-b"], // second profile should be used - [], - "stdout", true, this, T.CMD_TYPE.JSON, {ignoreCase: true}); - - // delete the profiles - T.findExpectedOutputInCommand(cliBin, ["profiles", "delete", profileTypeA, firstProfile, "--force"], - ["success", "delete", firstProfile], "stdout", - true, this, T.CMD_TYPE.JSON, {ignoreCase: true}); - T.findExpectedOutputInCommand(cliBin, ["profiles", "delete", profileTypeB, secondProfile, "--force"], - ["success", "delete", secondProfile], "stdout", - true, this, T.CMD_TYPE.JSON, {ignoreCase: true}); + "stdout", true, this, T.CMD_TYPE.JSON, { ignoreCase: true } + ); }); it("should not fail a command where the profile is listed as optional and not specified", () => { @@ -249,85 +111,4 @@ describe("We should provide auto-generated profile commands for convenience, " + "stdout", true, this, T.CMD_TYPE.JSON, {ignoreCase: true}); expect(output.stderr).toEqual(""); }); - - it("If we update an existing profile, the contents of the old profile should be merged with teh", () => { - const profileName = "merge_me"; - const oldTea = "earl_grey"; - const oldSoda = "diet_coke"; - const oldWater = "dirty"; - - T.findExpectedOutputInCommand(cliBin, ["profiles", "create", manyFieldProfile, profileName, - "--tea", oldTea, "--soda", oldSoda, "--water", oldWater], - [oldSoda, oldWater, oldTea], - "stdout", true, this, T.CMD_TYPE.JSON, {ignoreCase: true}); - - const newWater = "clean"; - T.findExpectedOutputInCommand(cliBin, ["profiles", "update", manyFieldProfile, profileName, - "--water", newWater], - [oldSoda, newWater, oldTea], - "stdout", true, this, T.CMD_TYPE.JSON, {ignoreCase: true}); - - T.findExpectedOutputInCommand(cliBin, ["profiles", "list", manyFieldProfile, "--show-contents"], - [oldSoda, newWater, oldTea], - "stdout", true, this, T.CMD_TYPE.JSON, {ignoreCase: true}); - }); - - it("should contain examples specified on profile config in the help text", () => { - T.findExpectedOutputInCommand(cliBin, ["profiles", "create", profileTypeA, "--help"], - ["Examples", "--animal doggy"], - "stdout", true, this, T.CMD_TYPE.JSON, {ignoreCase: true}); - }); - - it("should be able to validate a many-field-profile with an auto generated validate command", () => { - const profileName = "validate_me"; - const tea = "earl_grey"; - const soda = "diet_coke"; - const water = "dirty"; - - T.findExpectedOutputInCommand(cliBin, ["profiles", "create", manyFieldProfile, profileName, - "--tea", tea, "--soda", soda, "--water", water], - [soda, water, tea], - "stdout", true, this, T.CMD_TYPE.JSON, {ignoreCase: true}); - - T.findExpectedOutputInCommand(cliBin, ["profiles", "validate", manyFieldProfile, profileName], - ["perfect", profileName, "many-field-profile"], - "stdout", true, this, T.CMD_TYPE.JSON, {ignoreCase: true}); - - }); - - it("should not print output more than once if a progress bar is used in a profiles validate command", () => { - const profileName = "validate_me"; - const tea = "earl_grey"; - const soda = "diet_coke"; - const water = "dirty"; - - T.findExpectedOutputInCommand(cliBin, ["profiles", "create", manyFieldProfile, profileName, - "--tea", tea, "--soda", soda, "--water", water], - [soda, water, tea], - "stdout", true, this, T.CMD_TYPE.INTERACTIVE, {ignoreCase: true}); - - const output = T.executeTestCLICommand(cliBin, this, ["profiles", "validate", manyFieldProfile, profileName]); - expect(output.status).toEqual(0); - const stdout = output.stdout.toString(); - // profile summary should only appear once - expect(stdout.match(/PROFILE SUMMARY/gi).length).toEqual(1); - // - }); - - it("should be fail to validate an invalid many-fields-profile", () => { - const profileName = "validate_me"; - const tea = "not_earl_grey"; - const soda = "diet_coke"; - const water = "dirty"; - - T.findExpectedOutputInCommand(cliBin, ["profiles", "create", manyFieldProfile, profileName, - "--tea", tea, "--soda", soda, "--water", water], - [soda, water, tea], - "stdout", true, this, T.CMD_TYPE.JSON, {ignoreCase: true}); - - T.findExpectedOutputInCommand(cliBin, ["profiles", "validate", manyFieldProfile, profileName], - ["failed"], - "stdout", false, this, T.CMD_TYPE.JSON, {ignoreCase: true}); - - }); }); diff --git a/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__resources__/autoGenProfiles/many-field-profile/many-field-profile_meta.yaml b/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__resources__/autoGenProfiles/many-field-profile/many-field-profile_meta.yaml new file mode 100644 index 0000000000..2eacfe0579 --- /dev/null +++ b/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__resources__/autoGenProfiles/many-field-profile/many-field-profile_meta.yaml @@ -0,0 +1,40 @@ +defaultProfile: null +configuration: + type: many-field-profile + validationPlanModule: /home/stduser/repos/zowe-cli/packages/imperative/__tests__/src/example_clis/with_profiles/plans/ManyFieldValidationPlan + schema: + type: object + title: 'Example profile with multiple fields' + description: 'Example profile type with multiple fields' + properties: + tea: + optionDefinition: + description: 'The tea' + type: string + name: tea + aliases: + - t + required: true + type: string + soda: + optionDefinition: + description: 'The soda' + type: string + name: soda + aliases: + - s + required: true + type: string + water: + optionDefinition: + description: 'The water' + type: string + name: water + aliases: + - w + required: true + type: string + required: + - tea + - soda + - water diff --git a/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__resources__/autoGenProfiles/profile-a/first.yaml b/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__resources__/autoGenProfiles/profile-a/first.yaml new file mode 100644 index 0000000000..80f1e54e7c --- /dev/null +++ b/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__resources__/autoGenProfiles/profile-a/first.yaml @@ -0,0 +1,2 @@ +animal: doggy +numberWithDefault: 8080 diff --git a/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__resources__/autoGenProfiles/profile-a/good.yaml b/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__resources__/autoGenProfiles/profile-a/good.yaml new file mode 100644 index 0000000000..80f1e54e7c --- /dev/null +++ b/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__resources__/autoGenProfiles/profile-a/good.yaml @@ -0,0 +1,2 @@ +animal: doggy +numberWithDefault: 8080 diff --git a/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__resources__/autoGenProfiles/profile-a/profile-a_meta.yaml b/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__resources__/autoGenProfiles/profile-a/profile-a_meta.yaml new file mode 100644 index 0000000000..3186d43175 --- /dev/null +++ b/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__resources__/autoGenProfiles/profile-a/profile-a_meta.yaml @@ -0,0 +1,35 @@ +defaultProfile: good +configuration: + type: profile-a + schema: + type: object + title: 'Example profile type A' + description: 'Example profile type A' + properties: + animal: + optionDefinition: + description: 'The animal' + type: string + name: animal + aliases: + - a + required: true + type: string + numberWithDefault: + optionDefinition: + defaultValue: 8080 + name: number-with-default + type: number + description: 'A number field with default value' + type: number + required: + - animal + - numberWithDefault + createProfileExamples: + - + options: '--animal doggy' + description: 'Create a profile-a profile with a doggy as the animal' + updateProfileExamples: + - + options: '--animal froggy' + description: 'Update a profile-a profile to use froggy as the animal' diff --git a/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__resources__/autoGenProfiles/profile-a/second.yaml b/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__resources__/autoGenProfiles/profile-a/second.yaml new file mode 100644 index 0000000000..9b70f0f916 --- /dev/null +++ b/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__resources__/autoGenProfiles/profile-a/second.yaml @@ -0,0 +1,2 @@ +animal: sloth +numberWithDefault: 8080 diff --git a/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__resources__/autoGenProfiles/profile-b/first.yaml b/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__resources__/autoGenProfiles/profile-b/first.yaml new file mode 100644 index 0000000000..2add236402 --- /dev/null +++ b/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__resources__/autoGenProfiles/profile-b/first.yaml @@ -0,0 +1 @@ +bumblebee: dumbledore diff --git a/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__resources__/autoGenProfiles/profile-b/profile-b_meta.yaml b/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__resources__/autoGenProfiles/profile-b/profile-b_meta.yaml new file mode 100644 index 0000000000..0606ccecb9 --- /dev/null +++ b/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__resources__/autoGenProfiles/profile-b/profile-b_meta.yaml @@ -0,0 +1,19 @@ +defaultProfile: null +configuration: + type: profile-b + schema: + type: object + title: 'Example profile type B' + description: 'Example profile type B' + properties: + bumblebee: + optionDefinition: + description: 'The bumblebee' + type: string + name: bumblebee + aliases: + - b + required: true + type: string + required: + - bumblebee diff --git a/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__resources__/autoGenProfiles/profile-b/second.yaml b/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__resources__/autoGenProfiles/profile-b/second.yaml new file mode 100644 index 0000000000..90ad5c49d9 --- /dev/null +++ b/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__resources__/autoGenProfiles/profile-b/second.yaml @@ -0,0 +1 @@ +bumblebee: seinfeld diff --git a/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__resources__/autoGenProfiles/profile-c/profile-c_meta.yaml b/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__resources__/autoGenProfiles/profile-c/profile-c_meta.yaml new file mode 100644 index 0000000000..2192f53d30 --- /dev/null +++ b/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__resources__/autoGenProfiles/profile-c/profile-c_meta.yaml @@ -0,0 +1,19 @@ +defaultProfile: null +configuration: + type: profile-c + schema: + type: object + title: 'Example profile type C' + description: 'Example profile type C' + properties: + animal: + optionDefinition: + description: 'The animal' + type: string + name: animal + aliases: + - a + required: true + type: string + required: + - animal diff --git a/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__resources__/autoGenProfiles/profile-with-dependency/big_profile.yaml b/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__resources__/autoGenProfiles/profile-with-dependency/big_profile.yaml new file mode 100644 index 0000000000..2b11630ebd --- /dev/null +++ b/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__resources__/autoGenProfiles/profile-with-dependency/big_profile.yaml @@ -0,0 +1,5 @@ +ghost: lenore +dependencies: + - + type: profile-a + name: good diff --git a/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__resources__/autoGenProfiles/profile-with-dependency/profile-with-dependency_meta.yaml b/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__resources__/autoGenProfiles/profile-with-dependency/profile-with-dependency_meta.yaml new file mode 100644 index 0000000000..296d066641 --- /dev/null +++ b/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__resources__/autoGenProfiles/profile-with-dependency/profile-with-dependency_meta.yaml @@ -0,0 +1,25 @@ +defaultProfile: big_profile +configuration: + type: profile-with-dependency + schema: + type: object + title: 'Example profile with dependent profiles' + description: 'Example profile type with dependent profiles' + properties: + ghost: + optionDefinition: + description: 'The ghost' + type: string + name: ghost + aliases: + - g + required: true + type: string + required: + - ghost + - dependencies + dependencies: + - + description: 'The profile-a profile to use as a dependency.' + type: profile-a + required: true diff --git a/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__scripts__/copy_auto_gen_profiles.sh b/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__scripts__/copy_auto_gen_profiles.sh new file mode 100644 index 0000000000..911f0184f7 --- /dev/null +++ b/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__scripts__/copy_auto_gen_profiles.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +# include zowe-cli\__tests__\__scripts__\exitOnFailure function +myScriptDir=`dirname $0` +. $myScriptDir/../../../../../../../../__tests__/__scripts__/exitOnFailure.sh + +# copy pre-existing profiles to test directory +cp -r $myScriptDir/../__resources__/autoGenProfiles profiles +exitOnFailure "Failed to copy test profile." $? diff --git a/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__scripts__/set_default_profile.sh b/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__scripts__/set_default_profile.sh new file mode 100644 index 0000000000..add8385a20 --- /dev/null +++ b/packages/imperative/__tests__/src/example_clis/with_profiles/__integration__/__scripts__/set_default_profile.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +profileType=${1:?"First parm (profileType) is required."} +defaultProfName=${2:?"Second parm (defaultProfName) is required."} + +# include zowe-cli\__tests__\__scripts__\exitOnFailure function +myScriptDir=`dirname $0` +. $myScriptDir/../../../../../../../../__tests__/__scripts__/exitOnFailure.sh + +# This script expects that pre-existing profiles have already been copied to the test directory +mv profiles/$profileType/${profileType}_meta.yaml profiles/$profileType/${profileType}_meta_orig.yaml +exitOnFailure "Failed to backup '$profileType' meta file." $? + +sed -e "s/defaultProfile:.*/defaultProfile: $defaultProfName/" \ + < profiles/$profileType/${profileType}_meta_orig.yaml > profiles/$profileType/${profileType}_meta.yaml +exitOnFailure "Failed to set default profile to '$defaultProfName' for type '$profileType'." $? diff --git a/packages/imperative/__tests__/src/packages/cmd/__integration__/CliProfileManager.integration.test.ts b/packages/imperative/__tests__/src/packages/cmd/__integration__/CliProfileManager.integration.test.ts index ff0d7920f3..73ae13d9be 100644 --- a/packages/imperative/__tests__/src/packages/cmd/__integration__/CliProfileManager.integration.test.ts +++ b/packages/imperative/__tests__/src/packages/cmd/__integration__/CliProfileManager.integration.test.ts @@ -9,24 +9,18 @@ * */ -jest.mock("../../../../../src/utilities/src/ImperativeConfig"); +jest.mock("../../../../../src/utilities/ImperativeConfig"); -import { inspect } from "util"; -import { rimraf, TEST_RESULT_DIR } from "../../../TestUtil"; import { TestLogger } from "../../../../src/TestLogger"; -import { CliProfileManager } from "../../../../../src/cmd/src/profiles/CliProfileManager"; +import { CliProfileManager } from "../../../../../src/cmd/profiles/CliProfileManager"; import { ICommandProfileTypeConfiguration } from "../../../../../src/cmd"; describe("Cli Profile Manager", () => { - const profileDir = TEST_RESULT_DIR + "/cliprofilemanager"; + const profileDir = __dirname + "/__resources__/cliprofilemanager"; + const addTwoNumbersHandler = __dirname + "/../profileHandlers/AddTwoNumbersHandler"; const testLogger = TestLogger.getTestLogger(); const profileTypeOne = "banana"; - const addTwoNumbersHandler = __dirname + "/../profileHandlers/AddTwoNumbersHandler"; - afterEach(() => { - rimraf(profileDir); - }); - const getTypeConfigurations: () => ICommandProfileTypeConfiguration[] = () => { return [{ type: profileTypeOne, @@ -43,117 +37,19 @@ describe("Cli Profile Manager", () => { }, }]; }; - it("should take a handler to create a profile from command line arguments, and " + - "the handler should be called and the resulting profile should have the created fields in it.", async () => { - const configs = getTypeConfigurations(); - configs[0].createProfileFromArgumentsHandler = addTwoNumbersHandler; - const manager = new CliProfileManager({ - profileRootDirectory: profileDir, - type: profileTypeOne, - logger: testLogger, - typeConfigurations: configs - }); - const a = 1; - const b = 2; - const profileName = "myprofile"; - const saveResult = await manager.save({ - name: profileName, type: profileTypeOne, - profile: {}, - args: {_: [], $0: "test", a, b} - }); - testLogger.info("Save profile result: " + inspect(saveResult)); - const loadedProfile: any = await manager.load({name: profileName}); - expect(loadedProfile.profile.sum).toEqual(a + b); - }); - - it("If we provide a non existent handler to create a profile from command line arguments, " + - "we should get a helpful error.", async () => { - const configs = getTypeConfigurations(); - configs[0].createProfileFromArgumentsHandler = __dirname + "/profileHandlers/fakearooni"; - const manager = new CliProfileManager({ - profileRootDirectory: profileDir, - type: profileTypeOne, - logger: testLogger, - typeConfigurations: configs - }); - try { - await manager.save({ - name: "badprofile", type: profileTypeOne, - profile: {sum: 2}, - args: {_: [], $0: "test", doesNotMatter: "hi"} - }); - } catch (e) { - testLogger.info("Received error as expected: " + inspect(e)); - expect(e.message).toContain("handler"); - expect(e.message.toLowerCase()).toContain("error"); - } - }); - - it("should take a handler to update a profile that has already been created," + - " call the handler and update the profile from arguments.", - async () => { - const configs = getTypeConfigurations(); - configs[0].updateProfileFromArgumentsHandler = addTwoNumbersHandler; - const manager = new CliProfileManager({ - profileRootDirectory: profileDir, - type: profileTypeOne, - logger: testLogger, - typeConfigurations: configs - }); - const a = 1; - const b = 2; - const originalSum = 55; + it("should be able to load properties from an existing profile", async () => { const profileName = "myprofile"; - const saveResult = await manager.save({ - name: profileName, type: profileTypeOne, - profile: {sum: originalSum} - }); - expect(saveResult.overwritten).toEqual(false); - - testLogger.info("Save profile result: " + inspect(saveResult)); - - const updateResult = await manager.update({ - name: profileName, type: profileTypeOne, - profile: { - sum: 1 - }, - args: {_: [], $0: "fake", a, b} - }); - expect(updateResult.profile.sum).toEqual(a + b); - - testLogger.info("Update profile result: " + inspect(updateResult)); - const loadedProfile: any = await manager.load({name: profileName}); - testLogger.info("Loaded profile after update: " + inspect(loadedProfile)); - expect(loadedProfile.profile.sum).toEqual(a + b); - }); - - it("If we provide a non existent handler to update a profile from command line arguments, " + - "we should get a helpful error.", async () => { const configs = getTypeConfigurations(); - configs[0].updateProfileFromArgumentsHandler = __dirname + "/profileHandlers/fakearooni"; + configs[0].createProfileFromArgumentsHandler = addTwoNumbersHandler; const manager = new CliProfileManager({ profileRootDirectory: profileDir, type: profileTypeOne, logger: testLogger, typeConfigurations: configs }); - const profileName = "badprofile"; - await manager.save({ - name: profileName, type: profileTypeOne, - profile: {sum: 30} - }); - try { - await manager.update({ - name: profileName, type: profileTypeOne, - profile: {sum: 2}, - args: {_: [], $0: "test", doesNotMatter: "hi"} - }); - } catch (e) { - testLogger.info("Received error as expected: " + inspect(e)); - expect(e.message).toContain("handler"); - expect(e.message.toLowerCase()).toContain("error"); - } + const loadedProfile: any = await manager.load({name: profileName}); + expect(loadedProfile.profile.sum).toEqual(3); }); it("should be able to automatically map command line options to " + @@ -186,23 +82,17 @@ describe("Cli Profile Manager", () => { }, }]; - const manager = new CliProfileManager({ - profileRootDirectory: profileDir, - type: profileTypeOne, - logger: testLogger, - typeConfigurations: configs - }); - const propertyOneValue = 345; - const propertyTwoValue = "cell phone"; - const profileName = "myprofile"; - const saveResult = await manager.save({ - name: profileName, type: profileTypeOne, - profile: {}, - args: {_: [], $0: "test", differentProperty1: propertyOneValue, differentProperty2: propertyTwoValue} - }); - testLogger.info("Save profile result: " + inspect(saveResult)); - const loadedProfile: any = await manager.load({name: profileName}); - expect(loadedProfile.profile.property1).toEqual(propertyOneValue); - expect(loadedProfile.profile.property2).toEqual(propertyTwoValue); + let caughtError; + try { + new CliProfileManager({ + profileRootDirectory: profileDir, + type: profileTypeOne, + logger: testLogger, + typeConfigurations: configs + }); + } catch (error) { + caughtError = error; + } + expect(caughtError).toBeUndefined(); }); }); diff --git a/packages/imperative/__tests__/src/packages/cmd/__integration__/SyntaxValidator.integration.test.ts b/packages/imperative/__tests__/src/packages/cmd/__integration__/SyntaxValidator.integration.test.ts index 1352a30dd7..0ddb7e8b9b 100644 --- a/packages/imperative/__tests__/src/packages/cmd/__integration__/SyntaxValidator.integration.test.ts +++ b/packages/imperative/__tests__/src/packages/cmd/__integration__/SyntaxValidator.integration.test.ts @@ -14,11 +14,11 @@ import { isNullOrUndefined } from "util"; import { CommandProcessor, ICommandDefinition, ICommandResponse } from "../../../../../src/cmd/index"; import { ValidationTestCommand } from "../ValidationTestCommand"; import { Constants } from "../../../../../src/constants/index"; -import { Imperative } from "../../../../../src/imperative/src/Imperative"; +import { Imperative } from "../../../../../src/imperative/Imperative"; import { TestLogger } from "../../../../src/TestLogger"; import { createUniqueTestDataDir, rimraf } from "../../../TestUtil"; -import { AbstractHelpGenerator } from "../../../../../src/cmd/src/help/abstract/AbstractHelpGenerator"; -import { DefaultHelpGenerator } from "../../../../../src/cmd/src/help/DefaultHelpGenerator"; +import { AbstractHelpGenerator } from "../../../../../src/cmd/help/abstract/AbstractHelpGenerator"; +import { DefaultHelpGenerator } from "../../../../../src/cmd/help/DefaultHelpGenerator"; import { BasicProfileManagerFactory, IProfileTypeConfiguration } from "../../../../../src/index"; const ENV_PREFIX = "INTEGRATION_TEST"; diff --git a/packages/imperative/__tests__/src/packages/cmd/__integration__/__resources__/cliprofilemanager/banana/banana_meta.yaml b/packages/imperative/__tests__/src/packages/cmd/__integration__/__resources__/cliprofilemanager/banana/banana_meta.yaml new file mode 100644 index 0000000000..86386d562b --- /dev/null +++ b/packages/imperative/__tests__/src/packages/cmd/__integration__/__resources__/cliprofilemanager/banana/banana_meta.yaml @@ -0,0 +1,13 @@ +defaultProfile: myprofile +configuration: + type: banana + schema: + type: object + title: 'test profile' + description: 'test profile' + properties: + sum: + type: number + required: + - sum + createProfileFromArgumentsHandler: /home/stduser/repos/zowe-cli/packages/imperative/__tests__/src/packages/cmd/__integration__/../profileHandlers/AddTwoNumbersHandler diff --git a/packages/imperative/__tests__/src/packages/cmd/__integration__/__resources__/cliprofilemanager/banana/myprofile.yaml b/packages/imperative/__tests__/src/packages/cmd/__integration__/__resources__/cliprofilemanager/banana/myprofile.yaml new file mode 100644 index 0000000000..79a6a4662a --- /dev/null +++ b/packages/imperative/__tests__/src/packages/cmd/__integration__/__resources__/cliprofilemanager/banana/myprofile.yaml @@ -0,0 +1 @@ +sum: 3 diff --git a/packages/imperative/__tests__/src/packages/imperative/__integration__/ConfigLoading.integration.test.ts b/packages/imperative/__tests__/src/packages/imperative/__integration__/ConfigLoading.integration.test.ts index d6694e4b1f..2aa60250b8 100644 --- a/packages/imperative/__tests__/src/packages/imperative/__integration__/ConfigLoading.integration.test.ts +++ b/packages/imperative/__tests__/src/packages/imperative/__integration__/ConfigLoading.integration.test.ts @@ -11,7 +11,7 @@ import * as T from "../../../TestUtil"; import { IImperativeConfig, Imperative } from "../../../../../src/imperative"; -import { ImperativeConfig } from "../../../../../src/utilities"; +import { ImperativeConfig } from "../../../../../src/utilities/ImperativeConfig"; describe("Imperative should validate config provided by the consumer", function () { const testDir = T.createUniqueTestDataDir("config-loading"); diff --git a/packages/imperative/__tests__/src/packages/imperative/plugins/suites/InstallingPlugins.ts b/packages/imperative/__tests__/src/packages/imperative/plugins/suites/InstallingPlugins.ts index 119fe3ba32..82ff8f770f 100644 --- a/packages/imperative/__tests__/src/packages/imperative/plugins/suites/InstallingPlugins.ts +++ b/packages/imperative/__tests__/src/packages/imperative/plugins/suites/InstallingPlugins.ts @@ -19,9 +19,9 @@ import { TEST_REGISTRY } from "../../../../../__src__/TestConstants"; import { execSync, SpawnSyncReturns } from "child_process"; import { config, cliBin, pluginGroup } from "../PluginTestConstants"; -import { CredentialManagerOverride } from "../../../../../../src/security/src/CredentialManagerOverride"; +import { CredentialManagerOverride } from "../../../../../../src/security/CredentialManagerOverride"; import { readFileSync, writeFileSync } from "jsonfile"; -import { IPluginJson } from "../../../../../../src/imperative/src/plugins/doc/IPluginJson"; +import { IPluginJson } from "../../../../../../src/imperative/plugins/doc/IPluginJson"; import { SetupTestEnvironment } from "../../../../../__src__/environment/SetupTestEnvironment"; import * as fs from "fs"; import { readJsonSync, writeJsonSync } from "fs-extra"; diff --git a/packages/imperative/__tests__/src/packages/imperative/plugins/suites/UninstallPlugins.ts b/packages/imperative/__tests__/src/packages/imperative/plugins/suites/UninstallPlugins.ts index 033041dc11..b838647bb4 100644 --- a/packages/imperative/__tests__/src/packages/imperative/plugins/suites/UninstallPlugins.ts +++ b/packages/imperative/__tests__/src/packages/imperative/plugins/suites/UninstallPlugins.ts @@ -11,7 +11,7 @@ import * as T from "../../../../../src/TestUtil"; import { cliBin, config } from "../PluginTestConstants"; -import { CredentialManagerOverride } from "../../../../../../src/security/src/CredentialManagerOverride"; +import { CredentialManagerOverride } from "../../../../../../src/security/CredentialManagerOverride"; import { join } from "path"; import { readJsonSync, writeJsonSync } from "fs-extra"; diff --git a/packages/imperative/__tests__/src/packages/imperative/plugins/suites/UsingPlugins.ts b/packages/imperative/__tests__/src/packages/imperative/plugins/suites/UsingPlugins.ts index a83a30019f..46d52f4cc6 100644 --- a/packages/imperative/__tests__/src/packages/imperative/plugins/suites/UsingPlugins.ts +++ b/packages/imperative/__tests__/src/packages/imperative/plugins/suites/UsingPlugins.ts @@ -20,7 +20,7 @@ import { cliBin, config } from "../PluginTestConstants"; import { join, resolve } from "path"; import { readFileSync, writeFileSync } from "fs"; import { execSync } from "child_process"; -import { CredentialManagerOverride } from "../../../../../../src/security/src/CredentialManagerOverride"; +import { CredentialManagerOverride } from "../../../../../../src/security/CredentialManagerOverride"; describe("Using a Plugin", () => { @@ -30,12 +30,6 @@ describe("Using a Plugin", () => { */ const pluginJsonFile = join(config.defaultHome, "plugins", "plugins.json"); - /** - * Location of the profiles created for test plugins - * @type {string} - */ - const pluginProfDir = join(config.defaultHome, "profiles"); - /** * Specifies whether warnings about missing peer dependencies should be * expected in stderr output of `npm install`. This defaults to true and is @@ -51,7 +45,6 @@ describe("Using a Plugin", () => { beforeEach(() => { // ensure that each test starts with no installed plugins T.rimraf(pluginJsonFile); - T.rimraf(pluginProfDir); }); it("should create plugin commands from in-line JSON text", () => { @@ -138,30 +131,32 @@ describe("Using a Plugin", () => { expect(result.stdout).toContain("globcmd1 First command created by globs"); expect(result.stdout).toContain("globcmd2 Second command created by globs"); - cmd = "profiles list"; + cmd = "config init --global-config"; result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); expect(result.stderr).toBe(""); - expect(result.stdout).toContain("bar-profiles | bar"); - expect(result.stdout).toContain("foo-profiles | foo"); + expect(result.stdout).toContain(`Saved config template to ${config.defaultHome}`); + expect(result.stdout).toContain("plugins_test.config.json"); + + cmd = "config list"; + result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); + expect(result.stderr).toBe(""); + expect(result.stdout).toContain("foo:"); + expect(result.stdout).toContain("type: foo"); + expect(result.stdout).toContain("bar:"); + expect(result.stdout).toContain("type: bar"); cmd = pluginName + " foo"; result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); - expect(result.stderr).toContain("Command Preparation Failed:"); - expect(result.stderr).toContain("No default profile set for type \"foo\""); + expect(result.stderr).toBe(""); + expect(result.stdout).toContain("You executed the Foo command with size = undefined and duration = undefined"); - cmd = "profiles create foo myFooProfile --duration 5"; + cmd = "config set profiles.foo.properties.size small --global-config"; result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); - expect(result.stderr).toContain("command 'profiles create' is deprecated"); - expect(result.stdout).toContain("Profile created successfully!"); - expect(result.stdout.replace(/\s+/g, " ")).toContain("size: small"); - expect(result.stdout.replace(/\s+/g, " ")).toContain("duration: 5"); + expect(result.stderr).toBe(""); - cmd = "profiles validate foo-profile"; + cmd = "config set profiles.foo.properties.duration 5 --global-config"; result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); - expect(result.stderr).toContain("command 'profiles validate' is deprecated"); - expect(result.stdout).toContain("Check the size of the Foo"); - expect(result.stdout).toContain("Repair in time"); - expect(result.stdout).toContain("Of 2 tests, 2 succeeded, 0 failed, and 0 had warnings or undetermined results."); + expect(result.stderr).toBe(""); cmd = pluginName + " foo"; result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); @@ -297,12 +292,18 @@ describe("Using a Plugin", () => { const knownOverridePluginNm = CredentialManagerOverride.getKnownCredMgrs()[1].credMgrDisplayName as string; setCredMgrOverride(knownOverridePluginNm); - // Create a zosmf profile. That will trigger the CredMgr. - cmd = "profiles create secure-pass-profile TestProfileName --password 'AnyPass' --overwrite"; + /* config init will add the secure-pass profile for the newly installed override-plugin. + * It will also trigger the CredMgr. + */ + cmd = "config init --global-config"; result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); - expect(result.stderr).toContain("command 'profiles create' is deprecated"); + expect(result.stderr).toBe(""); expect(result.stdout).toContain("CredentialManager in sample-plugin is saving these creds:"); - expect(result.stdout).toContain(`password: managed by ${knownOverridePluginNm}`); + expect(result.stdout).toContain("service = plugins_test"); + expect(result.stdout).toContain("account = secure_config_props"); + expect(result.stdout).toContain("credentials = "); + expect(result.stdout).toContain(`Saved config template to ${config.defaultHome}`); + expect(result.stdout).toContain("plugins_test.config.json"); // Restore our name and remove our lifecycle class from package.json pkgContents = fsExtra.readJsonSync(pkgFileNm); diff --git a/packages/imperative/__tests__/src/packages/imperative/plugins/test_plugins/normal_plugin_3/lib/sample-plugin/cmd/foo/foo.handler.js b/packages/imperative/__tests__/src/packages/imperative/plugins/test_plugins/normal_plugin_3/lib/sample-plugin/cmd/foo/foo.handler.js index b5a3ca2d8e..5324183c38 100644 --- a/packages/imperative/__tests__/src/packages/imperative/plugins/test_plugins/normal_plugin_3/lib/sample-plugin/cmd/foo/foo.handler.js +++ b/packages/imperative/__tests__/src/packages/imperative/plugins/test_plugins/normal_plugin_3/lib/sample-plugin/cmd/foo/foo.handler.js @@ -8,15 +8,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge }); }; Object.defineProperty(exports, "__esModule", { value: true }); -// const imperative_cli_1 = require("imperative"); +const imperative_cli_1 = require("@zowe/imperative"); class FooHandler { process(params) { return __awaiter(this, void 0, void 0, function* () { - // const impFileLogger = imperative_cli_1.Logger.getImperativeLogger(); - const profile = params.profiles.get("foo"); + const profile = imperative_cli_1.ImperativeConfig.instance.config.api.profiles.get("foo"); const successMsg = "You executed the Foo command with size = " + profile.size + " and duration = " + profile.duration; - // impFileLogger.debug(successMsg); params.response.console.log(successMsg); }); } diff --git a/packages/imperative/__tests__/src/packages/profiles/__integration__/BasicProfileManager.constructor.integration.test.ts b/packages/imperative/__tests__/src/packages/profiles/__integration__/BasicProfileManager.constructor.integration.test.ts new file mode 100644 index 0000000000..488028fc7f --- /dev/null +++ b/packages/imperative/__tests__/src/packages/profiles/__integration__/BasicProfileManager.constructor.integration.test.ts @@ -0,0 +1,42 @@ +/* +* 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. +* +*/ + +jest.mock("../../../../src/imperative/utilities/ImperativeConfig.ts"); + +import * as TestUtil from "../../../TestUtil"; +import { BasicProfileManager } from "../../../../../src/index"; +import { TestLogger } from "../../../../src/TestLogger"; +import { bananaProfile, PROFILE_TYPE } from "../src/constants/BasicProfileManagerTestConstants"; + +const profileDirectory = TestUtil.createUniqueTestDataDir("profile-manager-initialize"); + +describe("Basic Profile Manager Constructor", () => { + it("Should create a profile manager", async () => { + let caughtError: Error = new Error(""); + let newProfMgr; + + try { + // Create a manager instance + newProfMgr = new BasicProfileManager({ + profileRootDirectory: profileDirectory, + logger: TestLogger.getTestLogger(), + type: PROFILE_TYPE.BANANA, + typeConfigurations: [bananaProfile] + }); + } catch (e) { + caughtError = e; + TestLogger.error(caughtError.message); + } + + expect(newProfMgr).not.toBeNull(); + expect(caughtError.message).toEqual(""); + }); +}); diff --git a/packages/imperative/__tests__/src/packages/profiles/__integration__/BasicProfileManager.initialize.integration.test.ts b/packages/imperative/__tests__/src/packages/profiles/__integration__/BasicProfileManager.initialize.integration.test.ts index 3d2ae4b317..179ef4e5f1 100644 --- a/packages/imperative/__tests__/src/packages/profiles/__integration__/BasicProfileManager.initialize.integration.test.ts +++ b/packages/imperative/__tests__/src/packages/profiles/__integration__/BasicProfileManager.initialize.integration.test.ts @@ -9,7 +9,7 @@ * */ -jest.mock("../../../../../src/utilities/src/ImperativeConfig"); +jest.mock("../../../../../src/utilities/ImperativeConfig"); import * as TestUtil from "../../../TestUtil"; import { BasicProfileManager } from "../../../../../src/index"; diff --git a/packages/imperative/__tests__/src/packages/profiles/__integration__/BasicProfileManager.integration.test.ts b/packages/imperative/__tests__/src/packages/profiles/__integration__/BasicProfileManager.integration.test.ts index 1d629a28cc..7c368c8bcb 100644 --- a/packages/imperative/__tests__/src/packages/profiles/__integration__/BasicProfileManager.integration.test.ts +++ b/packages/imperative/__tests__/src/packages/profiles/__integration__/BasicProfileManager.integration.test.ts @@ -10,48 +10,63 @@ */ import * as TestUtil from "../../../TestUtil"; +import { ITestEnvironment } from "../../../../__src__/environment/doc/response/ITestEnvironment"; +import { SetupTestEnvironment } from "../../../../__src__/environment/SetupTestEnvironment"; import { inspect } from "util"; import { TestLogger } from "../../../../src/TestLogger"; import { ProfileUtils } from "../../../../../src/profiles"; -import { BANANA_AGE, getConfig, PROFILE_TYPE } from "../src/constants/BasicProfileManagerTestConstants"; +import { getConfig, PROFILE_TYPE } from "../src/constants/BasicProfileManagerTestConstants"; -describe("Imperative should allow CLI implementations to configure their own profiles and types", function () { +let TEST_ENVIRONMENT: ITestEnvironment; + +describe("Imperative should allow CLI implementations to read their own profiles and types", function () { const mainModule = process.mainModule; const loadChangingDependencies = () => { return { - Imperative: require("../../../../../src/imperative/src/Imperative").Imperative, - ImperativeConfig: require("../../../../../src/utilities/src/ImperativeConfig").ImperativeConfig, - ImperativeError: require("../../../../../src/error/src/ImperativeError").ImperativeError + Imperative: require("../../../../src/imperative/Imperative").Imperative, + ImperativeConfig: require("../../../../src/utilities/ImperativeConfig").ImperativeConfig, + ImperativeError: require("../../../../src/error/ImperativeError").ImperativeError }; }; let {Imperative, ImperativeError, ImperativeConfig} = loadChangingDependencies(); + beforeAll(async () => { + (process.mainModule as any) = { + filename: __filename + }; + + TEST_ENVIRONMENT = await SetupTestEnvironment.createTestEnv({ + cliHomeEnvVar: "CMD_CLI_CLI_HOME", + testName: "basic_profile_mgr" + }); + + // copy existing profiles into test directory + const response = TestUtil.runCliScript(__dirname + "/__scripts__/copy_profiles.sh", TEST_ENVIRONMENT.workingDir); + expect(response.stderr.toString()).toBe(""); + expect(response.status).toBe(0); + }); + // Initialize imperative before each test beforeEach(() => { jest.resetModules(); ({Imperative, ImperativeError, ImperativeConfig} = loadChangingDependencies()); }); - beforeAll(() => { - (process.mainModule as any) = { - filename: __filename - }; - }); - afterAll(() => { process.mainModule = mainModule; + TestUtil.rimraf(TEST_ENVIRONMENT.workingDir); }); - it("should be able to create a profile type and retrieve all defined types after init", async function () { - const config = getConfig(TestUtil.createUniqueTestDataDir("profile-manager-initialize")); + it("should be able to retrieve all defined types after init", async function () { + const config = getConfig(TEST_ENVIRONMENT.workingDir); await Imperative.init(config); expect(ProfileUtils.getAllTypeNames(ImperativeConfig.instance.loadedConfig.profiles).length).toEqual(Object.keys(PROFILE_TYPE).length); expect(ProfileUtils.getAllTypeNames(ImperativeConfig.instance.loadedConfig.profiles)).toContain("banana"); }); - it("should be receive a failure message when attempting to load a profile that doesn't exist", async function () { - const config = getConfig(TestUtil.createUniqueTestDataDir("profile-manager-initialize")); + it("should receive a failure message when attempting to load a profile that doesn't exist", async function () { + const config = getConfig(TEST_ENVIRONMENT.workingDir); await Imperative.init(config); let error; try { @@ -64,72 +79,30 @@ describe("Imperative should allow CLI implementations to configure their own pro expect(error).toBeInstanceOf(ImperativeError); }); - it("should receive a failure message when attempting to create an ill-formed profile", async function () { - const config = getConfig(TestUtil.createUniqueTestDataDir("profile-manager-initialize")); - await Imperative.init(config); - let error; - try { - const response = await Imperative.api.profileManager("banana").save({ - name: "illformed", - profile: { - fail: "this" - } - }); - TestLogger.info(response.message); - } catch (e) { - error = e; - TestLogger.info(error.message); - } - expect(error).toBeInstanceOf(ImperativeError); - }); - - it("should be able to create a basic profile", async function () { - const config = getConfig(TestUtil.createUniqueTestDataDir("profile-manager-initialize")); - await Imperative.init(config); - const response = await Imperative.api.profileManager("banana").save({ - name: "legit", - profile: { - age: BANANA_AGE - } - }); - TestLogger.info(`Profile create success response: ${inspect(response, {depth: null})}`); - expect(response.message).toContain(`Profile ("legit" of type "banana") successfully written:`); - expect(response.overwritten).toEqual(false); - expect(response.path).toContain("legit.yaml"); - }); + it("should be able to load a specific profile", async function () { + const config = getConfig(TEST_ENVIRONMENT.workingDir); - it("should be able to create a basic profile and load that profile", async function () { - const config = getConfig(TestUtil.createUniqueTestDataDir("profile-manager-initialize")); await Imperative.init(config); - const saveResponse = await Imperative.api.profileManager("banana").save({ - name: "legit", - profile: {age: BANANA_AGE}, - overwrite: true, - updateDefault: true - }); - - TestLogger.info("Save response: " + saveResponse.message); const loadResponse = await Imperative.api.profileManager("banana").load({name: "legit"}); TestLogger.info(`Profile loaded success response: ${inspect(loadResponse, {depth: null})}`); - expect(loadResponse.name).toEqual("legit"); + + expect(loadResponse.message).toEqual('Profile "legit" of type "banana" loaded successfully.'); expect(loadResponse.type).toEqual("banana"); + expect(loadResponse.name).toEqual("legit"); expect(loadResponse.profile).toBeDefined(); - expect(loadResponse.profile).toMatchSnapshot(); + expect(loadResponse.profile).toEqual({"age": 1000}); }); - it("should be able to create a basic profile and load as the default", async function () { - const config = getConfig(TestUtil.createUniqueTestDataDir("profile-manager-initialize")); + it("should be able to load a default profile", async function () { + const config = getConfig(TEST_ENVIRONMENT.workingDir); + await Imperative.init(config); - const response = await Imperative.api.profileManager("banana").save({ - name: "legit", - profile: {age: BANANA_AGE}, - overwrite: true, - updateDefault: true - }); - TestLogger.info(`Profile create success response: ${inspect(response, {depth: null})}`); - const load = await Imperative.api.profileManager("banana").load({loadDefault: true}); - expect(load.type).toEqual("banana"); - expect(load.profile).toBeDefined(); - expect(load.profile).toMatchSnapshot(); + const loadResponse = await Imperative.api.profileManager("banana").load({loadDefault: true}); + + expect(loadResponse.message).toEqual('Profile "legit" of type "banana" loaded successfully.'); + expect(loadResponse.type).toEqual("banana"); + expect(loadResponse.name).toEqual("legit"); + expect(loadResponse.profile).toBeDefined(); + expect(loadResponse.profile).toEqual({ "age": 1000 }); }); }); diff --git a/packages/imperative/__tests__/src/packages/profiles/__integration__/CliProfileManager.credentials.integration.subtest.ts b/packages/imperative/__tests__/src/packages/profiles/__integration__/CliProfileManager.credentials.integration.subtest.ts index 3107317863..e4dbc06258 100644 --- a/packages/imperative/__tests__/src/packages/profiles/__integration__/CliProfileManager.credentials.integration.subtest.ts +++ b/packages/imperative/__tests__/src/packages/profiles/__integration__/CliProfileManager.credentials.integration.subtest.ts @@ -13,78 +13,65 @@ import * as T from "../../../TestUtil"; import * as path from "path"; import * as fs from "fs"; import { IImperativeConfig } from "../../../../../src/imperative"; -import { CliProfileManager } from "../../../../../src/cmd"; -import { ProfileIO } from "../../../../../src/profiles/src/utils"; -import { IProfile } from "../../../../../src/profiles/src/doc/definition"; +import { keyring } from "@zowe/secrets-for-zowe-sdk"; describe("Cli Profile Manager", () => { - let writtenProfile: any; - const credentialManagerErrorMessage = /(Unable to).*(the secure field)/; - - const originalSaveProfile = (CliProfileManager.prototype as any).saveProfile; - afterEach(() => { - (CliProfileManager.prototype as any).saveProfile = originalSaveProfile; - }); - ProfileIO.writeProfile = jest.fn((fullFilePath: string, profile: IProfile) => { - writtenProfile = profile; - }); - - ProfileIO.exists = jest.fn((profilePath: string) => { - return profilePath.indexOf("meta") === -1 ? profilePath : undefined; + const cliBin = path.join(__dirname, "../test_cli/TestCLI.ts"); + const config: IImperativeConfig = require(path.join(__dirname, "../test_cli/TestConfiguration")); + const homeDir: string = config.defaultHome; + const testProfileType = "username-password"; + const username: string = "username"; + const password: number = 0; + const account: string = "account123"; + const secured: string = "secured"; + + beforeAll(async () => { + // ensure the CLI home directory exists before running our copy_profile script + if (!fs.existsSync(homeDir)) { + fs.mkdirSync(homeDir); + } + + // copy existing profiles into test directory + const response = T.runCliScript(path.join(__dirname, "__scripts__/copy_profiles_cli_prof_mgr_creds.sh"), homeDir); + expect(response.stderr.toString()).toBe(""); + expect(response.status).toBe(0); + + // store desired secure properties into the credential vault + await keyring.setPassword("example_with_profiles", "username-password_profile-name_username", + Buffer.from(`"${username}"`).toString("base64") + ); + await keyring.setPassword("example_with_profiles", "username-password_profile-name_password", + Buffer.from(`${password}`).toString("base64") + ); + await keyring.setPassword("example_with_profiles", "username-password_profile-name_account", + Buffer.from(`"${account}"`).toString("base64") + ); + await keyring.setPassword("example_with_profiles", + "username-password_profile-name_myParent_securedProperty_mySecuredChild", + Buffer.from(`"${secured}"`).toString("base64") + ); }); - ProfileIO.readMetaFile = jest.fn((fullFilePath: string) => { - return { - defaultProfile: "mybana", - configuration: { - type: "", - schema: { - type: "object", - title: "test profile", - description: "test profile", - properties: { - sum: { - type: "number" - } - }, - required: ["sum"] - } - } - }; - }) as any; - afterEach(() => { - writtenProfile = undefined; // clear any saved profile to not pollute results across tests + afterAll(async () => { + // delete secure properties from the credential vault + await keyring.deletePassword("example_with_profiles", "username-password_profile-name_username"); + await keyring.deletePassword("example_with_profiles", "username-password_profile-name_password"); + await keyring.deletePassword("example_with_profiles", "username-password_profile-name_account"); + await keyring.deletePassword("example_with_profiles", + "username-password_profile-name_myParent_securedProperty_mySecuredChild" + ); + + // delete the CLI_HOME directory + T.rimraf(homeDir); }); describe("Default Credential Management", () => { - const cliBin = path.join(__dirname, "../test_cli/TestCLI.ts"); - const config: IImperativeConfig = require(path.join(__dirname, "../test_cli/TestConfiguration")); - const homeDir: string = config.defaultHome; - - const testProfileName = "username-password"; - const username: string = "username"; - const password: number = 0; - const account: string = "account123"; - const secured: string = "secured"; - const insecured: string = "insecured"; // playing off insecure child... - const newPass: number = 1; - - beforeEach(() => { - T.rimraf(homeDir); - }); describe("Generic Success Scenarios", () => { - const profileName = "profile-name"; - - it("should create and load a profile with saved credentials", () => { - let cmd = `profiles create ${testProfileName}-profile ${profileName} --username ${username} ` + - `--password ${password} --account ${account} --sec1 ${secured} --insec1 ${insecured}`; - let result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); - expect(result.stderr).toContain("command 'profiles create' is deprecated"); - expect(result.stdout).toContain("Profile created successfully!"); - cmd = `display-profile`; - result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); + it("should load a profile with saved credentials", () => { + const cmd = `display-profile`; + const result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); expect(result.stderr).toEqual(""); expect(JSON.parse(result.stdout)).toEqual({ myParent: { @@ -93,271 +80,118 @@ describe("Cli Profile Manager", () => { }, account, username, password}); }); - - it("should overwrite and load a profile with saved credentials", () => { - let cmd = `profiles create ${testProfileName}-profile ${profileName} --username ${username} ` + - `--password ${password} --account ${account} --sec1 ${secured} --insec1 ${insecured}`; - let result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); - expect(result.stderr).toContain("command 'profiles create' is deprecated"); - expect(result.stdout).toContain("Profile created successfully!"); - - cmd = `profiles create ${testProfileName}-profile ${profileName} --username ${username} ` + - `--password ${password} --account ${account} --sec1 ${secured} --insec1 ${insecured} --ow`; - result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); - expect(result.stderr).toContain("command 'profiles create' is deprecated"); - expect(result.stdout).toContain("Overwrote existing profile"); - expect(result.stdout).toContain("Profile created successfully!"); - }); - - it("should update and load a profile with saved credentials", () => { - const newName: string = "newName"; - - let cmd = `profiles create ${testProfileName}-profile ${profileName} --username ${username} ` + - `--password ${password} --account ${account} --sec1 ${secured} --insec1 ${insecured}`; - let result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); - expect(result.stderr).toContain("command 'profiles create' is deprecated"); - expect(result.stdout).toContain("Profile created successfully!"); - - cmd = `profiles update ${testProfileName}-profile ${profileName} --username ${newName} --password ${newPass}`; - result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); - expect(result.stderr).toContain("command 'profiles update' is deprecated"); - expect(result.stdout).toContain("Overwrote existing profile"); - expect(result.stdout).toContain("Profile updated successfully!"); - - cmd = `display-profile`; - result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); - expect(result.stderr).toEqual(""); - expect(JSON.parse(result.stdout)).toEqual({ - myParent: { - insecuredProperty: {myInSecuredChild: "insecured"}, - securedProperty: {mySecuredChild: "secured"} - }, - account, username: newName, password: newPass}); - }); - - it("should delete a profile with saved credentials", () => { - let cmd = `profiles create ${testProfileName}-profile ${profileName} --username ${username} ` + - `--password ${password} --account ${account} --sec1 ${secured} --insec1 ${insecured}`; - let result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); - expect(result.stderr).toContain("command 'profiles create' is deprecated"); - expect(result.stdout).toContain("Profile created successfully!"); - - cmd = `profiles delete ${testProfileName}-profile ${profileName}`; - result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); - expect(result.stderr).toContain("command 'profiles delete' is deprecated"); - expect(result.stdout).toContain("successfully deleted"); - }); - - it("should update a password", () => { - let cmd = `profiles create ${testProfileName}-profile ${profileName} --username ${username} ` + - `--password ${password} --account ${account} --sec1 ${secured} --insec1 ${insecured}`; - let result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); - - expect(result.stderr).toContain("command 'profiles create' is deprecated"); - expect(result.stdout).toContain("Profile created successfully!"); - - // profiles upd username-password username-password --password pass - cmd = `profiles update ${testProfileName}-profile ${profileName} --password ${newPass}`; - result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); - - expect(T.stripNewLines(result.stdout)).toContain("Overwrote existing profile"); - expect(result.stderr).toMatchSnapshot(); - - cmd = `profiles delete ${testProfileName}-profile ${profileName}`; - result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); - - expect(result.stderr).toContain("command 'profiles delete' is deprecated"); - expect(T.stripNewLines(result.stdout)).toContain("successfully deleted"); - expect(result.stdout).toMatchSnapshot(); - }); }); describe("Generic Failure Scenarios", () => { const createdName = "profile-name"; const changedName = "profile-name-changed"; - const changedProfileName = "changed-username-password"; - const profilePath = path.join(homeDir, "profiles", testProfileName); + const profilePath = path.join(homeDir, "profiles", testProfileType); const createdPath = path.join(profilePath, createdName + ".yaml"); const changedPath = path.join(profilePath, changedName + ".yaml"); it("should fail if the Credential Manager is unable to find the profile", () => { - let cmd = `profiles create ${testProfileName}-profile ${createdName} --username ${username} ` + - `--password ${password} --account ${account} --sec1 ${secured} --insec1 ${insecured}`; - let result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); - - expect(result.stderr).toContain("command 'profiles create' is deprecated"); - expect(result.stdout).toContain("Profile created successfully!"); - - // Now change the name of the profile so that we can break it + // change the name of the profile so that we can break it fs.renameSync(createdPath, changedPath); - cmd = `profiles delete ${testProfileName}-profile ${createdName}`; - result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); - - expect(T.stripNewLines(result.stderr)).toContain(`Profile "${createdName}" of type "${testProfileName}" does not exist.`); - expect(result.stderr).toContain("Profile \"profile-name\" of type \"username-password\" does not exist"); - expect(result.stderr).toContain("The command 'profiles delete' is deprecated"); + const cmd = `display-profile`; + const result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); - // Now put it back for cleanup + // put the profile back for cleanup fs.renameSync(changedPath, createdPath); - cmd = `profiles delete ${testProfileName}-profile ${createdName}`; - result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); - - expect(result.stderr).toContain("command 'profiles delete' is deprecated"); - expect(T.stripNewLines(result.stdout)).toContain("successfully deleted"); + expect(result.stderr).toContain( + `Your default profile named ${createdName} does not exist for type ${testProfileType}.` + ); }); it("should fail if the Credential Manager is unable to retrieve a password", () => { - let cmd = `profiles create ${testProfileName}-profile ${createdName} --username ${username} ` + - `--password ${password} --account ${account} --sec1 ${secured} --insec1 ${insecured}`; - let result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); - - expect(result.stderr).toContain("command 'profiles create' is deprecated"); - expect(result.stdout).toContain("Profile created successfully!"); - - // Now change the name of the profile so that we can break it + // change the name of the profile so that we can break it fs.renameSync(createdPath, changedPath); - cmd = `display-profile --${testProfileName}-profile ${changedName}`; - result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); - - expect(T.stripNewLines(result.stderr)).toMatch(credentialManagerErrorMessage); - expect(result.stderr).toMatchSnapshot(); + const cmd = `display-profile --${testProfileType}-profile ${changedName}`; + const result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); - // Now put it back for cleanup + // put the profile back for cleanup fs.renameSync(changedPath, createdPath); - cmd = `profiles delete ${testProfileName}-profile ${createdName}`; - result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); - - expect(result.stderr).toContain("command 'profiles delete' is deprecated"); - expect(T.stripNewLines(result.stdout)).toContain("successfully deleted"); - expect(result.stdout).toMatchSnapshot(); + expect(T.stripNewLines(result.stderr)).toContain( + `Unable to load the secure field "${username}" associated with ` + + `the profile "${changedName}" of type "${testProfileType}".` + ); + expect(T.stripNewLines(result.stderr)).toContain( + "Could not find an entry in the credential vault for the following:" + ); + expect(T.stripNewLines(result.stderr)).toContain("Service = example_with_profiles"); + expect(T.stripNewLines(result.stderr)).toContain("Account = username-password_profile-name-changed_username"); }); }); - describe("Missing keytar installation", () => { - const profileName = "missing-keytar"; - const keyTarDir = path.join(__dirname, "../../../../../../../node_modules/@zowe/secrets-for-zowe-sdk"); - const renamedKeyTarDir = path.join(__dirname, "../../../../../../../node_modules/@zowe/zowe-for-secrets-sdk"); + describe("Missing secrets SDK installation", () => { + const secretsSdk = path.join(__dirname, "../../../../../../../node_modules/@zowe/secrets-for-zowe-sdk"); + const renamedSecretsSdk = path.join(__dirname, "../../../../../../../node_modules/@zowe/zowe-for-secrets-sdk"); - const renameKeyTar = () => { - if (fs.existsSync(keyTarDir)) { - fs.renameSync(keyTarDir, renamedKeyTarDir); + const renameSecretsSdk = () => { + if (fs.existsSync(secretsSdk)) { + fs.renameSync(secretsSdk, renamedSecretsSdk); } }; - // Make sure that the keytar folder is reset to the original name. + // Make sure that the secrets SDK folder is reset to the original name. afterEach(() => { - if (fs.existsSync(renamedKeyTarDir)) { - fs.renameSync(renamedKeyTarDir, keyTarDir); + if (fs.existsSync(renamedSecretsSdk)) { + fs.renameSync(renamedSecretsSdk, secretsSdk); } }); - it("should fail if keytar is not loaded on profiles create", () => { - renameKeyTar(); + it("should fail if secrets SDK is not loaded on using profile handler", () => { + renameSecretsSdk(); - const cmd = `profiles create ${testProfileName}-profile ${profileName} --username ${username} ` + - `--password ${password} --account ${account} --sec1 ${secured} --insec1 ${insecured}`; + const cmd = `display-profile`; const result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); - expect(result.stdout).toEqual(""); - expect(result.stderr).toContain(profileName); - expect(result.stderr).toContain("Failed to load Keytar module"); - }); - - it("should fail if keytar is not loaded on using profile handler", () => { - let cmd = `profiles create ${testProfileName}-profile ${profileName} --username ${username} ` + - `--password ${password} --account ${account} --sec1 ${secured} --insec1 ${insecured}`; - let result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); - expect(result.stderr).toContain("command 'profiles create' is deprecated"); - expect(result.stdout).toContain("Profile created successfully!"); - - renameKeyTar(); - cmd = `display-profile`; - result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); expect(result.stderr).toContain("Command Preparation Failed"); - expect(result.stderr).toContain("Failed to load Keytar module"); - }); - - it("should fail if keytar is not loaded on profiles delete", () => { - let cmd = `profiles create ${testProfileName}-profile ${profileName} --username ${username} ` + - `--password ${password} --account ${account} --sec1 ${secured} --insec1 ${insecured}`; - let result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); - expect(result.stderr).toContain("command 'profiles create' is deprecated"); - expect(result.stdout).toContain("Profile created successfully!"); - - renameKeyTar(); - - cmd = `profiles delete ${testProfileName}-profile ${profileName}`; - result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); - expect(result.stderr).toContain(profileName); - expect(result.stderr).toMatch(credentialManagerErrorMessage); + expect(result.stderr).toContain( + `Unable to load the secure field "${username}" associated with ` + + `the profile "profile-name" of type "${testProfileType}".` + ); + expect(T.stripNewLines(result.stderr)).toContain( + "Failed to load Keytar module: Cannot find module '@zowe/secrets-for-zowe-sdk" + ); }); it("should be able to issue command", () => { - renameKeyTar(); + renameSecretsSdk(); - const cmd = `display-non-keytar`; + const cmd = `display-no-secrets`; const result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); - expect(result.stdout).toContain("This handler does not require keytar"); + expect(result.stderr).toBe(""); + expect(result.stdout).toContain("This handler does not require secrets"); }); }); }); - describe("Custom Credential Management (Absolute String)", () => { - const cliBin = path.join(__dirname, "../test_cli/TestCustomCredString.ts"); - const config: IImperativeConfig = require(path.join(__dirname, "../test_cli/TestCustomCredStringConfiguration")); - const homeDir: string = config.defaultHome; - - const testProfileName = "username-password"; - const username: string = "username"; - const password: string = "password"; - - beforeEach(() => { - T.rimraf(homeDir); - }); - - it("should use an overwritten credential manager (Absolute String)", () => { - const profileName = "custom-credential-string"; - - let cmd = `profiles create ${testProfileName}-profile ${profileName} --username ${username} --password ${password}`; - let result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); - expect(result.stderr).toContain("command 'profiles create' is deprecated"); - expect(result.stdout).toContain("Profile created successfully!"); + describe("Custom Credential Management - Absolute String", () => { - cmd = `display-profile`; - result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); - expect(JSON.parse(result.stdout)).toEqual({username: "custom", password: "custom"}); + it("should use an overwritten credential manager - Absolute String", () => { + const cliBin = path.join(__dirname, "../test_cli/TestCustomCredString.ts"); + const cmd = `display-profile`; + const result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); + expect(result.stderr).toBe(""); + expect(result.stdout).toContain('"username":"custom"'); + expect(result.stdout).toContain('"password":"custom"'); }); }); - describe("Custom Credential Management (Class)", () => { - const cliBin = path.join(__dirname, "../test_cli/TestCustomCredClass.ts"); - const config: IImperativeConfig = require(path.join(__dirname, "../test_cli/TestCustomCredClassConfiguration")); - const homeDir: string = config.defaultHome; - - const testProfileName = "username-password"; - const username: string = "username"; - const password: string = "password"; - - beforeEach(() => { - T.rimraf(homeDir); - }); - - it("should use an overwritten credential manager (Class)", () => { - const profileName = "custom-credential-class"; - - let cmd = `profiles create ${testProfileName}-profile ${profileName} --username ${username} --password ${password}`; - let result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); - expect(result.stderr).toContain("command 'profiles create' is deprecated"); - expect(result.stdout).toContain("Profile created successfully!"); + describe("Custom Credential Management - Class", () => { - cmd = `display-profile`; - result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); - expect(JSON.parse(result.stdout)).toEqual({ username: "custom", password: "custom"}); + it("should use an overwritten credential manager - Class", () => { + const cliBin = path.join(__dirname, "../test_cli/TestCustomCredClass.ts"); + const cmd = `display-profile`; + const result = T.executeTestCLICommand(cliBin, this, cmd.split(" ")); + expect(result.stderr).toBe(""); + expect(result.stdout).toContain('"username":"custom"'); + expect(result.stdout).toContain('"password":"custom"'); }); }); }); diff --git a/packages/imperative/__tests__/src/packages/profiles/__integration__/ProfileCommandExample.integration.test.ts b/packages/imperative/__tests__/src/packages/profiles/__integration__/ProfileCommandExample.integration.test.ts index 3fe4ee4905..fdb8c9fa95 100644 --- a/packages/imperative/__tests__/src/packages/profiles/__integration__/ProfileCommandExample.integration.test.ts +++ b/packages/imperative/__tests__/src/packages/profiles/__integration__/ProfileCommandExample.integration.test.ts @@ -14,11 +14,11 @@ import { IImperativeConfig } from "../../../../../src/imperative"; import * as yargs from "yargs"; import { Constants } from "../../../../../src/constants"; import { CommandProcessor, ICommandDefinition, ICommandProfileTypeConfiguration, ICommandResponse } from "../../../../../src/cmd"; -import { ICommandProcessorParms } from "../../../../../src/cmd/src/doc/processor/ICommandProcessorParms"; +import { ICommandProcessorParms } from "../../../../../src/cmd/doc/processor/ICommandProcessorParms"; import { isNullOrUndefined } from "util"; import { TestLogger } from "../../../../src/TestLogger"; -import { AbstractHelpGenerator } from "../../../../../src/cmd/src/help/abstract/AbstractHelpGenerator"; -import { DefaultHelpGenerator } from "../../../../../src/cmd/src/help/DefaultHelpGenerator"; +import { AbstractHelpGenerator } from "../../../../../src/cmd/help/abstract/AbstractHelpGenerator"; +import { DefaultHelpGenerator } from "../../../../../src/cmd/help/DefaultHelpGenerator"; import { BasicProfileManagerFactory } from "../../../../../src/index"; const logger = TestLogger.getTestLogger(); diff --git a/packages/imperative/__tests__/src/packages/profiles/__integration__/__resources__/profiles/banana/banana_meta.yaml b/packages/imperative/__tests__/src/packages/profiles/__integration__/__resources__/profiles/banana/banana_meta.yaml new file mode 100644 index 0000000000..e7cbb9cc9c --- /dev/null +++ b/packages/imperative/__tests__/src/packages/profiles/__integration__/__resources__/profiles/banana/banana_meta.yaml @@ -0,0 +1,19 @@ +defaultProfile: legit +configuration: + type: banana + schema: + type: object + title: 'The Banana command profile schema' + description: 'The Banana command profile schema' + properties: + age: + optionDefinition: + description: 'The age of the Banana' + type: number + name: age + aliases: + - a + required: true + type: number + required: + - age diff --git a/packages/imperative/__tests__/src/packages/profiles/__integration__/__resources__/profiles/banana/legit.yaml b/packages/imperative/__tests__/src/packages/profiles/__integration__/__resources__/profiles/banana/legit.yaml new file mode 100644 index 0000000000..e98b69963c --- /dev/null +++ b/packages/imperative/__tests__/src/packages/profiles/__integration__/__resources__/profiles/banana/legit.yaml @@ -0,0 +1 @@ +age: 1000 diff --git a/packages/imperative/__tests__/src/packages/profiles/__integration__/__resources__/profiles/secure_orange/secure_orange_meta.yaml b/packages/imperative/__tests__/src/packages/profiles/__integration__/__resources__/profiles/secure_orange/secure_orange_meta.yaml new file mode 100644 index 0000000000..97720a614c --- /dev/null +++ b/packages/imperative/__tests__/src/packages/profiles/__integration__/__resources__/profiles/secure_orange/secure_orange_meta.yaml @@ -0,0 +1,21 @@ +defaultProfile: null +configuration: + type: secure_orange + schema: + type: object + title: 'The secure_orange command profile schema' + description: 'The secure_orange command profile schema' + properties: + username: + optionDefinition: + description: 'The username of the secure_orange' + type: string + name: username + type: string + password: + optionDefinition: + description: 'The password of the secure_orange' + type: string + name: password + type: string + required: [] diff --git a/packages/imperative/__tests__/src/packages/profiles/__integration__/__resources__/profiles/strawberry/strawberry_meta.yaml b/packages/imperative/__tests__/src/packages/profiles/__integration__/__resources__/profiles/strawberry/strawberry_meta.yaml new file mode 100644 index 0000000000..28f1719583 --- /dev/null +++ b/packages/imperative/__tests__/src/packages/profiles/__integration__/__resources__/profiles/strawberry/strawberry_meta.yaml @@ -0,0 +1,19 @@ +defaultProfile: null +configuration: + type: strawberry + schema: + type: object + title: 'The strawberry command profile schema' + description: 'The strawberry command profile schema' + properties: + age: + optionDefinition: + description: 'The age of the strawberry' + type: number + name: age + aliases: + - a + required: true + type: number + required: + - age diff --git a/packages/imperative/__tests__/src/packages/profiles/__integration__/__resources__/profiles_cli_prof_mgr_creds/username-password/profile-name.yaml b/packages/imperative/__tests__/src/packages/profiles/__integration__/__resources__/profiles_cli_prof_mgr_creds/username-password/profile-name.yaml new file mode 100644 index 0000000000..45141c58b1 --- /dev/null +++ b/packages/imperative/__tests__/src/packages/profiles/__integration__/__resources__/profiles_cli_prof_mgr_creds/username-password/profile-name.yaml @@ -0,0 +1,8 @@ +username: 'managed by Test CLI with Profiles' +password: 'managed by Test CLI with Profiles' +account: 'managed by Test CLI with Profiles' +myParent: + securedProperty: + mySecuredChild: 'managed by Test CLI with Profiles' + insecuredProperty: + myInSecuredChild: insecured diff --git a/packages/imperative/__tests__/src/packages/profiles/__integration__/__resources__/profiles_cli_prof_mgr_creds/username-password/username-password_meta.yaml b/packages/imperative/__tests__/src/packages/profiles/__integration__/__resources__/profiles_cli_prof_mgr_creds/username-password/username-password_meta.yaml new file mode 100644 index 0000000000..e3a32193d8 --- /dev/null +++ b/packages/imperative/__tests__/src/packages/profiles/__integration__/__resources__/profiles_cli_prof_mgr_creds/username-password/username-password_meta.yaml @@ -0,0 +1,57 @@ +defaultProfile: profile-name +configuration: + type: username-password + schema: + type: object + title: 'Profile Manager Test Profile' + description: 'user name and password test profile' + properties: + username: + optionDefinition: + description: 'User Name' + type: string + name: username + required: true + secure: true + type: string + password: + optionDefinition: + description: Password + type: number + name: password + required: true + secure: true + type: number + account: + optionDefinition: + description: Account + type: string + name: account + required: true + secure: true + type: string + myParent: + type: object + properties: + securedProperty: + type: object + properties: + mySecuredChild: + optionDefinition: + description: 'The secured property' + type: string + name: sec1 + required: true + secure: true + type: string + insecuredProperty: + type: object + properties: + myInSecuredChild: + optionDefinition: + description: 'The insecured property' + type: string + name: insec1 + required: true + secure: false + type: string diff --git a/packages/imperative/__tests__/src/packages/profiles/__integration__/__scripts__/copy_profiles.sh b/packages/imperative/__tests__/src/packages/profiles/__integration__/__scripts__/copy_profiles.sh new file mode 100644 index 0000000000..74a8cfcbca --- /dev/null +++ b/packages/imperative/__tests__/src/packages/profiles/__integration__/__scripts__/copy_profiles.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +# include zowe-cli\__tests__\__scripts__\exitOnFailure function +myScriptDir=`dirname $0` +. $myScriptDir/../../../../../../../../__tests__/__scripts__/exitOnFailure.sh + +# copy pre-existing profiles to test directory +cp -r $myScriptDir/../__resources__/profiles profiles +exitOnFailure "Failed to copy test profile." $? diff --git a/packages/imperative/__tests__/src/packages/profiles/__integration__/__scripts__/copy_profiles_cli_prof_mgr_creds.sh b/packages/imperative/__tests__/src/packages/profiles/__integration__/__scripts__/copy_profiles_cli_prof_mgr_creds.sh new file mode 100644 index 0000000000..d44b849331 --- /dev/null +++ b/packages/imperative/__tests__/src/packages/profiles/__integration__/__scripts__/copy_profiles_cli_prof_mgr_creds.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +# include zowe-cli\__tests__\__scripts__\exitOnFailure function +myScriptDir=`dirname $0` +. $myScriptDir/../../../../../../../../__tests__/__scripts__/exitOnFailure.sh + +# copy pre-existing profiles to test directory +cp -r $myScriptDir/../__resources__/profiles_cli_prof_mgr_creds ./profiles +exitOnFailure "Failed to copy test profiles." $? diff --git a/packages/imperative/__tests__/src/packages/profiles/__integration__/__snapshots__/BasicProfileManager.integration.test.ts.snap b/packages/imperative/__tests__/src/packages/profiles/__integration__/__snapshots__/BasicProfileManager.integration.test.ts.snap deleted file mode 100644 index b2866c92d9..0000000000 --- a/packages/imperative/__tests__/src/packages/profiles/__integration__/__snapshots__/BasicProfileManager.integration.test.ts.snap +++ /dev/null @@ -1,13 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Imperative should allow CLI implementations to configure their own profiles and types should be able to create a basic profile and load as the default 1`] = ` -Object { - "age": 1000, -} -`; - -exports[`Imperative should allow CLI implementations to configure their own profiles and types should be able to create a basic profile and load that profile 1`] = ` -Object { - "age": 1000, -} -`; diff --git a/packages/imperative/__tests__/src/packages/profiles/src/constants/BasicProfileManagerTestConstants.ts b/packages/imperative/__tests__/src/packages/profiles/src/constants/BasicProfileManagerTestConstants.ts index ba71a6207c..d623bf9625 100644 --- a/packages/imperative/__tests__/src/packages/profiles/src/constants/BasicProfileManagerTestConstants.ts +++ b/packages/imperative/__tests__/src/packages/profiles/src/constants/BasicProfileManagerTestConstants.ts @@ -31,7 +31,7 @@ export const PROFILE_TYPE = { STRAWBERRY: "strawberry" }; -const bananaProfile: ICommandProfileTypeConfiguration = { +export const bananaProfile: ICommandProfileTypeConfiguration = { type: PROFILE_TYPE.BANANA, schema: { type: "object", diff --git a/packages/imperative/__tests__/src/packages/profiles/test_app/TestApp.ts b/packages/imperative/__tests__/src/packages/profiles/test_app/TestApp.ts index 549f9a06dd..9f3150a59d 100644 --- a/packages/imperative/__tests__/src/packages/profiles/test_app/TestApp.ts +++ b/packages/imperative/__tests__/src/packages/profiles/test_app/TestApp.ts @@ -11,15 +11,18 @@ import { TestProfileLoader } from "./TestProfileLoader"; import { TestAppImperativeConfig } from "../src/constants/ProfileInfoConstants"; -import { CliProfileManager } from "../../../../../src/cmd/src/profiles/CliProfileManager"; -import { Logger } from "../../../../../src/logger/src/Logger"; +import { Logger } from "../../../../../src/logger/Logger"; import * as path from "path"; +/* Logic from the now-removed BasicProfileManager.initialize() function. We never create + * the old v1 profile structure in the product, but we might for tests. In V3, we maintain + * the ability to read V1 profiles for the purpose of converting them to a team config. + */ const setupOldProfiles = async (projectDir: string) => { - await CliProfileManager.initialize({ + const parms: any = { configuration: TestAppImperativeConfig.profiles, profileRootDirectory: path.join(projectDir, "profiles"), - }); + }; }; const log = (logger: Logger, msg: string, ...args: any) => { diff --git a/packages/imperative/__tests__/src/packages/profiles/test_app/TestProfileLoader.ts b/packages/imperative/__tests__/src/packages/profiles/test_app/TestProfileLoader.ts index 1bdeb64cc7..63cfbbf5bf 100644 --- a/packages/imperative/__tests__/src/packages/profiles/test_app/TestProfileLoader.ts +++ b/packages/imperative/__tests__/src/packages/profiles/test_app/TestProfileLoader.ts @@ -9,8 +9,8 @@ * */ -import { Logger } from "../../../../../src/logger/src/Logger"; -import { ProfileInfo } from "../../../../../src/config/src/ProfileInfo"; +import { Logger } from "../../../../../src/logger/Logger"; +import { ProfileInfo } from "../../../../../src/config/ProfileInfo"; import { Log4jsConfig } from "../src/constants/ProfileInfoConstants"; import { IProfAttrs } from "../../../../../src"; import * as path from "path"; diff --git a/packages/imperative/__tests__/src/packages/profiles/test_cli/TestConfiguration.ts b/packages/imperative/__tests__/src/packages/profiles/test_cli/TestConfiguration.ts index c2fc87d90a..a572b3d57b 100644 --- a/packages/imperative/__tests__/src/packages/profiles/test_cli/TestConfiguration.ts +++ b/packages/imperative/__tests__/src/packages/profiles/test_cli/TestConfiguration.ts @@ -24,10 +24,10 @@ const config: IImperativeConfig = { handler: path.join(__dirname, "handlers", "DisplayProfileHandler.ts") }, { - name: "display-non-keytar", - description: "Display handler without require keytar", + name: "display-no-secrets", + description: "Display handler without secrets", type: "command", - handler: path.join(__dirname, "handlers", "NonKeytarHandler.ts") + handler: path.join(__dirname, "handlers", "NoSecretsHandler.ts") } ], rootCommandDescription: "Sample command line interface", diff --git a/packages/imperative/__tests__/src/packages/profiles/test_cli/handlers/NonKeytarHandler.ts b/packages/imperative/__tests__/src/packages/profiles/test_cli/handlers/NoSecretsHandler.ts similarity index 86% rename from packages/imperative/__tests__/src/packages/profiles/test_cli/handlers/NonKeytarHandler.ts rename to packages/imperative/__tests__/src/packages/profiles/test_cli/handlers/NoSecretsHandler.ts index 2871ebe061..bf175daa47 100644 --- a/packages/imperative/__tests__/src/packages/profiles/test_cli/handlers/NonKeytarHandler.ts +++ b/packages/imperative/__tests__/src/packages/profiles/test_cli/handlers/NoSecretsHandler.ts @@ -11,8 +11,8 @@ import { ICommandHandler, IHandlerParameters } from "../../../../../../src/cmd"; -export default class NoneKeytarHandler implements ICommandHandler { +export default class NoSecretsHandler implements ICommandHandler { public async process(params: IHandlerParameters): Promise { - params.response.console.log("This handler does not require keytar"); + params.response.console.log("This handler does not require secrets"); } } diff --git a/packages/imperative/package.json b/packages/imperative/package.json index 21e3ac36f0..dd3ce90e6a 100644 --- a/packages/imperative/package.json +++ b/packages/imperative/package.json @@ -1,6 +1,6 @@ { "name": "@zowe/imperative", - "version": "8.0.0-next.202401162202", + "version": "8.0.0-next.202401191954", "description": "framework for building configurable CLIs", "author": "Zowe", "license": "EPL-2.0", @@ -67,7 +67,7 @@ "mustache": "^2.3.0", "npm-package-arg": "^9.1.0", "opener": "^1.5.2", - "pacote": "^11.1.4", + "pacote": "^17.0.5", "prettyjson": "^1.2.2", "progress": "^2.0.3", "read": "^1.0.7", @@ -96,7 +96,7 @@ "@types/readline-sync": "^1.4.3", "@types/rimraf": "^3.0.2", "@types/stack-trace": "^0.0.29", - "@zowe/secrets-for-zowe-sdk": "8.0.0-next.202401162202", + "@zowe/secrets-for-zowe-sdk": "8.0.0-next.202401191954", "concurrently": "^7.5.0", "cowsay": "^1.2.1", "deep-diff": "^0.3.8", diff --git a/packages/imperative/src/cmd/src/ChainedHandlerUtils.ts b/packages/imperative/src/cmd/ChainedHandlerUtils.ts similarity index 98% rename from packages/imperative/src/cmd/src/ChainedHandlerUtils.ts rename to packages/imperative/src/cmd/ChainedHandlerUtils.ts index 68d5aa3a32..50216a373b 100644 --- a/packages/imperative/src/cmd/src/ChainedHandlerUtils.ts +++ b/packages/imperative/src/cmd/ChainedHandlerUtils.ts @@ -12,9 +12,9 @@ import * as yargs from "yargs"; import { IChainedHandlerEntry } from "./doc/handler/IChainedHandlerEntry"; import { IChainedHandlerArgumentMapping } from "./doc/handler/IChainedHandlerArgumentMapping"; -import { ImperativeError } from "../../error"; -import { TextUtils } from "../../utilities"; -import { Logger } from "../../logger"; +import { ImperativeError } from "../error"; +import { TextUtils } from "../utilities"; +import { Logger } from "../logger"; const DataObjectParser = require("dataobject-parser"); diff --git a/packages/imperative/src/cmd/src/CommandPreparer.ts b/packages/imperative/src/cmd/CommandPreparer.ts similarity index 99% rename from packages/imperative/src/cmd/src/CommandPreparer.ts rename to packages/imperative/src/cmd/CommandPreparer.ts index 5903f2533a..5395d25eba 100644 --- a/packages/imperative/src/cmd/src/CommandPreparer.ts +++ b/packages/imperative/src/cmd/CommandPreparer.ts @@ -9,12 +9,12 @@ * */ -import { Constants } from "../../constants/src/Constants"; +import { Constants } from "../constants/Constants"; import { ICommandDefinitionPassOn, ICommandDefinitionPassOnIgnore } from "./doc/ICommandDefinitionPassOn"; -import { ImperativeError } from "../../error/src/ImperativeError"; +import { ImperativeError } from "../error/ImperativeError"; import { ICommandDefinition } from "./doc/ICommandDefinition"; -import { ProfileUtils } from "../../profiles/src/utils/ProfileUtils"; -import { TextUtils } from "../../utilities/src/TextUtils"; +import { ProfileUtils } from "../profiles/utils/ProfileUtils"; +import { TextUtils } from "../utilities/TextUtils"; import { OptionConstants } from "./constants/OptionConstants"; import * as DeepMerge from "deepmerge"; import { ICommandProfileTypeConfiguration } from "./doc/profiles/definition/ICommandProfileTypeConfiguration"; diff --git a/packages/imperative/src/cmd/src/CommandProcessor.ts b/packages/imperative/src/cmd/CommandProcessor.ts similarity index 98% rename from packages/imperative/src/cmd/src/CommandProcessor.ts rename to packages/imperative/src/cmd/CommandProcessor.ts index 9a0166f37e..f7b9663417 100644 --- a/packages/imperative/src/cmd/src/CommandProcessor.ts +++ b/packages/imperative/src/cmd/CommandProcessor.ts @@ -14,10 +14,10 @@ import { CommandUtils } from "./utils/CommandUtils"; import { Arguments } from "yargs"; import { ICommandValidatorResponse } from "./doc/response/response/ICommandValidatorResponse"; import { ICommandHandler } from "./doc/handler/ICommandHandler"; -import { couldNotInstantiateCommandHandler, unexpectedCommandError } from "../../messages"; +import { couldNotInstantiateCommandHandler, unexpectedCommandError } from "../messages"; import { SharedOptions } from "./utils/SharedOptions"; -import { IImperativeError, ImperativeError } from "../../error"; -import { IProfileManagerFactory, ProfileUtils } from "../../profiles"; +import { IImperativeError, ImperativeError } from "../error"; +import { IProfileManagerFactory, ProfileUtils } from "../profiles"; import { SyntaxValidator } from "./syntax/SyntaxValidator"; import { CommandProfileLoader } from "./profiles/CommandProfileLoader"; import { ICommandProfileTypeConfiguration } from "./doc/profiles/definition/ICommandProfileTypeConfiguration"; @@ -25,28 +25,29 @@ import { IHelpGenerator } from "./help/doc/IHelpGenerator"; import { ICommandPrepared } from "./doc/response/response/ICommandPrepared"; import { CommandResponse } from "./response/CommandResponse"; import { ICommandResponse } from "./doc/response/response/ICommandResponse"; -import { Logger, LoggerUtils } from "../../logger"; +import { Logger, LoggerUtils } from "../logger"; import { IInvokeCommandParms } from "./doc/parms/IInvokeCommandParms"; import { ICommandProcessorParms } from "./doc/processor/ICommandProcessorParms"; -import { ImperativeExpect } from "../../expect"; +import { ImperativeExpect } from "../expect"; import { inspect } from "util"; -import { EnvFileUtils, ImperativeConfig, TextUtils } from "../../utilities"; +import { ImperativeConfig } from "../utilities/ImperativeConfig"; +import { TextUtils } from "../utilities/TextUtils"; +import { EnvFileUtils } from "../utilities/EnvFileUtils"; import * as nodePath from "path"; import * as os from "os"; import * as stream from "stream"; import { ICommandHandlerRequire } from "./doc/handler/ICommandHandlerRequire"; -import { IHandlerParameters } from "../../cmd"; +import { IHandlerParameters, IHandlerResponseApi } from "../cmd"; import { ChainedHandlerService } from "./ChainedHandlerUtils"; -import { Constants } from "../../constants"; +import { Constants } from "../constants"; import { ICommandArguments } from "./doc/args/ICommandArguments"; -import { CliUtils } from "../../utilities/src/CliUtils"; +import { CliUtils } from "../utilities/CliUtils"; import { WebHelpManager } from "./help/WebHelpManager"; import { ICommandProfile } from "./doc/profiles/definition/ICommandProfile"; -import { Config } from "../../config/src/Config"; -import { getActiveProfileName } from "../../config/src/ConfigUtils"; -import { ConfigConstants } from "../../config/src/ConfigConstants"; -import { IDaemonContext } from "../../imperative/src/doc/IDaemonContext"; -import { IHandlerResponseApi } from "../.."; +import { Config } from "../config/Config"; +import { ConfigUtils } from "../config/ConfigUtils"; +import { ConfigConstants } from "../config/ConfigConstants"; +import { IDaemonContext } from "../imperative/doc/IDaemonContext"; /** @@ -820,7 +821,7 @@ export class CommandProcessor { const combinedProfiles = [ ...showInputsOnly.requiredProfiles ?? [], ...showInputsOnly.optionalProfiles ?? [] ]; combinedProfiles.forEach((profile) => { - const name = getActiveProfileName(profile, commandParameters.arguments); // get profile name + const name = ConfigUtils.getActiveProfileName(profile, commandParameters.arguments); // get profile name const props = this.mConfig.api.secure.securePropsForProfile(name); // get secure props configSecureProps.push(...props); // add to list }); diff --git a/packages/imperative/src/cmd/src/builders/AbstractCommandBuilder.ts b/packages/imperative/src/cmd/builders/AbstractCommandBuilder.ts similarity index 100% rename from packages/imperative/src/cmd/src/builders/AbstractCommandBuilder.ts rename to packages/imperative/src/cmd/builders/AbstractCommandBuilder.ts diff --git a/packages/imperative/src/cmd/src/constants/OptionConstants.ts b/packages/imperative/src/cmd/constants/OptionConstants.ts similarity index 100% rename from packages/imperative/src/cmd/src/constants/OptionConstants.ts rename to packages/imperative/src/cmd/constants/OptionConstants.ts diff --git a/packages/imperative/src/cmd/src/doc/ICommandDefinition.ts b/packages/imperative/src/cmd/doc/ICommandDefinition.ts similarity index 98% rename from packages/imperative/src/cmd/src/doc/ICommandDefinition.ts rename to packages/imperative/src/cmd/doc/ICommandDefinition.ts index 3d8294934d..8a750b165d 100644 --- a/packages/imperative/src/cmd/src/doc/ICommandDefinition.ts +++ b/packages/imperative/src/cmd/doc/ICommandDefinition.ts @@ -14,7 +14,7 @@ import { IChainedHandlerEntry } from "./handler/IChainedHandlerEntry"; import { ICommandOptionDefinition } from "./option/ICommandOptionDefinition"; import { ICommandPositionalDefinition } from "./option/ICommandPositionalDefinition"; import { ICommandDefinitionPassOn } from "./ICommandDefinitionPassOn"; -import { ICommandProfile } from "../../src/doc/profiles/definition/ICommandProfile"; +import { ICommandProfile } from "../doc/profiles/definition/ICommandProfile"; /** * Command Segment type - either "group" or "command". * diff --git a/packages/imperative/src/cmd/src/doc/ICommandDefinitionPassOn.ts b/packages/imperative/src/cmd/doc/ICommandDefinitionPassOn.ts similarity index 100% rename from packages/imperative/src/cmd/src/doc/ICommandDefinitionPassOn.ts rename to packages/imperative/src/cmd/doc/ICommandDefinitionPassOn.ts diff --git a/packages/imperative/src/cmd/src/doc/ICommandExampleDefinition.ts b/packages/imperative/src/cmd/doc/ICommandExampleDefinition.ts similarity index 100% rename from packages/imperative/src/cmd/src/doc/ICommandExampleDefinition.ts rename to packages/imperative/src/cmd/doc/ICommandExampleDefinition.ts diff --git a/packages/imperative/src/cmd/src/doc/IPartialCommandDefinition.ts b/packages/imperative/src/cmd/doc/IPartialCommandDefinition.ts similarity index 100% rename from packages/imperative/src/cmd/src/doc/IPartialCommandDefinition.ts rename to packages/imperative/src/cmd/doc/IPartialCommandDefinition.ts diff --git a/packages/imperative/src/cmd/src/doc/args/ICommandArguments.ts b/packages/imperative/src/cmd/doc/args/ICommandArguments.ts similarity index 100% rename from packages/imperative/src/cmd/src/doc/args/ICommandArguments.ts rename to packages/imperative/src/cmd/doc/args/ICommandArguments.ts diff --git a/packages/imperative/src/cmd/src/doc/handler/IChainedHandlerArgumentMapping.ts b/packages/imperative/src/cmd/doc/handler/IChainedHandlerArgumentMapping.ts similarity index 100% rename from packages/imperative/src/cmd/src/doc/handler/IChainedHandlerArgumentMapping.ts rename to packages/imperative/src/cmd/doc/handler/IChainedHandlerArgumentMapping.ts diff --git a/packages/imperative/src/cmd/src/doc/handler/IChainedHandlerEntry.ts b/packages/imperative/src/cmd/doc/handler/IChainedHandlerEntry.ts similarity index 100% rename from packages/imperative/src/cmd/src/doc/handler/IChainedHandlerEntry.ts rename to packages/imperative/src/cmd/doc/handler/IChainedHandlerEntry.ts diff --git a/packages/imperative/src/cmd/src/doc/handler/ICommandHandler.ts b/packages/imperative/src/cmd/doc/handler/ICommandHandler.ts similarity index 100% rename from packages/imperative/src/cmd/src/doc/handler/ICommandHandler.ts rename to packages/imperative/src/cmd/doc/handler/ICommandHandler.ts diff --git a/packages/imperative/src/cmd/src/doc/handler/ICommandHandlerConstructor.ts b/packages/imperative/src/cmd/doc/handler/ICommandHandlerConstructor.ts similarity index 100% rename from packages/imperative/src/cmd/src/doc/handler/ICommandHandlerConstructor.ts rename to packages/imperative/src/cmd/doc/handler/ICommandHandlerConstructor.ts diff --git a/packages/imperative/src/cmd/src/doc/handler/ICommandHandlerRequire.ts b/packages/imperative/src/cmd/doc/handler/ICommandHandlerRequire.ts similarity index 100% rename from packages/imperative/src/cmd/src/doc/handler/ICommandHandlerRequire.ts rename to packages/imperative/src/cmd/doc/handler/ICommandHandlerRequire.ts diff --git a/packages/imperative/src/cmd/src/doc/handler/ICommandHandlerResponseChecker.ts b/packages/imperative/src/cmd/doc/handler/ICommandHandlerResponseChecker.ts similarity index 100% rename from packages/imperative/src/cmd/src/doc/handler/ICommandHandlerResponseChecker.ts rename to packages/imperative/src/cmd/doc/handler/ICommandHandlerResponseChecker.ts diff --git a/packages/imperative/src/cmd/src/doc/handler/ICommandHandlerResponseValidator.ts b/packages/imperative/src/cmd/doc/handler/ICommandHandlerResponseValidator.ts similarity index 85% rename from packages/imperative/src/cmd/src/doc/handler/ICommandHandlerResponseValidator.ts rename to packages/imperative/src/cmd/doc/handler/ICommandHandlerResponseValidator.ts index 6ec47d051c..581bef3595 100644 --- a/packages/imperative/src/cmd/src/doc/handler/ICommandHandlerResponseValidator.ts +++ b/packages/imperative/src/cmd/doc/handler/ICommandHandlerResponseValidator.ts @@ -9,7 +9,7 @@ * */ -import { ICommandResponse } from "../../../src/doc/response/response/ICommandResponse"; +import { ICommandResponse } from "../../doc/response/response/ICommandResponse"; import { CommandResponse } from "../../response/CommandResponse"; export interface ICommandHandlerResponseValidator { diff --git a/packages/imperative/src/cmd/src/doc/handler/IHandlerParameters.ts b/packages/imperative/src/cmd/doc/handler/IHandlerParameters.ts similarity index 100% rename from packages/imperative/src/cmd/src/doc/handler/IHandlerParameters.ts rename to packages/imperative/src/cmd/doc/handler/IHandlerParameters.ts diff --git a/packages/imperative/src/cmd/src/doc/option/ICommandOptionAllowableValues.ts b/packages/imperative/src/cmd/doc/option/ICommandOptionAllowableValues.ts similarity index 100% rename from packages/imperative/src/cmd/src/doc/option/ICommandOptionAllowableValues.ts rename to packages/imperative/src/cmd/doc/option/ICommandOptionAllowableValues.ts diff --git a/packages/imperative/src/cmd/src/doc/option/ICommandOptionDefinition.ts b/packages/imperative/src/cmd/doc/option/ICommandOptionDefinition.ts similarity index 100% rename from packages/imperative/src/cmd/src/doc/option/ICommandOptionDefinition.ts rename to packages/imperative/src/cmd/doc/option/ICommandOptionDefinition.ts diff --git a/packages/imperative/src/cmd/src/doc/option/ICommandOptionValueImplications.ts b/packages/imperative/src/cmd/doc/option/ICommandOptionValueImplications.ts similarity index 100% rename from packages/imperative/src/cmd/src/doc/option/ICommandOptionValueImplications.ts rename to packages/imperative/src/cmd/doc/option/ICommandOptionValueImplications.ts diff --git a/packages/imperative/src/cmd/src/doc/option/ICommandPositionalDefinition.ts b/packages/imperative/src/cmd/doc/option/ICommandPositionalDefinition.ts similarity index 100% rename from packages/imperative/src/cmd/src/doc/option/ICommandPositionalDefinition.ts rename to packages/imperative/src/cmd/doc/option/ICommandPositionalDefinition.ts diff --git a/packages/imperative/src/cmd/src/doc/parms/IInvokeCommandParms.ts b/packages/imperative/src/cmd/doc/parms/IInvokeCommandParms.ts similarity index 100% rename from packages/imperative/src/cmd/src/doc/parms/IInvokeCommandParms.ts rename to packages/imperative/src/cmd/doc/parms/IInvokeCommandParms.ts diff --git a/packages/imperative/src/cmd/src/doc/processor/ICommandProcessorParms.ts b/packages/imperative/src/cmd/doc/processor/ICommandProcessorParms.ts similarity index 90% rename from packages/imperative/src/cmd/src/doc/processor/ICommandProcessorParms.ts rename to packages/imperative/src/cmd/doc/processor/ICommandProcessorParms.ts index 82ffd3fd02..142be40bb7 100644 --- a/packages/imperative/src/cmd/src/doc/processor/ICommandProcessorParms.ts +++ b/packages/imperative/src/cmd/doc/processor/ICommandProcessorParms.ts @@ -11,10 +11,10 @@ import { ICommandDefinition } from "../ICommandDefinition"; import { IHelpGenerator } from "../../help/doc/IHelpGenerator"; -import { IProfileManagerFactory } from "../../../../profiles"; -import { ICommandProfileTypeConfiguration } from "../../../src/doc/profiles/definition/ICommandProfileTypeConfiguration"; -import { Config } from "../../../../config"; -import { IDaemonContext } from "../../../../imperative/src/doc/IDaemonContext"; +import { IProfileManagerFactory } from "../../../profiles"; +import { ICommandProfileTypeConfiguration } from "../../doc/profiles/definition/ICommandProfileTypeConfiguration"; +import { Config } from "../../../config"; +import { IDaemonContext } from "../../../imperative/doc/IDaemonContext"; /** * Parameters to create an instance of the Command Processor. Contains the command definition (for the command diff --git a/packages/imperative/src/cmd/src/doc/profiles/definition/ICommandProfile.ts b/packages/imperative/src/cmd/doc/profiles/definition/ICommandProfile.ts similarity index 100% rename from packages/imperative/src/cmd/src/doc/profiles/definition/ICommandProfile.ts rename to packages/imperative/src/cmd/doc/profiles/definition/ICommandProfile.ts diff --git a/packages/imperative/src/cmd/src/doc/profiles/definition/ICommandProfileAuthConfig.ts b/packages/imperative/src/cmd/doc/profiles/definition/ICommandProfileAuthConfig.ts similarity index 100% rename from packages/imperative/src/cmd/src/doc/profiles/definition/ICommandProfileAuthConfig.ts rename to packages/imperative/src/cmd/doc/profiles/definition/ICommandProfileAuthConfig.ts diff --git a/packages/imperative/src/cmd/src/doc/profiles/definition/ICommandProfileAutoInitConfig.ts b/packages/imperative/src/cmd/doc/profiles/definition/ICommandProfileAutoInitConfig.ts similarity index 100% rename from packages/imperative/src/cmd/src/doc/profiles/definition/ICommandProfileAutoInitConfig.ts rename to packages/imperative/src/cmd/doc/profiles/definition/ICommandProfileAutoInitConfig.ts diff --git a/packages/imperative/src/cmd/src/doc/profiles/definition/ICommandProfileProperty.ts b/packages/imperative/src/cmd/doc/profiles/definition/ICommandProfileProperty.ts similarity index 94% rename from packages/imperative/src/cmd/src/doc/profiles/definition/ICommandProfileProperty.ts rename to packages/imperative/src/cmd/doc/profiles/definition/ICommandProfileProperty.ts index 5d66726f72..6e21333277 100644 --- a/packages/imperative/src/cmd/src/doc/profiles/definition/ICommandProfileProperty.ts +++ b/packages/imperative/src/cmd/doc/profiles/definition/ICommandProfileProperty.ts @@ -9,7 +9,7 @@ * */ -import { IProfileProperty } from "../../../../../profiles"; +import { IProfileProperty } from "../../../../profiles"; import { ICommandOptionDefinition } from "../../option/ICommandOptionDefinition"; /** * Extended version of a team profile schema property that can include option definitions diff --git a/packages/imperative/src/cmd/src/doc/profiles/definition/ICommandProfileSchema.ts b/packages/imperative/src/cmd/doc/profiles/definition/ICommandProfileSchema.ts similarity index 94% rename from packages/imperative/src/cmd/src/doc/profiles/definition/ICommandProfileSchema.ts rename to packages/imperative/src/cmd/doc/profiles/definition/ICommandProfileSchema.ts index a0b09d19d9..ea3f46a168 100644 --- a/packages/imperative/src/cmd/src/doc/profiles/definition/ICommandProfileSchema.ts +++ b/packages/imperative/src/cmd/doc/profiles/definition/ICommandProfileSchema.ts @@ -10,7 +10,7 @@ */ import { ICommandProfileProperty } from "./ICommandProfileProperty"; -import { IProfileSchema } from "../../../../../profiles"; +import { IProfileSchema } from "../../../../profiles"; /** * Externally exposed version of the profile schema with command options for auto-generated commands * @export diff --git a/packages/imperative/src/cmd/src/doc/profiles/definition/ICommandProfileTypeConfiguration.ts b/packages/imperative/src/cmd/doc/profiles/definition/ICommandProfileTypeConfiguration.ts similarity index 97% rename from packages/imperative/src/cmd/src/doc/profiles/definition/ICommandProfileTypeConfiguration.ts rename to packages/imperative/src/cmd/doc/profiles/definition/ICommandProfileTypeConfiguration.ts index a2e86a1aa8..13147cc231 100644 --- a/packages/imperative/src/cmd/src/doc/profiles/definition/ICommandProfileTypeConfiguration.ts +++ b/packages/imperative/src/cmd/doc/profiles/definition/ICommandProfileTypeConfiguration.ts @@ -10,9 +10,9 @@ */ import { ICommandProfileSchema } from "./ICommandProfileSchema"; -import { IProfileTypeConfiguration } from "../../../../.."; import { ICommandExampleDefinition } from "../../ICommandExampleDefinition"; import { ICommandProfileAuthConfig } from "./ICommandProfileAuthConfig"; +import { IProfileTypeConfiguration } from "../../../../profiles/doc/config/IProfileTypeConfiguration"; /** * Cmd packages additions to the profile manager type configuration document. Used by the CliProfileManager. Allows diff --git a/packages/imperative/src/cmd/src/doc/profiles/parms/ICliLoadAllProfiles.ts b/packages/imperative/src/cmd/doc/profiles/parms/ICliLoadAllProfiles.ts similarity index 90% rename from packages/imperative/src/cmd/src/doc/profiles/parms/ICliLoadAllProfiles.ts rename to packages/imperative/src/cmd/doc/profiles/parms/ICliLoadAllProfiles.ts index bf6cd2f640..fdedbb3031 100644 --- a/packages/imperative/src/cmd/src/doc/profiles/parms/ICliLoadAllProfiles.ts +++ b/packages/imperative/src/cmd/doc/profiles/parms/ICliLoadAllProfiles.ts @@ -9,7 +9,7 @@ * */ -import { ILoadAllProfiles } from "../../../../../profiles"; +import { ILoadAllProfiles } from "../../../../profiles"; /** * Optional parameters to profile manager load all profiles diff --git a/packages/imperative/src/cmd/src/doc/profiles/parms/ICliLoadProfile.ts b/packages/imperative/src/cmd/doc/profiles/parms/ICliLoadProfile.ts similarity index 92% rename from packages/imperative/src/cmd/src/doc/profiles/parms/ICliLoadProfile.ts rename to packages/imperative/src/cmd/doc/profiles/parms/ICliLoadProfile.ts index ac1a6ba0e9..e692f3e221 100644 --- a/packages/imperative/src/cmd/src/doc/profiles/parms/ICliLoadProfile.ts +++ b/packages/imperative/src/cmd/doc/profiles/parms/ICliLoadProfile.ts @@ -9,7 +9,7 @@ * */ -import { ILoadProfile } from "../../../../../profiles"; +import { ILoadProfile } from "../../../../profiles"; /** * Profile Manager "loadProfile" input parameters. Indicates which profile to load (named or default) and if diff --git a/packages/imperative/src/cmd/src/doc/profiles/parms/ICommandLoadProfile.ts b/packages/imperative/src/cmd/doc/profiles/parms/ICommandLoadProfile.ts similarity index 100% rename from packages/imperative/src/cmd/src/doc/profiles/parms/ICommandLoadProfile.ts rename to packages/imperative/src/cmd/doc/profiles/parms/ICommandLoadProfile.ts diff --git a/packages/imperative/src/cmd/src/doc/profiles/parms/ICommandProfileLoaderParms.ts b/packages/imperative/src/cmd/doc/profiles/parms/ICommandProfileLoaderParms.ts similarity index 92% rename from packages/imperative/src/cmd/src/doc/profiles/parms/ICommandProfileLoaderParms.ts rename to packages/imperative/src/cmd/doc/profiles/parms/ICommandProfileLoaderParms.ts index b0a22d2dad..d96ade42a7 100644 --- a/packages/imperative/src/cmd/src/doc/profiles/parms/ICommandProfileLoaderParms.ts +++ b/packages/imperative/src/cmd/doc/profiles/parms/ICommandProfileLoaderParms.ts @@ -9,8 +9,8 @@ * */ -import { IProfileManagerFactory } from "../../../../../profiles"; -import { Logger } from "../../../../../logger"; +import { IProfileManagerFactory } from "../../../../profiles"; +import { Logger } from "../../../../logger"; import { ICommandDefinition } from "../../ICommandDefinition"; import { ICommandProfileTypeConfiguration } from "../definition/ICommandProfileTypeConfiguration"; /** diff --git a/packages/imperative/src/cmd/src/doc/response/api/handler/IHandlerFormatOutputApi.ts b/packages/imperative/src/cmd/doc/response/api/handler/IHandlerFormatOutputApi.ts similarity index 80% rename from packages/imperative/src/cmd/src/doc/response/api/handler/IHandlerFormatOutputApi.ts rename to packages/imperative/src/cmd/doc/response/api/handler/IHandlerFormatOutputApi.ts index f52555ee6d..4ab25a36e9 100644 --- a/packages/imperative/src/cmd/src/doc/response/api/handler/IHandlerFormatOutputApi.ts +++ b/packages/imperative/src/cmd/doc/response/api/handler/IHandlerFormatOutputApi.ts @@ -9,7 +9,7 @@ * */ -import { ICommandOutputFormat } from "../../../../../src/doc/response/response/ICommandOutputFormat"; +import { ICommandOutputFormat } from "../../../../doc/response/response/ICommandOutputFormat"; export interface IHandlerFormatOutputApi { output: (format: ICommandOutputFormat) => void; diff --git a/packages/imperative/src/cmd/src/doc/response/api/handler/IHandlerProgressApi.ts b/packages/imperative/src/cmd/doc/response/api/handler/IHandlerProgressApi.ts similarity index 100% rename from packages/imperative/src/cmd/src/doc/response/api/handler/IHandlerProgressApi.ts rename to packages/imperative/src/cmd/doc/response/api/handler/IHandlerProgressApi.ts diff --git a/packages/imperative/src/cmd/src/doc/response/api/handler/IHandlerResponseApi.ts b/packages/imperative/src/cmd/doc/response/api/handler/IHandlerResponseApi.ts similarity index 100% rename from packages/imperative/src/cmd/src/doc/response/api/handler/IHandlerResponseApi.ts rename to packages/imperative/src/cmd/doc/response/api/handler/IHandlerResponseApi.ts diff --git a/packages/imperative/src/cmd/src/doc/response/api/handler/IHandlerResponseConsoleApi.ts b/packages/imperative/src/cmd/doc/response/api/handler/IHandlerResponseConsoleApi.ts similarity index 100% rename from packages/imperative/src/cmd/src/doc/response/api/handler/IHandlerResponseConsoleApi.ts rename to packages/imperative/src/cmd/doc/response/api/handler/IHandlerResponseConsoleApi.ts diff --git a/packages/imperative/src/cmd/src/doc/response/api/handler/IHandlerResponseDataApi.ts b/packages/imperative/src/cmd/doc/response/api/handler/IHandlerResponseDataApi.ts similarity index 100% rename from packages/imperative/src/cmd/src/doc/response/api/handler/IHandlerResponseDataApi.ts rename to packages/imperative/src/cmd/doc/response/api/handler/IHandlerResponseDataApi.ts diff --git a/packages/imperative/src/cmd/src/doc/response/api/handler/IPromptOptions.ts b/packages/imperative/src/cmd/doc/response/api/handler/IPromptOptions.ts similarity index 100% rename from packages/imperative/src/cmd/src/doc/response/api/handler/IPromptOptions.ts rename to packages/imperative/src/cmd/doc/response/api/handler/IPromptOptions.ts diff --git a/packages/imperative/src/cmd/src/doc/response/api/processor/ICommandResponseApi.ts b/packages/imperative/src/cmd/doc/response/api/processor/ICommandResponseApi.ts similarity index 97% rename from packages/imperative/src/cmd/src/doc/response/api/processor/ICommandResponseApi.ts rename to packages/imperative/src/cmd/doc/response/api/processor/ICommandResponseApi.ts index 0eaf023160..620eed0b21 100644 --- a/packages/imperative/src/cmd/src/doc/response/api/processor/ICommandResponseApi.ts +++ b/packages/imperative/src/cmd/doc/response/api/processor/ICommandResponseApi.ts @@ -9,7 +9,7 @@ * */ -import { IImperativeError } from "../../../../../../error"; +import { IImperativeError } from "../../../../../error"; import { ICommandResponse } from "../../response/ICommandResponse"; /** * The command response format type definition - currently only JSON or default (stdout/stderr) are supported. diff --git a/packages/imperative/src/cmd/src/doc/response/parms/ICommandResponseParms.ts b/packages/imperative/src/cmd/doc/response/parms/ICommandResponseParms.ts similarity index 100% rename from packages/imperative/src/cmd/src/doc/response/parms/ICommandResponseParms.ts rename to packages/imperative/src/cmd/doc/response/parms/ICommandResponseParms.ts diff --git a/packages/imperative/src/cmd/src/doc/response/parms/IProgressBarParms.ts b/packages/imperative/src/cmd/doc/response/parms/IProgressBarParms.ts similarity index 88% rename from packages/imperative/src/cmd/src/doc/response/parms/IProgressBarParms.ts rename to packages/imperative/src/cmd/doc/response/parms/IProgressBarParms.ts index f968095413..3d121f642f 100644 --- a/packages/imperative/src/cmd/src/doc/response/parms/IProgressBarParms.ts +++ b/packages/imperative/src/cmd/doc/response/parms/IProgressBarParms.ts @@ -9,7 +9,7 @@ * */ -import { ITaskWithStatus } from "../../../../../operations"; +import { ITaskWithStatus } from "../../../../operations"; import WriteStream = NodeJS.WriteStream; export interface IProgressBarParms { diff --git a/packages/imperative/src/cmd/src/doc/response/response/ICommandOutputFormat.ts b/packages/imperative/src/cmd/doc/response/response/ICommandOutputFormat.ts similarity index 100% rename from packages/imperative/src/cmd/src/doc/response/response/ICommandOutputFormat.ts rename to packages/imperative/src/cmd/doc/response/response/ICommandOutputFormat.ts diff --git a/packages/imperative/src/cmd/src/doc/response/response/ICommandPrepared.ts b/packages/imperative/src/cmd/doc/response/response/ICommandPrepared.ts similarity index 85% rename from packages/imperative/src/cmd/src/doc/response/response/ICommandPrepared.ts rename to packages/imperative/src/cmd/doc/response/response/ICommandPrepared.ts index 636e0fbc58..f090e2765e 100644 --- a/packages/imperative/src/cmd/src/doc/response/response/ICommandPrepared.ts +++ b/packages/imperative/src/cmd/doc/response/response/ICommandPrepared.ts @@ -9,8 +9,8 @@ * */ -import { CommandProfiles } from "../../../../src/profiles/CommandProfiles"; -import { ICommandArguments } from "../../../../src/doc/args/ICommandArguments"; +import { CommandProfiles } from "../../../profiles/CommandProfiles"; +import { ICommandArguments } from "../../../doc/args/ICommandArguments"; /** * Command Processor prepare response. * @export diff --git a/packages/imperative/src/cmd/src/doc/response/response/ICommandResponse.ts b/packages/imperative/src/cmd/doc/response/response/ICommandResponse.ts similarity index 97% rename from packages/imperative/src/cmd/src/doc/response/response/ICommandResponse.ts rename to packages/imperative/src/cmd/doc/response/response/ICommandResponse.ts index 8d0e63416e..1b55a60157 100644 --- a/packages/imperative/src/cmd/src/doc/response/response/ICommandResponse.ts +++ b/packages/imperative/src/cmd/doc/response/response/ICommandResponse.ts @@ -9,7 +9,7 @@ * */ -import { IImperativeError } from "../../../../../error"; +import { IImperativeError } from "../../../../error"; /** * Command response object built by the command processor (and command handler). The response object is always diff --git a/packages/imperative/src/cmd/src/doc/response/response/ICommandValidatorError.ts b/packages/imperative/src/cmd/doc/response/response/ICommandValidatorError.ts similarity index 100% rename from packages/imperative/src/cmd/src/doc/response/response/ICommandValidatorError.ts rename to packages/imperative/src/cmd/doc/response/response/ICommandValidatorError.ts diff --git a/packages/imperative/src/cmd/src/doc/response/response/ICommandValidatorResponse.ts b/packages/imperative/src/cmd/doc/response/response/ICommandValidatorResponse.ts similarity index 100% rename from packages/imperative/src/cmd/src/doc/response/response/ICommandValidatorResponse.ts rename to packages/imperative/src/cmd/doc/response/response/ICommandValidatorResponse.ts diff --git a/packages/imperative/src/cmd/src/handlers/FailedCommandHandler.ts b/packages/imperative/src/cmd/handlers/FailedCommandHandler.ts similarity index 92% rename from packages/imperative/src/cmd/src/handlers/FailedCommandHandler.ts rename to packages/imperative/src/cmd/handlers/FailedCommandHandler.ts index 2e9d7c4e7b..d28d0b6da1 100644 --- a/packages/imperative/src/cmd/src/handlers/FailedCommandHandler.ts +++ b/packages/imperative/src/cmd/handlers/FailedCommandHandler.ts @@ -9,10 +9,10 @@ * */ -import { IImperativeError } from "../../../error"; +import { IImperativeError } from "../../error"; import { ICommandHandler } from "../doc/handler/ICommandHandler"; import { IHandlerParameters } from "../doc/handler/IHandlerParameters"; -import { ImperativeError } from "../../../error/src/ImperativeError"; +import { ImperativeError } from "../../error/ImperativeError"; /** * Handler used to respond to unexpected errors */ diff --git a/packages/imperative/src/cmd/src/help/DefaultHelpGenerator.ts b/packages/imperative/src/cmd/help/DefaultHelpGenerator.ts similarity index 99% rename from packages/imperative/src/cmd/src/help/DefaultHelpGenerator.ts rename to packages/imperative/src/cmd/help/DefaultHelpGenerator.ts index 0265a773fc..f79b9ab654 100644 --- a/packages/imperative/src/cmd/src/help/DefaultHelpGenerator.ts +++ b/packages/imperative/src/cmd/help/DefaultHelpGenerator.ts @@ -11,13 +11,13 @@ import { format } from "util"; import { AbstractHelpGenerator } from "./abstract/AbstractHelpGenerator"; -import { TextUtils } from "../../../utilities"; -import { Constants } from "../../../constants"; +import { TextUtils } from "../../utilities/TextUtils"; +import { Constants } from "../../constants"; import { CommandUtils } from "../utils/CommandUtils"; -import { ImperativeError } from "../../../error"; +import { ImperativeError } from "../../error"; import { IHelpGeneratorParms } from "./doc/IHelpGeneratorParms"; import { IHelpGeneratorFactoryParms } from "./doc/IHelpGeneratorFactoryParms"; -import { compareCommands, ICommandDefinition } from "../../src/doc/ICommandDefinition"; +import { compareCommands, ICommandDefinition } from "../doc/ICommandDefinition"; import stripAnsi = require("strip-ansi"); /** diff --git a/packages/imperative/src/cmd/src/help/HelpConstants.ts b/packages/imperative/src/cmd/help/HelpConstants.ts similarity index 100% rename from packages/imperative/src/cmd/src/help/HelpConstants.ts rename to packages/imperative/src/cmd/help/HelpConstants.ts diff --git a/packages/imperative/src/cmd/src/help/HelpGeneratorFactory.ts b/packages/imperative/src/cmd/help/HelpGeneratorFactory.ts similarity index 100% rename from packages/imperative/src/cmd/src/help/HelpGeneratorFactory.ts rename to packages/imperative/src/cmd/help/HelpGeneratorFactory.ts diff --git a/packages/imperative/src/cmd/src/help/WebHelpGenerator.ts b/packages/imperative/src/cmd/help/WebHelpGenerator.ts similarity index 99% rename from packages/imperative/src/cmd/src/help/WebHelpGenerator.ts rename to packages/imperative/src/cmd/help/WebHelpGenerator.ts index f040a9a7e4..f2d1d28b95 100644 --- a/packages/imperative/src/cmd/src/help/WebHelpGenerator.ts +++ b/packages/imperative/src/cmd/help/WebHelpGenerator.ts @@ -14,9 +14,9 @@ import * as path from "path"; import { DefaultHelpGenerator } from "./DefaultHelpGenerator"; import { ICommandDefinition } from "../doc/ICommandDefinition"; -import { ImperativeConfig } from "../../../utilities/src/ImperativeConfig"; +import { ImperativeConfig } from "../../utilities/ImperativeConfig"; import { IHandlerResponseApi } from "../doc/response/api/handler/IHandlerResponseApi"; -import { ImperativeError } from "../../../error/src/ImperativeError"; +import { ImperativeError } from "../../error/ImperativeError"; import { IWebHelpTreeNode } from "./doc/IWebHelpTreeNode"; /** diff --git a/packages/imperative/src/cmd/src/help/WebHelpManager.ts b/packages/imperative/src/cmd/help/WebHelpManager.ts similarity index 97% rename from packages/imperative/src/cmd/src/help/WebHelpManager.ts rename to packages/imperative/src/cmd/help/WebHelpManager.ts index 6e5a431505..4db3374d88 100644 --- a/packages/imperative/src/cmd/src/help/WebHelpManager.ts +++ b/packages/imperative/src/cmd/help/WebHelpManager.ts @@ -12,14 +12,15 @@ import * as fs from "fs"; import * as path from "path"; -import { Constants } from "../../../constants/src/Constants"; -import { ImperativeConfig, GuiResult, ProcessUtils } from "../../../utilities"; +import { Constants } from "../../constants/Constants"; +import { ProcessUtils, GuiResult } from "../../utilities/ProcessUtils"; +import { ImperativeConfig } from "../../utilities/ImperativeConfig"; import { IWebHelpManager } from "./doc/IWebHelpManager"; import { WebHelpGenerator } from "./WebHelpGenerator"; import { IHandlerResponseApi } from "../doc/response/api/handler/IHandlerResponseApi"; import { ICommandDefinition } from "../doc/ICommandDefinition"; import { IWebHelpPackageMetadata } from "./doc/IWebHelpPackageMetadata"; -import { ImperativeError } from "../../../error"; +import { ImperativeError } from "../../error"; /** * Type used when comparing package metadata. If it contains metadata, it is diff --git a/packages/imperative/src/cmd/src/help/abstract/AbstractHelpGenerator.ts b/packages/imperative/src/cmd/help/abstract/AbstractHelpGenerator.ts similarity index 98% rename from packages/imperative/src/cmd/src/help/abstract/AbstractHelpGenerator.ts rename to packages/imperative/src/cmd/help/abstract/AbstractHelpGenerator.ts index e2dc6ead07..51169eb90f 100644 --- a/packages/imperative/src/cmd/src/help/abstract/AbstractHelpGenerator.ts +++ b/packages/imperative/src/cmd/help/abstract/AbstractHelpGenerator.ts @@ -9,14 +9,14 @@ * */ -import { TextUtils } from "../../../../utilities"; +import { TextUtils } from "../../../utilities/TextUtils"; import { format, isNullOrUndefined } from "util"; -import { ImperativeError } from "../../../../error/src/ImperativeError"; -import { Logger } from "../../../../logger/src/Logger"; +import { ImperativeError } from "../../../error/ImperativeError"; +import { Logger } from "../../../logger/Logger"; import { IHelpGeneratorParms } from "../doc/IHelpGeneratorParms"; import { IHelpGeneratorFactoryParms } from "../doc/IHelpGeneratorFactoryParms"; import { IHelpGenerator } from "../doc/IHelpGenerator"; -import { Constants } from "../../../../constants"; +import { Constants } from "../../../constants"; import { ICommandDefinition } from "../../doc/ICommandDefinition"; import { CommandOptionType, ICommandOptionDefinition } from "../../doc/option/ICommandOptionDefinition"; diff --git a/packages/imperative/src/cmd/src/help/abstract/AbstractHelpGeneratorFactory.ts b/packages/imperative/src/cmd/help/abstract/AbstractHelpGeneratorFactory.ts similarity index 98% rename from packages/imperative/src/cmd/src/help/abstract/AbstractHelpGeneratorFactory.ts rename to packages/imperative/src/cmd/help/abstract/AbstractHelpGeneratorFactory.ts index dc522c3367..164322532c 100644 --- a/packages/imperative/src/cmd/src/help/abstract/AbstractHelpGeneratorFactory.ts +++ b/packages/imperative/src/cmd/help/abstract/AbstractHelpGeneratorFactory.ts @@ -14,7 +14,7 @@ import { IHelpGeneratorFactory } from "../doc/IHelpGeneratorFactory"; import { isNullOrUndefined } from "util"; import { IHelpGeneratorParms } from "../doc/IHelpGeneratorParms"; import { IHelpGenerator } from "../doc/IHelpGenerator"; -import { ImperativeExpect } from "../../../../expect"; +import { ImperativeExpect } from "../../../expect"; /** * The abstract help generator factory class - implemented normally by imperative to provide the help generator diff --git a/packages/imperative/src/cmd/src/help/doc/IHelpGenerator.ts b/packages/imperative/src/cmd/help/doc/IHelpGenerator.ts similarity index 100% rename from packages/imperative/src/cmd/src/help/doc/IHelpGenerator.ts rename to packages/imperative/src/cmd/help/doc/IHelpGenerator.ts diff --git a/packages/imperative/src/cmd/src/help/doc/IHelpGeneratorFactory.ts b/packages/imperative/src/cmd/help/doc/IHelpGeneratorFactory.ts similarity index 100% rename from packages/imperative/src/cmd/src/help/doc/IHelpGeneratorFactory.ts rename to packages/imperative/src/cmd/help/doc/IHelpGeneratorFactory.ts diff --git a/packages/imperative/src/cmd/src/help/doc/IHelpGeneratorFactoryParms.ts b/packages/imperative/src/cmd/help/doc/IHelpGeneratorFactoryParms.ts similarity index 100% rename from packages/imperative/src/cmd/src/help/doc/IHelpGeneratorFactoryParms.ts rename to packages/imperative/src/cmd/help/doc/IHelpGeneratorFactoryParms.ts diff --git a/packages/imperative/src/cmd/src/help/doc/IHelpGeneratorParms.ts b/packages/imperative/src/cmd/help/doc/IHelpGeneratorParms.ts similarity index 100% rename from packages/imperative/src/cmd/src/help/doc/IHelpGeneratorParms.ts rename to packages/imperative/src/cmd/help/doc/IHelpGeneratorParms.ts diff --git a/packages/imperative/src/cmd/src/help/doc/IWebHelpManager.ts b/packages/imperative/src/cmd/help/doc/IWebHelpManager.ts similarity index 100% rename from packages/imperative/src/cmd/src/help/doc/IWebHelpManager.ts rename to packages/imperative/src/cmd/help/doc/IWebHelpManager.ts diff --git a/packages/imperative/src/cmd/src/help/doc/IWebHelpPackageMetadata.ts b/packages/imperative/src/cmd/help/doc/IWebHelpPackageMetadata.ts similarity index 100% rename from packages/imperative/src/cmd/src/help/doc/IWebHelpPackageMetadata.ts rename to packages/imperative/src/cmd/help/doc/IWebHelpPackageMetadata.ts diff --git a/packages/imperative/src/cmd/src/help/doc/IWebHelpTreeNode.ts b/packages/imperative/src/cmd/help/doc/IWebHelpTreeNode.ts similarity index 100% rename from packages/imperative/src/cmd/src/help/doc/IWebHelpTreeNode.ts rename to packages/imperative/src/cmd/help/doc/IWebHelpTreeNode.ts diff --git a/packages/imperative/src/cmd/index.ts b/packages/imperative/src/cmd/index.ts index 98b2d91411..aabe40ff0d 100644 --- a/packages/imperative/src/cmd/index.ts +++ b/packages/imperative/src/cmd/index.ts @@ -9,80 +9,80 @@ * */ -export * from "./src/doc/profiles/definition/ICommandProfileSchema"; -export * from "./src/doc/profiles/definition/ICommandProfileProperty"; -export * from "./src/doc/profiles/definition/ICommandProfileTypeConfiguration"; -export * from "./src/doc/handler/ICommandHandler"; -export * from "./src/doc/handler/ICommandHandlerResponseChecker"; -export * from "./src/doc/handler/ICommandHandlerResponseValidator"; -export * from "./src/doc/handler/IHandlerParameters"; -export * from "./src/doc/handler/IChainedHandlerEntry"; -export * from "./src/doc/handler/IChainedHandlerArgumentMapping"; - -export * from "./src/doc/option/ICommandOptionAllowableValues"; -export * from "./src/doc/option/ICommandOptionDefinition"; -export * from "./src/doc/option/ICommandOptionValueImplications"; -export * from "./src/doc/option/ICommandPositionalDefinition"; - -export * from "./src/doc/response/response/ICommandResponse"; -export * from "./src/doc/response/parms/ICommandResponseParms"; -export * from "./src/doc/response/response/ICommandValidatorError"; -export * from "./src/doc/response/response/ICommandValidatorResponse"; - -export * from "./src/doc/ICommandDefinition"; -export * from "./src/doc/ICommandDefinitionPassOn"; -export * from "./src/doc/ICommandExampleDefinition"; -export * from "./src/doc/IPartialCommandDefinition"; - -export * from "./src/doc/args/ICommandArguments"; - -export * from "./src/handlers/FailedCommandHandler"; - -export * from "./src/help/abstract/AbstractHelpGenerator"; -export * from "./src/help/abstract/AbstractHelpGeneratorFactory"; - -export * from "./src/help/doc/IHelpGeneratorFactory"; -export * from "./src/help/doc/IHelpGeneratorFactoryParms"; -export * from "./src/help/doc/IHelpGeneratorParms"; -export * from "./src/help/DefaultHelpGenerator"; -export * from "./src/help/HelpConstants"; -export * from "./src/help/HelpGeneratorFactory"; -export * from "./src/help/doc/IHelpGenerator"; -export * from "./src/help/WebHelpGenerator"; -export * from "./src/help/WebHelpManager"; - -export * from "./src/doc/profiles/definition/ICommandProfile"; -export * from "./src/doc/profiles/definition/ICommandProfileTypeConfiguration"; - -export * from "./src/profiles/CliProfileManager"; - -export * from "./src/syntax/SyntaxValidator"; - -export * from "./src/utils/CommandUtils"; -export * from "./src/utils/SharedOptions"; - -export * from "./src/yargs/doc/IYargsParms"; -export * from "./src/yargs/doc/IYargsResponse"; - -export * from "./src/yargs/AbstractCommandYargs"; -export * from "./src/yargs/CommandYargs"; -export * from "./src/yargs/GroupCommandYargs"; -export * from "./src/yargs/YargsConfigurer"; -export * from "./src/yargs/YargsDefiner"; - -export * from "./src/CommandPreparer"; -export * from "./src/CommandProcessor"; -export * from "./src/response/CommandResponse"; - -export * from "./src/profiles/CommandProfiles"; - -export * from "./src/response/CommandResponse"; -export * from "./src/response/HandlerResponse"; - -export * from "./src/doc/response/api/handler/IHandlerResponseApi"; -export * from "./src/doc/response/api/handler/IHandlerProgressApi"; -export * from "./src/doc/response/api/handler/IHandlerResponseConsoleApi"; -export * from "./src/doc/response/api/handler/IHandlerResponseDataApi"; -export * from "./src/doc/response/api/handler/IHandlerFormatOutputApi"; - -export * from "./src/doc/response/response/ICommandOutputFormat"; +export * from "./doc/profiles/definition/ICommandProfileSchema"; +export * from "./doc/profiles/definition/ICommandProfileProperty"; +export * from "./doc/profiles/definition/ICommandProfileTypeConfiguration"; +export * from "./doc/handler/ICommandHandler"; +export * from "./doc/handler/ICommandHandlerResponseChecker"; +export * from "./doc/handler/ICommandHandlerResponseValidator"; +export * from "./doc/handler/IHandlerParameters"; +export * from "./doc/handler/IChainedHandlerEntry"; +export * from "./doc/handler/IChainedHandlerArgumentMapping"; + +export * from "./doc/option/ICommandOptionAllowableValues"; +export * from "./doc/option/ICommandOptionDefinition"; +export * from "./doc/option/ICommandOptionValueImplications"; +export * from "./doc/option/ICommandPositionalDefinition"; + +export * from "./doc/response/response/ICommandResponse"; +export * from "./doc/response/parms/ICommandResponseParms"; +export * from "./doc/response/response/ICommandValidatorError"; +export * from "./doc/response/response/ICommandValidatorResponse"; + +export * from "./doc/ICommandDefinition"; +export * from "./doc/ICommandDefinitionPassOn"; +export * from "./doc/ICommandExampleDefinition"; +export * from "./doc/IPartialCommandDefinition"; + +export * from "./doc/args/ICommandArguments"; + +export * from "./handlers/FailedCommandHandler"; + +export * from "./help/abstract/AbstractHelpGenerator"; +export * from "./help/abstract/AbstractHelpGeneratorFactory"; + +export * from "./help/doc/IHelpGeneratorFactory"; +export * from "./help/doc/IHelpGeneratorFactoryParms"; +export * from "./help/doc/IHelpGeneratorParms"; +export * from "./help/DefaultHelpGenerator"; +export * from "./help/HelpConstants"; +export * from "./help/HelpGeneratorFactory"; +export * from "./help/doc/IHelpGenerator"; +export * from "./help/WebHelpGenerator"; +export * from "./help/WebHelpManager"; + +export * from "./doc/profiles/definition/ICommandProfile"; +export * from "./doc/profiles/definition/ICommandProfileTypeConfiguration"; + +export * from "./profiles/CliProfileManager"; + +export * from "./syntax/SyntaxValidator"; + +export * from "./utils/CommandUtils"; +export * from "./utils/SharedOptions"; + +export * from "./yargs/doc/IYargsParms"; +export * from "./yargs/doc/IYargsResponse"; + +export * from "./yargs/AbstractCommandYargs"; +export * from "./yargs/CommandYargs"; +export * from "./yargs/GroupCommandYargs"; +export * from "./yargs/YargsConfigurer"; +export * from "./yargs/YargsDefiner"; + +export * from "./CommandPreparer"; +export * from "./CommandProcessor"; +export * from "./response/CommandResponse"; + +export * from "./profiles/CommandProfiles"; + +export * from "./response/CommandResponse"; +export * from "./response/HandlerResponse"; + +export * from "./doc/response/api/handler/IHandlerResponseApi"; +export * from "./doc/response/api/handler/IHandlerProgressApi"; +export * from "./doc/response/api/handler/IHandlerResponseConsoleApi"; +export * from "./doc/response/api/handler/IHandlerResponseDataApi"; +export * from "./doc/response/api/handler/IHandlerFormatOutputApi"; + +export * from "./doc/response/response/ICommandOutputFormat"; diff --git a/packages/imperative/src/cmd/src/profiles/CliProfileManager.ts b/packages/imperative/src/cmd/profiles/CliProfileManager.ts similarity index 99% rename from packages/imperative/src/cmd/src/profiles/CliProfileManager.ts rename to packages/imperative/src/cmd/profiles/CliProfileManager.ts index a4aa983665..6643c6fb4b 100644 --- a/packages/imperative/src/cmd/src/profiles/CliProfileManager.ts +++ b/packages/imperative/src/cmd/profiles/CliProfileManager.ts @@ -21,22 +21,22 @@ import { IValidateProfileForCLI, ProfilesConstants, ProfileUtils -} from "../../../profiles"; +} from "../../profiles"; import { inspect } from "util"; -import { ImperativeError } from "../../../error"; +import { ImperativeError } from "../../error"; import { Arguments } from "yargs"; import { CommandResponse } from "../response/CommandResponse"; import { ICommandHandlerRequire } from "../doc/handler/ICommandHandlerRequire"; -import { ICommandHandler } from "../../src/doc/handler/ICommandHandler"; +import { ICommandHandler } from "../doc/handler/ICommandHandler"; import { ICommandProfileTypeConfiguration } from "../doc/profiles/definition/ICommandProfileTypeConfiguration"; import { CommandProfiles } from "./CommandProfiles"; import { ICommandProfileProperty } from "../doc/profiles/definition/ICommandProfileProperty"; -import { CredentialManagerFactory } from "../../../security"; -import { IDeleteProfile, IProfileDeleted, IProfileLoaded } from "../../../profiles/src/doc"; +import { CredentialManagerFactory } from "../../security"; +import { IDeleteProfile, IProfileDeleted, IProfileLoaded } from "../../profiles/doc"; import { SecureOperationFunction } from "../types/SecureOperationFunction"; import { ICliLoadProfile } from "../doc/profiles/parms/ICliLoadProfile"; import { ICliLoadAllProfiles } from "../doc/profiles/parms/ICliLoadAllProfiles"; -import { CliUtils } from "../../../utilities/src/CliUtils"; +import { CliUtils } from "../../utilities/CliUtils"; /** * A profile management API compatible with transforming command line arguments into diff --git a/packages/imperative/src/cmd/src/profiles/CommandProfileLoader.ts b/packages/imperative/src/cmd/profiles/CommandProfileLoader.ts similarity index 98% rename from packages/imperative/src/cmd/src/profiles/CommandProfileLoader.ts rename to packages/imperative/src/cmd/profiles/CommandProfileLoader.ts index b990ad8952..e291b78912 100644 --- a/packages/imperative/src/cmd/src/profiles/CommandProfileLoader.ts +++ b/packages/imperative/src/cmd/profiles/CommandProfileLoader.ts @@ -11,16 +11,16 @@ import { Arguments } from "yargs"; import { ICommandDefinition } from "../doc/ICommandDefinition"; -import { IProfile, IProfileLoaded, IProfileManagerFactory, ProfileUtils } from "../../../profiles"; +import { IProfile, IProfileLoaded, IProfileManagerFactory, ProfileUtils } from "../../profiles"; import { ICommandProfileTypeConfiguration } from "../doc/profiles/definition/ICommandProfileTypeConfiguration"; import { CommandProfiles } from "./CommandProfiles"; import { inspect, isNullOrUndefined } from "util"; import { ICommandLoadProfile } from "../doc/profiles/parms/ICommandLoadProfile"; import { ICommandProfileLoaderParms } from "../doc/profiles/parms/ICommandProfileLoaderParms"; -import { Logger } from "../../../logger"; -import { ImperativeExpect } from "../../../expect"; -import { ImperativeError } from "../../../error"; -import { ImperativeConfig } from "../../../utilities"; +import { Logger } from "../../logger"; +import { ImperativeExpect } from "../../expect"; +import { ImperativeError } from "../../error"; +import { ImperativeConfig } from "../../utilities/ImperativeConfig"; /** * The command processor profile loader loads all profiles that are required (or optional) given a command diff --git a/packages/imperative/src/cmd/src/profiles/CommandProfiles.ts b/packages/imperative/src/cmd/profiles/CommandProfiles.ts similarity index 98% rename from packages/imperative/src/cmd/src/profiles/CommandProfiles.ts rename to packages/imperative/src/cmd/profiles/CommandProfiles.ts index 001dc1a14c..1f4cfedee7 100644 --- a/packages/imperative/src/cmd/src/profiles/CommandProfiles.ts +++ b/packages/imperative/src/cmd/profiles/CommandProfiles.ts @@ -9,9 +9,9 @@ * */ -import { ImperativeError } from "../../../error"; -import { IProfile, IProfileLoaded } from "../../../profiles"; -import { ImperativeExpect } from "../../../expect"; +import { ImperativeError } from "../../error"; +import { IProfile, IProfileLoaded } from "../../profiles"; +import { ImperativeExpect } from "../../expect"; /** * Profiles map created by the command profile loader and passed to the handler via parameters. Handlers can diff --git a/packages/imperative/src/cmd/src/response/CommandResponse.ts b/packages/imperative/src/cmd/response/CommandResponse.ts similarity index 98% rename from packages/imperative/src/cmd/src/response/CommandResponse.ts rename to packages/imperative/src/cmd/response/CommandResponse.ts index 7351f925fb..98759024ca 100644 --- a/packages/imperative/src/cmd/src/response/CommandResponse.ts +++ b/packages/imperative/src/cmd/response/CommandResponse.ts @@ -9,22 +9,23 @@ * */ -import { IImperativeError, ImperativeError } from "../../../error"; +import { IImperativeError, ImperativeError } from "../../error"; import { IHandlerResponseConsoleApi } from "../doc/response/api/handler/IHandlerResponseConsoleApi"; import { IHandlerResponseDataApi } from "../doc/response/api/handler/IHandlerResponseDataApi"; import { ICommandResponseParms } from "../doc/response/parms/ICommandResponseParms"; import { ICommandResponse } from "../doc/response/response/ICommandResponse"; -import { CliUtils, TextUtils } from "../../../utilities"; +import { TextUtils } from "../../utilities/TextUtils"; +import { CliUtils } from "../../utilities/CliUtils"; import { COMMAND_RESPONSE_FORMAT, ICommandResponseApi } from "../doc/response/api/processor/ICommandResponseApi"; -import { ITaskWithStatus, TaskProgress, TaskStage } from "../../../operations"; +import { ITaskWithStatus, TaskProgress, TaskStage } from "../../operations"; import { IHandlerProgressApi } from "../doc/response/api/handler/IHandlerProgressApi"; import { IProgressBarParms } from "../doc/response/parms/IProgressBarParms"; -import { Constants } from "../../../constants"; -import { ImperativeExpect } from "../../../expect"; +import { Constants } from "../../constants"; +import { ImperativeExpect } from "../../expect"; import { IHandlerFormatOutputApi } from "../doc/response/api/handler/IHandlerFormatOutputApi"; import { ICommandOutputFormat, OUTPUT_FORMAT } from "../doc/response/response/ICommandOutputFormat"; import { Arguments } from "yargs"; -import { ICommandDefinition } from "../../src/doc/ICommandDefinition"; +import { ICommandDefinition } from "../doc/ICommandDefinition"; import { OptionConstants } from "../constants/OptionConstants"; import { inspect } from "util"; import * as DeepMerge from "deepmerge"; @@ -32,9 +33,9 @@ import * as ProgressBar from "progress"; import * as net from "net"; import * as tty from "tty"; import { IPromptOptions } from "../doc/response/api/handler/IPromptOptions"; -import { DaemonRequest } from "../../../utilities/src/DaemonRequest"; -import { IDaemonResponse } from "../../../utilities/src/doc/IDaemonResponse"; -import { Logger, LoggerUtils } from "../../../logger"; +import { DaemonRequest } from "../../utilities/DaemonRequest"; +import { IDaemonResponse } from "../../utilities/doc/IDaemonResponse"; +import { Logger, LoggerUtils } from "../../logger"; const DataObjectParser = require("dataobject-parser"); @@ -724,7 +725,8 @@ export class CommandResponse implements ICommandResponseApi { `Please call progress.endBar() before starting a new one.` }); } - if (!outer.silent && outer.mResponseFormat !== "json") { + if (!outer.silent && outer.mResponseFormat !== "json" && + !(TextUtils.chalk.level === 0 || !TextUtils.chalk.enabled || process.env.CI != null)) { // Persist the task specifications and determine the stream to use for the progress bar this.mProgressBarStdoutStartIndex = outer.mStdout.length; diff --git a/packages/imperative/src/cmd/src/response/HandlerResponse.ts b/packages/imperative/src/cmd/response/HandlerResponse.ts similarity index 100% rename from packages/imperative/src/cmd/src/response/HandlerResponse.ts rename to packages/imperative/src/cmd/response/HandlerResponse.ts diff --git a/packages/imperative/src/cmd/src/response/__mocks__/CommandResponse.ts b/packages/imperative/src/cmd/response/__mocks__/CommandResponse.ts similarity index 88% rename from packages/imperative/src/cmd/src/response/__mocks__/CommandResponse.ts rename to packages/imperative/src/cmd/response/__mocks__/CommandResponse.ts index 0f7290d227..9d5b92be1e 100644 --- a/packages/imperative/src/cmd/src/response/__mocks__/CommandResponse.ts +++ b/packages/imperative/src/cmd/response/__mocks__/CommandResponse.ts @@ -10,8 +10,8 @@ */ import { ICommandResponseApi } from "../../doc/response/api/processor/ICommandResponseApi"; -import { ICommandResponse } from "../../../src/doc/response/response/ICommandResponse"; -import { IImperativeError } from "../../../../error"; +import { ICommandResponse } from "../../doc/response/response/ICommandResponse"; +import { IImperativeError } from "../../../error"; export class CommandResponse implements ICommandResponseApi { public responseFormat: "json" | "default"; diff --git a/packages/imperative/src/cmd/src/response/__mocks__/HandlerResponse.ts b/packages/imperative/src/cmd/response/__mocks__/HandlerResponse.ts similarity index 93% rename from packages/imperative/src/cmd/src/response/__mocks__/HandlerResponse.ts rename to packages/imperative/src/cmd/response/__mocks__/HandlerResponse.ts index f582329f26..b1078f273a 100644 --- a/packages/imperative/src/cmd/src/response/__mocks__/HandlerResponse.ts +++ b/packages/imperative/src/cmd/response/__mocks__/HandlerResponse.ts @@ -9,7 +9,7 @@ * */ -import { IHandlerResponseApi } from "../../../src/doc/response/api/handler/IHandlerResponseApi"; +import { IHandlerResponseApi } from "../../doc/response/api/handler/IHandlerResponseApi"; import { IHandlerResponseConsoleApi } from "../../doc/response/api/handler/IHandlerResponseConsoleApi"; import { IHandlerResponseDataApi } from "../../doc/response/api/handler/IHandlerResponseDataApi"; import { IHandlerProgressApi } from "../../doc/response/api/handler/IHandlerProgressApi"; diff --git a/packages/imperative/src/cmd/src/syntax/SyntaxValidator.ts b/packages/imperative/src/cmd/syntax/SyntaxValidator.ts similarity index 99% rename from packages/imperative/src/cmd/src/syntax/SyntaxValidator.ts rename to packages/imperative/src/cmd/syntax/SyntaxValidator.ts index 56c1c8db3f..41d6096e3c 100644 --- a/packages/imperative/src/cmd/src/syntax/SyntaxValidator.ts +++ b/packages/imperative/src/cmd/syntax/SyntaxValidator.ts @@ -11,9 +11,9 @@ import * as fs from "fs"; import { inspect, isNullOrUndefined } from "util"; -import { syntaxErrorHeader } from "../../../messages"; -import { CliUtils } from "../../../utilities/src/CliUtils"; -import { Constants } from "../../../constants"; +import { syntaxErrorHeader } from "../../messages"; +import { CliUtils } from "../../utilities/CliUtils"; +import { Constants } from "../../constants"; import { ICommandDefinition } from "../doc/ICommandDefinition"; import { ICommandValidatorResponse } from "../doc/response/response/ICommandValidatorResponse"; import { CommandUtils } from "../utils/CommandUtils"; @@ -23,8 +23,8 @@ import { ICommandOptionValueImplications } from "../doc/option/ICommandOptionVal import { ICommandOptionAllowableValues } from "../doc/option/ICommandOptionAllowableValues"; import { ICommandValidatorError } from "../doc/response/response/ICommandValidatorError"; import { CommandResponse } from "../response/CommandResponse"; -import { Logger } from "../../../logger"; -import { TextUtils } from "../../../utilities"; +import { Logger } from "../../logger"; +import { TextUtils } from "../../utilities/TextUtils"; import { ICommandArguments } from "../doc/args/ICommandArguments"; /** diff --git a/packages/imperative/src/cmd/src/syntax/__mocks__/SyntaxValidator.ts b/packages/imperative/src/cmd/syntax/__mocks__/SyntaxValidator.ts similarity index 83% rename from packages/imperative/src/cmd/src/syntax/__mocks__/SyntaxValidator.ts rename to packages/imperative/src/cmd/syntax/__mocks__/SyntaxValidator.ts index 4c99f87760..4db616d2d8 100644 --- a/packages/imperative/src/cmd/src/syntax/__mocks__/SyntaxValidator.ts +++ b/packages/imperative/src/cmd/syntax/__mocks__/SyntaxValidator.ts @@ -9,9 +9,9 @@ * */ -import { CommandResponse } from "../../../src/response/CommandResponse"; +import { CommandResponse } from "../../response/CommandResponse"; import { Arguments } from "yargs"; -import { ICommandValidatorResponse } from "../../../src/doc/response/response/ICommandValidatorResponse"; +import { ICommandValidatorResponse } from "../../doc/response/response/ICommandValidatorResponse"; export class SyntaxValidator { public validate(responseObject: CommandResponse, commandArguments: Arguments): Promise { diff --git a/packages/imperative/src/cmd/src/syntax/__tests__/SyntaxValidator.unit.test.ts b/packages/imperative/src/cmd/syntax/__tests__/SyntaxValidator.unit.test.ts similarity index 98% rename from packages/imperative/src/cmd/src/syntax/__tests__/SyntaxValidator.unit.test.ts rename to packages/imperative/src/cmd/syntax/__tests__/SyntaxValidator.unit.test.ts index 90c4db7dc8..b0f967eecb 100644 --- a/packages/imperative/src/cmd/src/syntax/__tests__/SyntaxValidator.unit.test.ts +++ b/packages/imperative/src/cmd/syntax/__tests__/SyntaxValidator.unit.test.ts @@ -10,15 +10,15 @@ */ /* eslint-disable jest/expect-expect */ -import { TextUtils } from "../../../../utilities"; +import { TextUtils } from "../../../utilities/TextUtils"; -jest.mock("../../../../imperative/src/Imperative"); +jest.mock("../../../../src/imperative/Imperative"); import { inspect, isNullOrUndefined } from "util"; -import { TestLogger } from "../../../../../__tests__/src/TestLogger"; +import { TestLogger } from "../../../../__tests__/src/TestLogger"; import { CommandResponse, ICommandDefinition, ICommandValidatorResponse } from "../../../"; -import { ValidationTestCommand } from "../../../../../__tests__/src/packages/cmd/ValidationTestCommand"; +import { ValidationTestCommand } from "../../../../__tests__/src/packages/cmd/ValidationTestCommand"; import { SyntaxValidator } from "../SyntaxValidator"; -import { Constants } from "../../../../constants"; +import { Constants } from "../../../constants"; describe("Imperative should provide advanced syntax validation rules", () => { diff --git a/packages/imperative/src/cmd/src/types/SecureOperationFunction.ts b/packages/imperative/src/cmd/types/SecureOperationFunction.ts similarity index 100% rename from packages/imperative/src/cmd/src/types/SecureOperationFunction.ts rename to packages/imperative/src/cmd/types/SecureOperationFunction.ts diff --git a/packages/imperative/src/cmd/src/utils/CommandUtils.ts b/packages/imperative/src/cmd/utils/CommandUtils.ts similarity index 99% rename from packages/imperative/src/cmd/src/utils/CommandUtils.ts rename to packages/imperative/src/cmd/utils/CommandUtils.ts index f535661524..cc6d76de8e 100644 --- a/packages/imperative/src/cmd/src/utils/CommandUtils.ts +++ b/packages/imperative/src/cmd/utils/CommandUtils.ts @@ -13,7 +13,7 @@ import { Arguments } from "yargs"; import { isNullOrUndefined } from "util"; import { ICommandDefinition } from "../doc/ICommandDefinition"; import { ICommandOptionDefinition } from "../doc/option/ICommandOptionDefinition"; -import { CliUtils } from "../../../utilities/src/CliUtils"; +import { CliUtils } from "../../utilities/CliUtils"; import { ICommandArguments } from "../doc/args/ICommandArguments"; import { isEqual, omit } from "lodash"; diff --git a/packages/imperative/src/cmd/src/utils/SharedOptions.ts b/packages/imperative/src/cmd/utils/SharedOptions.ts similarity index 96% rename from packages/imperative/src/cmd/src/utils/SharedOptions.ts rename to packages/imperative/src/cmd/utils/SharedOptions.ts index 0ac8ca54ca..a6fecbb4b1 100644 --- a/packages/imperative/src/cmd/src/utils/SharedOptions.ts +++ b/packages/imperative/src/cmd/utils/SharedOptions.ts @@ -11,11 +11,11 @@ import { Arguments } from "yargs"; import { ICommandNodeType } from "../doc/ICommandDefinition"; -import { IImperativeError, ImperativeError } from "../../../error"; -import { Constants } from "../../../constants"; +import { IImperativeError, ImperativeError } from "../../error"; +import { Constants } from "../../constants"; import { isNullOrUndefined } from "util"; import { CommandResponse } from "../response/CommandResponse"; -import { Logger } from "../../../logger"; +import { Logger } from "../../logger"; /** * Options which can be reused between different Zowe commands diff --git a/packages/imperative/src/cmd/src/yargs/AbstractCommandYargs.ts b/packages/imperative/src/cmd/yargs/AbstractCommandYargs.ts similarity index 97% rename from packages/imperative/src/cmd/src/yargs/AbstractCommandYargs.ts rename to packages/imperative/src/cmd/yargs/AbstractCommandYargs.ts index 60c19b7059..d5bc37834f 100644 --- a/packages/imperative/src/cmd/src/yargs/AbstractCommandYargs.ts +++ b/packages/imperative/src/cmd/yargs/AbstractCommandYargs.ts @@ -11,21 +11,21 @@ import { Arguments, Argv } from "yargs"; import * as lodashDeep from "lodash-deep"; -import { Logger } from "../../../logger"; +import { Logger } from "../../logger"; import { ICommandDefinition } from "../doc/ICommandDefinition"; import { CommandProcessor } from "../CommandProcessor"; -import { Constants } from "../../../constants"; +import { Constants } from "../../constants"; import { IYargsParms } from "./doc/IYargsParms"; -import { ICommandResponseParms } from "../../../cmd/src/doc/response/parms/ICommandResponseParms"; +import { ICommandResponseParms } from "../../cmd/doc/response/parms/ICommandResponseParms"; import { ImperativeYargsCommandAction, IYargsResponse } from "./doc/IYargsResponse"; import { GroupCommandYargs } from "./GroupCommandYargs"; -import { IProfileManagerFactory } from "../../../profiles"; +import { IProfileManagerFactory } from "../../profiles"; import { ICommandProfileTypeConfiguration } from "../doc/profiles/definition/ICommandProfileTypeConfiguration"; import { IHelpGeneratorFactory } from "../help/doc/IHelpGeneratorFactory"; import { CommandResponse } from "../response/CommandResponse"; -import { ICommandResponse } from "../../src/doc/response/response/ICommandResponse"; +import { ICommandResponse } from "../doc/response/response/ICommandResponse"; import { ICommandExampleDefinition } from "../.."; -import { ImperativeConfig } from "../../../utilities/src/ImperativeConfig"; +import { ImperativeConfig } from "../../utilities/ImperativeConfig"; /** * Callback that is invoked when a command defined to yargs completes execution. diff --git a/packages/imperative/src/cmd/src/yargs/CommandYargs.ts b/packages/imperative/src/cmd/yargs/CommandYargs.ts similarity index 97% rename from packages/imperative/src/cmd/src/yargs/CommandYargs.ts rename to packages/imperative/src/cmd/yargs/CommandYargs.ts index e2481afdda..bbaf407df9 100644 --- a/packages/imperative/src/cmd/src/yargs/CommandYargs.ts +++ b/packages/imperative/src/cmd/yargs/CommandYargs.ts @@ -11,15 +11,15 @@ import { Arguments, Argv, Options } from "yargs"; import { isNullOrUndefined, inspect } from "util"; -import { Constants } from "../../../constants"; +import { Constants } from "../../constants"; import { IYargsResponse } from "./doc/IYargsResponse"; import { AbstractCommandYargs, YargsCommandCompleted } from "./AbstractCommandYargs"; -import { ICommandOptionDefinition } from "../../src/doc/option/ICommandOptionDefinition"; +import { ICommandOptionDefinition } from "../doc/option/ICommandOptionDefinition"; import { ICommandDefinition } from "../doc/ICommandDefinition"; import { CommandProcessor } from "../CommandProcessor"; -import { ICommandResponse } from "../../src/doc/response/response/ICommandResponse"; -import { CommandResponse } from "../../src/response/CommandResponse"; -import { ImperativeConfig } from "../../../utilities"; +import { ICommandResponse } from "../doc/response/response/ICommandResponse"; +import { CommandResponse } from "../response/CommandResponse"; +import { ImperativeConfig } from "../../utilities/ImperativeConfig"; /** * Define an Imperative Command to Yargs. A command implies that an implementation is present (differs from a "group") diff --git a/packages/imperative/src/cmd/src/yargs/GroupCommandYargs.ts b/packages/imperative/src/cmd/yargs/GroupCommandYargs.ts similarity index 99% rename from packages/imperative/src/cmd/src/yargs/GroupCommandYargs.ts rename to packages/imperative/src/cmd/yargs/GroupCommandYargs.ts index e997dac74d..69cf31ecab 100644 --- a/packages/imperative/src/cmd/src/yargs/GroupCommandYargs.ts +++ b/packages/imperative/src/cmd/yargs/GroupCommandYargs.ts @@ -12,7 +12,7 @@ import { Arguments, Argv } from "yargs"; import { AbstractCommandYargs, YargsCommandCompleted } from "./AbstractCommandYargs"; import { CommandYargs } from "./CommandYargs"; -import { Constants } from "../../../constants"; +import { Constants } from "../../constants"; /** * Imperative define group command to Yargs - defines the group and it's children to Yargs. diff --git a/packages/imperative/src/cmd/src/yargs/YargsConfigurer.ts b/packages/imperative/src/cmd/yargs/YargsConfigurer.ts similarity index 98% rename from packages/imperative/src/cmd/src/yargs/YargsConfigurer.ts rename to packages/imperative/src/cmd/yargs/YargsConfigurer.ts index 51c1f0c10d..2f52215ae4 100644 --- a/packages/imperative/src/cmd/src/yargs/YargsConfigurer.ts +++ b/packages/imperative/src/cmd/yargs/YargsConfigurer.ts @@ -11,17 +11,17 @@ import { format, inspect } from "util"; import { Arguments } from "yargs"; -import { Logger } from "../../../logger"; -import { Constants } from "../../../constants"; +import { Logger } from "../../logger"; +import { Constants } from "../../constants"; import { AbstractCommandYargs } from "./AbstractCommandYargs"; import { ICommandDefinition } from "../doc/ICommandDefinition"; import { ICommandResponseParms } from "../doc/response/parms/ICommandResponseParms"; import { CommandProcessor } from "../CommandProcessor"; import { CommandUtils } from "../utils/CommandUtils"; -import { IProfileManagerFactory } from "../../../profiles"; +import { IProfileManagerFactory } from "../../profiles"; import { ICommandProfileTypeConfiguration } from "../doc/profiles/definition/ICommandProfileTypeConfiguration"; import { IHelpGeneratorFactory } from "../help/doc/IHelpGeneratorFactory"; -import { ImperativeConfig } from "../../../utilities"; +import { ImperativeConfig } from "../../utilities/ImperativeConfig"; import { closest } from "fastest-levenshtein"; import { COMMAND_RESPONSE_FORMAT } from "../doc/response/api/processor/ICommandResponseApi"; diff --git a/packages/imperative/src/cmd/src/yargs/YargsDefiner.ts b/packages/imperative/src/cmd/yargs/YargsDefiner.ts similarity index 95% rename from packages/imperative/src/cmd/src/yargs/YargsDefiner.ts rename to packages/imperative/src/cmd/yargs/YargsDefiner.ts index ae850eee1a..b1937e8095 100644 --- a/packages/imperative/src/cmd/src/yargs/YargsDefiner.ts +++ b/packages/imperative/src/cmd/yargs/YargsDefiner.ts @@ -11,13 +11,13 @@ import { Argv } from "yargs"; import { inspect } from "util"; -import { Logger } from "../../../logger"; -import { ICommandDefinition } from "../../../cmd/src/doc/ICommandDefinition"; +import { Logger } from "../../logger"; +import { ICommandDefinition } from "../../cmd/doc/ICommandDefinition"; import { YargsCommandCompleted } from "./AbstractCommandYargs"; import { GroupCommandYargs } from "./GroupCommandYargs"; import { CommandYargs } from "./CommandYargs"; -import { ICommandResponseParms } from "../../../cmd/src/doc/response/parms/ICommandResponseParms"; -import { IProfileManagerFactory } from "../../../profiles"; +import { ICommandResponseParms } from "../../cmd/doc/response/parms/ICommandResponseParms"; +import { IProfileManagerFactory } from "../../profiles"; import { ICommandProfileTypeConfiguration } from "../doc/profiles/definition/ICommandProfileTypeConfiguration"; import { IHelpGeneratorFactory } from "../help/doc/IHelpGeneratorFactory"; diff --git a/packages/imperative/src/cmd/src/yargs/doc/IYargsParms.ts b/packages/imperative/src/cmd/yargs/doc/IYargsParms.ts similarity index 97% rename from packages/imperative/src/cmd/src/yargs/doc/IYargsParms.ts rename to packages/imperative/src/cmd/yargs/doc/IYargsParms.ts index 3d1c8fb4b1..f5cad8b6c2 100644 --- a/packages/imperative/src/cmd/src/yargs/doc/IYargsParms.ts +++ b/packages/imperative/src/cmd/yargs/doc/IYargsParms.ts @@ -13,7 +13,7 @@ import { Argv } from "yargs"; import { ICommandDefinition } from "../../doc/ICommandDefinition"; import { GroupCommandYargs } from "../GroupCommandYargs"; import { ICommandResponseParms } from "../../doc/response/parms/ICommandResponseParms"; -import { IProfileManagerFactory } from "../../../../profiles"; +import { IProfileManagerFactory } from "../../../profiles"; import { IHelpGeneratorFactory } from "../../help/doc/IHelpGeneratorFactory"; /** diff --git a/packages/imperative/src/cmd/src/yargs/doc/IYargsResponse.ts b/packages/imperative/src/cmd/yargs/doc/IYargsResponse.ts similarity index 91% rename from packages/imperative/src/cmd/src/yargs/doc/IYargsResponse.ts rename to packages/imperative/src/cmd/yargs/doc/IYargsResponse.ts index 6d3337007f..97c5b922b5 100644 --- a/packages/imperative/src/cmd/src/yargs/doc/IYargsResponse.ts +++ b/packages/imperative/src/cmd/yargs/doc/IYargsResponse.ts @@ -9,7 +9,7 @@ * */ -import { ICommandResponse } from "../../../src/doc/response/response/ICommandResponse"; +import { ICommandResponse } from "../../doc/response/response/ICommandResponse"; /** * Indicates the action performed. */ diff --git a/packages/imperative/src/config/src/Config.ts b/packages/imperative/src/config/Config.ts similarity index 99% rename from packages/imperative/src/config/src/Config.ts rename to packages/imperative/src/config/Config.ts index 18db6e345e..531eaa0587 100644 --- a/packages/imperative/src/config/src/Config.ts +++ b/packages/imperative/src/config/Config.ts @@ -21,15 +21,15 @@ import { fileURLToPath } from "url"; import { ConfigConstants } from "./ConfigConstants"; import { IConfig } from "./doc/IConfig"; import { IConfigLayer } from "./doc/IConfigLayer"; -import { ImperativeError } from "../../error"; +import { ImperativeError } from "../error"; import { IConfigProfile } from "./doc/IConfigProfile"; import { IConfigOpts } from "./doc/IConfigOpts"; import { IConfigSecure } from "./doc/IConfigSecure"; import { IConfigVault } from "./doc/IConfigVault"; import { ConfigLayers, ConfigPlugins, ConfigProfiles, ConfigSecure } from "./api"; -import { coercePropValue } from "./ConfigUtils"; +import { ConfigUtils } from "./ConfigUtils"; import { IConfigSchemaInfo } from "./doc/IConfigSchema"; -import { JsUtils } from "../../utilities/src/JsUtils"; +import { JsUtils } from "../utilities/JsUtils"; import { IConfigMergeOpts } from "./doc/IConfigMergeOpts"; /** @@ -443,7 +443,7 @@ export class Config { obj = obj[segment]; } else if (segments.indexOf(segment) === segments.length - 1) { if (opts?.parseString) { - value = coercePropValue(value); + value = ConfigUtils.coercePropValue(value); } if (opts?.parseString && Array.isArray(obj[segment])) { diff --git a/packages/imperative/src/config/src/ConfigAutoStore.ts b/packages/imperative/src/config/ConfigAutoStore.ts similarity index 94% rename from packages/imperative/src/config/src/ConfigAutoStore.ts rename to packages/imperative/src/config/ConfigAutoStore.ts index a36a921fe1..2d1b4d9d8c 100644 --- a/packages/imperative/src/config/src/ConfigAutoStore.ts +++ b/packages/imperative/src/config/ConfigAutoStore.ts @@ -10,16 +10,16 @@ */ import * as lodash from "lodash"; -import { ICommandArguments, IHandlerParameters } from "../../cmd"; -import { ICommandHandlerRequire } from "../../cmd/src/doc/handler/ICommandHandlerRequire"; -import { ICommandProfileAuthConfig } from "../../cmd/src/doc/profiles/definition/ICommandProfileAuthConfig"; -import * as ConfigUtils from "./ConfigUtils"; -import { AbstractAuthHandler } from "../../imperative/src/auth/handlers/AbstractAuthHandler"; -import { ImperativeConfig } from "../../utilities"; -import { ISession } from "../../rest/src/session/doc/ISession"; -import { Session } from "../../rest/src/session/Session"; -import { AUTH_TYPE_TOKEN, TOKEN_TYPE_APIML } from "../../rest/src/session/SessConstants"; -import { Logger } from "../../logger"; +import { ICommandArguments, IHandlerParameters } from "../cmd"; +import { ICommandHandlerRequire } from "../cmd/doc/handler/ICommandHandlerRequire"; +import { ICommandProfileAuthConfig } from "../cmd/doc/profiles/definition/ICommandProfileAuthConfig"; +import { ConfigUtils } from "./ConfigUtils"; +import { AbstractAuthHandler } from "../imperative/auth/handlers/AbstractAuthHandler"; +import { ImperativeConfig } from "../utilities/ImperativeConfig"; +import { ISession } from "../rest/session/doc/ISession"; +import { Session } from "../rest/session/Session"; +import { AUTH_TYPE_TOKEN, TOKEN_TYPE_APIML } from "../rest/session/SessConstants"; +import { Logger } from "../logger"; import { IConfigAutoStoreFindActiveProfileOpts, IConfigAutoStoreFindAuthHandlerForProfileOpts, diff --git a/packages/imperative/src/config/src/ConfigBuilder.ts b/packages/imperative/src/config/ConfigBuilder.ts similarity index 98% rename from packages/imperative/src/config/src/ConfigBuilder.ts rename to packages/imperative/src/config/ConfigBuilder.ts index 99be12380b..c945cfc1be 100644 --- a/packages/imperative/src/config/src/ConfigBuilder.ts +++ b/packages/imperative/src/config/ConfigBuilder.ts @@ -11,12 +11,12 @@ import * as path from "path"; import * as lodash from "lodash"; -import { ProfileIO, ProfilesConstants, ProfileUtils } from "../../profiles"; -import { IImperativeConfig } from "../../imperative"; +import { ProfileIO, ProfilesConstants, ProfileUtils } from "../profiles"; +import { IImperativeConfig } from "../imperative"; import { Config } from "./Config"; import { IConfig } from "./doc/IConfig"; import { IConfigBuilderOpts } from "./doc/IConfigBuilderOpts"; -import { CredentialManagerFactory } from "../../security"; +import { CredentialManagerFactory } from "../security"; import { IConfigConvertResult } from "./doc/IConfigConvertResult"; export class ConfigBuilder { diff --git a/packages/imperative/src/config/src/ConfigConstants.ts b/packages/imperative/src/config/ConfigConstants.ts similarity index 100% rename from packages/imperative/src/config/src/ConfigConstants.ts rename to packages/imperative/src/config/ConfigConstants.ts diff --git a/packages/imperative/src/config/src/ConfigSchema.ts b/packages/imperative/src/config/ConfigSchema.ts similarity index 98% rename from packages/imperative/src/config/src/ConfigSchema.ts rename to packages/imperative/src/config/ConfigSchema.ts index 6a04334475..087e63c88b 100644 --- a/packages/imperative/src/config/src/ConfigSchema.ts +++ b/packages/imperative/src/config/ConfigSchema.ts @@ -11,14 +11,14 @@ import * as path from "path"; import * as lodash from "lodash"; -import { IExplanationMap, TextUtils } from "../../utilities/src/TextUtils"; -import { ICommandProfileProperty } from "../../cmd"; -import { IProfileProperty, IProfileSchema, IProfileTypeConfiguration } from "../../profiles"; +import { IExplanationMap, TextUtils } from "../utilities/TextUtils"; +import { ICommandProfileProperty } from "../cmd"; +import { IProfileProperty, IProfileSchema, IProfileTypeConfiguration } from "../profiles"; import { IConfigSchema, IConfigUpdateSchemaHelperOptions, IConfigUpdateSchemaOptions, IConfigUpdateSchemaPaths } from "./doc/IConfigSchema"; -import { ImperativeConfig } from "../../utilities/src/ImperativeConfig"; -import { Logger } from "../../logger/src/Logger"; +import { ImperativeConfig } from "../utilities/ImperativeConfig"; +import { Logger } from "../logger/Logger"; import { Config } from "./Config"; -import { ImperativeError } from "../../error/src/ImperativeError"; +import { ImperativeError } from "../error/ImperativeError"; import { IConfig } from "./doc/IConfig"; export class ConfigSchema { diff --git a/packages/imperative/src/config/ConfigUtils.ts b/packages/imperative/src/config/ConfigUtils.ts new file mode 100644 index 0000000000..fe75b189c0 --- /dev/null +++ b/packages/imperative/src/config/ConfigUtils.ts @@ -0,0 +1,83 @@ +/* +* 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 { CredentialManagerFactory } from "../security"; +import { ICommandArguments } from "../cmd"; +import { ImperativeConfig } from "../utilities"; +import { ImperativeError } from "../error"; + +export class ConfigUtils { + /** + * Coeerces string property value to a boolean or number type. + * @param value String value + * @param type Property type defined in the schema + * @returns Boolean, number, or string + */ + public static coercePropValue(value: any, type?: string) { + if (type === "boolean" || type === "number") { + // For boolean or number, parse the string and throw on failure + return JSON.parse(value); + } else if (type == null) { + // For unknown type, try to parse the string and ignore failure + try { + return JSON.parse(value); + } catch { + return value; + } + } else { + // For string or other type, don't do any parsing + return value.toString(); + } + } + + /** + * Retrieves the name of the active profile for the given type. If no such + * profile exists, returns the default name which can be used to create a new profile. + * @param profileType The type of CLI profile + * @param cmdArguments CLI arguments which may specify a profile + * @param defaultProfileName Name to fall back to if profile doesn't exist. If + * not specified, the profile type will be used. + * @returns The profile name + */ + public static getActiveProfileName(profileType: string, cmdArguments?: ICommandArguments, defaultProfileName?: string): string { + // Look for profile name first in command line arguments, second in + // default profiles defined in config, and finally fall back to using + // the profile type as the profile name. + return cmdArguments?.[`${profileType}-profile`] || + ImperativeConfig.instance.config?.properties.defaults[profileType] || + defaultProfileName || profileType; + } + + /** + * Checks if partial path is equal to or nested inside full path + * @param fullPath JSON path to profile 1 + * @param partialPath JSON path to profile 2 + */ + public static jsonPathMatches(fullPath: string, partialPath: string): boolean { + return fullPath === partialPath || fullPath.startsWith(partialPath + ".profiles."); + } + + /** + * Form an error message for failures to securely save a value. + * @param solution Text that our caller can supply for a solution. + * @returns ImperativeError to be thrown + */ + public static secureSaveError(solution?: string): ImperativeError { + let details = CredentialManagerFactory.manager.secureErrorDetails(); + if (solution != null) { + details = (details != null) ? (details + `\n - ${solution}`) : solution; + } + return new ImperativeError({ + msg: "Unable to securely save credentials.", + additionalDetails: details + }); + } +} \ No newline at end of file diff --git a/packages/imperative/src/config/src/ProfInfoErr.ts b/packages/imperative/src/config/ProfInfoErr.ts similarity index 98% rename from packages/imperative/src/config/src/ProfInfoErr.ts rename to packages/imperative/src/config/ProfInfoErr.ts index e470314562..2188a12b20 100644 --- a/packages/imperative/src/config/src/ProfInfoErr.ts +++ b/packages/imperative/src/config/ProfInfoErr.ts @@ -11,7 +11,7 @@ // for imperative operations import { IProfInfoErrParms } from "./doc/IProfInfoErrParms"; -import { ImperativeError, IImperativeError } from "../../error"; +import { ImperativeError, IImperativeError } from "../error"; /** * This class is the error exception mechanism for the ProfileInfo API. diff --git a/packages/imperative/src/config/src/ProfileCredentials.ts b/packages/imperative/src/config/ProfileCredentials.ts similarity index 97% rename from packages/imperative/src/config/src/ProfileCredentials.ts rename to packages/imperative/src/config/ProfileCredentials.ts index 78e5f3e24c..f335fec350 100644 --- a/packages/imperative/src/config/src/ProfileCredentials.ts +++ b/packages/imperative/src/config/ProfileCredentials.ts @@ -12,9 +12,9 @@ import * as fs from "fs"; import * as path from "path"; -import { ImperativeError } from "../../error"; -import { CredentialManagerFactory, DefaultCredentialManager, ICredentialManagerInit } from "../../security"; -import { ImperativeConfig } from "../../utilities"; +import { ImperativeError } from "../error"; +import { CredentialManagerFactory, DefaultCredentialManager, ICredentialManagerInit } from "../security"; +import { ImperativeConfig } from "../utilities/ImperativeConfig"; import { IProfOpts } from "./doc/IProfOpts"; import { ProfileInfo } from "./ProfileInfo"; diff --git a/packages/imperative/src/config/src/ProfileInfo.ts b/packages/imperative/src/config/ProfileInfo.ts similarity index 98% rename from packages/imperative/src/config/src/ProfileInfo.ts rename to packages/imperative/src/config/ProfileInfo.ts index 65d6dadc92..8973218a0f 100644 --- a/packages/imperative/src/config/src/ProfileInfo.ts +++ b/packages/imperative/src/config/ProfileInfo.ts @@ -32,25 +32,27 @@ import { ConfigSchema } from "./ConfigSchema"; import { IConfigOpts } from "./doc/IConfigOpts"; // for old-school profile operations -import { AbstractProfileManager } from "../../profiles/src/abstract/AbstractProfileManager"; -import { CliProfileManager, ICommandProfileProperty, ICommandArguments } from "../../cmd"; -import { IProfileLoaded, IProfileSchema, ProfileIO } from "../../profiles"; +import { AbstractProfileManager } from "../profiles/abstract/AbstractProfileManager"; +import { CliProfileManager, ICommandProfileProperty, ICommandArguments } from "../cmd"; +import { IProfileLoaded, IProfileSchema, ProfileIO } from "../profiles"; // for imperative operations -import { EnvironmentalVariableSettings } from "../../imperative/src/env/EnvironmentalVariableSettings"; -import { LoggingConfigurer } from "../../imperative/src/LoggingConfigurer"; -import { CliUtils, ImperativeConfig } from "../../utilities"; -import { ImperativeExpect } from "../../expect"; -import { Logger, LoggerUtils } from "../../logger"; -import { LoggerManager } from "../../logger/src/LoggerManager"; +import { EnvironmentalVariableSettings } from "../imperative/env/EnvironmentalVariableSettings"; +import { LoggingConfigurer } from "../imperative/LoggingConfigurer"; +import { ImperativeConfig } from "../utilities/ImperativeConfig"; +import { CliUtils } from "../utilities/CliUtils"; +import { ImperativeExpect } from "../expect"; +import { Logger, LoggerUtils } from "../logger"; +import { LoggerManager } from "../logger/LoggerManager"; import { IOptionsForAddConnProps, ISession, Session, SessConstants, ConnectionPropsForSessCfg -} from "../../rest"; +} from "../rest"; import { IProfInfoUpdateKnownPropOpts, IProfInfoUpdatePropOpts } from "./doc/IProfInfoUpdatePropOpts"; import { ConfigAutoStore } from "./ConfigAutoStore"; import { IGetAllProfilesOptions } from "./doc/IProfInfoProps"; import { IConfig } from "./doc/IConfig"; import { IProfInfoRemoveKnownPropOpts } from "./doc/IProfInfoRemoveKnownPropOpts"; +import { ConfigUtils } from "./ConfigUtils"; /** * This class provides functions to retrieve profile-related information. @@ -201,6 +203,15 @@ export class ProfileInfo { } const mergedArgs = this.mergeArgsForProfile(desiredProfile, { getSecureVals: false }); + if (options.forceUpdate && this.usingTeamConfig) { + const knownProperty = mergedArgs.knownArgs.find((v => v.argName === options.property)); + if (knownProperty != null) { + const profPath = this.getTeamConfig().api.profiles.getProfilePathFromName(options.profileName); + if (!ConfigUtils.jsonPathMatches(knownProperty.argLoc.jsonLoc, profPath)) { + knownProperty.argLoc.jsonLoc = `${profPath}.properties.${options.property}`; + } + } + } if (!(await this.updateKnownProperty({ ...options, mergedArgs, osLocInfo: this.getOsLocInfo(desiredProfile)?.[0] }))) { if (this.usingTeamConfig) { // Check to see if loadedConfig already contains the schema for the specified profile type @@ -284,7 +295,7 @@ export class ProfileInfo { let oldLayer: IProfLocOsLocLayer; const layer = this.getTeamConfig().layerActive(); const osLoc = options.osLocInfo ?? this.getOsLocInfo( - this.getAllProfiles().find(p => toUpdate.argLoc.jsonLoc.startsWith(p.profLoc.jsonLoc)))?.[0]; + this.getAllProfiles().find(p => ConfigUtils.jsonPathMatches(toUpdate.argLoc.jsonLoc, p.profLoc.jsonLoc)))?.[0]; if (osLoc && (layer.user !== osLoc.user || layer.global !== osLoc.global)) { oldLayer = { user: layer.user, global: layer.global }; this.getTeamConfig().api.layers.activate(osLoc.user, osLoc.global); diff --git a/packages/imperative/src/config/src/__mocks__/Config.ts b/packages/imperative/src/config/__mocks__/Config.ts similarity index 95% rename from packages/imperative/src/config/src/__mocks__/Config.ts rename to packages/imperative/src/config/__mocks__/Config.ts index 0d3a961ad2..1eca1f612e 100644 --- a/packages/imperative/src/config/src/__mocks__/Config.ts +++ b/packages/imperative/src/config/__mocks__/Config.ts @@ -10,7 +10,7 @@ */ import { IConfigOpts } from "../.."; -import { IConfigLayer } from "../../src/doc/IConfigLayer"; +import { IConfigLayer } from "../doc/IConfigLayer"; export class Config { private mLayers: IConfigLayer[]; diff --git a/packages/imperative/src/config/src/api/ConfigApi.ts b/packages/imperative/src/config/api/ConfigApi.ts similarity index 100% rename from packages/imperative/src/config/src/api/ConfigApi.ts rename to packages/imperative/src/config/api/ConfigApi.ts diff --git a/packages/imperative/src/config/src/api/ConfigLayers.ts b/packages/imperative/src/config/api/ConfigLayers.ts similarity index 99% rename from packages/imperative/src/config/src/api/ConfigLayers.ts rename to packages/imperative/src/config/api/ConfigLayers.ts index 3e90e8337c..3bb73eba99 100644 --- a/packages/imperative/src/config/src/api/ConfigLayers.ts +++ b/packages/imperative/src/config/api/ConfigLayers.ts @@ -13,7 +13,7 @@ import * as fs from "fs"; import * as path from "path"; import * as JSONC from "comment-json"; import * as lodash from "lodash"; -import { ImperativeError } from "../../../error"; +import { ImperativeError } from "../../error"; import { ConfigConstants } from "../ConfigConstants"; import { IConfigLayer } from "../doc/IConfigLayer"; import { ConfigApi } from "./ConfigApi"; diff --git a/packages/imperative/src/config/src/api/ConfigPlugins.ts b/packages/imperative/src/config/api/ConfigPlugins.ts similarity index 100% rename from packages/imperative/src/config/src/api/ConfigPlugins.ts rename to packages/imperative/src/config/api/ConfigPlugins.ts diff --git a/packages/imperative/src/config/src/api/ConfigProfiles.ts b/packages/imperative/src/config/api/ConfigProfiles.ts similarity index 100% rename from packages/imperative/src/config/src/api/ConfigProfiles.ts rename to packages/imperative/src/config/api/ConfigProfiles.ts diff --git a/packages/imperative/src/config/src/api/ConfigSecure.ts b/packages/imperative/src/config/api/ConfigSecure.ts similarity index 99% rename from packages/imperative/src/config/src/api/ConfigSecure.ts rename to packages/imperative/src/config/api/ConfigSecure.ts index 3251e880a9..14d50637c3 100644 --- a/packages/imperative/src/config/src/api/ConfigSecure.ts +++ b/packages/imperative/src/config/api/ConfigSecure.ts @@ -18,7 +18,7 @@ import { IConfigVault } from "../doc/IConfigVault"; import { IConfigSecureProperties } from "../doc/IConfigSecure"; import { ConfigConstants } from "../ConfigConstants"; import { IConfigProfile } from "../doc/IConfigProfile"; -import { CredentialManagerFactory } from "../../../security"; +import { CredentialManagerFactory } from "../../security"; /** * API Class for manipulating config layers. diff --git a/packages/imperative/src/config/src/api/index.ts b/packages/imperative/src/config/api/index.ts similarity index 100% rename from packages/imperative/src/config/src/api/index.ts rename to packages/imperative/src/config/api/index.ts diff --git a/packages/imperative/src/config/src/doc/IConfig.ts b/packages/imperative/src/config/doc/IConfig.ts similarity index 100% rename from packages/imperative/src/config/src/doc/IConfig.ts rename to packages/imperative/src/config/doc/IConfig.ts diff --git a/packages/imperative/src/config/src/doc/IConfigAutoStoreOpts.ts b/packages/imperative/src/config/doc/IConfigAutoStoreOpts.ts similarity index 93% rename from packages/imperative/src/config/src/doc/IConfigAutoStoreOpts.ts rename to packages/imperative/src/config/doc/IConfigAutoStoreOpts.ts index 193632d1eb..91e330d0b3 100644 --- a/packages/imperative/src/config/src/doc/IConfigAutoStoreOpts.ts +++ b/packages/imperative/src/config/doc/IConfigAutoStoreOpts.ts @@ -9,8 +9,8 @@ * */ -import { ICommandArguments } from "../../../cmd/src/doc/args/ICommandArguments"; -import { IHandlerParameters } from "../../../cmd/src/doc/handler/IHandlerParameters"; +import { ICommandArguments } from "../../cmd/doc/args/ICommandArguments"; +import { IHandlerParameters } from "../../cmd/doc/handler/IHandlerParameters"; import { Config } from "../Config"; /** diff --git a/packages/imperative/src/config/src/doc/IConfigBuilderOpts.ts b/packages/imperative/src/config/doc/IConfigBuilderOpts.ts similarity index 94% rename from packages/imperative/src/config/src/doc/IConfigBuilderOpts.ts rename to packages/imperative/src/config/doc/IConfigBuilderOpts.ts index 784947a2be..01e20029d8 100644 --- a/packages/imperative/src/config/src/doc/IConfigBuilderOpts.ts +++ b/packages/imperative/src/config/doc/IConfigBuilderOpts.ts @@ -9,7 +9,7 @@ * */ -import { IProfileProperty } from "../../../profiles"; +import { IProfileProperty } from "../../profiles"; export interface IConfigBuilderOpts { /** diff --git a/packages/imperative/src/config/src/doc/IConfigConvertResult.ts b/packages/imperative/src/config/doc/IConfigConvertResult.ts similarity index 100% rename from packages/imperative/src/config/src/doc/IConfigConvertResult.ts rename to packages/imperative/src/config/doc/IConfigConvertResult.ts diff --git a/packages/imperative/src/config/src/doc/IConfigLayer.ts b/packages/imperative/src/config/doc/IConfigLayer.ts similarity index 100% rename from packages/imperative/src/config/src/doc/IConfigLayer.ts rename to packages/imperative/src/config/doc/IConfigLayer.ts diff --git a/packages/imperative/src/config/src/doc/IConfigMergeOpts.ts b/packages/imperative/src/config/doc/IConfigMergeOpts.ts similarity index 100% rename from packages/imperative/src/config/src/doc/IConfigMergeOpts.ts rename to packages/imperative/src/config/doc/IConfigMergeOpts.ts diff --git a/packages/imperative/src/config/src/doc/IConfigOpts.ts b/packages/imperative/src/config/doc/IConfigOpts.ts similarity index 100% rename from packages/imperative/src/config/src/doc/IConfigOpts.ts rename to packages/imperative/src/config/doc/IConfigOpts.ts diff --git a/packages/imperative/src/config/src/doc/IConfigProfile.ts b/packages/imperative/src/config/doc/IConfigProfile.ts similarity index 100% rename from packages/imperative/src/config/src/doc/IConfigProfile.ts rename to packages/imperative/src/config/doc/IConfigProfile.ts diff --git a/packages/imperative/src/config/src/doc/IConfigSchema.ts b/packages/imperative/src/config/doc/IConfigSchema.ts similarity index 100% rename from packages/imperative/src/config/src/doc/IConfigSchema.ts rename to packages/imperative/src/config/doc/IConfigSchema.ts diff --git a/packages/imperative/src/config/src/doc/IConfigSecure.ts b/packages/imperative/src/config/doc/IConfigSecure.ts similarity index 100% rename from packages/imperative/src/config/src/doc/IConfigSecure.ts rename to packages/imperative/src/config/doc/IConfigSecure.ts diff --git a/packages/imperative/src/config/src/doc/IConfigVault.ts b/packages/imperative/src/config/doc/IConfigVault.ts similarity index 100% rename from packages/imperative/src/config/src/doc/IConfigVault.ts rename to packages/imperative/src/config/doc/IConfigVault.ts diff --git a/packages/imperative/src/config/src/doc/IProfArgAttrs.ts b/packages/imperative/src/config/doc/IProfArgAttrs.ts similarity index 100% rename from packages/imperative/src/config/src/doc/IProfArgAttrs.ts rename to packages/imperative/src/config/doc/IProfArgAttrs.ts diff --git a/packages/imperative/src/config/src/doc/IProfAttrs.ts b/packages/imperative/src/config/doc/IProfAttrs.ts similarity index 100% rename from packages/imperative/src/config/src/doc/IProfAttrs.ts rename to packages/imperative/src/config/doc/IProfAttrs.ts diff --git a/packages/imperative/src/config/src/doc/IProfInfoErrParms.ts b/packages/imperative/src/config/doc/IProfInfoErrParms.ts similarity index 91% rename from packages/imperative/src/config/src/doc/IProfInfoErrParms.ts rename to packages/imperative/src/config/doc/IProfInfoErrParms.ts index 81423e0c24..578559e396 100644 --- a/packages/imperative/src/config/src/doc/IProfInfoErrParms.ts +++ b/packages/imperative/src/config/doc/IProfInfoErrParms.ts @@ -9,7 +9,7 @@ * */ -import { IImperativeErrorParms } from "../../../error/src/doc/IImperativeErrorParms"; +import { IImperativeErrorParms } from "../../error/doc/IImperativeErrorParms"; /** * Options that will affect the behavior of the ProfileInfo class. diff --git a/packages/imperative/src/config/src/doc/IProfInfoProps.ts b/packages/imperative/src/config/doc/IProfInfoProps.ts similarity index 100% rename from packages/imperative/src/config/src/doc/IProfInfoProps.ts rename to packages/imperative/src/config/doc/IProfInfoProps.ts diff --git a/packages/imperative/src/config/src/doc/IProfInfoRemoveKnownPropOpts.ts b/packages/imperative/src/config/doc/IProfInfoRemoveKnownPropOpts.ts similarity index 100% rename from packages/imperative/src/config/src/doc/IProfInfoRemoveKnownPropOpts.ts rename to packages/imperative/src/config/doc/IProfInfoRemoveKnownPropOpts.ts diff --git a/packages/imperative/src/config/src/doc/IProfInfoUpdatePropOpts.ts b/packages/imperative/src/config/doc/IProfInfoUpdatePropOpts.ts similarity index 71% rename from packages/imperative/src/config/src/doc/IProfInfoUpdatePropOpts.ts rename to packages/imperative/src/config/doc/IProfInfoUpdatePropOpts.ts index 1c39c7b381..17f3f7f332 100644 --- a/packages/imperative/src/config/src/doc/IProfInfoUpdatePropOpts.ts +++ b/packages/imperative/src/config/doc/IProfInfoUpdatePropOpts.ts @@ -26,6 +26,16 @@ export interface IProfInfoUpdatePropOpts extends IProfInfoUpdatePropCommonOpts { * Name of the active profile */ profileName: string; + + /** + * Force the update to the profile specified even if the property comes from somehwere else + * @example Token Value could be in the base profile (not in the service profile specified) + * and the programmer has the intention of storing the token in the service profile + * @default false When the property is not specified, the updateProperty method follows current + * procedure of updating the property in the known jsonLoc (e.g. base profile). Otherwise, + * the updateProperty method updates the specified profile name-type combination. + */ + forceUpdate?: boolean } /** diff --git a/packages/imperative/src/config/src/doc/IProfLoc.ts b/packages/imperative/src/config/doc/IProfLoc.ts similarity index 100% rename from packages/imperative/src/config/src/doc/IProfLoc.ts rename to packages/imperative/src/config/doc/IProfLoc.ts diff --git a/packages/imperative/src/config/src/doc/IProfMergeArgOpts.ts b/packages/imperative/src/config/doc/IProfMergeArgOpts.ts similarity index 100% rename from packages/imperative/src/config/src/doc/IProfMergeArgOpts.ts rename to packages/imperative/src/config/doc/IProfMergeArgOpts.ts diff --git a/packages/imperative/src/config/src/doc/IProfMergedArg.ts b/packages/imperative/src/config/doc/IProfMergedArg.ts similarity index 100% rename from packages/imperative/src/config/src/doc/IProfMergedArg.ts rename to packages/imperative/src/config/doc/IProfMergedArg.ts diff --git a/packages/imperative/src/config/src/doc/IProfOpts.ts b/packages/imperative/src/config/doc/IProfOpts.ts similarity index 94% rename from packages/imperative/src/config/src/doc/IProfOpts.ts rename to packages/imperative/src/config/doc/IProfOpts.ts index ca5b5f14bb..64a41e88be 100644 --- a/packages/imperative/src/config/src/doc/IProfOpts.ts +++ b/packages/imperative/src/config/doc/IProfOpts.ts @@ -9,7 +9,7 @@ * */ -import { ICredentialManagerInit } from "../../../security"; +import { ICredentialManagerInit } from "../../security"; /** * Options that will affect the behavior of the ProfileInfo class. diff --git a/packages/imperative/src/config/index.ts b/packages/imperative/src/config/index.ts index da606bb9d4..e1a83c91f4 100644 --- a/packages/imperative/src/config/index.ts +++ b/packages/imperative/src/config/index.ts @@ -9,32 +9,32 @@ * */ -export * from "./src/Config"; -export * from "./src/ConfigAutoStore"; -export * from "./src/ConfigConstants"; -export * from "./src/ConfigSchema"; -export * from "./src/ConfigBuilder"; -export * as ConfigUtils from "./src/ConfigUtils"; -export * from "./src/ProfileCredentials"; -export * from "./src/ProfileInfo"; -export * from "./src/ProfInfoErr"; -export * from "./src/doc/IConfig"; -export * from "./src/doc/IConfigAutoStoreOpts"; -export * from "./src/doc/IConfigBuilderOpts"; -export * from "./src/doc/IConfigConvertResult"; -export * from "./src/doc/IConfigLayer"; -export * from "./src/doc/IConfigOpts"; -export * from "./src/doc/IConfigProfile"; -export * from "./src/doc/IConfigSchema"; -export * from "./src/doc/IConfigSecure"; -export * from "./src/doc/IConfigVault"; -export * from "./src/doc/IProfArgAttrs"; -export * from "./src/doc/IProfAttrs"; -export * from "./src/doc/IProfInfoUpdatePropOpts"; -export * from "./src/doc/IProfInfoRemoveKnownPropOpts"; -export * from "./src/doc/IProfInfoErrParms"; -export * from "./src/doc/IProfLoc"; -export * from "./src/doc/IProfMergeArgOpts"; -export * from "./src/doc/IProfMergedArg"; -export * from "./src/doc/IProfInfoProps"; -export * from "./src/doc/IProfOpts"; +export * from "./Config"; +export * from "./ConfigAutoStore"; +export * from "./ConfigConstants"; +export * from "./ConfigSchema"; +export * from "./ConfigBuilder"; +export * as ConfigUtils from "./ConfigUtils"; +export * from "./ProfileCredentials"; +export * from "./ProfileInfo"; +export * from "./ProfInfoErr"; +export * from "./doc/IConfig"; +export * from "./doc/IConfigAutoStoreOpts"; +export * from "./doc/IConfigBuilderOpts"; +export * from "./doc/IConfigConvertResult"; +export * from "./doc/IConfigLayer"; +export * from "./doc/IConfigOpts"; +export * from "./doc/IConfigProfile"; +export * from "./doc/IConfigSchema"; +export * from "./doc/IConfigSecure"; +export * from "./doc/IConfigVault"; +export * from "./doc/IProfArgAttrs"; +export * from "./doc/IProfAttrs"; +export * from "./doc/IProfInfoUpdatePropOpts"; +export * from "./doc/IProfInfoRemoveKnownPropOpts"; +export * from "./doc/IProfInfoErrParms"; +export * from "./doc/IProfLoc"; +export * from "./doc/IProfMergeArgOpts"; +export * from "./doc/IProfMergedArg"; +export * from "./doc/IProfInfoProps"; +export * from "./doc/IProfOpts"; diff --git a/packages/imperative/src/config/src/ConfigUtils.ts b/packages/imperative/src/config/src/ConfigUtils.ts deleted file mode 100644 index 48c95465e1..0000000000 --- a/packages/imperative/src/config/src/ConfigUtils.ts +++ /dev/null @@ -1,72 +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 { CredentialManagerFactory } from "../../security"; -import { ICommandArguments } from "../../cmd"; -import { ImperativeConfig } from "../../utilities"; -import { ImperativeError } from "../../error"; - -/** - * Coeerces string property value to a boolean or number type. - * @param value String value - * @param type Property type defined in the schema - * @returns Boolean, number, or string - */ -export function coercePropValue(value: any, type?: string) { - if (type === "boolean" || type === "number") { - // For boolean or number, parse the string and throw on failure - return JSON.parse(value); - } else if (type == null) { - // For unknown type, try to parse the string and ignore failure - try { - return JSON.parse(value); - } catch { - return value; - } - } else { - // For string or other type, don't do any parsing - return value.toString(); - } -} - -/** - * Retrieves the name of the active profile for the given type. If no such - * profile exists, returns the default name which can be used to create a new profile. - * @param profileType The type of CLI profile - * @param cmdArguments CLI arguments which may specify a profile - * @param defaultProfileName Name to fall back to if profile doesn't exist. If - * not specified, the profile type will be used. - * @returns The profile name - */ -export function getActiveProfileName(profileType: string, cmdArguments?: ICommandArguments, defaultProfileName?: string): string { - // Look for profile name first in command line arguments, second in - // default profiles defined in config, and finally fall back to using - // the profile type as the profile name. - return cmdArguments?.[`${profileType}-profile`] || - ImperativeConfig.instance.config?.properties.defaults[profileType] || - defaultProfileName || profileType; -} - -/** - * Form an error message for failures to securely save a value. - * @param solution Text that our caller can supply for a solution. - * @returns ImperativeError to be thrown - */ -export function secureSaveError(solution?: string): ImperativeError { - let details = CredentialManagerFactory.manager.secureErrorDetails(); - if (solution != null) { - details = (details != null) ? (details + `\n - ${solution}`) : solution; - } - return new ImperativeError({ - msg: "Unable to securely save credentials.", - additionalDetails: details - }); -} diff --git a/packages/imperative/src/console/src/Console.ts b/packages/imperative/src/console/Console.ts similarity index 98% rename from packages/imperative/src/console/src/Console.ts rename to packages/imperative/src/console/Console.ts index 754e9cfe5d..2dbcc41621 100644 --- a/packages/imperative/src/console/src/Console.ts +++ b/packages/imperative/src/console/Console.ts @@ -16,9 +16,9 @@ * This class supports most of the methods / accessors log4js uses. */ import { IConsole } from "./doc/IConsole"; -import { TextUtils } from "../../utilities/src/TextUtils"; +import { TextUtils } from "../utilities/TextUtils"; import { format } from "util"; -import { ImperativeError } from "../../error"; +import { ImperativeError } from "../error"; export class Console implements IConsole { diff --git a/packages/imperative/src/console/src/doc/IConsole.ts b/packages/imperative/src/console/doc/IConsole.ts similarity index 100% rename from packages/imperative/src/console/src/doc/IConsole.ts rename to packages/imperative/src/console/doc/IConsole.ts diff --git a/packages/imperative/src/console/index.ts b/packages/imperative/src/console/index.ts index 04de188651..81b0c0c8a4 100644 --- a/packages/imperative/src/console/index.ts +++ b/packages/imperative/src/console/index.ts @@ -9,5 +9,5 @@ * */ -export * from "./src/doc/IConsole"; -export * from "./src/Console"; +export * from "./doc/IConsole"; +export * from "./Console"; diff --git a/packages/imperative/src/constants/src/Constants.ts b/packages/imperative/src/constants/Constants.ts similarity index 100% rename from packages/imperative/src/constants/src/Constants.ts rename to packages/imperative/src/constants/Constants.ts diff --git a/packages/imperative/src/constants/index.ts b/packages/imperative/src/constants/index.ts index 1b60ae3db8..57e9a43114 100644 --- a/packages/imperative/src/constants/index.ts +++ b/packages/imperative/src/constants/index.ts @@ -9,4 +9,4 @@ * */ -export * from "./src/Constants"; +export * from "./Constants"; diff --git a/packages/imperative/src/error/src/ImperativeError.ts b/packages/imperative/src/error/ImperativeError.ts similarity index 100% rename from packages/imperative/src/error/src/ImperativeError.ts rename to packages/imperative/src/error/ImperativeError.ts diff --git a/packages/imperative/src/error/src/doc/IImperativeError.ts b/packages/imperative/src/error/doc/IImperativeError.ts similarity index 100% rename from packages/imperative/src/error/src/doc/IImperativeError.ts rename to packages/imperative/src/error/doc/IImperativeError.ts diff --git a/packages/imperative/src/error/src/doc/IImperativeErrorParms.ts b/packages/imperative/src/error/doc/IImperativeErrorParms.ts similarity index 96% rename from packages/imperative/src/error/src/doc/IImperativeErrorParms.ts rename to packages/imperative/src/error/doc/IImperativeErrorParms.ts index 50b817efd3..cca8770df5 100644 --- a/packages/imperative/src/error/src/doc/IImperativeErrorParms.ts +++ b/packages/imperative/src/error/doc/IImperativeErrorParms.ts @@ -9,7 +9,7 @@ * */ -import { Logger } from "../../../logger"; +import { Logger } from "../../logger"; /** * Imperative Standard Error - All Imperative services/utils must thrown an Imperative Error (not a generic Error). * The Imperative Error collects additional diagnostics and most (if not all) Imperative Promises diff --git a/packages/imperative/src/error/index.ts b/packages/imperative/src/error/index.ts index 7999ad76fc..aebe9cfef8 100644 --- a/packages/imperative/src/error/index.ts +++ b/packages/imperative/src/error/index.ts @@ -9,5 +9,5 @@ * */ -export * from "./src/doc/IImperativeError"; -export * from "./src/ImperativeError"; +export * from "./doc/IImperativeError"; +export * from "./ImperativeError"; diff --git a/packages/imperative/src/expect/src/ImperativeExpect.ts b/packages/imperative/src/expect/ImperativeExpect.ts similarity index 99% rename from packages/imperative/src/expect/src/ImperativeExpect.ts rename to packages/imperative/src/expect/ImperativeExpect.ts index 4aab004e5b..b2753ad056 100644 --- a/packages/imperative/src/expect/src/ImperativeExpect.ts +++ b/packages/imperative/src/expect/ImperativeExpect.ts @@ -9,7 +9,7 @@ * */ -import { ImperativeError } from "../../error"; +import { ImperativeError } from "../error"; import { inspect, isNullOrUndefined } from "util"; const DataObjectParser = require("dataobject-parser"); diff --git a/packages/imperative/src/expect/index.ts b/packages/imperative/src/expect/index.ts index e02c4e49dc..d80faf5f80 100644 --- a/packages/imperative/src/expect/index.ts +++ b/packages/imperative/src/expect/index.ts @@ -9,4 +9,4 @@ * */ -export * from "./src/ImperativeExpect"; +export * from "./ImperativeExpect"; diff --git a/packages/imperative/src/imperative/src/ConfigurationLoader.ts b/packages/imperative/src/imperative/ConfigurationLoader.ts similarity index 98% rename from packages/imperative/src/imperative/src/ConfigurationLoader.ts rename to packages/imperative/src/imperative/ConfigurationLoader.ts index 4e4e2b88ff..2cda509004 100644 --- a/packages/imperative/src/imperative/src/ConfigurationLoader.ts +++ b/packages/imperative/src/imperative/ConfigurationLoader.ts @@ -15,7 +15,7 @@ */ import { IImperativeConfig } from "./doc/IImperativeConfig"; import * as os from "os"; -import { ImperativeError } from "../../error"; +import { ImperativeError } from "../error"; export class ConfigurationLoader { diff --git a/packages/imperative/src/imperative/src/ConfigurationValidator.ts b/packages/imperative/src/imperative/ConfigurationValidator.ts similarity index 84% rename from packages/imperative/src/imperative/src/ConfigurationValidator.ts rename to packages/imperative/src/imperative/ConfigurationValidator.ts index e4054d6da3..6bb016153c 100644 --- a/packages/imperative/src/imperative/src/ConfigurationValidator.ts +++ b/packages/imperative/src/imperative/ConfigurationValidator.ts @@ -10,10 +10,9 @@ */ import { IImperativeConfig } from "./doc/IImperativeConfig"; -import { isNullOrUndefined } from "util"; -import { TextUtils } from "../../utilities"; -import { ImperativeError } from "../../error"; -import { ICommandProfileProperty } from "../../cmd/src/doc/profiles/definition/ICommandProfileProperty"; +import { TextUtils } from "../utilities"; +import { ImperativeError } from "../error"; +import { ICommandProfileProperty } from "../cmd/doc/profiles/definition/ICommandProfileProperty"; /** * Imperative-internal class to validate configuration @@ -34,10 +33,10 @@ export class ConfigurationValidator { + fieldName + ". Please provide this field in order to use Imperative" }); }; - if (isNullOrUndefined(config.productDisplayName)) { + if (config.productDisplayName == null) { throw getMissingFieldError("productDisplayName"); } - if (isNullOrUndefined(config.commandModuleGlobs) && isNullOrUndefined(config.definitions)) { + if (config.commandModuleGlobs == null && config.definitions == null) { throw new ImperativeError({ msg: "Your Imperative configuration had neither \"definitions\"" + " nor \"commandModuleGlobs\". At least one of these fields is required so that the syntax for " + @@ -45,31 +44,31 @@ export class ConfigurationValidator { }); } - if (isNullOrUndefined(config.primaryTextColor)) { + if (config.primaryTextColor == null) { config.primaryTextColor = "yellow"; } else { // if the user specified a color, test to make sure it works ConfigurationValidator.verifyChalkColor(config, "primaryTextColor", "primary text highlighting"); } - if (isNullOrUndefined(config.secondaryTextColor)) { + if (config.secondaryTextColor == null) { config.secondaryTextColor = "blue"; } else { // if the user specified a color, test to make sure it works ConfigurationValidator.verifyChalkColor(config, "secondaryTextColor", "secondary text highlighting"); } - if (isNullOrUndefined(config.allowConfigGroup)) { + if (config.allowConfigGroup == null) { // default allowConfigGroup to true config.allowConfigGroup = true; } - if (isNullOrUndefined(config.allowPlugins)) { + if (config.allowPlugins == null) { // default allowPlugins to true config.allowPlugins = true; } // validate profile configurations - if (!isNullOrUndefined(config.profiles)) { + if (config.profiles != null) { for (const profileConfig of config.profiles) { - if (isNullOrUndefined(profileConfig.schema)) { + if (profileConfig.schema == null) { throw new ImperativeError({ msg: "Your Imperative profile configuration of type \"" + profileConfig.type + "\" has no schema. Please provide a schema for your profile so that it can be used to " + @@ -80,9 +79,7 @@ export class ConfigurationValidator { for (const propertyName of Object.keys(profileConfig.schema.properties)) { const property: ICommandProfileProperty = profileConfig.schema.properties[propertyName]; - if (!isNullOrUndefined(property.optionDefinitions) && - property.optionDefinitions.length > 1 && - isNullOrUndefined(profileConfig.createProfileFromArgumentsHandler)) { + if (property.optionDefinitions?.length > 1 && profileConfig.createProfileFromArgumentsHandler == null) { throw new ImperativeError({ msg: TextUtils.formatMessage( "Your Imperative profile configuration of type \"{{type}}\"" + diff --git a/packages/imperative/src/imperative/src/DefinitionTreeResolver.ts b/packages/imperative/src/imperative/DefinitionTreeResolver.ts similarity index 98% rename from packages/imperative/src/imperative/src/DefinitionTreeResolver.ts rename to packages/imperative/src/imperative/DefinitionTreeResolver.ts index 7bc7784d11..6e2785d1bf 100644 --- a/packages/imperative/src/imperative/src/DefinitionTreeResolver.ts +++ b/packages/imperative/src/imperative/DefinitionTreeResolver.ts @@ -9,10 +9,10 @@ * */ -import { ICommandDefinition } from "../../cmd"; -import { Logger } from "../../logger"; +import { ICommandDefinition } from "../cmd"; +import { Logger } from "../logger"; import * as glob from "fast-glob"; -import { ImperativeError } from "../../error"; +import { ImperativeError } from "../error"; /** * Combines a root command definition with an array of diff --git a/packages/imperative/src/imperative/src/Imperative.ts b/packages/imperative/src/imperative/Imperative.ts similarity index 89% rename from packages/imperative/src/imperative/src/Imperative.ts rename to packages/imperative/src/imperative/Imperative.ts index 2e83949c47..544ead07f5 100644 --- a/packages/imperative/src/imperative/src/Imperative.ts +++ b/packages/imperative/src/imperative/Imperative.ts @@ -13,59 +13,56 @@ * Main class of the Imperative framework, returned when you * require("@zowe/imperative") e.g. const imperative = require("@zowe/imperative"); */ -import { Logger} from "../../logger/src/Logger"; -import { LoggerConfigBuilder } from "../../logger/src/LoggerConfigBuilder"; +import { Logger} from "./../logger/Logger"; +import { LoggerConfigBuilder } from "./../logger/LoggerConfigBuilder"; import { IImperativeConfig } from "./doc/IImperativeConfig"; import * as yargs from "yargs"; import { ConfigurationLoader } from "./ConfigurationLoader"; import { ConfigurationValidator } from "./ConfigurationValidator"; import { ImperativeApi } from "./api/ImperativeApi"; import { IImperativeApi } from "./api/doc/IImperativeApi"; -import { Constants } from "../../constants/src/Constants"; -import { TextUtils } from "../../utilities/src/TextUtils"; -import { ImperativeConfig } from "../../utilities/src/ImperativeConfig"; -import { ImperativeReject } from "../../interfaces/src/types/ImperativeReject"; +import { Constants } from "./../constants/Constants"; +import { TextUtils } from "./../utilities/TextUtils"; +import { ImperativeConfig } from "./../utilities/ImperativeConfig"; +import { ImperativeReject } from "./../interfaces/types/ImperativeReject"; import { LoggingConfigurer } from "./LoggingConfigurer"; -import { ImperativeError } from "../../error"; +import { ImperativeError } from "./../error"; import { PluginManagementFacility } from "./plugins/PluginManagementFacility"; // import { ConfigManagementFacility } from "./config/ConfigManagementFacility"; -import { AbstractCommandYargs } from "../../cmd/src/yargs/AbstractCommandYargs"; -import { CliProfileManager } from "../../cmd/src/profiles/CliProfileManager"; -import { CommandPreparer } from "../../cmd/src/CommandPreparer"; -import { CommandYargs } from "../../cmd/src/yargs/CommandYargs"; -import { ICommandDefinition } from "../../cmd/src/doc/ICommandDefinition"; -import { ICommandProfileTypeConfiguration } from "../../cmd/src/doc/profiles/definition/ICommandProfileTypeConfiguration"; -import { ICommandResponseParms } from "../../cmd/src/doc/response/parms/ICommandResponseParms"; -import { IHelpGenerator } from "../../cmd/src/help/doc/IHelpGenerator"; -import { IHelpGeneratorFactory } from "../../cmd/src/help/doc/IHelpGeneratorFactory"; -import { IHelpGeneratorParms } from "../../cmd/src/help/doc/IHelpGeneratorParms"; -import { IYargsResponse } from "../../cmd/src/yargs/doc/IYargsResponse"; -import { WebHelpManager } from "../../cmd/src/help/WebHelpManager"; -import { YargsConfigurer } from "../../cmd/src/yargs/YargsConfigurer"; -import { YargsDefiner } from "../../cmd/src/yargs/YargsDefiner"; - -import { ProfileUtils } from "../../profiles/src/utils/ProfileUtils"; -import { IProfileTypeConfiguration } from "../../profiles/src/doc/config/IProfileTypeConfiguration"; -import { CompleteProfilesGroupBuilder } from "./profiles/builders/CompleteProfilesGroupBuilder"; +import { AbstractCommandYargs } from "./../cmd/yargs/AbstractCommandYargs"; +import { CommandPreparer } from "./../cmd/CommandPreparer"; +import { CommandYargs } from "./../cmd/yargs/CommandYargs"; +import { ICommandDefinition } from "./../cmd/doc/ICommandDefinition"; +import { ICommandProfileTypeConfiguration } from "./../cmd/doc/profiles/definition/ICommandProfileTypeConfiguration"; +import { ICommandResponseParms } from "./../cmd/doc/response/parms/ICommandResponseParms"; +import { IHelpGenerator } from "./../cmd/help/doc/IHelpGenerator"; +import { IHelpGeneratorFactory } from "./../cmd/help/doc/IHelpGeneratorFactory"; +import { IHelpGeneratorParms } from "./../cmd/help/doc/IHelpGeneratorParms"; +import { IYargsResponse } from "./../cmd/yargs/doc/IYargsResponse"; +import { WebHelpManager } from "./../cmd/help/WebHelpManager"; +import { YargsConfigurer } from "./../cmd/yargs/YargsConfigurer"; +import { YargsDefiner } from "./../cmd/yargs/YargsDefiner"; + +import { IProfileTypeConfiguration } from "./../profiles/doc/config/IProfileTypeConfiguration"; import { ImperativeHelpGeneratorFactory } from "./help/ImperativeHelpGeneratorFactory"; import { OverridesLoader } from "./OverridesLoader"; import { ImperativeProfileManagerFactory } from "./profiles/ImperativeProfileManagerFactory"; import { DefinitionTreeResolver } from "./DefinitionTreeResolver"; import { EnvironmentalVariableSettings } from "./env/EnvironmentalVariableSettings"; -import { AppSettings } from "../../settings/src/AppSettings"; +import { AppSettings } from "./../settings/AppSettings"; import { dirname, join } from "path"; -import { Console } from "../../console/src/Console"; -import { ISettingsFile } from "../../settings/src/doc/ISettingsFile"; +import { Console } from "./../console/Console"; +import { ISettingsFile } from "./../settings/doc/ISettingsFile"; import { IDaemonContext } from "./doc/IDaemonContext"; -import { ICommandProfileAuthConfig } from "../../cmd/src/doc/profiles/definition/ICommandProfileAuthConfig"; -import { ImperativeExpect } from "../../expect/src/ImperativeExpect"; +import { ICommandProfileAuthConfig } from "./../cmd/doc/profiles/definition/ICommandProfileAuthConfig"; +import { ImperativeExpect } from "./../expect/ImperativeExpect"; import { CompleteAuthGroupBuilder } from "./auth/builders/CompleteAuthGroupBuilder"; -import { Config } from "../../config/src/Config"; +import { Config } from "./../config/Config"; import { CompleteAutoInitCommandBuilder } from "./config/cmd/auto-init/builders/CompleteAutoInitCommandBuilder"; -import { ICommandProfileAutoInitConfig } from "../../cmd/src/doc/profiles/definition/ICommandProfileAutoInitConfig"; -import { EnvFileUtils } from "../../utilities/src/EnvFileUtils"; +import { ICommandProfileAutoInitConfig } from "./../cmd/doc/profiles/definition/ICommandProfileAutoInitConfig"; +import { EnvFileUtils } from "./../utilities/EnvFileUtils"; export class Imperative { @@ -281,14 +278,6 @@ export class Imperative { // final preparation of the command tree const preparedHostCliCmdTree = this.getPreparedCmdTree(resolvedHostCliCmdTree, config.baseProfile); - /** - * Only initialize the old-school profile environment - * if we are not in team-config mode. - */ - if (ImperativeConfig.instance.config.exists === false) { - await this.initProfiles(config); - } - /** * Define all known commands */ @@ -521,25 +510,6 @@ export class Imperative { Logger.initLogger(loggingConfig); } - /** - * Initialize the profiles directory with types and meta files. This can be called every startup of the CLI - * without issue, but if the meta files or configuration changes, we'll have to re-initialize. - * TODO: Determine the re-initialize strategy. - * @private - * @static - * @param {IImperativeConfig} config - The configuration document passed to init. - * @memberof Imperative - */ - private static async initProfiles(config: IImperativeConfig) { - if (config.profiles != null && config.profiles.length > 0) { - await CliProfileManager.initialize({ - configuration: config.profiles, - profileRootDirectory: ProfileUtils.constructProfilesRootDirectory(ImperativeConfig.instance.cliHome), - reinitialize: false - }); - } - } - /** * Define to yargs for main CLI and plugins * @@ -714,7 +684,6 @@ export class Imperative { if (loadedConfig.baseProfile != null) { allProfiles.push(loadedConfig.baseProfile); } - rootCommand.children.push(CompleteProfilesGroupBuilder.getProfileGroup(allProfiles, this.log)); } const authConfigs: {[key: string]: ICommandProfileAuthConfig[]} = {}; if (loadedConfig.profiles != null) { @@ -744,4 +713,4 @@ export class Imperative { return rootCommand; } -} +} \ No newline at end of file diff --git a/packages/imperative/src/imperative/src/LoggingConfigurer.ts b/packages/imperative/src/imperative/LoggingConfigurer.ts similarity index 90% rename from packages/imperative/src/imperative/src/LoggingConfigurer.ts rename to packages/imperative/src/imperative/LoggingConfigurer.ts index 6e5a1db3c0..98069c9197 100644 --- a/packages/imperative/src/imperative/src/LoggingConfigurer.ts +++ b/packages/imperative/src/imperative/LoggingConfigurer.ts @@ -9,16 +9,15 @@ * */ -import { IConfigLogging } from "../../logger/src/doc/IConfigLogging"; -import { Logger } from "../../logger/src/Logger"; -import { LoggerConfigBuilder } from "../../logger/src/LoggerConfigBuilder"; +import { IConfigLogging } from "../logger/doc/IConfigLogging"; +import { Logger } from "../logger/Logger"; +import { LoggerConfigBuilder } from "../logger/LoggerConfigBuilder"; import { IImperativeConfig } from "./doc/IImperativeConfig"; -import { Console } from "../../console"; -import { isNullOrUndefined } from "util"; -import { IO } from "../../io/src/IO"; +import { Console } from "../console"; +import { IO } from "../io/IO"; import { IImperativeLoggingConfig } from "./doc/IImperativeLoggingConfig"; -import { ImperativeError } from "../../error/src/ImperativeError"; -import { ImperativeExpect } from "../../expect/src/ImperativeExpect"; +import { ImperativeError } from "../error/ImperativeError"; +import { ImperativeExpect } from "../expect/ImperativeExpect"; /** * Helper class to construct default config, log4js config, and define @@ -89,9 +88,9 @@ export class LoggingConfigurer { /** * All remaining logs are created here */ - if (!isNullOrUndefined(imperativeConfig.logging.additionalLogging)) { + if (imperativeConfig.logging.additionalLogging != null) { imperativeConfig.logging.additionalLogging.forEach((logConfig) => { - if (isNullOrUndefined(logConfig.apiName)) { + if (logConfig.apiName == null) { throw new ImperativeError({ msg: "apiName is required for additionalLoggers", }); @@ -160,11 +159,9 @@ export class LoggingConfigurer { */ private static configureLoggerByKey( home: string, imperativeConfig: IImperativeConfig, loggingConfig: IConfigLogging, entryKey: string, configKey: string) { - if (!isNullOrUndefined(imperativeConfig.logging)) { - if (!isNullOrUndefined(imperativeConfig.logging[configKey])) { - loggingConfig = LoggingConfigurer.configureLoggerByKeyHelper( - home, imperativeConfig.logging[configKey], loggingConfig, entryKey, configKey); - } + if (imperativeConfig.logging?.[configKey] != null) { + loggingConfig = LoggingConfigurer.configureLoggerByKeyHelper( + home, imperativeConfig.logging[configKey], loggingConfig, entryKey, configKey); } return loggingConfig; @@ -184,12 +181,12 @@ export class LoggingConfigurer { */ private static configureLoggerByKeyHelper(home: string, impLogConfig: IImperativeLoggingConfig, loggingConfig: IConfigLogging, entryKey: string, configKey: string) { - if (!isNullOrUndefined(impLogConfig.logFile)) { + if (impLogConfig.logFile != null) { const fullLogFilePath = home + LoggingConfigurer.normalizeDir(impLogConfig.logFile); loggingConfig.log4jsConfig.appenders[entryKey].filename = fullLogFilePath as any; } - if (!isNullOrUndefined(impLogConfig.level)) { + if (impLogConfig.level != null) { Console.validateLevel(impLogConfig.level); loggingConfig.log4jsConfig.categories[entryKey].level = impLogConfig.level; } @@ -269,12 +266,12 @@ export class LoggingConfigurer { */ private static buildLoggingDefaultsByKey( imperativeConfig: IImperativeConfig, key: string, apiName: string, category = apiName): IImperativeConfig { - if (isNullOrUndefined(imperativeConfig.logging)) { + if (imperativeConfig.logging == null) { imperativeConfig.logging = {}; - imperativeConfig.logging[key] = {apiName, category}; + imperativeConfig.logging[key] = { apiName, category }; } else { - if (isNullOrUndefined(imperativeConfig.logging[key])) { - imperativeConfig.logging[key] = {apiName, category}; + if (imperativeConfig.logging[key] == null) { + imperativeConfig.logging[key] = { apiName, category }; } else { imperativeConfig.logging[key].apiName = apiName; imperativeConfig.logging[key].category = category; diff --git a/packages/imperative/src/imperative/src/OverridesLoader.ts b/packages/imperative/src/imperative/OverridesLoader.ts similarity index 96% rename from packages/imperative/src/imperative/src/OverridesLoader.ts rename to packages/imperative/src/imperative/OverridesLoader.ts index 1e72675441..27b9926f87 100644 --- a/packages/imperative/src/imperative/src/OverridesLoader.ts +++ b/packages/imperative/src/imperative/OverridesLoader.ts @@ -10,13 +10,13 @@ */ import { IImperativeOverrides } from "./doc/IImperativeOverrides"; -import { CredentialManagerFactory, DefaultCredentialManager } from "../../security"; +import { CredentialManagerFactory, DefaultCredentialManager } from "../security"; import { IImperativeConfig } from "./doc/IImperativeConfig"; import { isAbsolute, resolve } from "path"; -import { AppSettings } from "../../settings"; -import { ImperativeConfig } from "../../utilities"; -import { IConfigVault } from "../../config"; -import { Logger } from "../../logger"; +import { AppSettings } from "../settings"; +import { ImperativeConfig } from "../utilities"; +import { IConfigVault } from "../config"; +import { Logger } from "../logger"; /** * Imperative-internal class to load overrides diff --git a/packages/imperative/src/imperative/src/UpdateImpConfig.ts b/packages/imperative/src/imperative/UpdateImpConfig.ts similarity index 96% rename from packages/imperative/src/imperative/src/UpdateImpConfig.ts rename to packages/imperative/src/imperative/UpdateImpConfig.ts index 75ad5a1cfc..7f00ee943a 100644 --- a/packages/imperative/src/imperative/src/UpdateImpConfig.ts +++ b/packages/imperative/src/imperative/UpdateImpConfig.ts @@ -9,10 +9,10 @@ * */ -import { ImperativeConfig } from "../../utilities"; +import { ImperativeConfig } from "../utilities/ImperativeConfig"; import { IImperativeConfig } from "./doc/IImperativeConfig"; -import { ICommandDefinition, ICommandProfileTypeConfiguration } from "../../cmd"; -import { Logger } from "../../logger"; +import { ICommandDefinition, ICommandProfileTypeConfiguration } from "../cmd"; +import { Logger } from "../logger"; /** * This class is used to update the imperative config object, that was initially diff --git a/packages/imperative/src/imperative/src/__mocks__/Imperative.ts b/packages/imperative/src/imperative/__mocks__/Imperative.ts similarity index 96% rename from packages/imperative/src/imperative/src/__mocks__/Imperative.ts rename to packages/imperative/src/imperative/__mocks__/Imperative.ts index c35c52b03f..8aa9a381a2 100644 --- a/packages/imperative/src/imperative/src/__mocks__/Imperative.ts +++ b/packages/imperative/src/imperative/__mocks__/Imperative.ts @@ -9,8 +9,8 @@ * */ -import { TextUtils } from "../../../utilities/"; -import { AbstractHelpGenerator, DefaultHelpGenerator, IHelpGeneratorParms, ICommandDefinition } from "../../../cmd"; +import { TextUtils } from "../../utilities/TextUtils"; +import { AbstractHelpGenerator, DefaultHelpGenerator, IHelpGeneratorParms, ICommandDefinition } from "../../cmd"; import { IImperativeConfig } from "../doc/IImperativeConfig"; const PRIMARY_COLOR: string = "yellow"; diff --git a/packages/imperative/src/imperative/src/__mocks__/LoggingConfigurer.ts b/packages/imperative/src/imperative/__mocks__/LoggingConfigurer.ts similarity index 91% rename from packages/imperative/src/imperative/src/__mocks__/LoggingConfigurer.ts rename to packages/imperative/src/imperative/__mocks__/LoggingConfigurer.ts index 8ce0eb927b..e89b7ebf27 100644 --- a/packages/imperative/src/imperative/src/__mocks__/LoggingConfigurer.ts +++ b/packages/imperative/src/imperative/__mocks__/LoggingConfigurer.ts @@ -9,12 +9,12 @@ * */ -import { IConfigLogging } from "../../../logger"; +import { IConfigLogging } from "../../logger"; const LoggingConfigurer: any = (jest.genMockFromModule("../LoggingConfigurer") as any).LoggingConfigurer; -const {Logger} = (jest as any).requireActual("../../../logger"); +const {Logger} = (jest as any).requireActual("../../logger"); LoggingConfigurer.configureLogger.mockImplementation((): IConfigLogging => { return { diff --git a/packages/imperative/src/imperative/src/api/ImperativeApi.ts b/packages/imperative/src/imperative/api/ImperativeApi.ts similarity index 94% rename from packages/imperative/src/imperative/src/api/ImperativeApi.ts rename to packages/imperative/src/imperative/api/ImperativeApi.ts index 5011223b6c..79f0794441 100644 --- a/packages/imperative/src/imperative/src/api/ImperativeApi.ts +++ b/packages/imperative/src/imperative/api/ImperativeApi.ts @@ -11,9 +11,9 @@ import { IImperativeConfig } from "../doc/IImperativeConfig"; import { IImperativeApi } from "./doc/IImperativeApi"; -import { Logger } from "../../../logger"; -import { ProfileUtils } from "../../../profiles"; -import { CliProfileManager } from "../../../cmd"; +import { Logger } from "../../logger"; +import { ProfileUtils } from "../../profiles"; +import { CliProfileManager } from "../../cmd"; export class ImperativeApi { /** diff --git a/packages/imperative/src/imperative/src/api/doc/IImperativeApi.ts b/packages/imperative/src/imperative/api/doc/IImperativeApi.ts similarity index 90% rename from packages/imperative/src/imperative/src/api/doc/IImperativeApi.ts rename to packages/imperative/src/imperative/api/doc/IImperativeApi.ts index dd8ea34fdc..f1b44a2ae8 100644 --- a/packages/imperative/src/imperative/src/api/doc/IImperativeApi.ts +++ b/packages/imperative/src/imperative/api/doc/IImperativeApi.ts @@ -9,7 +9,7 @@ * */ -import { Logger } from "../../../../logger"; +import { Logger } from "../../../logger"; export interface IImperativeApi { "imperativeLogger": Logger; diff --git a/packages/imperative/src/imperative/src/auth/__tests__/AuthLoginCommandBuilder.unit.test.ts b/packages/imperative/src/imperative/auth/__tests__/AuthLoginCommandBuilder.unit.test.ts similarity index 89% rename from packages/imperative/src/imperative/src/auth/__tests__/AuthLoginCommandBuilder.unit.test.ts rename to packages/imperative/src/imperative/auth/__tests__/AuthLoginCommandBuilder.unit.test.ts index 1cf32cf590..b9ad25ea1d 100644 --- a/packages/imperative/src/imperative/src/auth/__tests__/AuthLoginCommandBuilder.unit.test.ts +++ b/packages/imperative/src/imperative/auth/__tests__/AuthLoginCommandBuilder.unit.test.ts @@ -10,10 +10,10 @@ */ import { AuthLoginCommandBuilder } from "../builders/AuthLoginCommandBuilder"; -import { Logger } from "../../../../logger"; -import { Constants } from "../../../../constants"; +import { Logger } from "../../../../src/logger"; +import { Constants } from "../../../../src/constants"; import { minimalAuthConfig } from "./__data__/SampleAuthConfig"; -import { ICommandDefinition } from "../../../../cmd"; +import { ICommandDefinition } from "../../../../src/cmd"; describe("AuthLoginCommandBuilder", () => { diff --git a/packages/imperative/src/imperative/src/auth/__tests__/AuthLogoutCommandBuilder.unit.test.ts b/packages/imperative/src/imperative/auth/__tests__/AuthLogoutCommandBuilder.unit.test.ts similarity index 89% rename from packages/imperative/src/imperative/src/auth/__tests__/AuthLogoutCommandBuilder.unit.test.ts rename to packages/imperative/src/imperative/auth/__tests__/AuthLogoutCommandBuilder.unit.test.ts index c6921116ba..05307ae12b 100644 --- a/packages/imperative/src/imperative/src/auth/__tests__/AuthLogoutCommandBuilder.unit.test.ts +++ b/packages/imperative/src/imperative/auth/__tests__/AuthLogoutCommandBuilder.unit.test.ts @@ -10,10 +10,10 @@ */ import { AuthLogoutCommandBuilder } from "../builders/AuthLogoutCommandBuilder"; -import { Logger } from "../../../../logger"; -import { Constants } from "../../../../constants"; +import { Logger } from "../../../../src/logger"; +import { Constants } from "../../../../src/constants"; import { minimalAuthConfig } from "./__data__/SampleAuthConfig"; -import { ICommandDefinition } from "../../../../cmd"; +import { ICommandDefinition } from "../../../../src/cmd"; describe("AuthLogoutCommandBuilder", () => { it("should build command successfully if valid auth config supplied", () => { diff --git a/packages/imperative/src/imperative/src/auth/__tests__/BaseAuthHandler.config.unit.test.ts b/packages/imperative/src/imperative/auth/__tests__/BaseAuthHandler.config.unit.test.ts similarity index 98% rename from packages/imperative/src/imperative/src/auth/__tests__/BaseAuthHandler.config.unit.test.ts rename to packages/imperative/src/imperative/auth/__tests__/BaseAuthHandler.config.unit.test.ts index e4ebcf3690..ed1ff613a4 100644 --- a/packages/imperative/src/imperative/src/auth/__tests__/BaseAuthHandler.config.unit.test.ts +++ b/packages/imperative/src/imperative/auth/__tests__/BaseAuthHandler.config.unit.test.ts @@ -9,17 +9,17 @@ * */ -jest.mock("../../../../logger/src/LoggerUtils"); +jest.mock("../../../../src/logger/LoggerUtils"); import * as fs from "fs"; import * as path from "path"; import * as lodash from "lodash"; -import { IHandlerParameters } from "../../../../cmd"; -import { SessConstants } from "../../../../rest"; -import { ImperativeConfig } from "../../../../utilities"; -import { Config } from "../../../../config"; -import { IConfigSecure } from "../../../../config/src/doc/IConfigSecure"; +import { IHandlerParameters } from "../../../../src/cmd"; +import { SessConstants } from "../../../../src/rest"; +import { ImperativeConfig } from "../../../../src/utilities/ImperativeConfig"; +import { Config } from "../../../../src/config"; +import { IConfigSecure } from "../../../../src/config/doc/IConfigSecure"; import FakeAuthHandler from "./__data__/FakeAuthHandler"; -import { CredentialManagerFactory } from "../../../../security"; +import { CredentialManagerFactory } from "../../../../src/security"; import { ImperativeError } from "../../../.."; const MY_APP = "my_app"; diff --git a/packages/imperative/src/imperative/src/auth/__tests__/BaseAuthHandler.unit.test.ts b/packages/imperative/src/imperative/auth/__tests__/BaseAuthHandler.unit.test.ts similarity index 98% rename from packages/imperative/src/imperative/src/auth/__tests__/BaseAuthHandler.unit.test.ts rename to packages/imperative/src/imperative/auth/__tests__/BaseAuthHandler.unit.test.ts index e05e1e899f..7c119ef033 100644 --- a/packages/imperative/src/imperative/src/auth/__tests__/BaseAuthHandler.unit.test.ts +++ b/packages/imperative/src/imperative/auth/__tests__/BaseAuthHandler.unit.test.ts @@ -9,9 +9,9 @@ * */ -import { IHandlerParameters } from "../../../../cmd"; +import { IHandlerParameters } from "../../../../src/cmd"; import { Imperative } from "../../Imperative"; -import { ImperativeConfig } from "../../../.."; +import { ImperativeConfig } from "../../../../src/utilities/ImperativeConfig"; import FakeAuthHandler from "./__data__/FakeAuthHandler"; describe("BaseAuthHandler", () => { diff --git a/packages/imperative/src/imperative/src/auth/__tests__/CompleteAuthGroupBuilder.unit.test.ts b/packages/imperative/src/imperative/auth/__tests__/CompleteAuthGroupBuilder.unit.test.ts similarity index 90% rename from packages/imperative/src/imperative/src/auth/__tests__/CompleteAuthGroupBuilder.unit.test.ts rename to packages/imperative/src/imperative/auth/__tests__/CompleteAuthGroupBuilder.unit.test.ts index 47defee1ab..1a3ae28350 100644 --- a/packages/imperative/src/imperative/src/auth/__tests__/CompleteAuthGroupBuilder.unit.test.ts +++ b/packages/imperative/src/imperative/auth/__tests__/CompleteAuthGroupBuilder.unit.test.ts @@ -10,9 +10,9 @@ */ import { CompleteAuthGroupBuilder } from "../builders/CompleteAuthGroupBuilder"; -import { Logger } from "../../../../logger"; -import { ICommandProfileAuthConfig } from "../../../../cmd/src/doc/profiles/definition/ICommandProfileAuthConfig"; -import { ICommandDefinition } from "../../../../cmd"; +import { Logger } from "../../../../src/logger"; +import { ICommandProfileAuthConfig } from "../../../../src/cmd/doc/profiles/definition/ICommandProfileAuthConfig"; +import { ICommandDefinition } from "../../../../src/cmd"; import { fakeAuthConfig } from "./__data__/SampleAuthConfig"; import { IImperativeAuthGroupConfig } from "../../doc/IImperativeAuthGroupConfig"; diff --git a/packages/imperative/src/imperative/src/auth/__tests__/__data__/FakeAuthHandler.ts b/packages/imperative/src/imperative/auth/__tests__/__data__/FakeAuthHandler.ts similarity index 93% rename from packages/imperative/src/imperative/src/auth/__tests__/__data__/FakeAuthHandler.ts rename to packages/imperative/src/imperative/auth/__tests__/__data__/FakeAuthHandler.ts index cb3cf08431..4586208305 100644 --- a/packages/imperative/src/imperative/src/auth/__tests__/__data__/FakeAuthHandler.ts +++ b/packages/imperative/src/imperative/auth/__tests__/__data__/FakeAuthHandler.ts @@ -10,8 +10,8 @@ */ import { BaseAuthHandler } from "../../handlers/BaseAuthHandler"; -import { ICommandArguments } from "../../../../../cmd"; -import { ISession, AbstractSession, SessConstants } from "../../../../../rest"; +import { ICommandArguments } from "../../../../cmd"; +import { ISession, AbstractSession, SessConstants } from "../../../../rest"; export default class FakeAuthHandler extends BaseAuthHandler { public mProfileType: string = "fruit"; diff --git a/packages/imperative/src/imperative/src/auth/__tests__/__data__/SampleAuthConfig.ts b/packages/imperative/src/imperative/auth/__tests__/__data__/SampleAuthConfig.ts similarity index 100% rename from packages/imperative/src/imperative/src/auth/__tests__/__data__/SampleAuthConfig.ts rename to packages/imperative/src/imperative/auth/__tests__/__data__/SampleAuthConfig.ts diff --git a/packages/imperative/src/imperative/src/auth/__tests__/__resources__/auth.config.json b/packages/imperative/src/imperative/auth/__tests__/__resources__/auth.config.json similarity index 100% rename from packages/imperative/src/imperative/src/auth/__tests__/__resources__/auth.config.json rename to packages/imperative/src/imperative/auth/__tests__/__resources__/auth.config.json diff --git a/packages/imperative/src/imperative/src/auth/__tests__/__resources__/no_auth.config.json b/packages/imperative/src/imperative/auth/__tests__/__resources__/no_auth.config.json similarity index 100% rename from packages/imperative/src/imperative/src/auth/__tests__/__resources__/no_auth.config.json rename to packages/imperative/src/imperative/auth/__tests__/__resources__/no_auth.config.json diff --git a/packages/imperative/src/imperative/src/auth/__tests__/__snapshots__/CompleteAuthGroupBuilder.unit.test.ts.snap b/packages/imperative/src/imperative/auth/__tests__/__snapshots__/CompleteAuthGroupBuilder.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/imperative/src/auth/__tests__/__snapshots__/CompleteAuthGroupBuilder.unit.test.ts.snap rename to packages/imperative/src/imperative/auth/__tests__/__snapshots__/CompleteAuthGroupBuilder.unit.test.ts.snap diff --git a/packages/imperative/src/imperative/src/auth/builders/AuthCommandBuilder.ts b/packages/imperative/src/imperative/auth/builders/AuthCommandBuilder.ts similarity index 85% rename from packages/imperative/src/imperative/src/auth/builders/AuthCommandBuilder.ts rename to packages/imperative/src/imperative/auth/builders/AuthCommandBuilder.ts index 8897d86214..1448ddf38c 100644 --- a/packages/imperative/src/imperative/src/auth/builders/AuthCommandBuilder.ts +++ b/packages/imperative/src/imperative/auth/builders/AuthCommandBuilder.ts @@ -9,11 +9,11 @@ * */ -import { AbstractCommandBuilder } from "../../../../cmd/src/builders/AbstractCommandBuilder"; -import { ICommandDefinition } from "../../../../cmd"; -import { Logger } from "../../../../logger"; -import { ICommandProfileAuthConfig } from "../../../../cmd/src/doc/profiles/definition/ICommandProfileAuthConfig"; -import { ImperativeError } from "../../../../error"; +import { AbstractCommandBuilder } from "../../../cmd/builders/AbstractCommandBuilder"; +import { ICommandDefinition } from "../../../cmd"; +import { Logger } from "../../../logger"; +import { ICommandProfileAuthConfig } from "../../../cmd/doc/profiles/definition/ICommandProfileAuthConfig"; +import { ImperativeError } from "../../../error"; /** * Abstract class for generating auth-related commands diff --git a/packages/imperative/src/imperative/src/auth/builders/AuthLoginCommandBuilder.ts b/packages/imperative/src/imperative/auth/builders/AuthLoginCommandBuilder.ts similarity index 93% rename from packages/imperative/src/imperative/src/auth/builders/AuthLoginCommandBuilder.ts rename to packages/imperative/src/imperative/auth/builders/AuthLoginCommandBuilder.ts index 169722f28f..55cc043aa5 100644 --- a/packages/imperative/src/imperative/src/auth/builders/AuthLoginCommandBuilder.ts +++ b/packages/imperative/src/imperative/auth/builders/AuthLoginCommandBuilder.ts @@ -10,10 +10,10 @@ */ import { AuthCommandBuilder } from "./AuthCommandBuilder"; -import { ICommandDefinition } from "../../../../cmd"; -import { authLoginCommandDesc, authLoginShowTokenDesc } from "../../../../messages"; -import { Constants } from "../../../../constants"; -import { TextUtils } from "../../../../utilities"; +import { ICommandDefinition } from "../../../cmd"; +import { authLoginCommandDesc, authLoginShowTokenDesc } from "../../../messages"; +import { Constants } from "../../../constants"; +import { TextUtils } from "../../../utilities/TextUtils"; /** * Used to build auth login command definitions. diff --git a/packages/imperative/src/imperative/src/auth/builders/AuthLogoutCommandBuilder.ts b/packages/imperative/src/imperative/auth/builders/AuthLogoutCommandBuilder.ts similarity index 90% rename from packages/imperative/src/imperative/src/auth/builders/AuthLogoutCommandBuilder.ts rename to packages/imperative/src/imperative/auth/builders/AuthLogoutCommandBuilder.ts index 9292085126..d724332529 100644 --- a/packages/imperative/src/imperative/src/auth/builders/AuthLogoutCommandBuilder.ts +++ b/packages/imperative/src/imperative/auth/builders/AuthLogoutCommandBuilder.ts @@ -10,10 +10,10 @@ */ import { AuthCommandBuilder } from "./AuthCommandBuilder"; -import { ICommandDefinition } from "../../../../cmd"; -import { authLogoutCommandDesc } from "../../../../messages"; -import { Constants } from "../../../../constants"; -import { TextUtils } from "../../../../utilities"; +import { ICommandDefinition } from "../../../cmd"; +import { authLogoutCommandDesc } from "../../../messages"; +import { Constants } from "../../../constants"; +import { TextUtils } from "../../../utilities/TextUtils"; /** * Used to build auth logout command definitions. diff --git a/packages/imperative/src/imperative/src/auth/builders/CompleteAuthGroupBuilder.ts b/packages/imperative/src/imperative/auth/builders/CompleteAuthGroupBuilder.ts similarity index 91% rename from packages/imperative/src/imperative/src/auth/builders/CompleteAuthGroupBuilder.ts rename to packages/imperative/src/imperative/auth/builders/CompleteAuthGroupBuilder.ts index ddc1fe40e8..05215789c1 100644 --- a/packages/imperative/src/imperative/src/auth/builders/CompleteAuthGroupBuilder.ts +++ b/packages/imperative/src/imperative/auth/builders/CompleteAuthGroupBuilder.ts @@ -9,17 +9,17 @@ * */ -import { ICommandDefinition } from "../../../../cmd"; +import { ICommandDefinition } from "../../../cmd"; import { authCategoryDesc, authCategorySummary, authLoginGroupDesc, authLoginGroupSummary, authLogoutGroupDesc, authLogoutGroupSummary -} from "../../../../messages"; -import { Constants } from "../../../../constants"; +} from "../../../messages"; +import { Constants } from "../../../constants"; import { AuthLoginCommandBuilder } from "./AuthLoginCommandBuilder"; import { AuthLogoutCommandBuilder } from "./AuthLogoutCommandBuilder"; -import { Logger } from "../../../../logger/index"; -import { ICommandProfileAuthConfig } from "../../../../cmd/src/doc/profiles/definition/ICommandProfileAuthConfig"; +import { Logger } from "../../../logger/index"; +import { ICommandProfileAuthConfig } from "../../../cmd/doc/profiles/definition/ICommandProfileAuthConfig"; import { IImperativeAuthGroupConfig } from "../../doc/IImperativeAuthGroupConfig"; /** diff --git a/packages/imperative/src/imperative/src/auth/doc/IAuthHandlerApi.ts b/packages/imperative/src/imperative/auth/doc/IAuthHandlerApi.ts similarity index 94% rename from packages/imperative/src/imperative/src/auth/doc/IAuthHandlerApi.ts rename to packages/imperative/src/imperative/auth/doc/IAuthHandlerApi.ts index 5920f53189..3a9aa22969 100644 --- a/packages/imperative/src/imperative/src/auth/doc/IAuthHandlerApi.ts +++ b/packages/imperative/src/imperative/auth/doc/IAuthHandlerApi.ts @@ -9,8 +9,8 @@ * */ -import { ICommandArguments } from "../../../../cmd"; -import { AbstractSession, IOptionsForAddConnProps, ISession } from "../../../../rest"; +import { ICommandArguments } from "../../../cmd"; +import { AbstractSession, IOptionsForAddConnProps, ISession } from "../../../rest"; /** * Auth handler API that provides convenient functions to create a session from diff --git a/packages/imperative/src/imperative/src/auth/handlers/AbstractAuthHandler.ts b/packages/imperative/src/imperative/auth/handlers/AbstractAuthHandler.ts similarity index 94% rename from packages/imperative/src/imperative/src/auth/handlers/AbstractAuthHandler.ts rename to packages/imperative/src/imperative/auth/handlers/AbstractAuthHandler.ts index 5aceeff341..b57bdd3dbd 100644 --- a/packages/imperative/src/imperative/src/auth/handlers/AbstractAuthHandler.ts +++ b/packages/imperative/src/imperative/auth/handlers/AbstractAuthHandler.ts @@ -9,10 +9,10 @@ * */ -import { ICommandHandler, IHandlerParameters, ICommandArguments } from "../../../../cmd"; -import { Constants } from "../../../../constants"; -import { ISession, SessConstants } from "../../../../rest"; -import { ImperativeError } from "../../../../error"; +import { ICommandHandler, IHandlerParameters, ICommandArguments } from "../../../cmd"; +import { Constants } from "../../../constants"; +import { ISession, SessConstants } from "../../../rest"; +import { ImperativeError } from "../../../error"; import { IAuthHandlerApi } from "../doc/IAuthHandlerApi"; /** diff --git a/packages/imperative/src/imperative/src/auth/handlers/BaseAuthHandler.ts b/packages/imperative/src/imperative/auth/handlers/BaseAuthHandler.ts similarity index 96% rename from packages/imperative/src/imperative/src/auth/handlers/BaseAuthHandler.ts rename to packages/imperative/src/imperative/auth/handlers/BaseAuthHandler.ts index 6a99f418bb..ea7ede2ce3 100644 --- a/packages/imperative/src/imperative/src/auth/handlers/BaseAuthHandler.ts +++ b/packages/imperative/src/imperative/auth/handlers/BaseAuthHandler.ts @@ -9,7 +9,7 @@ * */ -import { IHandlerParameters, IHandlerResponseApi } from "../../../../cmd"; +import { IHandlerParameters, IHandlerResponseApi } from "../../../cmd"; import { AbstractSession, ConnectionPropsForSessCfg, @@ -17,12 +17,12 @@ import { RestConstants, SessConstants, Session -} from "../../../../rest"; +} from "../../../rest"; import { Imperative } from "../../Imperative"; -import { IImperativeError, ImperativeError } from "../../../../error"; -import { ISaveProfileFromCliArgs } from "../../../../profiles"; -import { ImperativeConfig } from "../../../../utilities"; -import { getActiveProfileName, secureSaveError } from "../../../../config/src/ConfigUtils"; +import { IImperativeError, ImperativeError } from "../../../error"; +import { ISaveProfileFromCliArgs } from "../../../profiles"; +import { ImperativeConfig } from "../../../utilities"; +import { ConfigUtils } from "../../../config/ConfigUtils"; import { AbstractAuthHandler } from "./AbstractAuthHandler"; import { IAuthHandlerApi } from "../doc/IAuthHandlerApi"; @@ -102,7 +102,8 @@ export abstract class BaseAuthHandler extends AbstractAuthHandler { // process login for old school profiles await this.processLoginOld(params, tokenValue); } else if (ImperativeConfig.instance.config.api.secure.loadFailed) { - throw secureSaveError(`Instead of secure storage, rerun this command with the "--show-token" flag to print the token to console. ` + + throw ConfigUtils.secureSaveError( + `Instead of secure storage, rerun this command with the "--show-token" flag to print the token to console. ` + `Store the token in an environment variable ${ImperativeConfig.instance.loadedConfig.envVariablePrefix}_OPT_TOKEN_VALUE to use it ` + `in future commands.`); } else { @@ -161,7 +162,7 @@ export abstract class BaseAuthHandler extends AbstractAuthHandler { } private getBaseProfileName(params: IHandlerParameters): string { - return getActiveProfileName(this.mProfileType, params.arguments, `${this.mProfileType}_${params.positionals[2]}`); + return ConfigUtils.getActiveProfileName(this.mProfileType, params.arguments, `${this.mProfileType}_${params.positionals[2]}`); } private async promptForBaseProfile(params: IHandlerParameters, profileName: string): Promise { diff --git a/packages/imperative/src/imperative/src/config/ConfigManagementFacility.ts b/packages/imperative/src/imperative/config/ConfigManagementFacility.ts similarity index 98% rename from packages/imperative/src/imperative/src/config/ConfigManagementFacility.ts rename to packages/imperative/src/imperative/config/ConfigManagementFacility.ts index 22dd7ff124..d3325bf1e3 100644 --- a/packages/imperative/src/imperative/src/config/ConfigManagementFacility.ts +++ b/packages/imperative/src/imperative/config/ConfigManagementFacility.ts @@ -10,7 +10,7 @@ */ import { UpdateImpConfig } from "../UpdateImpConfig"; -import { Logger } from "../../../logger"; +import { Logger } from "../../logger"; import { listDefinition } from "./cmd/list/list.definition"; import { initDefinition } from "./cmd/init/init.definition"; import { schemaDefinition } from "./cmd/schema/schema.definition"; diff --git a/packages/imperative/src/imperative/src/config/__mocks__/ConfigManagementFacility.ts b/packages/imperative/src/imperative/config/__mocks__/ConfigManagementFacility.ts similarity index 100% rename from packages/imperative/src/imperative/src/config/__mocks__/ConfigManagementFacility.ts rename to packages/imperative/src/imperative/config/__mocks__/ConfigManagementFacility.ts diff --git a/packages/imperative/src/imperative/src/config/cmd/auto-init/AutoInitConstants.ts b/packages/imperative/src/imperative/config/cmd/auto-init/AutoInitConstants.ts similarity index 98% rename from packages/imperative/src/imperative/src/config/cmd/auto-init/AutoInitConstants.ts rename to packages/imperative/src/imperative/config/cmd/auto-init/AutoInitConstants.ts index e5dbfd1e81..b07a66bf39 100644 --- a/packages/imperative/src/imperative/src/config/cmd/auto-init/AutoInitConstants.ts +++ b/packages/imperative/src/imperative/config/cmd/auto-init/AutoInitConstants.ts @@ -9,7 +9,7 @@ * */ -import { ICommandOptionDefinition } from "../../../../../cmd"; +import { ICommandOptionDefinition } from "../../../../cmd"; export class AutoInitConstants { public static AUTO_INIT_OPTION_GROUP = "Automatic Config Initialization Options"; diff --git a/packages/imperative/src/imperative/src/config/cmd/auto-init/builders/AutoInitCommandBuilder.ts b/packages/imperative/src/imperative/config/cmd/auto-init/builders/AutoInitCommandBuilder.ts similarity index 86% rename from packages/imperative/src/imperative/src/config/cmd/auto-init/builders/AutoInitCommandBuilder.ts rename to packages/imperative/src/imperative/config/cmd/auto-init/builders/AutoInitCommandBuilder.ts index 32c290f339..a52135bcde 100644 --- a/packages/imperative/src/imperative/src/config/cmd/auto-init/builders/AutoInitCommandBuilder.ts +++ b/packages/imperative/src/imperative/config/cmd/auto-init/builders/AutoInitCommandBuilder.ts @@ -9,14 +9,14 @@ * */ -import { AbstractCommandBuilder } from "../../../../../../cmd/src/builders/AbstractCommandBuilder"; -import { ICommandDefinition } from "../../../../../../cmd"; -import { Logger } from "../../../../../../logger"; -import { ICommandProfileAutoInitConfig } from "../../../../../../cmd/src/doc/profiles/definition/ICommandProfileAutoInitConfig"; -import { ImperativeError } from "../../../../../../error"; -import { TextUtils } from "../../../../../../utilities"; -import { autoInitCommandDesc, autoInitCommandSummary } from "../../../../../../messages"; -import { Constants } from "../../../../../../constants"; +import { AbstractCommandBuilder } from "../../../../../cmd/builders/AbstractCommandBuilder"; +import { ICommandDefinition } from "../../../../../cmd"; +import { Logger } from "../../../../../logger"; +import { ICommandProfileAutoInitConfig } from "../../../../../cmd/doc/profiles/definition/ICommandProfileAutoInitConfig"; +import { ImperativeError } from "../../../../../error"; +import { TextUtils } from "../../../../../utilities/TextUtils"; +import { autoInitCommandDesc, autoInitCommandSummary } from "../../../../../messages"; +import { Constants } from "../../../../../constants"; import { AutoInitConstants } from "../AutoInitConstants"; /** diff --git a/packages/imperative/src/imperative/src/config/cmd/auto-init/builders/CompleteAutoInitCommandBuilder.ts b/packages/imperative/src/imperative/config/cmd/auto-init/builders/CompleteAutoInitCommandBuilder.ts similarity index 82% rename from packages/imperative/src/imperative/src/config/cmd/auto-init/builders/CompleteAutoInitCommandBuilder.ts rename to packages/imperative/src/imperative/config/cmd/auto-init/builders/CompleteAutoInitCommandBuilder.ts index 50587b2904..a1c4001f18 100644 --- a/packages/imperative/src/imperative/src/config/cmd/auto-init/builders/CompleteAutoInitCommandBuilder.ts +++ b/packages/imperative/src/imperative/config/cmd/auto-init/builders/CompleteAutoInitCommandBuilder.ts @@ -9,10 +9,10 @@ * */ -import { ICommandDefinition } from "../../../../../../cmd"; +import { ICommandDefinition } from "../../../../../cmd"; import { AutoInitCommandBuilder } from "./AutoInitCommandBuilder"; -import { Logger } from "../../../../../../logger/index"; -import { ICommandProfileAutoInitConfig } from "../../../../../../cmd/src/doc/profiles/definition/ICommandProfileAutoInitConfig"; +import { Logger } from "../../../../../logger/index"; +import { ICommandProfileAutoInitConfig } from "../../../../../cmd/doc/profiles/definition/ICommandProfileAutoInitConfig"; /** * Generate a complete command for automatic initialization of a user configuration diff --git a/packages/imperative/src/imperative/src/config/cmd/auto-init/handlers/BaseAutoInitHandler.ts b/packages/imperative/src/imperative/config/cmd/auto-init/handlers/BaseAutoInitHandler.ts similarity index 96% rename from packages/imperative/src/imperative/src/config/cmd/auto-init/handlers/BaseAutoInitHandler.ts rename to packages/imperative/src/imperative/config/cmd/auto-init/handlers/BaseAutoInitHandler.ts index 193ae1a1d0..f29c558f78 100644 --- a/packages/imperative/src/imperative/src/config/cmd/auto-init/handlers/BaseAutoInitHandler.ts +++ b/packages/imperative/src/imperative/config/cmd/auto-init/handlers/BaseAutoInitHandler.ts @@ -9,13 +9,15 @@ * */ -import { ICommandHandler, IHandlerParameters, ICommandArguments, IHandlerResponseApi } from "../../../../../../cmd"; -import { ISession, ConnectionPropsForSessCfg, Session, AbstractSession } from "../../../../../../rest"; -import { ConfigConstants, ConfigSchema, IConfig } from "../../../../../../config"; +import { ICommandHandler, IHandlerParameters, ICommandArguments, IHandlerResponseApi } from "../../../../../cmd"; +import { ISession, ConnectionPropsForSessCfg, Session, AbstractSession } from "../../../../../rest"; +import { ConfigConstants, ConfigSchema, IConfig } from "../../../../../config"; import { diff } from "jest-diff"; import * as JSONC from "comment-json"; import * as lodash from "lodash"; -import { ImperativeConfig, ProcessUtils, TextUtils } from "../../../../../../utilities"; +import { ImperativeConfig } from "../../../../../utilities/ImperativeConfig"; +import { ProcessUtils } from "../../../../../utilities/ProcessUtils"; +import { TextUtils } from "../../../../../utilities/TextUtils"; import { OverridesLoader } from "../../../../OverridesLoader"; import stripAnsi = require("strip-ansi"); diff --git a/packages/imperative/src/imperative/src/config/cmd/convert-profiles/convert-profiles.definition.ts b/packages/imperative/src/imperative/config/cmd/convert-profiles/convert-profiles.definition.ts similarity index 92% rename from packages/imperative/src/imperative/src/config/cmd/convert-profiles/convert-profiles.definition.ts rename to packages/imperative/src/imperative/config/cmd/convert-profiles/convert-profiles.definition.ts index 7b54f3294b..99912335f3 100644 --- a/packages/imperative/src/imperative/src/config/cmd/convert-profiles/convert-profiles.definition.ts +++ b/packages/imperative/src/imperative/config/cmd/convert-profiles/convert-profiles.definition.ts @@ -10,8 +10,8 @@ */ import { join } from "path"; -import { ICommandDefinition } from "../../../../../cmd"; -import { ImperativeConfig } from "../../../../../utilities"; +import { ICommandDefinition } from "../../../../cmd"; +import { ImperativeConfig } from "../../../../utilities"; /** * Definition of the convert-profiles command. diff --git a/packages/imperative/src/imperative/src/config/cmd/convert-profiles/convert-profiles.handler.ts b/packages/imperative/src/imperative/config/cmd/convert-profiles/convert-profiles.handler.ts similarity index 98% rename from packages/imperative/src/imperative/src/config/cmd/convert-profiles/convert-profiles.handler.ts rename to packages/imperative/src/imperative/config/cmd/convert-profiles/convert-profiles.handler.ts index 43c7113c2c..1e8fc3db48 100644 --- a/packages/imperative/src/imperative/src/config/cmd/convert-profiles/convert-profiles.handler.ts +++ b/packages/imperative/src/imperative/config/cmd/convert-profiles/convert-profiles.handler.ts @@ -13,11 +13,11 @@ import * as fs from "fs"; import { removeSync } from "fs-extra"; import * as path from "path"; import { keyring as keytar } from "@zowe/secrets-for-zowe-sdk"; -import { ICommandHandler, IHandlerParameters } from "../../../../../cmd"; -import { ConfigBuilder, ConfigSchema } from "../../../../../config"; -import { ProfileIO, ProfileUtils } from "../../../../../profiles"; -import { ImperativeConfig } from "../../../../../utilities"; -import { AppSettings } from "../../../../../settings"; +import { ICommandHandler, IHandlerParameters } from "../../../../cmd"; +import { ConfigBuilder, ConfigSchema } from "../../../../config"; +import { ProfileIO, ProfileUtils } from "../../../../profiles"; +import { ImperativeConfig } from "../../../../utilities/ImperativeConfig"; +import { AppSettings } from "../../../../settings"; import { PluginIssues } from "../../../plugins/utilities/PluginIssues"; import { uninstall as uninstallPlugin } from "../../../plugins/utilities/npm-interface"; import { OverridesLoader } from "../../../OverridesLoader"; diff --git a/packages/imperative/src/imperative/src/config/cmd/edit/edit.definition.ts b/packages/imperative/src/imperative/config/cmd/edit/edit.definition.ts similarity index 96% rename from packages/imperative/src/imperative/src/config/cmd/edit/edit.definition.ts rename to packages/imperative/src/imperative/config/cmd/edit/edit.definition.ts index 56c82804f4..ba0c03b1e2 100644 --- a/packages/imperative/src/imperative/src/config/cmd/edit/edit.definition.ts +++ b/packages/imperative/src/imperative/config/cmd/edit/edit.definition.ts @@ -9,7 +9,7 @@ * */ -import { ICommandDefinition } from "../../../../../cmd"; +import { ICommandDefinition } from "../../../../cmd"; import { join } from "path"; /** diff --git a/packages/imperative/src/imperative/src/config/cmd/edit/edit.handler.ts b/packages/imperative/src/imperative/config/cmd/edit/edit.handler.ts similarity index 90% rename from packages/imperative/src/imperative/src/config/cmd/edit/edit.handler.ts rename to packages/imperative/src/imperative/config/cmd/edit/edit.handler.ts index ec7ed8e733..9aa441bfc4 100644 --- a/packages/imperative/src/imperative/src/config/cmd/edit/edit.handler.ts +++ b/packages/imperative/src/imperative/config/cmd/edit/edit.handler.ts @@ -9,8 +9,9 @@ * */ -import { ICommandHandler, IHandlerParameters } from "../../../../../cmd"; -import { ImperativeConfig, ProcessUtils } from "../../../../../utilities"; +import { ICommandHandler, IHandlerParameters } from "../../../../cmd"; +import { ProcessUtils } from "../../../../utilities/ProcessUtils"; +import { ImperativeConfig } from "../../../../utilities/ImperativeConfig"; /** * Edit config diff --git a/packages/imperative/src/imperative/src/config/cmd/import/import.definition.ts b/packages/imperative/src/imperative/config/cmd/import/import.definition.ts similarity index 98% rename from packages/imperative/src/imperative/src/config/cmd/import/import.definition.ts rename to packages/imperative/src/imperative/config/cmd/import/import.definition.ts index 473021c773..f9c0f53a3a 100644 --- a/packages/imperative/src/imperative/src/config/cmd/import/import.definition.ts +++ b/packages/imperative/src/imperative/config/cmd/import/import.definition.ts @@ -10,7 +10,7 @@ */ import { join } from "path"; -import { ICommandDefinition } from "../../../../../cmd"; +import { ICommandDefinition } from "../../../../cmd"; const CONNECTION_OPTION_GROUP = "Connection Options"; diff --git a/packages/imperative/src/imperative/src/config/cmd/import/import.handler.ts b/packages/imperative/src/imperative/config/cmd/import/import.handler.ts similarity index 95% rename from packages/imperative/src/imperative/src/config/cmd/import/import.handler.ts rename to packages/imperative/src/imperative/config/cmd/import/import.handler.ts index 5d9d4791e6..f07393e4d2 100644 --- a/packages/imperative/src/imperative/src/config/cmd/import/import.handler.ts +++ b/packages/imperative/src/imperative/config/cmd/import/import.handler.ts @@ -13,11 +13,12 @@ import * as fs from "fs"; import * as path from "path"; import { fileURLToPath, pathToFileURL, URL } from "url"; import * as JSONC from "comment-json"; -import { ICommandHandler, IHandlerParameters } from "../../../../../cmd"; -import { ImperativeError } from "../../../../../error"; -import { ImperativeConfig, TextUtils } from "../../../../../utilities"; -import { IConfig } from "../../../../../config"; -import { RestClient, Session, SessConstants } from "../../../../../rest"; +import { ICommandHandler, IHandlerParameters } from "../../../../cmd"; +import { ImperativeError } from "../../../../error"; +import { ImperativeConfig } from "../../../../utilities/ImperativeConfig"; +import { TextUtils } from "../../../../utilities/TextUtils"; +import { IConfig } from "../../../../config"; +import { RestClient, Session, SessConstants } from "../../../../rest"; /** * Import config diff --git a/packages/imperative/src/imperative/src/config/cmd/init/init.definition.ts b/packages/imperative/src/imperative/config/cmd/init/init.definition.ts similarity index 97% rename from packages/imperative/src/imperative/src/config/cmd/init/init.definition.ts rename to packages/imperative/src/imperative/config/cmd/init/init.definition.ts index 0b0e0c0239..301228f2df 100644 --- a/packages/imperative/src/imperative/src/config/cmd/init/init.definition.ts +++ b/packages/imperative/src/imperative/config/cmd/init/init.definition.ts @@ -9,9 +9,9 @@ * */ -import { ICommandDefinition } from "../../../../../cmd"; +import { ICommandDefinition } from "../../../../cmd"; import { join } from "path"; -import { ImperativeConfig } from "../../../../../utilities"; +import { ImperativeConfig } from "../../../../utilities/ImperativeConfig"; /** * Definition of the init command. diff --git a/packages/imperative/src/imperative/src/config/cmd/init/init.handler.ts b/packages/imperative/src/imperative/config/cmd/init/init.handler.ts similarity index 92% rename from packages/imperative/src/imperative/src/config/cmd/init/init.handler.ts rename to packages/imperative/src/imperative/config/cmd/init/init.handler.ts index 66e876b65f..301d638279 100644 --- a/packages/imperative/src/imperative/src/config/cmd/init/init.handler.ts +++ b/packages/imperative/src/imperative/config/cmd/init/init.handler.ts @@ -9,19 +9,22 @@ * */ -import { ICommandHandler, IHandlerParameters } from "../../../../../cmd"; -import { ImperativeConfig, ProcessUtils, TextUtils } from "../../../../../utilities"; -import { Config, ConfigConstants, ConfigSchema, IConfig } from "../../../../../config"; -import { IProfileProperty } from "../../../../../profiles"; -import { ConfigBuilder } from "../../../../../config/src/ConfigBuilder"; -import { IConfigBuilderOpts } from "../../../../../config/src/doc/IConfigBuilderOpts"; -import { coercePropValue, secureSaveError } from "../../../../../config/src/ConfigUtils"; +import { ICommandHandler, IHandlerParameters } from "../../../../cmd"; +import { ImperativeConfig } from "../../../../utilities/ImperativeConfig"; +import { ProcessUtils } from "../../../../utilities/ProcessUtils"; +import { TextUtils } from "../../../../utilities/TextUtils"; +import { Config, ConfigConstants, ConfigSchema, IConfig } from "../../../../config"; +import { IProfileProperty } from "../../../../profiles"; +import { ConfigBuilder } from "../../../../config/ConfigBuilder"; +import { IConfigBuilderOpts } from "../../../../config/doc/IConfigBuilderOpts"; +import { ConfigUtils } from "../../../../config/ConfigUtils"; import { OverridesLoader } from "../../../OverridesLoader"; import * as JSONC from "comment-json"; import * as lodash from "lodash"; import { diff } from "jest-diff"; import stripAnsi = require("strip-ansi"); + /** * Init config */ @@ -102,7 +105,7 @@ export default class InitHandler implements ICommandHandler { await this.initWithSchema(config, params.arguments.userConfig, params.arguments.overwrite && params.arguments.forSure); if (params.arguments.prompt !== false && config.api.secure.loadFailed && config.api.secure.secureFields().length > 0) { - const warning = secureSaveError(); + const warning = ConfigUtils.secureSaveError(); params.response.console.log(TextUtils.chalk.yellow("Warning:\n") + `${warning.message} Skipped prompting for credentials.\n\n${warning.additionalDetails}\n`); } @@ -193,7 +196,7 @@ export default class InitHandler implements ICommandHandler { // coerce to correct type if (propValue && propValue.trim().length > 0) { - return coercePropValue(propValue); + return ConfigUtils.coercePropValue(propValue); } return propValue || null; diff --git a/packages/imperative/src/imperative/src/config/cmd/list/list.definition.ts b/packages/imperative/src/imperative/config/cmd/list/list.definition.ts similarity index 97% rename from packages/imperative/src/imperative/src/config/cmd/list/list.definition.ts rename to packages/imperative/src/imperative/config/cmd/list/list.definition.ts index bbce1be259..dd6de40f41 100644 --- a/packages/imperative/src/imperative/src/config/cmd/list/list.definition.ts +++ b/packages/imperative/src/imperative/config/cmd/list/list.definition.ts @@ -10,7 +10,7 @@ */ import { join } from "path"; -import { ICommandDefinition } from "../../../../../cmd"; +import { ICommandDefinition } from "../../../../cmd"; export const listDefinition: ICommandDefinition = { name: "list", diff --git a/packages/imperative/src/imperative/src/config/cmd/list/list.handler.ts b/packages/imperative/src/imperative/config/cmd/list/list.handler.ts similarity index 94% rename from packages/imperative/src/imperative/src/config/cmd/list/list.handler.ts rename to packages/imperative/src/imperative/config/cmd/list/list.handler.ts index 6198922be5..ca0e87f1de 100644 --- a/packages/imperative/src/imperative/src/config/cmd/list/list.handler.ts +++ b/packages/imperative/src/imperative/config/cmd/list/list.handler.ts @@ -10,9 +10,9 @@ */ import * as lodash from "lodash"; -import { ICommandHandler, IHandlerParameters } from "../../../../../cmd"; -import { ConfigConstants } from "../../../../../config"; -import { ImperativeConfig } from "../../../../../utilities"; +import { ICommandHandler, IHandlerParameters } from "../../../../cmd"; +import { ConfigConstants } from "../../../../config"; +import { ImperativeConfig } from "../../../../utilities"; export default class ListHandler implements ICommandHandler { /** diff --git a/packages/imperative/src/imperative/src/config/cmd/profiles/profiles.definition.ts b/packages/imperative/src/imperative/config/cmd/profiles/profiles.definition.ts similarity index 93% rename from packages/imperative/src/imperative/src/config/cmd/profiles/profiles.definition.ts rename to packages/imperative/src/imperative/config/cmd/profiles/profiles.definition.ts index 0da5f5e8f6..e03fb94467 100644 --- a/packages/imperative/src/imperative/src/config/cmd/profiles/profiles.definition.ts +++ b/packages/imperative/src/imperative/config/cmd/profiles/profiles.definition.ts @@ -9,7 +9,7 @@ * */ -import { ICommandDefinition } from "../../../../../cmd"; +import { ICommandDefinition } from "../../../../cmd"; import { join } from "path"; /** diff --git a/packages/imperative/src/imperative/src/config/cmd/profiles/profiles.handler.ts b/packages/imperative/src/imperative/config/cmd/profiles/profiles.handler.ts similarity index 91% rename from packages/imperative/src/imperative/src/config/cmd/profiles/profiles.handler.ts rename to packages/imperative/src/imperative/config/cmd/profiles/profiles.handler.ts index 028655b519..b6a7f23e22 100644 --- a/packages/imperative/src/imperative/src/config/cmd/profiles/profiles.handler.ts +++ b/packages/imperative/src/imperative/config/cmd/profiles/profiles.handler.ts @@ -9,9 +9,9 @@ * */ -import { ICommandHandler, IHandlerParameters } from "../../../../../cmd"; -import { IConfigProfile } from "../../../../../config"; -import { ImperativeConfig } from "../../../../../utilities"; +import { ICommandHandler, IHandlerParameters } from "../../../../cmd"; +import { IConfigProfile } from "../../../../config"; +import { ImperativeConfig } from "../../../../utilities"; /** * The get command group handler for cli configuration settings. diff --git a/packages/imperative/src/imperative/src/config/cmd/report-env/EnvItems.ts b/packages/imperative/src/imperative/config/cmd/report-env/EnvItems.ts similarity index 100% rename from packages/imperative/src/imperative/src/config/cmd/report-env/EnvItems.ts rename to packages/imperative/src/imperative/config/cmd/report-env/EnvItems.ts diff --git a/packages/imperative/src/imperative/src/config/cmd/report-env/EnvQuery.ts b/packages/imperative/src/imperative/config/cmd/report-env/EnvQuery.ts similarity index 98% rename from packages/imperative/src/imperative/src/config/cmd/report-env/EnvQuery.ts rename to packages/imperative/src/imperative/config/cmd/report-env/EnvQuery.ts index 577b7100a0..f66a5b1489 100644 --- a/packages/imperative/src/imperative/src/config/cmd/report-env/EnvQuery.ts +++ b/packages/imperative/src/imperative/config/cmd/report-env/EnvQuery.ts @@ -16,12 +16,12 @@ import * as path from "path"; import * as spawn from "cross-spawn"; import { StdioOptions } from "child_process"; -import { ConfigConstants, IConfigProfile } from "../../../../../config"; -import { IHandlerProgressApi } from "../../../../../cmd"; -import { IO } from "../../../../../io"; -import { ImperativeConfig , TextUtils } from "../../../../../utilities"; -import { ITaskWithStatus, TaskProgress, TaskStage } from "../../../../../operations"; -import { CliUtils } from "../../../../../utilities/src/CliUtils"; +import { ConfigConstants, IConfigProfile } from "../../../../config"; +import { IHandlerProgressApi } from "../../../../cmd"; +import { IO } from "../../../../io"; +import { ImperativeConfig , TextUtils } from "../../../../utilities"; +import { ITaskWithStatus, TaskProgress, TaskStage } from "../../../../operations"; +import { CliUtils } from "../../../../utilities/CliUtils"; import { IPluginJson } from "../../../plugins/doc/IPluginJson"; import { PluginIssues } from "../../../plugins/utilities/PluginIssues"; diff --git a/packages/imperative/src/imperative/src/config/cmd/report-env/Report-env.definition.ts b/packages/imperative/src/imperative/config/cmd/report-env/Report-env.definition.ts similarity index 94% rename from packages/imperative/src/imperative/src/config/cmd/report-env/Report-env.definition.ts rename to packages/imperative/src/imperative/config/cmd/report-env/Report-env.definition.ts index 8411ebf4f3..5c74932ccc 100644 --- a/packages/imperative/src/imperative/src/config/cmd/report-env/Report-env.definition.ts +++ b/packages/imperative/src/imperative/config/cmd/report-env/Report-env.definition.ts @@ -10,7 +10,7 @@ */ import { join } from "path"; -import { ICommandDefinition } from "../../../../../cmd"; +import { ICommandDefinition } from "../../../../cmd"; /** * Definition for the 'config report-env' command. diff --git a/packages/imperative/src/imperative/src/config/cmd/report-env/Report-env.handler.ts b/packages/imperative/src/imperative/config/cmd/report-env/Report-env.handler.ts similarity index 96% rename from packages/imperative/src/imperative/src/config/cmd/report-env/Report-env.handler.ts rename to packages/imperative/src/imperative/config/cmd/report-env/Report-env.handler.ts index 9b3005f989..f8b23e7160 100644 --- a/packages/imperative/src/imperative/src/config/cmd/report-env/Report-env.handler.ts +++ b/packages/imperative/src/imperative/config/cmd/report-env/Report-env.handler.ts @@ -9,10 +9,10 @@ * */ -import { ICommandHandler, IHandlerParameters, IHandlerResponseApi } from "../../../../../cmd"; +import { ICommandHandler, IHandlerParameters, IHandlerResponseApi } from "../../../../cmd"; import { ItemId } from "./EnvItems"; import { EnvQuery, IGetItemOpts } from "./EnvQuery"; -import { TextUtils } from "../../../../../utilities/src/TextUtils"; +import { TextUtils } from "../../../../utilities/TextUtils"; /** * Handler to report a user's wroking environment. diff --git a/packages/imperative/src/imperative/src/config/cmd/schema/schema.definition.ts b/packages/imperative/src/imperative/config/cmd/schema/schema.definition.ts similarity index 94% rename from packages/imperative/src/imperative/src/config/cmd/schema/schema.definition.ts rename to packages/imperative/src/imperative/config/cmd/schema/schema.definition.ts index e902517642..081f7071dd 100644 --- a/packages/imperative/src/imperative/src/config/cmd/schema/schema.definition.ts +++ b/packages/imperative/src/imperative/config/cmd/schema/schema.definition.ts @@ -9,7 +9,7 @@ * */ -import { ICommandDefinition } from "../../../../../cmd"; +import { ICommandDefinition } from "../../../../cmd"; import { join } from "path"; /** diff --git a/packages/imperative/src/imperative/src/config/cmd/schema/schema.handler.ts b/packages/imperative/src/imperative/config/cmd/schema/schema.handler.ts similarity index 87% rename from packages/imperative/src/imperative/src/config/cmd/schema/schema.handler.ts rename to packages/imperative/src/imperative/config/cmd/schema/schema.handler.ts index a89c5cbee1..962ba138f3 100644 --- a/packages/imperative/src/imperative/src/config/cmd/schema/schema.handler.ts +++ b/packages/imperative/src/imperative/config/cmd/schema/schema.handler.ts @@ -9,9 +9,9 @@ * */ -import { ICommandHandler, ICommandProfileTypeConfiguration, IHandlerParameters } from "../../../../../cmd"; -import { ConfigConstants, ConfigSchema } from "../../../../../config"; -import { ImperativeConfig } from "../../../../../utilities"; +import { ICommandHandler, ICommandProfileTypeConfiguration, IHandlerParameters } from "../../../../cmd"; +import { ConfigConstants, ConfigSchema } from "../../../../config"; +import { ImperativeConfig } from "../../../../utilities"; /** * The get command group handler for cli configuration settings. diff --git a/packages/imperative/src/imperative/src/config/cmd/secure/secure.definition.ts b/packages/imperative/src/imperative/config/cmd/secure/secure.definition.ts similarity index 96% rename from packages/imperative/src/imperative/src/config/cmd/secure/secure.definition.ts rename to packages/imperative/src/imperative/config/cmd/secure/secure.definition.ts index efe1eb1c78..01ad89e4c1 100644 --- a/packages/imperative/src/imperative/src/config/cmd/secure/secure.definition.ts +++ b/packages/imperative/src/imperative/config/cmd/secure/secure.definition.ts @@ -9,7 +9,7 @@ * */ -import { ICommandDefinition } from "../../../../../cmd"; +import { ICommandDefinition } from "../../../../cmd"; import { join } from "path"; export const secureDefinition: ICommandDefinition = { diff --git a/packages/imperative/src/imperative/src/config/cmd/secure/secure.handler.ts b/packages/imperative/src/imperative/config/cmd/secure/secure.handler.ts similarity index 91% rename from packages/imperative/src/imperative/src/config/cmd/secure/secure.handler.ts rename to packages/imperative/src/imperative/config/cmd/secure/secure.handler.ts index 3c88d79197..bd042367e9 100644 --- a/packages/imperative/src/imperative/src/config/cmd/secure/secure.handler.ts +++ b/packages/imperative/src/imperative/config/cmd/secure/secure.handler.ts @@ -9,13 +9,13 @@ * */ -import { ICommandArguments, ICommandHandler, IHandlerParameters } from "../../../../../cmd"; -import { Config, ConfigAutoStore, ConfigConstants, ConfigSchema } from "../../../../../config"; -import { coercePropValue, secureSaveError } from "../../../../../config/src/ConfigUtils"; -import { ImperativeError } from "../../../../../error"; -import { Logger } from "../../../../../logger"; -import { ConnectionPropsForSessCfg, ISession, Session } from "../../../../../rest"; -import { ImperativeConfig } from "../../../../../utilities"; +import { ICommandArguments, ICommandHandler, IHandlerParameters } from "../../../../cmd"; +import { Config, ConfigAutoStore, ConfigConstants, ConfigSchema } from "../../../../config"; +import { ConfigUtils } from "../../../../config/ConfigUtils"; +import { ImperativeError } from "../../../../error"; +import { Logger } from "../../../../logger"; +import { ConnectionPropsForSessCfg, ISession, Session } from "../../../../rest"; +import { ImperativeConfig } from "../../../../utilities"; export default class SecureHandler implements ICommandHandler { /** @@ -36,7 +36,7 @@ export default class SecureHandler implements ICommandHandler { // Setup the credential vault API for the config if (config.api.secure.loadFailed) { - throw secureSaveError(); + throw ConfigUtils.secureSaveError(); } if (params.arguments.prune) { @@ -74,7 +74,7 @@ export default class SecureHandler implements ICommandHandler { // Save the value in the config securely if (propValue) { - propValue = coercePropValue(propValue, ConfigSchema.findPropertyType(propName, config.properties)); + propValue = ConfigUtils.coercePropValue(propValue, ConfigSchema.findPropertyType(propName, config.properties)); config.set(propName, propValue, { secure: true }); } } diff --git a/packages/imperative/src/imperative/src/config/cmd/set/set.definition.ts b/packages/imperative/src/imperative/config/cmd/set/set.definition.ts similarity index 98% rename from packages/imperative/src/imperative/src/config/cmd/set/set.definition.ts rename to packages/imperative/src/imperative/config/cmd/set/set.definition.ts index b340482dcb..52e8fd7440 100644 --- a/packages/imperative/src/imperative/src/config/cmd/set/set.definition.ts +++ b/packages/imperative/src/imperative/config/cmd/set/set.definition.ts @@ -9,7 +9,7 @@ * */ -import { ICommandDefinition } from "../../../../../cmd"; +import { ICommandDefinition } from "../../../../cmd"; import { join } from "path"; export const setDefinition: ICommandDefinition = { diff --git a/packages/imperative/src/imperative/src/config/cmd/set/set.handler.ts b/packages/imperative/src/imperative/config/cmd/set/set.handler.ts similarity index 83% rename from packages/imperative/src/imperative/src/config/cmd/set/set.handler.ts rename to packages/imperative/src/imperative/config/cmd/set/set.handler.ts index 67b9795bc3..925e8cb581 100644 --- a/packages/imperative/src/imperative/src/config/cmd/set/set.handler.ts +++ b/packages/imperative/src/imperative/config/cmd/set/set.handler.ts @@ -10,11 +10,11 @@ */ import * as JSONC from "comment-json"; -import { ICommandHandler, IHandlerParameters } from "../../../../../cmd"; -import { ConfigSchema } from "../../../../../config"; -import { coercePropValue, secureSaveError } from "../../../../../config/src/ConfigUtils"; -import { ImperativeError } from "../../../../../error"; -import { ImperativeConfig } from "../../../../../utilities"; +import { ICommandHandler, IHandlerParameters } from "../../../../cmd"; +import { ConfigSchema } from "../../../../config"; +import { ConfigUtils } from "../../../../config/ConfigUtils"; +import { ImperativeError } from "../../../../error"; +import { ImperativeConfig } from "../../../../utilities"; export default class SetHandler implements ICommandHandler { @@ -39,7 +39,7 @@ export default class SetHandler implements ICommandHandler { // Setup the credential vault API for the config if (secure && config.api.secure.loadFailed) { - throw secureSaveError(); + throw ConfigUtils.secureSaveError(); } // Get the value to set @@ -57,7 +57,7 @@ export default class SetHandler implements ICommandHandler { throw new ImperativeError({ msg: `could not parse JSON value: ${e.message}` }); } } else { - value = coercePropValue(value, ConfigSchema.findPropertyType(params.arguments.property, config.properties)); + value = ConfigUtils.coercePropValue(value, ConfigSchema.findPropertyType(params.arguments.property, config.properties)); } // Set the value in the config, save the secure values, write the config layer diff --git a/packages/imperative/src/imperative/src/config/cmd/update-schemas/update-schemas.definition.ts b/packages/imperative/src/imperative/config/cmd/update-schemas/update-schemas.definition.ts similarity index 96% rename from packages/imperative/src/imperative/src/config/cmd/update-schemas/update-schemas.definition.ts rename to packages/imperative/src/imperative/config/cmd/update-schemas/update-schemas.definition.ts index 572dbcd711..4a481df97d 100644 --- a/packages/imperative/src/imperative/src/config/cmd/update-schemas/update-schemas.definition.ts +++ b/packages/imperative/src/imperative/config/cmd/update-schemas/update-schemas.definition.ts @@ -10,7 +10,7 @@ */ import { join } from "path"; -import { ICommandDefinition } from "../../../../../cmd"; +import { ICommandDefinition } from "../../../../cmd"; export const updateSchemasDefinition: ICommandDefinition = { name: "update-schemas", diff --git a/packages/imperative/src/imperative/src/config/cmd/update-schemas/update-schemas.handler.ts b/packages/imperative/src/imperative/config/cmd/update-schemas/update-schemas.handler.ts similarity index 84% rename from packages/imperative/src/imperative/src/config/cmd/update-schemas/update-schemas.handler.ts rename to packages/imperative/src/imperative/config/cmd/update-schemas/update-schemas.handler.ts index 08fe9eadf9..ae701d8887 100644 --- a/packages/imperative/src/imperative/src/config/cmd/update-schemas/update-schemas.handler.ts +++ b/packages/imperative/src/imperative/config/cmd/update-schemas/update-schemas.handler.ts @@ -9,11 +9,11 @@ * */ -import { ICommandHandler, IHandlerParameters } from "../../../../../cmd"; -import { ConfigSchema } from "../../../../../config/src/ConfigSchema"; -import { ImperativeExpect } from "../../../../../expect/src/ImperativeExpect"; -import { ImperativeConfig } from "../../../../../utilities/src/ImperativeConfig"; -import { TextUtils } from "../../../../../utilities/src/TextUtils"; +import { ICommandHandler, IHandlerParameters } from "../../../../cmd"; +import { ConfigSchema } from "../../../../config/ConfigSchema"; +import { ImperativeExpect } from "../../../../expect/ImperativeExpect"; +import { ImperativeConfig } from "../../../../utilities/ImperativeConfig"; +import { TextUtils } from "../../../../utilities/TextUtils"; export default class UpdateSchemasHandler implements ICommandHandler { /** diff --git a/packages/imperative/src/imperative/src/doc/IApimlSvcAttrs.ts b/packages/imperative/src/imperative/doc/IApimlSvcAttrs.ts similarity index 100% rename from packages/imperative/src/imperative/src/doc/IApimlSvcAttrs.ts rename to packages/imperative/src/imperative/doc/IApimlSvcAttrs.ts diff --git a/packages/imperative/src/imperative/src/doc/IDaemonContext.ts b/packages/imperative/src/imperative/doc/IDaemonContext.ts similarity index 94% rename from packages/imperative/src/imperative/src/doc/IDaemonContext.ts rename to packages/imperative/src/imperative/doc/IDaemonContext.ts index 482bc09bdd..462cb02d43 100644 --- a/packages/imperative/src/imperative/src/doc/IDaemonContext.ts +++ b/packages/imperative/src/imperative/doc/IDaemonContext.ts @@ -11,7 +11,7 @@ import * as net from "net"; import * as stream from "stream"; -import { IDaemonResponse } from "../../../utilities"; +import { IDaemonResponse } from "../../utilities"; /** * Allow for passing our own "context" / user data to the Imperative parser diff --git a/packages/imperative/src/imperative/src/doc/IImperativeAuthGroupConfig.ts b/packages/imperative/src/imperative/doc/IImperativeAuthGroupConfig.ts similarity index 92% rename from packages/imperative/src/imperative/src/doc/IImperativeAuthGroupConfig.ts rename to packages/imperative/src/imperative/doc/IImperativeAuthGroupConfig.ts index 0a449e72d2..c92dbb10ac 100644 --- a/packages/imperative/src/imperative/src/doc/IImperativeAuthGroupConfig.ts +++ b/packages/imperative/src/imperative/doc/IImperativeAuthGroupConfig.ts @@ -9,7 +9,7 @@ * */ -import { IPartialCommandDefinition } from "../../../cmd"; +import { IPartialCommandDefinition } from "../../cmd"; export interface IImperativeAuthGroupConfig { /** diff --git a/packages/imperative/src/imperative/src/doc/IImperativeConfig.ts b/packages/imperative/src/imperative/doc/IImperativeConfig.ts similarity index 98% rename from packages/imperative/src/imperative/src/doc/IImperativeConfig.ts rename to packages/imperative/src/imperative/doc/IImperativeConfig.ts index 473941bae8..a93ca23786 100644 --- a/packages/imperative/src/imperative/src/doc/IImperativeConfig.ts +++ b/packages/imperative/src/imperative/doc/IImperativeConfig.ts @@ -9,12 +9,12 @@ * */ -import { ICommandDefinition, ICommandProfileTypeConfiguration } from "../../../cmd"; +import { ICommandDefinition, ICommandProfileTypeConfiguration } from "../../cmd"; import { IImperativeLogsConfig } from "./IImperativeLogsConfig"; import { IImperativeOverrides } from "./IImperativeOverrides"; import { IImperativeAuthGroupConfig } from "./IImperativeAuthGroupConfig"; import { IApimlSvcAttrs } from "./IApimlSvcAttrs"; -import { ICommandProfileAutoInitConfig } from "../../../cmd/src/doc/profiles/definition/ICommandProfileAutoInitConfig"; +import { ICommandProfileAutoInitConfig } from "../../cmd/doc/profiles/definition/ICommandProfileAutoInitConfig"; /** * All of the configuration required to set up your Imperative CLI app diff --git a/packages/imperative/src/imperative/src/doc/IImperativeEnvironmentalVariableSetting.ts b/packages/imperative/src/imperative/doc/IImperativeEnvironmentalVariableSetting.ts similarity index 100% rename from packages/imperative/src/imperative/src/doc/IImperativeEnvironmentalVariableSetting.ts rename to packages/imperative/src/imperative/doc/IImperativeEnvironmentalVariableSetting.ts diff --git a/packages/imperative/src/imperative/src/doc/IImperativeEnvironmentalVariableSettings.ts b/packages/imperative/src/imperative/doc/IImperativeEnvironmentalVariableSettings.ts similarity index 100% rename from packages/imperative/src/imperative/src/doc/IImperativeEnvironmentalVariableSettings.ts rename to packages/imperative/src/imperative/doc/IImperativeEnvironmentalVariableSettings.ts diff --git a/packages/imperative/src/imperative/src/doc/IImperativeLoggingConfig.ts b/packages/imperative/src/imperative/doc/IImperativeLoggingConfig.ts similarity index 100% rename from packages/imperative/src/imperative/src/doc/IImperativeLoggingConfig.ts rename to packages/imperative/src/imperative/doc/IImperativeLoggingConfig.ts diff --git a/packages/imperative/src/imperative/src/doc/IImperativeLogsConfig.ts b/packages/imperative/src/imperative/doc/IImperativeLogsConfig.ts similarity index 95% rename from packages/imperative/src/imperative/src/doc/IImperativeLogsConfig.ts rename to packages/imperative/src/imperative/doc/IImperativeLogsConfig.ts index ca43fcaed6..76501010c6 100644 --- a/packages/imperative/src/imperative/src/doc/IImperativeLogsConfig.ts +++ b/packages/imperative/src/imperative/doc/IImperativeLogsConfig.ts @@ -9,7 +9,7 @@ * */ -import { IImperativeLoggingConfig } from "../../../index"; +import { IImperativeLoggingConfig } from "../../index"; export interface IImperativeLogsConfig { diff --git a/packages/imperative/src/imperative/src/doc/IImperativeOverrides.ts b/packages/imperative/src/imperative/doc/IImperativeOverrides.ts similarity index 98% rename from packages/imperative/src/imperative/src/doc/IImperativeOverrides.ts rename to packages/imperative/src/imperative/doc/IImperativeOverrides.ts index 7ae9eef68b..26894d2be8 100644 --- a/packages/imperative/src/imperative/src/doc/IImperativeOverrides.ts +++ b/packages/imperative/src/imperative/doc/IImperativeOverrides.ts @@ -32,8 +32,8 @@ * strings and undefined values. */ -import { ICredentialManagerConstructor } from "../../../security"; -import { IConstructor } from "../../../interfaces"; +import { ICredentialManagerConstructor } from "../../security"; +import { IConstructor } from "../../interfaces"; /** * Type of the {@link ImperativeOverrides} interface. This ensures that all diff --git a/packages/imperative/src/imperative/src/env/EnvironmentalVariableSettings.ts b/packages/imperative/src/imperative/env/EnvironmentalVariableSettings.ts similarity index 97% rename from packages/imperative/src/imperative/src/env/EnvironmentalVariableSettings.ts rename to packages/imperative/src/imperative/env/EnvironmentalVariableSettings.ts index 8bd0601e00..b6453b87c6 100644 --- a/packages/imperative/src/imperative/src/env/EnvironmentalVariableSettings.ts +++ b/packages/imperative/src/imperative/env/EnvironmentalVariableSettings.ts @@ -10,8 +10,8 @@ */ import { IImperativeEnvironmentalVariableSettings } from "../doc/IImperativeEnvironmentalVariableSettings"; -import { ImperativeExpect } from "../../../expect"; -import { Constants } from "../../../constants/src/Constants"; +import { ImperativeExpect } from "../../expect"; +import { Constants } from "../../constants/Constants"; /** * Service for reading environmental variable settings diff --git a/packages/imperative/src/imperative/src/env/__mocks__/EnvironmentalVariableSettings.ts b/packages/imperative/src/imperative/env/__mocks__/EnvironmentalVariableSettings.ts similarity index 100% rename from packages/imperative/src/imperative/src/env/__mocks__/EnvironmentalVariableSettings.ts rename to packages/imperative/src/imperative/env/__mocks__/EnvironmentalVariableSettings.ts diff --git a/packages/imperative/src/imperative/src/handlers/DefaultRootCommandHandler.ts b/packages/imperative/src/imperative/handlers/DefaultRootCommandHandler.ts similarity index 91% rename from packages/imperative/src/imperative/src/handlers/DefaultRootCommandHandler.ts rename to packages/imperative/src/imperative/handlers/DefaultRootCommandHandler.ts index 176b8b7775..0045404425 100644 --- a/packages/imperative/src/imperative/src/handlers/DefaultRootCommandHandler.ts +++ b/packages/imperative/src/imperative/handlers/DefaultRootCommandHandler.ts @@ -9,10 +9,10 @@ * */ -import { Imperative } from "../../../imperative/src/Imperative"; -import { ICommandHandler, IHandlerParameters, ICommandTreeEntry, CommandUtils } from "../../../cmd"; -import { ImperativeConfig, TextUtils } from "../../../utilities"; -import { WebHelpManager } from "../../../cmd/src/help/WebHelpManager"; +import { Imperative } from "../../imperative/Imperative"; +import { ICommandHandler, IHandlerParameters, ICommandTreeEntry, CommandUtils } from "../../cmd"; +import { ImperativeConfig, TextUtils } from "../../utilities"; +import { WebHelpManager } from "../../cmd/help/WebHelpManager"; /** * The default command handler for the top level/root command * Allows the user to check the version of the package. diff --git a/packages/imperative/src/imperative/src/help/ImperativeHelpGeneratorFactory.ts b/packages/imperative/src/imperative/help/ImperativeHelpGeneratorFactory.ts similarity index 98% rename from packages/imperative/src/imperative/src/help/ImperativeHelpGeneratorFactory.ts rename to packages/imperative/src/imperative/help/ImperativeHelpGeneratorFactory.ts index 1443d098ea..e081d99a17 100644 --- a/packages/imperative/src/imperative/src/help/ImperativeHelpGeneratorFactory.ts +++ b/packages/imperative/src/imperative/help/ImperativeHelpGeneratorFactory.ts @@ -13,7 +13,7 @@ import { isNullOrUndefined } from "util"; import { IHelpGenerator, HelpGeneratorFactory, IHelpGeneratorParms, - AbstractHelpGeneratorFactory } from "../../../cmd"; + AbstractHelpGeneratorFactory } from "../../cmd"; import { IImperativeConfig } from "../doc/IImperativeConfig"; /** * Imperative Help generator factory passed to yargs to build help generators where needed. diff --git a/packages/imperative/src/imperative/index.ts b/packages/imperative/src/imperative/index.ts index f5b505beb9..1cea4af697 100644 --- a/packages/imperative/src/imperative/index.ts +++ b/packages/imperative/src/imperative/index.ts @@ -9,21 +9,21 @@ * */ -export * from "./src/env/EnvironmentalVariableSettings"; -export * from "./src/doc/IApimlSvcAttrs"; -export * from "./src/doc/IDaemonContext"; -export * from "./src/doc/IImperativeEnvironmentalVariableSetting"; -export * from "./src/doc/IImperativeEnvironmentalVariableSettings"; -export * from "./src/doc/IImperativeConfig"; -export * from "./src/doc/IImperativeLoggingConfig"; -export * from "./src/ConfigurationLoader"; -export * from "./src/ConfigurationValidator"; -export * from "./src/DefinitionTreeResolver"; -export * from "./src/Imperative"; -export * from "./src/LoggingConfigurer"; -export * from "./src/plugins/AbstractPluginLifeCycle"; -export * from "./src/plugins/PluginManagementFacility"; -export * from "./src/auth/doc/IAuthHandlerApi"; -export * from "./src/auth/handlers/AbstractAuthHandler"; -export * from "./src/auth/handlers/BaseAuthHandler"; -export * from "./src/config/cmd/auto-init/handlers/BaseAutoInitHandler"; +export * from "./env/EnvironmentalVariableSettings"; +export * from "./doc/IApimlSvcAttrs"; +export * from "./doc/IDaemonContext"; +export * from "./doc/IImperativeEnvironmentalVariableSetting"; +export * from "./doc/IImperativeEnvironmentalVariableSettings"; +export * from "./doc/IImperativeConfig"; +export * from "./doc/IImperativeLoggingConfig"; +export * from "./ConfigurationLoader"; +export * from "./ConfigurationValidator"; +export * from "./DefinitionTreeResolver"; +export * from "./Imperative"; +export * from "./LoggingConfigurer"; +export * from "./plugins/AbstractPluginLifeCycle"; +export * from "./plugins/PluginManagementFacility"; +export * from "./auth/doc/IAuthHandlerApi"; +export * from "./auth/handlers/AbstractAuthHandler"; +export * from "./auth/handlers/BaseAuthHandler"; +export * from "./config/cmd/auto-init/handlers/BaseAutoInitHandler"; diff --git a/packages/imperative/src/imperative/src/plugins/AbstractPluginLifeCycle.ts b/packages/imperative/src/imperative/plugins/AbstractPluginLifeCycle.ts similarity index 100% rename from packages/imperative/src/imperative/src/plugins/AbstractPluginLifeCycle.ts rename to packages/imperative/src/imperative/plugins/AbstractPluginLifeCycle.ts diff --git a/packages/imperative/src/imperative/src/plugins/PluginManagementFacility.ts b/packages/imperative/src/imperative/plugins/PluginManagementFacility.ts similarity index 99% rename from packages/imperative/src/imperative/src/plugins/PluginManagementFacility.ts rename to packages/imperative/src/imperative/plugins/PluginManagementFacility.ts index cec88ecf4c..7cc49daf92 100644 --- a/packages/imperative/src/imperative/src/plugins/PluginManagementFacility.ts +++ b/packages/imperative/src/imperative/plugins/PluginManagementFacility.ts @@ -9,24 +9,24 @@ * */ -import { IImperativeConfig } from "../../src/doc/IImperativeConfig"; -import { UpdateImpConfig } from "../../src/UpdateImpConfig"; +import { IImperativeConfig } from "../../imperative/doc/IImperativeConfig"; +import { UpdateImpConfig } from "../../imperative/UpdateImpConfig"; import { isAbsolute, join } from "path"; -import { ImperativeConfig, JsUtils } from "../../../utilities"; -import { Logger } from "../../../logger"; +import { ImperativeConfig, JsUtils } from "../../utilities"; +import { Logger } from "../../logger"; import { existsSync } from "fs"; import { PMFConstants } from "./utilities/PMFConstants"; import { readFileSync, writeFileSync } from "jsonfile"; import { IPluginCfgProps } from "./doc/IPluginCfgProps"; -import { ICommandDefinition, ICommandProfileTypeConfiguration } from "../../../cmd"; +import { ICommandDefinition, ICommandProfileTypeConfiguration } from "../../cmd"; import { IssueSeverity, PluginIssues } from "./utilities/PluginIssues"; import { ConfigurationValidator } from "../ConfigurationValidator"; import { ConfigurationLoader } from "../ConfigurationLoader"; import { DefinitionTreeResolver } from "../DefinitionTreeResolver"; import { IImperativeOverrides } from "../doc/IImperativeOverrides"; -import { AppSettings } from "../../../settings"; -import { IO } from "../../../io"; -import { CredentialManagerOverride, ICredentialManagerNameMap } from "../../../security"; +import { AppSettings } from "../../settings"; +import { IO } from "../../io"; +import { CredentialManagerOverride, ICredentialManagerNameMap } from "../../security"; /** * This class is the main engine for the Plugin Management Facility. The diff --git a/packages/imperative/src/imperative/src/plugins/PluginRequireProvider.ts b/packages/imperative/src/imperative/plugins/PluginRequireProvider.ts similarity index 99% rename from packages/imperative/src/imperative/src/plugins/PluginRequireProvider.ts rename to packages/imperative/src/imperative/plugins/PluginRequireProvider.ts index 7bc6b90f29..93a93f9caa 100644 --- a/packages/imperative/src/imperative/src/plugins/PluginRequireProvider.ts +++ b/packages/imperative/src/imperative/plugins/PluginRequireProvider.ts @@ -11,7 +11,7 @@ import Module = require("module"); -import { ImperativeConfig } from "../../../utilities"; +import { ImperativeConfig } from "../../utilities"; import * as path from "path"; import * as findUp from "find-up"; import * as lodash from "lodash"; diff --git a/packages/imperative/src/imperative/src/plugins/__mocks__/PluginManagementFacility.ts b/packages/imperative/src/imperative/plugins/__mocks__/PluginManagementFacility.ts similarity index 100% rename from packages/imperative/src/imperative/src/plugins/__mocks__/PluginManagementFacility.ts rename to packages/imperative/src/imperative/plugins/__mocks__/PluginManagementFacility.ts diff --git a/packages/imperative/src/imperative/src/plugins/__mocks__/PluginRequireProvider.ts b/packages/imperative/src/imperative/plugins/__mocks__/PluginRequireProvider.ts similarity index 100% rename from packages/imperative/src/imperative/src/plugins/__mocks__/PluginRequireProvider.ts rename to packages/imperative/src/imperative/plugins/__mocks__/PluginRequireProvider.ts diff --git a/packages/imperative/src/imperative/src/plugins/cmd/install/install.definition.ts b/packages/imperative/src/imperative/plugins/cmd/install/install.definition.ts similarity index 97% rename from packages/imperative/src/imperative/src/plugins/cmd/install/install.definition.ts rename to packages/imperative/src/imperative/plugins/cmd/install/install.definition.ts index 45ed3f6a87..d92770b5ad 100644 --- a/packages/imperative/src/imperative/src/plugins/cmd/install/install.definition.ts +++ b/packages/imperative/src/imperative/plugins/cmd/install/install.definition.ts @@ -9,10 +9,10 @@ * */ -import { ICommandDefinition } from "../../../../../cmd"; +import { ICommandDefinition } from "../../../../cmd"; import { join } from "path"; import { PMFConstants } from "../../utilities/PMFConstants"; -import { ImperativeConfig } from "../../../../../utilities"; +import { ImperativeConfig } from "../../../../utilities"; const cliCmdName = ImperativeConfig.instance.findPackageBinName() ? ImperativeConfig.instance.findPackageBinName() : "Your_CLI_Command_Name"; diff --git a/packages/imperative/src/imperative/src/plugins/cmd/install/install.handler.ts b/packages/imperative/src/imperative/plugins/cmd/install/install.handler.ts similarity index 98% rename from packages/imperative/src/imperative/src/plugins/cmd/install/install.handler.ts rename to packages/imperative/src/imperative/plugins/cmd/install/install.handler.ts index c7d43271b1..de4507c9c1 100644 --- a/packages/imperative/src/imperative/src/plugins/cmd/install/install.handler.ts +++ b/packages/imperative/src/imperative/plugins/cmd/install/install.handler.ts @@ -9,16 +9,16 @@ * */ -import { ICommandHandler, IHandlerParameters } from "../../../../../cmd"; -import { Logger } from "../../../../../logger/"; +import { ICommandHandler, IHandlerParameters } from "../../../../cmd"; +import { Logger } from "../../../../logger/"; import { PMFConstants } from "../../utilities/PMFConstants"; import { resolve } from "path"; import { install } from "../../utilities/npm-interface"; import { IPluginJson } from "../../doc/IPluginJson"; import { IPluginJsonObject } from "../../doc/IPluginJsonObject"; import { readFileSync } from "jsonfile"; -import { ImperativeConfig, TextUtils } from "../../../../../utilities"; -import { ImperativeError } from "../../../../../error"; +import { ImperativeConfig, TextUtils } from "../../../../utilities"; +import { ImperativeError } from "../../../../error"; import { runValidatePlugin } from "../../utilities/runValidatePlugin"; import { getRegistry, npmLogin } from "../../utilities/NpmFunctions"; diff --git a/packages/imperative/src/imperative/src/plugins/cmd/list/list.definition.ts b/packages/imperative/src/imperative/plugins/cmd/list/list.definition.ts similarity index 93% rename from packages/imperative/src/imperative/src/plugins/cmd/list/list.definition.ts rename to packages/imperative/src/imperative/plugins/cmd/list/list.definition.ts index d4907ecb5b..14fa593dfd 100644 --- a/packages/imperative/src/imperative/src/plugins/cmd/list/list.definition.ts +++ b/packages/imperative/src/imperative/plugins/cmd/list/list.definition.ts @@ -9,7 +9,7 @@ * */ -import { ICommandDefinition } from "../../../../../cmd"; +import { ICommandDefinition } from "../../../../cmd"; import { join } from "path"; /** diff --git a/packages/imperative/src/imperative/src/plugins/cmd/list/list.handler.ts b/packages/imperative/src/imperative/plugins/cmd/list/list.handler.ts similarity index 96% rename from packages/imperative/src/imperative/src/plugins/cmd/list/list.handler.ts rename to packages/imperative/src/imperative/plugins/cmd/list/list.handler.ts index 0ceb5b8499..46f0775a0a 100644 --- a/packages/imperative/src/imperative/src/plugins/cmd/list/list.handler.ts +++ b/packages/imperative/src/imperative/plugins/cmd/list/list.handler.ts @@ -9,10 +9,10 @@ * */ -import { ICommandHandler, IHandlerParameters } from "../../../../../cmd"; -import { Logger } from "../../../../../logger/"; +import { ICommandHandler, IHandlerParameters } from "../../../../cmd"; +import { Logger } from "../../../../logger/"; import { IPluginJson } from "../../doc/IPluginJson"; -import { TextUtils } from "../../../../../utilities"; +import { TextUtils } from "../../../../utilities"; import { PluginIssues } from "../../utilities/PluginIssues"; /** diff --git a/packages/imperative/src/imperative/src/plugins/cmd/showfirststeps/showfirststeps.definition.ts b/packages/imperative/src/imperative/plugins/cmd/showfirststeps/showfirststeps.definition.ts similarity index 95% rename from packages/imperative/src/imperative/src/plugins/cmd/showfirststeps/showfirststeps.definition.ts rename to packages/imperative/src/imperative/plugins/cmd/showfirststeps/showfirststeps.definition.ts index 34893a117c..c039cfbf80 100644 --- a/packages/imperative/src/imperative/src/plugins/cmd/showfirststeps/showfirststeps.definition.ts +++ b/packages/imperative/src/imperative/plugins/cmd/showfirststeps/showfirststeps.definition.ts @@ -9,7 +9,7 @@ * */ -import { ICommandDefinition } from "../../../../../cmd"; +import { ICommandDefinition } from "../../../../cmd"; import { join } from "path"; const pluginDescription = diff --git a/packages/imperative/src/imperative/src/plugins/cmd/showfirststeps/showfirststeps.handler.ts b/packages/imperative/src/imperative/plugins/cmd/showfirststeps/showfirststeps.handler.ts similarity index 94% rename from packages/imperative/src/imperative/src/plugins/cmd/showfirststeps/showfirststeps.handler.ts rename to packages/imperative/src/imperative/plugins/cmd/showfirststeps/showfirststeps.handler.ts index b49903defe..35853862cb 100644 --- a/packages/imperative/src/imperative/src/plugins/cmd/showfirststeps/showfirststeps.handler.ts +++ b/packages/imperative/src/imperative/plugins/cmd/showfirststeps/showfirststeps.handler.ts @@ -9,11 +9,11 @@ * */ -import { ICommandHandler, IHandlerParameters } from "../../../../../cmd"; -import { Logger } from "../../../../../logger"; +import { ICommandHandler, IHandlerParameters } from "../../../../cmd"; +import { Logger } from "../../../../logger"; import { PMFConstants } from "../../utilities/PMFConstants"; -import { TextUtils } from "../../../../../utilities"; -import { ImperativeError } from "../../../../../error"; +import { TextUtils } from "../../../../utilities"; +import { ImperativeError } from "../../../../error"; import { PluginManagementFacility } from "../../PluginManagementFacility"; /** diff --git a/packages/imperative/src/imperative/src/plugins/cmd/uninstall/uninstall.definition.ts b/packages/imperative/src/imperative/plugins/cmd/uninstall/uninstall.definition.ts similarity index 95% rename from packages/imperative/src/imperative/src/plugins/cmd/uninstall/uninstall.definition.ts rename to packages/imperative/src/imperative/plugins/cmd/uninstall/uninstall.definition.ts index 13057de779..80c8111042 100644 --- a/packages/imperative/src/imperative/src/plugins/cmd/uninstall/uninstall.definition.ts +++ b/packages/imperative/src/imperative/plugins/cmd/uninstall/uninstall.definition.ts @@ -9,7 +9,7 @@ * */ -import { ICommandDefinition } from "../../../../../cmd"; +import { ICommandDefinition } from "../../../../cmd"; import { join } from "path"; const pluginDescription = diff --git a/packages/imperative/src/imperative/src/plugins/cmd/uninstall/uninstall.handler.ts b/packages/imperative/src/imperative/plugins/cmd/uninstall/uninstall.handler.ts similarity index 96% rename from packages/imperative/src/imperative/src/plugins/cmd/uninstall/uninstall.handler.ts rename to packages/imperative/src/imperative/plugins/cmd/uninstall/uninstall.handler.ts index 6af4ecd530..8328b77a5d 100644 --- a/packages/imperative/src/imperative/src/plugins/cmd/uninstall/uninstall.handler.ts +++ b/packages/imperative/src/imperative/plugins/cmd/uninstall/uninstall.handler.ts @@ -9,16 +9,16 @@ * */ -import { ICommandHandler, IHandlerParameters } from "../../../../../cmd"; +import { ICommandHandler, IHandlerParameters } from "../../../../cmd"; import { ConfigurationLoader } from "../../../ConfigurationLoader"; -import { CredentialManagerOverride, ICredentialManagerNameMap } from "../../../../../security"; -import { Logger } from "../../../../../logger/"; +import { CredentialManagerOverride, ICredentialManagerNameMap } from "../../../../security"; +import { Logger } from "../../../../logger/"; import { PluginManagementFacility } from "../../PluginManagementFacility"; import { PMFConstants } from "../../utilities/PMFConstants"; import { uninstall } from "../../utilities/npm-interface"; import { getPackageInfo } from "../../utilities/NpmFunctions"; -import { ImperativeError } from "../../../../../error"; -import { TextUtils } from "../../../../../utilities"; +import { ImperativeError } from "../../../../error"; +import { TextUtils } from "../../../../utilities"; /** * The uninstall command handler for cli plugin install. diff --git a/packages/imperative/src/imperative/src/plugins/cmd/update/update.definition.ts b/packages/imperative/src/imperative/plugins/cmd/update/update.definition.ts similarity index 97% rename from packages/imperative/src/imperative/src/plugins/cmd/update/update.definition.ts rename to packages/imperative/src/imperative/plugins/cmd/update/update.definition.ts index 42dd4d8245..a637854306 100644 --- a/packages/imperative/src/imperative/src/plugins/cmd/update/update.definition.ts +++ b/packages/imperative/src/imperative/plugins/cmd/update/update.definition.ts @@ -9,7 +9,7 @@ * */ -import { ICommandDefinition } from "../../../../../cmd"; +import { ICommandDefinition } from "../../../../cmd"; import { join } from "path"; const pluginDescription = diff --git a/packages/imperative/src/imperative/src/plugins/cmd/update/update.handler.ts b/packages/imperative/src/imperative/plugins/cmd/update/update.handler.ts similarity index 95% rename from packages/imperative/src/imperative/src/plugins/cmd/update/update.handler.ts rename to packages/imperative/src/imperative/plugins/cmd/update/update.handler.ts index c4ddecf3f9..68989063c8 100644 --- a/packages/imperative/src/imperative/src/plugins/cmd/update/update.handler.ts +++ b/packages/imperative/src/imperative/plugins/cmd/update/update.handler.ts @@ -9,12 +9,12 @@ * */ -import { ICommandHandler, IHandlerParameters } from "../../../../../cmd"; -import { Logger } from "../../../../../logger"; +import { ICommandHandler, IHandlerParameters } from "../../../../cmd"; +import { Logger } from "../../../../logger"; import { PMFConstants } from "../../utilities/PMFConstants"; import { update } from "../../utilities/npm-interface"; -import { ImperativeError } from "../../../../../error"; -import { TextUtils } from "../../../../../utilities"; +import { ImperativeError } from "../../../../error"; +import { TextUtils } from "../../../../utilities"; import { IPluginJson } from "../../doc/IPluginJson"; import { readFileSync, writeFileSync } from "jsonfile"; import { npmLogin } from "../../utilities/NpmFunctions"; diff --git a/packages/imperative/src/imperative/src/plugins/cmd/validate/validate.definition.ts b/packages/imperative/src/imperative/plugins/cmd/validate/validate.definition.ts similarity index 97% rename from packages/imperative/src/imperative/src/plugins/cmd/validate/validate.definition.ts rename to packages/imperative/src/imperative/plugins/cmd/validate/validate.definition.ts index 57947d1915..d3d2cd6163 100644 --- a/packages/imperative/src/imperative/src/plugins/cmd/validate/validate.definition.ts +++ b/packages/imperative/src/imperative/plugins/cmd/validate/validate.definition.ts @@ -9,7 +9,7 @@ * */ -import { ICommandDefinition } from "../../../../../cmd"; +import { ICommandDefinition } from "../../../../cmd"; import { join } from "path"; const pluginDescription = diff --git a/packages/imperative/src/imperative/src/plugins/cmd/validate/validate.handler.ts b/packages/imperative/src/imperative/plugins/cmd/validate/validate.handler.ts similarity index 98% rename from packages/imperative/src/imperative/src/plugins/cmd/validate/validate.handler.ts rename to packages/imperative/src/imperative/plugins/cmd/validate/validate.handler.ts index cc8256e8b9..2d8cf77b38 100644 --- a/packages/imperative/src/imperative/src/plugins/cmd/validate/validate.handler.ts +++ b/packages/imperative/src/imperative/plugins/cmd/validate/validate.handler.ts @@ -9,8 +9,8 @@ * */ -import { ICommandHandler, IHandlerParameters, IHandlerResponseApi } from "../../../../../cmd"; -import { TextUtils } from "../../../../../utilities"; +import { ICommandHandler, IHandlerParameters, IHandlerResponseApi } from "../../../../cmd"; +import { TextUtils } from "../../../../utilities"; import { IssueSeverity, PluginIssues } from "../../utilities/PluginIssues"; import { IPluginJson } from "../../doc/IPluginJson"; diff --git a/packages/imperative/src/imperative/src/plugins/doc/IPluginCfgProps.ts b/packages/imperative/src/imperative/plugins/doc/IPluginCfgProps.ts similarity index 100% rename from packages/imperative/src/imperative/src/plugins/doc/IPluginCfgProps.ts rename to packages/imperative/src/imperative/plugins/doc/IPluginCfgProps.ts diff --git a/packages/imperative/src/imperative/src/plugins/doc/IPluginIssues.ts b/packages/imperative/src/imperative/plugins/doc/IPluginIssues.ts similarity index 100% rename from packages/imperative/src/imperative/src/plugins/doc/IPluginIssues.ts rename to packages/imperative/src/imperative/plugins/doc/IPluginIssues.ts diff --git a/packages/imperative/src/imperative/src/plugins/doc/IPluginJson.ts b/packages/imperative/src/imperative/plugins/doc/IPluginJson.ts similarity index 100% rename from packages/imperative/src/imperative/src/plugins/doc/IPluginJson.ts rename to packages/imperative/src/imperative/plugins/doc/IPluginJson.ts diff --git a/packages/imperative/src/imperative/src/plugins/doc/IPluginJsonObject.ts b/packages/imperative/src/imperative/plugins/doc/IPluginJsonObject.ts similarity index 100% rename from packages/imperative/src/imperative/src/plugins/doc/IPluginJsonObject.ts rename to packages/imperative/src/imperative/plugins/doc/IPluginJsonObject.ts diff --git a/packages/imperative/src/imperative/src/plugins/doc/IPluginPeerDepends.ts b/packages/imperative/src/imperative/plugins/doc/IPluginPeerDepends.ts similarity index 100% rename from packages/imperative/src/imperative/src/plugins/doc/IPluginPeerDepends.ts rename to packages/imperative/src/imperative/plugins/doc/IPluginPeerDepends.ts diff --git a/packages/imperative/src/imperative/src/plugins/errors/PluginRequireAlreadyCreatedError.ts b/packages/imperative/src/imperative/plugins/errors/PluginRequireAlreadyCreatedError.ts similarity index 92% rename from packages/imperative/src/imperative/src/plugins/errors/PluginRequireAlreadyCreatedError.ts rename to packages/imperative/src/imperative/plugins/errors/PluginRequireAlreadyCreatedError.ts index 6380952e1d..1f9c7bf124 100644 --- a/packages/imperative/src/imperative/src/plugins/errors/PluginRequireAlreadyCreatedError.ts +++ b/packages/imperative/src/imperative/plugins/errors/PluginRequireAlreadyCreatedError.ts @@ -9,7 +9,7 @@ * */ -import { ImperativeError } from "../../../../error"; +import { ImperativeError } from "../../../error"; /** * This error is thrown when a second call to {@link PluginRequireProvider.createPluginHooks} has diff --git a/packages/imperative/src/imperative/src/plugins/errors/PluginRequireNotCreatedError.ts b/packages/imperative/src/imperative/plugins/errors/PluginRequireNotCreatedError.ts similarity index 92% rename from packages/imperative/src/imperative/src/plugins/errors/PluginRequireNotCreatedError.ts rename to packages/imperative/src/imperative/plugins/errors/PluginRequireNotCreatedError.ts index 420b8e2493..66a62a54e2 100644 --- a/packages/imperative/src/imperative/src/plugins/errors/PluginRequireNotCreatedError.ts +++ b/packages/imperative/src/imperative/plugins/errors/PluginRequireNotCreatedError.ts @@ -9,7 +9,7 @@ * */ -import { ImperativeError } from "../../../../error"; +import { ImperativeError } from "../../../error"; /** * This error is thrown when a call to {@link PluginRequireProvider.destroyPluginHooks} has diff --git a/packages/imperative/src/imperative/src/plugins/utilities/NpmFunctions.ts b/packages/imperative/src/imperative/plugins/utilities/NpmFunctions.ts similarity index 98% rename from packages/imperative/src/imperative/src/plugins/utilities/NpmFunctions.ts rename to packages/imperative/src/imperative/plugins/utilities/NpmFunctions.ts index 52e0f12ea2..f925312ac5 100644 --- a/packages/imperative/src/imperative/src/plugins/utilities/NpmFunctions.ts +++ b/packages/imperative/src/imperative/plugins/utilities/NpmFunctions.ts @@ -16,7 +16,7 @@ import { StdioOptions } from "child_process"; import { readFileSync } from "jsonfile"; import * as npmPackageArg from "npm-package-arg"; import * as pacote from "pacote"; -import { ExecUtils } from "../../../../utilities"; +import { ExecUtils } from "../../../utilities"; const npmCmd = findNpmOnPath(); /** diff --git a/packages/imperative/src/imperative/src/plugins/utilities/PMFConstants.ts b/packages/imperative/src/imperative/plugins/utilities/PMFConstants.ts similarity index 97% rename from packages/imperative/src/imperative/src/plugins/utilities/PMFConstants.ts rename to packages/imperative/src/imperative/plugins/utilities/PMFConstants.ts index b411a59763..c41a45468d 100644 --- a/packages/imperative/src/imperative/src/plugins/utilities/PMFConstants.ts +++ b/packages/imperative/src/imperative/plugins/utilities/PMFConstants.ts @@ -9,9 +9,9 @@ * */ -import { ImperativeConfig } from "../../../../utilities"; +import { ImperativeConfig } from "../../../utilities"; import { dirname, join } from "path"; -import { Config } from "../../../../config"; +import { Config } from "../../../config"; import { EnvironmentalVariableSettings } from "../../env/EnvironmentalVariableSettings"; /** diff --git a/packages/imperative/src/imperative/src/plugins/utilities/PluginIssues.ts b/packages/imperative/src/imperative/plugins/utilities/PluginIssues.ts similarity index 99% rename from packages/imperative/src/imperative/src/plugins/utilities/PluginIssues.ts rename to packages/imperative/src/imperative/plugins/utilities/PluginIssues.ts index f3b2441fbb..95b1f88106 100644 --- a/packages/imperative/src/imperative/src/plugins/utilities/PluginIssues.ts +++ b/packages/imperative/src/imperative/plugins/utilities/PluginIssues.ts @@ -11,7 +11,7 @@ import { IPluginIssues, IPluginIssue } from "../doc/IPluginIssues"; import { IPluginJson } from "../doc/IPluginJson"; -import { ImperativeError } from "../../../../error"; +import { ImperativeError } from "../../../error"; import { PMFConstants } from "./PMFConstants"; import { readFileSync } from "jsonfile"; diff --git a/packages/imperative/src/imperative/src/plugins/utilities/__mocks__/PMFConstants.ts b/packages/imperative/src/imperative/plugins/utilities/__mocks__/PMFConstants.ts similarity index 95% rename from packages/imperative/src/imperative/src/plugins/utilities/__mocks__/PMFConstants.ts rename to packages/imperative/src/imperative/plugins/utilities/__mocks__/PMFConstants.ts index cea97286d2..99c752400c 100644 --- a/packages/imperative/src/imperative/src/plugins/utilities/__mocks__/PMFConstants.ts +++ b/packages/imperative/src/imperative/plugins/utilities/__mocks__/PMFConstants.ts @@ -9,7 +9,7 @@ * */ -import { ImperativeConfig } from "../../../../../utilities/src/__mocks__/ImperativeConfig"; +import { ImperativeConfig } from "../../../../../utilities/src//ImperativeConfig"; import { Config } from "../../../../../config/src/__mocks__/Config"; /** diff --git a/packages/imperative/src/imperative/src/plugins/utilities/npm-interface/index.ts b/packages/imperative/src/imperative/plugins/utilities/npm-interface/index.ts similarity index 100% rename from packages/imperative/src/imperative/src/plugins/utilities/npm-interface/index.ts rename to packages/imperative/src/imperative/plugins/utilities/npm-interface/index.ts diff --git a/packages/imperative/src/imperative/src/plugins/utilities/npm-interface/install.ts b/packages/imperative/src/imperative/plugins/utilities/npm-interface/install.ts similarity index 97% rename from packages/imperative/src/imperative/src/plugins/utilities/npm-interface/install.ts rename to packages/imperative/src/imperative/plugins/utilities/npm-interface/install.ts index f76354c168..4884d14a6a 100644 --- a/packages/imperative/src/imperative/src/plugins/utilities/npm-interface/install.ts +++ b/packages/imperative/src/imperative/plugins/utilities/npm-interface/install.ts @@ -14,16 +14,16 @@ import * as path from "path"; import * as fs from "fs"; import { readFileSync, writeFileSync } from "jsonfile"; import { IPluginJson } from "../../doc/IPluginJson"; -import { Logger } from "../../../../../logger"; +import { Logger } from "../../../../logger"; import { IImperativeConfig } from "../../../doc/IImperativeConfig"; -import { ImperativeError } from "../../../../../error"; +import { ImperativeError } from "../../../../error"; import { IPluginJsonObject } from "../../doc/IPluginJsonObject"; import { getPackageInfo, installPackages } from "../NpmFunctions"; -import { ConfigSchema } from "../../../../../config/src/ConfigSchema"; +import { ConfigSchema } from "../../../../config/ConfigSchema"; import { PluginManagementFacility } from "../../PluginManagementFacility"; import { ConfigurationLoader } from "../../../ConfigurationLoader"; import { UpdateImpConfig } from "../../../UpdateImpConfig"; -import { CredentialManagerOverride, ICredentialManagerNameMap } from "../../../../../security"; +import { CredentialManagerOverride, ICredentialManagerNameMap } from "../../../../security"; /** * Common function that abstracts the install process. This function should be called for each diff --git a/packages/imperative/src/imperative/src/plugins/utilities/npm-interface/uninstall.ts b/packages/imperative/src/imperative/plugins/utilities/npm-interface/uninstall.ts similarity index 95% rename from packages/imperative/src/imperative/src/plugins/utilities/npm-interface/uninstall.ts rename to packages/imperative/src/imperative/plugins/utilities/npm-interface/uninstall.ts index 4239da8dda..6b4159bd12 100644 --- a/packages/imperative/src/imperative/src/plugins/utilities/npm-interface/uninstall.ts +++ b/packages/imperative/src/imperative/plugins/utilities/npm-interface/uninstall.ts @@ -14,9 +14,9 @@ import * as path from "path"; import { PMFConstants } from "../PMFConstants"; import { readFileSync, writeFileSync } from "jsonfile"; import { IPluginJson } from "../../doc/IPluginJson"; -import { Logger } from "../../../../../logger"; -import { ImperativeError } from "../../../../../error"; -import { ExecUtils, TextUtils } from "../../../../../utilities"; +import { Logger } from "../../../../logger"; +import { ImperativeError } from "../../../../error"; +import { ExecUtils, TextUtils } from "../../../../utilities"; import { StdioOptions } from "child_process"; import { findNpmOnPath } from "../NpmFunctions"; const npmCmd = findNpmOnPath(); diff --git a/packages/imperative/src/imperative/src/plugins/utilities/npm-interface/update.ts b/packages/imperative/src/imperative/plugins/utilities/npm-interface/update.ts similarity index 96% rename from packages/imperative/src/imperative/src/plugins/utilities/npm-interface/update.ts rename to packages/imperative/src/imperative/plugins/utilities/npm-interface/update.ts index 837f92bf92..306180590e 100644 --- a/packages/imperative/src/imperative/src/plugins/utilities/npm-interface/update.ts +++ b/packages/imperative/src/imperative/plugins/utilities/npm-interface/update.ts @@ -10,7 +10,7 @@ */ import { PMFConstants } from "../PMFConstants"; -import { Logger } from "../../../../../logger"; +import { Logger } from "../../../../logger"; import { getPackageInfo, installPackages } from "../NpmFunctions"; /** diff --git a/packages/imperative/src/imperative/src/plugins/utilities/runValidatePlugin.ts b/packages/imperative/src/imperative/plugins/utilities/runValidatePlugin.ts similarity index 95% rename from packages/imperative/src/imperative/src/plugins/utilities/runValidatePlugin.ts rename to packages/imperative/src/imperative/plugins/utilities/runValidatePlugin.ts index c9c408d188..ba49dfbc16 100644 --- a/packages/imperative/src/imperative/src/plugins/utilities/runValidatePlugin.ts +++ b/packages/imperative/src/imperative/plugins/utilities/runValidatePlugin.ts @@ -9,10 +9,10 @@ * */ -import { Logger } from "../../../../logger"; -import { ExecUtils } from "../../../../utilities"; +import { Logger } from "../../../logger"; +import { ExecUtils } from "../../../utilities"; import { PMFConstants } from "./PMFConstants"; -import { ImperativeError } from "../../../../error"; +import { ImperativeError } from "../../../error"; /** * Run another instance of the host CLI command to validate a plugin that has diff --git a/packages/imperative/src/imperative/src/profiles/ImperativeProfileManagerFactory.ts b/packages/imperative/src/imperative/profiles/ImperativeProfileManagerFactory.ts similarity index 93% rename from packages/imperative/src/imperative/src/profiles/ImperativeProfileManagerFactory.ts rename to packages/imperative/src/imperative/profiles/ImperativeProfileManagerFactory.ts index 8da02adabd..529c299c67 100644 --- a/packages/imperative/src/imperative/src/profiles/ImperativeProfileManagerFactory.ts +++ b/packages/imperative/src/imperative/profiles/ImperativeProfileManagerFactory.ts @@ -9,8 +9,8 @@ * */ -import { AbstractProfileManagerFactory } from "../../../profiles"; -import { CliProfileManager, ICommandProfileTypeConfiguration } from "../../../cmd/"; +import { AbstractProfileManagerFactory } from "../../profiles"; +import { CliProfileManager, ICommandProfileTypeConfiguration } from "../../cmd/"; import { ImperativeApi } from "../api/ImperativeApi"; /** * The imperative profile manager factory returns instances of the cli profile manager diff --git a/packages/imperative/src/imperative/src/profiles/builders/CompleteProfilesGroupBuilder.ts b/packages/imperative/src/imperative/profiles/builders/CompleteProfilesGroupBuilder.ts similarity index 95% rename from packages/imperative/src/imperative/src/profiles/builders/CompleteProfilesGroupBuilder.ts rename to packages/imperative/src/imperative/profiles/builders/CompleteProfilesGroupBuilder.ts index c84f5d08d9..1f325c9f48 100644 --- a/packages/imperative/src/imperative/src/profiles/builders/CompleteProfilesGroupBuilder.ts +++ b/packages/imperative/src/imperative/profiles/builders/CompleteProfilesGroupBuilder.ts @@ -9,7 +9,7 @@ * */ -import { ICommandDefinition } from "../../../../cmd"; +import { ICommandDefinition } from "../../../cmd"; import { createProfilesCommandDesc, createProfilesCommandSummary, deleteProfilesCommandDesc, deleteProfilesCommandSummary, @@ -17,17 +17,17 @@ import { setProfileActionDesc, setProfileActionSummary, updateProfileCommandDesc, updateProfileCommandSummary, validateProfileGroupDesc, validateProfileCommandSummary -} from "../../../../messages"; -import { Constants } from "../../../../constants"; +} from "../../../messages"; +import { Constants } from "../../../constants"; import { ProfilesCreateCommandBuilder } from "./ProfilesCreateCommandBuilder"; import { ProfilesUpdateCommandBuilder } from "./ProfilesUpdateCommandBuilder"; import { ProfilesDeleteCommandBuilder } from "./ProfilesDeleteCommandBuilder"; import { ProfilesValidateCommandBuilder } from "./ProfilesValidateCommandBuilder"; import { ProfilesListCommandBuilder } from "./ProfilesListCommandBuilder"; import { ProfilesSetCommandBuilder } from "./ProfilesSetCommandBuilder"; -import { Logger } from "../../../../logger/index"; -import { IProfileTypeConfiguration, ProfilesConstants } from "../../../../profiles"; -import { ImperativeConfig } from "../../../../utilities"; +import { Logger } from "../../../logger/index"; +import { IProfileTypeConfiguration, ProfilesConstants } from "../../../profiles"; +import { ImperativeConfig } from "../../../utilities"; /** * Generate a complete group of commands for maintaining configuration profiles diff --git a/packages/imperative/src/imperative/src/profiles/builders/ProfilesCommandBuilder.ts b/packages/imperative/src/imperative/profiles/builders/ProfilesCommandBuilder.ts similarity index 92% rename from packages/imperative/src/imperative/src/profiles/builders/ProfilesCommandBuilder.ts rename to packages/imperative/src/imperative/profiles/builders/ProfilesCommandBuilder.ts index 997a11ad80..60e6dc0c86 100644 --- a/packages/imperative/src/imperative/src/profiles/builders/ProfilesCommandBuilder.ts +++ b/packages/imperative/src/imperative/profiles/builders/ProfilesCommandBuilder.ts @@ -9,12 +9,12 @@ * */ -import { AbstractCommandBuilder } from "../../../../cmd/src/builders/AbstractCommandBuilder"; +import { AbstractCommandBuilder } from "../../../cmd/builders/AbstractCommandBuilder"; import { isNullOrUndefined } from "util"; -import { ICommandDefinition, ICommandOptionDefinition, ICommandProfileTypeConfiguration } from "../../../../cmd"; -import { Logger } from "../../../../logger"; -import { IProfileSchema, ProfileUtils } from "../../../../profiles"; -import { ICommandProfileProperty } from "../../../../cmd/src/doc/profiles/definition/ICommandProfileProperty"; +import { ICommandDefinition, ICommandOptionDefinition, ICommandProfileTypeConfiguration } from "../../../cmd"; +import { Logger } from "../../../logger"; +import { IProfileSchema, ProfileUtils } from "../../../profiles"; +import { ICommandProfileProperty } from "../../../cmd/doc/profiles/definition/ICommandProfileProperty"; /** * Abstract class for generating profile-related commands diff --git a/packages/imperative/src/imperative/src/profiles/builders/ProfilesCreateCommandBuilder.ts b/packages/imperative/src/imperative/profiles/builders/ProfilesCreateCommandBuilder.ts similarity index 92% rename from packages/imperative/src/imperative/src/profiles/builders/ProfilesCreateCommandBuilder.ts rename to packages/imperative/src/imperative/profiles/builders/ProfilesCreateCommandBuilder.ts index e79f4df129..21ae1dd218 100644 --- a/packages/imperative/src/imperative/src/profiles/builders/ProfilesCreateCommandBuilder.ts +++ b/packages/imperative/src/imperative/profiles/builders/ProfilesCreateCommandBuilder.ts @@ -10,13 +10,13 @@ */ import { ProfilesCommandBuilder } from "./ProfilesCommandBuilder"; -import { ICommandDefinition, ICommandProfileTypeConfiguration } from "../../../../cmd"; +import { ICommandDefinition, ICommandProfileTypeConfiguration } from "../../../cmd"; import { createProfileCommandSummary, createProfileOptionDesc, createProfileOptionOverwriteDesc, - createProfileDisableDefaultsDesc } from "../../../../messages"; -import { Constants } from "../../../../constants"; -import { TextUtils } from "../../../../utilities"; -import { Logger } from "../../../../logger/index"; -import { ProfilesConstants, ProfileUtils } from "../../../../profiles"; + createProfileDisableDefaultsDesc } from "../../../messages"; +import { Constants } from "../../../constants"; +import { TextUtils } from "../../../utilities"; +import { Logger } from "../../../logger/index"; +import { ProfilesConstants, ProfileUtils } from "../../../profiles"; /** * Used to build profile create command definitions. diff --git a/packages/imperative/src/imperative/src/profiles/builders/ProfilesDeleteCommandBuilder.ts b/packages/imperative/src/imperative/profiles/builders/ProfilesDeleteCommandBuilder.ts similarity index 92% rename from packages/imperative/src/imperative/src/profiles/builders/ProfilesDeleteCommandBuilder.ts rename to packages/imperative/src/imperative/profiles/builders/ProfilesDeleteCommandBuilder.ts index c5174b1f22..14c29d4029 100644 --- a/packages/imperative/src/imperative/src/profiles/builders/ProfilesDeleteCommandBuilder.ts +++ b/packages/imperative/src/imperative/profiles/builders/ProfilesDeleteCommandBuilder.ts @@ -10,17 +10,17 @@ */ import { ProfilesCommandBuilder } from "./ProfilesCommandBuilder"; -import { Constants } from "../../../../constants"; -import { ICommandDefinition } from "../../../../cmd"; +import { Constants } from "../../../constants"; +import { ICommandDefinition } from "../../../cmd"; import { deleteProfileActionDesc, deleteProfileCommandDesc, deleteProfileExample, deleteProfileForceOptionDesc, deleteProfileNameDesc -} from "../../../../messages/index"; -import { ImperativeConfig, TextUtils } from "../../../../utilities"; -import { ProfilesConstants, ProfileUtils } from "../../../../profiles"; +} from "../../../messages/index"; +import { ImperativeConfig, TextUtils } from "../../../utilities"; +import { ProfilesConstants, ProfileUtils } from "../../../profiles"; /** * Used to build delete profile command definitions. diff --git a/packages/imperative/src/imperative/src/profiles/builders/ProfilesListCommandBuilder.ts b/packages/imperative/src/imperative/profiles/builders/ProfilesListCommandBuilder.ts similarity index 93% rename from packages/imperative/src/imperative/src/profiles/builders/ProfilesListCommandBuilder.ts rename to packages/imperative/src/imperative/profiles/builders/ProfilesListCommandBuilder.ts index 084b9b37d3..99bf24f956 100644 --- a/packages/imperative/src/imperative/src/profiles/builders/ProfilesListCommandBuilder.ts +++ b/packages/imperative/src/imperative/profiles/builders/ProfilesListCommandBuilder.ts @@ -10,17 +10,17 @@ */ import { ProfilesCommandBuilder } from "./ProfilesCommandBuilder"; -import { Constants } from "../../../../constants"; -import { ICommandDefinition, ICommandProfileTypeConfiguration } from "../../../../cmd"; +import { Constants } from "../../../constants"; +import { ICommandDefinition, ICommandProfileTypeConfiguration } from "../../../cmd"; import { listProfileCommandDesc, listProfileExample, listProfileExampleShowContents, listProfileVerboseOptionDesc -} from "../../../../messages"; -import { TextUtils } from "../../../../utilities"; -import { Logger } from "../../../../logger/"; -import { ProfilesConstants } from "../../../../profiles"; +} from "../../../messages"; +import { TextUtils } from "../../../utilities"; +import { Logger } from "../../../logger/"; +import { ProfilesConstants } from "../../../profiles"; /** * Used to build profile update command definitions. diff --git a/packages/imperative/src/imperative/src/profiles/builders/ProfilesSetCommandBuilder.ts b/packages/imperative/src/imperative/profiles/builders/ProfilesSetCommandBuilder.ts similarity index 91% rename from packages/imperative/src/imperative/src/profiles/builders/ProfilesSetCommandBuilder.ts rename to packages/imperative/src/imperative/profiles/builders/ProfilesSetCommandBuilder.ts index b628451d16..a227298cb1 100644 --- a/packages/imperative/src/imperative/src/profiles/builders/ProfilesSetCommandBuilder.ts +++ b/packages/imperative/src/imperative/profiles/builders/ProfilesSetCommandBuilder.ts @@ -10,16 +10,16 @@ */ import { ProfilesCommandBuilder } from "./ProfilesCommandBuilder"; -import { ICommandDefinition } from "../../../../cmd"; -import { TextUtils } from "../../../../utilities"; -import { Constants } from "../../../../constants"; +import { ICommandDefinition } from "../../../cmd"; +import { TextUtils } from "../../../utilities"; +import { Constants } from "../../../constants"; import { setGroupWithOnlyProfilesCommandDesc, setGroupWithOnlyProfilesSummary, setProfileExample, setProfileOptionDesc -} from "../../../../messages/index"; -import { ProfilesConstants } from "../../../../profiles"; +} from "../../../messages/index"; +import { ProfilesConstants } from "../../../profiles"; /** * Used to build "set default profile" command definitions. diff --git a/packages/imperative/src/imperative/src/profiles/builders/ProfilesShowDependenciesCommandBuilder.ts b/packages/imperative/src/imperative/profiles/builders/ProfilesShowDependenciesCommandBuilder.ts similarity index 90% rename from packages/imperative/src/imperative/src/profiles/builders/ProfilesShowDependenciesCommandBuilder.ts rename to packages/imperative/src/imperative/profiles/builders/ProfilesShowDependenciesCommandBuilder.ts index 408d3b9de5..2093ad968f 100644 --- a/packages/imperative/src/imperative/src/profiles/builders/ProfilesShowDependenciesCommandBuilder.ts +++ b/packages/imperative/src/imperative/profiles/builders/ProfilesShowDependenciesCommandBuilder.ts @@ -10,11 +10,11 @@ */ import { ProfilesCommandBuilder } from "./ProfilesCommandBuilder"; -import { Constants } from "../../../../constants"; -import { ICommandDefinition } from "../../../../cmd"; -import { deleteProfileNameDesc, showDependenciesCommandDesc } from "../../../../messages"; -import { TextUtils } from "../../../../utilities"; -import { ProfilesConstants, ProfileUtils } from "../../../../profiles"; +import { Constants } from "../../../constants"; +import { ICommandDefinition } from "../../../cmd"; +import { deleteProfileNameDesc, showDependenciesCommandDesc } from "../../../messages"; +import { TextUtils } from "../../../utilities"; +import { ProfilesConstants, ProfileUtils } from "../../../profiles"; /** * Used to build profile create command definitions. diff --git a/packages/imperative/src/imperative/src/profiles/builders/ProfilesUpdateCommandBuilder.ts b/packages/imperative/src/imperative/profiles/builders/ProfilesUpdateCommandBuilder.ts similarity index 93% rename from packages/imperative/src/imperative/src/profiles/builders/ProfilesUpdateCommandBuilder.ts rename to packages/imperative/src/imperative/profiles/builders/ProfilesUpdateCommandBuilder.ts index fb4bccd8c7..641e6e1402 100644 --- a/packages/imperative/src/imperative/src/profiles/builders/ProfilesUpdateCommandBuilder.ts +++ b/packages/imperative/src/imperative/profiles/builders/ProfilesUpdateCommandBuilder.ts @@ -11,12 +11,12 @@ import { ProfilesCommandBuilder } from "./ProfilesCommandBuilder"; import { isNullOrUndefined } from "util"; -import { Constants } from "../../../../constants"; -import { ICommandDefinition } from "../../../../cmd"; -import { createProfileOptionDesc, updateProfileCommandDesc } from "../../../../messages"; -import { TextUtils } from "../../../../utilities"; -import { IProfileProperty, ProfilesConstants, ProfileUtils } from "../../../../profiles"; -import { ICommandProfileProperty } from "../../../../cmd/src/doc/profiles/definition/ICommandProfileProperty"; +import { Constants } from "../../../constants"; +import { ICommandDefinition } from "../../../cmd"; +import { createProfileOptionDesc, updateProfileCommandDesc } from "../../../messages"; +import { TextUtils } from "../../../utilities"; +import { IProfileProperty, ProfilesConstants, ProfileUtils } from "../../../profiles"; +import { ICommandProfileProperty } from "../../../cmd/doc/profiles/definition/ICommandProfileProperty"; /** * Used to build profile update command definitions. diff --git a/packages/imperative/src/imperative/src/profiles/builders/ProfilesValidateCommandBuilder.ts b/packages/imperative/src/imperative/profiles/builders/ProfilesValidateCommandBuilder.ts similarity index 93% rename from packages/imperative/src/imperative/src/profiles/builders/ProfilesValidateCommandBuilder.ts rename to packages/imperative/src/imperative/profiles/builders/ProfilesValidateCommandBuilder.ts index c8f6113f78..d53590e6d8 100644 --- a/packages/imperative/src/imperative/src/profiles/builders/ProfilesValidateCommandBuilder.ts +++ b/packages/imperative/src/imperative/profiles/builders/ProfilesValidateCommandBuilder.ts @@ -10,13 +10,13 @@ */ import { ProfilesCommandBuilder } from "./ProfilesCommandBuilder"; -import { ICommandDefinition, ICommandProfileTypeConfiguration } from "../../../../cmd"; -import { Constants } from "../../../../constants"; -import { deleteProfileNameDesc, validateProfileCommandDesc } from "../../../../messages"; -import { ImperativeConfig, TextUtils } from "../../../../utilities"; -import { Logger } from "../../../../logger/index"; +import { ICommandDefinition, ICommandProfileTypeConfiguration } from "../../../cmd"; +import { Constants } from "../../../constants"; +import { deleteProfileNameDesc, validateProfileCommandDesc } from "../../../messages"; +import { ImperativeConfig, TextUtils } from "../../../utilities"; +import { Logger } from "../../../logger/index"; import { isNullOrUndefined } from "util"; -import { ProfilesConstants, ProfileUtils, ProfileValidator } from "../../../../profiles"; +import { ProfilesConstants, ProfileUtils, ProfileValidator } from "../../../profiles"; /** * Used to build profile validate command definitions. diff --git a/packages/imperative/src/imperative/src/profiles/handlers/CreateProfilesHandler.ts b/packages/imperative/src/imperative/profiles/handlers/CreateProfilesHandler.ts similarity index 93% rename from packages/imperative/src/imperative/src/profiles/handlers/CreateProfilesHandler.ts rename to packages/imperative/src/imperative/profiles/handlers/CreateProfilesHandler.ts index dc588f06a8..681c57e37f 100644 --- a/packages/imperative/src/imperative/src/profiles/handlers/CreateProfilesHandler.ts +++ b/packages/imperative/src/imperative/profiles/handlers/CreateProfilesHandler.ts @@ -9,13 +9,13 @@ * */ -import { overroteProfileMessage, profileCreatedSuccessfullyAndPath, profileReviewMessage } from "../../../../messages"; +import { overroteProfileMessage, profileCreatedSuccessfullyAndPath, profileReviewMessage } from "../../../messages"; import { Imperative } from "../../Imperative"; -import { IProfileSaved, ISaveProfileFromCliArgs, ProfilesConstants } from "../../../../profiles"; -import { CliProfileManager, ICommandHandler, IHandlerParameters } from "../../../../cmd"; +import { IProfileSaved, ISaveProfileFromCliArgs, ProfilesConstants } from "../../../profiles"; +import { CliProfileManager, ICommandHandler, IHandlerParameters } from "../../../cmd"; -import { Constants } from "../../../../constants"; -import { TextUtils } from "../../../../utilities"; +import { Constants } from "../../../constants"; +import { TextUtils } from "../../../utilities"; /** * Handler that allows creation of a profile from command line arguments. Intended for usage with the automatically diff --git a/packages/imperative/src/imperative/src/profiles/handlers/ListProfilesHandler.ts b/packages/imperative/src/imperative/profiles/handlers/ListProfilesHandler.ts similarity index 94% rename from packages/imperative/src/imperative/src/profiles/handlers/ListProfilesHandler.ts rename to packages/imperative/src/imperative/profiles/handlers/ListProfilesHandler.ts index 2d33126600..3b46fa468b 100644 --- a/packages/imperative/src/imperative/src/profiles/handlers/ListProfilesHandler.ts +++ b/packages/imperative/src/imperative/profiles/handlers/ListProfilesHandler.ts @@ -10,9 +10,9 @@ */ import { Imperative } from "../../../"; -import { ProfilesConstants } from "../../../../profiles/src/constants/ProfilesConstants"; -import { CliProfileManager, ICommandHandler, IHandlerParameters } from "../../../../cmd"; -import { IProfileLoaded } from "../../../.."; +import { ProfilesConstants } from "../../../profiles/constants/ProfilesConstants"; +import { CliProfileManager, ICommandHandler, IHandlerParameters } from "../../../cmd"; +import { IProfileLoaded } from "../../../"; /** * Handler for the auto-generated list profiles command. diff --git a/packages/imperative/src/imperative/src/profiles/handlers/NewDeleteProfilesHandler.ts b/packages/imperative/src/imperative/profiles/handlers/NewDeleteProfilesHandler.ts similarity index 91% rename from packages/imperative/src/imperative/src/profiles/handlers/NewDeleteProfilesHandler.ts rename to packages/imperative/src/imperative/profiles/handlers/NewDeleteProfilesHandler.ts index ac12434759..a14bcd3349 100644 --- a/packages/imperative/src/imperative/src/profiles/handlers/NewDeleteProfilesHandler.ts +++ b/packages/imperative/src/imperative/profiles/handlers/NewDeleteProfilesHandler.ts @@ -9,10 +9,10 @@ * */ -import { IHandlerParameters } from "../../../../cmd"; +import { IHandlerParameters } from "../../../cmd"; import { Imperative } from "../../Imperative"; -import { Constants } from "../../../../constants"; -import { IProfileDeleted, ProfilesConstants } from "../../../../profiles"; +import { Constants } from "../../../constants"; +import { IProfileDeleted, ProfilesConstants } from "../../../profiles"; export default class NewDeleteProfilesHandler { public async process(commandParameters: IHandlerParameters) { diff --git a/packages/imperative/src/imperative/src/profiles/handlers/OldDeleteProfilesHandler.ts b/packages/imperative/src/imperative/profiles/handlers/OldDeleteProfilesHandler.ts similarity index 100% rename from packages/imperative/src/imperative/src/profiles/handlers/OldDeleteProfilesHandler.ts rename to packages/imperative/src/imperative/profiles/handlers/OldDeleteProfilesHandler.ts diff --git a/packages/imperative/src/imperative/src/profiles/handlers/SetDefaultProfilesHandler.ts b/packages/imperative/src/imperative/profiles/handlers/SetDefaultProfilesHandler.ts similarity index 91% rename from packages/imperative/src/imperative/src/profiles/handlers/SetDefaultProfilesHandler.ts rename to packages/imperative/src/imperative/profiles/handlers/SetDefaultProfilesHandler.ts index 7cdb46ea20..15428509fb 100644 --- a/packages/imperative/src/imperative/src/profiles/handlers/SetDefaultProfilesHandler.ts +++ b/packages/imperative/src/imperative/profiles/handlers/SetDefaultProfilesHandler.ts @@ -10,9 +10,9 @@ */ import { Imperative } from "../../Imperative"; -import { ProfilesConstants } from "../../../../profiles"; -import { ICommandHandler, IHandlerParameters } from "../../../../cmd"; -import { Constants } from "../../../../constants"; +import { ProfilesConstants } from "../../../profiles"; +import { ICommandHandler, IHandlerParameters } from "../../../cmd"; +import { Constants } from "../../../constants"; /** * Handler for the auto generated commands to set the default profile for a type * The default profile is loaded when no specific profile name is specified diff --git a/packages/imperative/src/imperative/src/profiles/handlers/ShowDependenciesProfilesHandler.ts b/packages/imperative/src/imperative/profiles/handlers/ShowDependenciesProfilesHandler.ts similarity index 92% rename from packages/imperative/src/imperative/src/profiles/handlers/ShowDependenciesProfilesHandler.ts rename to packages/imperative/src/imperative/profiles/handlers/ShowDependenciesProfilesHandler.ts index 338699071a..f6954e82d6 100644 --- a/packages/imperative/src/imperative/src/profiles/handlers/ShowDependenciesProfilesHandler.ts +++ b/packages/imperative/src/imperative/profiles/handlers/ShowDependenciesProfilesHandler.ts @@ -9,7 +9,7 @@ * */ -import { ICommandHandler, IHandlerParameters } from "../../../../cmd"; +import { ICommandHandler, IHandlerParameters } from "../../../cmd"; /** * Handler for the auto-generated show dependencies command diff --git a/packages/imperative/src/imperative/src/profiles/handlers/UpdateProfilesHandler.ts b/packages/imperative/src/imperative/profiles/handlers/UpdateProfilesHandler.ts similarity index 88% rename from packages/imperative/src/imperative/src/profiles/handlers/UpdateProfilesHandler.ts rename to packages/imperative/src/imperative/profiles/handlers/UpdateProfilesHandler.ts index 6ec64af53f..e1f3eb30a4 100644 --- a/packages/imperative/src/imperative/src/profiles/handlers/UpdateProfilesHandler.ts +++ b/packages/imperative/src/imperative/profiles/handlers/UpdateProfilesHandler.ts @@ -9,12 +9,12 @@ * */ -import { overroteProfileMessage, profileUpdatedSuccessfullyAndPath, profileReviewMessage } from "../../../../messages"; +import { overroteProfileMessage, profileUpdatedSuccessfullyAndPath, profileReviewMessage } from "../../../messages"; import { Imperative } from "../../Imperative"; -import { IProfileUpdated, ProfilesConstants } from "../../../../profiles"; -import { ICommandHandler, IHandlerParameters } from "../../../../cmd"; -import { Constants } from "../../../../constants"; -import { TextUtils } from "../../../../utilities"; +import { IProfileUpdated, ProfilesConstants } from "../../../profiles"; +import { ICommandHandler, IHandlerParameters } from "../../../cmd"; +import { Constants } from "../../../constants"; +import { TextUtils } from "../../../utilities"; /** * Handler for the auto-generated update profile commands diff --git a/packages/imperative/src/imperative/src/profiles/handlers/ValidateProfileHandler.ts b/packages/imperative/src/imperative/profiles/handlers/ValidateProfileHandler.ts similarity index 95% rename from packages/imperative/src/imperative/src/profiles/handlers/ValidateProfileHandler.ts rename to packages/imperative/src/imperative/profiles/handlers/ValidateProfileHandler.ts index f435403304..c8d4e3f12b 100644 --- a/packages/imperative/src/imperative/src/profiles/handlers/ValidateProfileHandler.ts +++ b/packages/imperative/src/imperative/profiles/handlers/ValidateProfileHandler.ts @@ -10,8 +10,8 @@ */ import { isNullOrUndefined } from "util"; -import { CliProfileManager, ICommandHandler, IHandlerParameters } from "../../../../cmd"; -import { IImperativeError, ImperativeError } from "../../../../error"; +import { CliProfileManager, ICommandHandler, IHandlerParameters } from "../../../cmd"; +import { IImperativeError, ImperativeError } from "../../../error"; import { Imperative } from "../../../index"; import { IProfileValidationPlan, @@ -19,9 +19,9 @@ import { IProfileValidationTask, ProfilesConstants, ProfileValidator -} from "../../../../profiles"; -import { Logger } from "../../../../logger"; -import { ImperativeConfig } from "../../../../utilities"; +} from "../../../profiles"; +import { Logger } from "../../../logger"; +import { ImperativeConfig } from "../../../utilities"; /** * Generic handler for validating a profile and printing a report in response diff --git a/packages/imperative/src/interfaces/src/doc/IConstructor.ts b/packages/imperative/src/interfaces/doc/IConstructor.ts similarity index 100% rename from packages/imperative/src/interfaces/src/doc/IConstructor.ts rename to packages/imperative/src/interfaces/doc/IConstructor.ts diff --git a/packages/imperative/src/interfaces/index.ts b/packages/imperative/src/interfaces/index.ts index 5df127e1ce..8caf4f16bf 100644 --- a/packages/imperative/src/interfaces/index.ts +++ b/packages/imperative/src/interfaces/index.ts @@ -9,5 +9,5 @@ * */ -export * from "./src/types/ImperativeReject"; -export * from "./src/doc/IConstructor"; +export * from "./types/ImperativeReject"; +export * from "./doc/IConstructor"; diff --git a/packages/imperative/src/interfaces/src/types/ImperativeReject.ts b/packages/imperative/src/interfaces/types/ImperativeReject.ts similarity index 90% rename from packages/imperative/src/interfaces/src/types/ImperativeReject.ts rename to packages/imperative/src/interfaces/types/ImperativeReject.ts index 90d7d39bb5..2c3fb839f4 100644 --- a/packages/imperative/src/interfaces/src/types/ImperativeReject.ts +++ b/packages/imperative/src/interfaces/types/ImperativeReject.ts @@ -9,7 +9,7 @@ * */ -import { ImperativeError } from "../../../error"; +import { ImperativeError } from "../../error"; /** * Definition for a promise rejection method that provides an ImperativeError (or subclass) */ diff --git a/packages/imperative/src/io/src/IO.ts b/packages/imperative/src/io/IO.ts similarity index 98% rename from packages/imperative/src/io/src/IO.ts rename to packages/imperative/src/io/IO.ts index 327335ce00..f2f05982ca 100644 --- a/packages/imperative/src/io/src/IO.ts +++ b/packages/imperative/src/io/IO.ts @@ -12,11 +12,11 @@ import * as fs from "fs"; import * as path from "path"; import * as os from "os"; -import { ImperativeReject } from "../../interfaces"; -import { ImperativeError } from "../../error"; -import { ImperativeExpect } from "../../expect"; +import { ImperativeReject } from "../interfaces"; +import { ImperativeError } from "../error"; +import { ImperativeExpect } from "../expect"; // use complete path to ExecUtils to avoid circular dependency that results from utilities/index -import { ExecUtils } from "../../utilities/src/ExecUtils"; +import { ExecUtils } from "../utilities/ExecUtils"; import { Readable, Writable } from "stream"; import { mkdirpSync } from "fs-extra"; diff --git a/packages/imperative/src/io/index.ts b/packages/imperative/src/io/index.ts index 4c30ba8c3c..b62278ebf6 100644 --- a/packages/imperative/src/io/index.ts +++ b/packages/imperative/src/io/index.ts @@ -9,4 +9,4 @@ * */ -export * from "./src/IO"; +export * from "./IO"; diff --git a/packages/imperative/src/logger/src/Logger.ts b/packages/imperative/src/logger/Logger.ts similarity index 98% rename from packages/imperative/src/logger/src/Logger.ts rename to packages/imperative/src/logger/Logger.ts index 85e8d6a380..5d048e2c38 100644 --- a/packages/imperative/src/logger/src/Logger.ts +++ b/packages/imperative/src/logger/Logger.ts @@ -10,15 +10,15 @@ */ import { format, inspect, isNullOrUndefined } from "util"; -import { ImperativeError } from "../../error/src/ImperativeError"; +import { ImperativeError } from "../error/ImperativeError"; import * as StackTrace from "stack-trace"; import * as path from "path"; -import { TextUtils } from "../../utilities/src/TextUtils"; -import { IO } from "../../io"; +import { TextUtils } from "../utilities/TextUtils"; +import { IO } from "../io"; import { IConfigLogging } from "./doc/IConfigLogging"; import { LoggerManager } from "./LoggerManager"; import * as log4js from "log4js"; -import { Console } from "../../console/src/Console"; +import { Console } from "../console/Console"; import { LoggerUtils } from "./LoggerUtils"; /** diff --git a/packages/imperative/src/logger/src/LoggerConfigBuilder.ts b/packages/imperative/src/logger/LoggerConfigBuilder.ts similarity index 99% rename from packages/imperative/src/logger/src/LoggerConfigBuilder.ts rename to packages/imperative/src/logger/LoggerConfigBuilder.ts index 79171c5acf..24555e483a 100644 --- a/packages/imperative/src/logger/src/LoggerConfigBuilder.ts +++ b/packages/imperative/src/logger/LoggerConfigBuilder.ts @@ -10,7 +10,7 @@ */ import { IConfigLogging } from "./doc/IConfigLogging"; -import { IO } from "../../io"; +import { IO } from "../io"; import * as path from "path"; import * as os from "os"; diff --git a/packages/imperative/src/logger/src/LoggerManager.ts b/packages/imperative/src/logger/LoggerManager.ts similarity index 98% rename from packages/imperative/src/logger/src/LoggerManager.ts rename to packages/imperative/src/logger/LoggerManager.ts index 011c2f2fb0..0f74744ecf 100644 --- a/packages/imperative/src/logger/src/LoggerManager.ts +++ b/packages/imperative/src/logger/LoggerManager.ts @@ -10,7 +10,7 @@ */ import { IQueuedMessage } from "./doc/IQueuedMessage"; -import { Console } from "../../console"; +import { Console } from "../console"; import { appendFileSync } from "fs"; /** diff --git a/packages/imperative/src/logger/src/LoggerUtils.ts b/packages/imperative/src/logger/LoggerUtils.ts similarity index 92% rename from packages/imperative/src/logger/src/LoggerUtils.ts rename to packages/imperative/src/logger/LoggerUtils.ts index 5a3465d9dc..00d8983b41 100644 --- a/packages/imperative/src/logger/src/LoggerUtils.ts +++ b/packages/imperative/src/logger/LoggerUtils.ts @@ -10,15 +10,15 @@ */ import { Arguments } from "yargs"; -import { EnvironmentalVariableSettings } from "../../imperative/src/env/EnvironmentalVariableSettings"; -import { CliUtils } from "../../utilities/src/CliUtils"; -import { ImperativeConfig } from "../../utilities/src/ImperativeConfig"; +import { EnvironmentalVariableSettings } from "../imperative/env/EnvironmentalVariableSettings"; +import { CliUtils } from "../utilities/CliUtils"; +import { ImperativeConfig } from "../utilities/ImperativeConfig"; import * as lodash from "lodash"; -import { Config } from "../../config/src/Config"; -import { IConfigLayer } from "../../config/src/doc/IConfigLayer"; -import { ICommandProfileTypeConfiguration } from "../../cmd/src/doc/profiles/definition/ICommandProfileTypeConfiguration"; -import { ICommandProfileProperty } from "../../cmd/src/doc/profiles/definition/ICommandProfileProperty"; -import { IProfileSchema } from "../../profiles/src/doc/definition/IProfileSchema"; +import { Config } from "../config/Config"; +import { IConfigLayer } from "../config/doc/IConfigLayer"; +import { ICommandProfileTypeConfiguration } from "../cmd/doc/profiles/definition/ICommandProfileTypeConfiguration"; +import { ICommandProfileProperty } from "../cmd/doc/profiles/definition/ICommandProfileProperty"; +import { IProfileSchema } from "../profiles/doc/definition/IProfileSchema"; export class LoggerUtils { public static readonly CENSOR_RESPONSE = "****"; diff --git a/packages/imperative/src/logger/src/__mocks__/Logger.ts b/packages/imperative/src/logger/__mocks__/Logger.ts similarity index 96% rename from packages/imperative/src/logger/src/__mocks__/Logger.ts rename to packages/imperative/src/logger/__mocks__/Logger.ts index a0ddaee943..c5206ade46 100644 --- a/packages/imperative/src/logger/src/__mocks__/Logger.ts +++ b/packages/imperative/src/logger/__mocks__/Logger.ts @@ -9,7 +9,7 @@ * */ -import { Console } from "../../../console"; +import { Console } from "../../console"; const Logger: any = (jest.genMockFromModule("../Logger") as any).Logger; diff --git a/packages/imperative/src/logger/src/__mocks__/LoggerUtils.ts b/packages/imperative/src/logger/__mocks__/LoggerUtils.ts similarity index 100% rename from packages/imperative/src/logger/src/__mocks__/LoggerUtils.ts rename to packages/imperative/src/logger/__mocks__/LoggerUtils.ts diff --git a/packages/imperative/src/logger/src/doc/IConfigLogging.ts b/packages/imperative/src/logger/doc/IConfigLogging.ts similarity index 100% rename from packages/imperative/src/logger/src/doc/IConfigLogging.ts rename to packages/imperative/src/logger/doc/IConfigLogging.ts diff --git a/packages/imperative/src/logger/src/doc/ILog4jsAppender.ts b/packages/imperative/src/logger/doc/ILog4jsAppender.ts similarity index 100% rename from packages/imperative/src/logger/src/doc/ILog4jsAppender.ts rename to packages/imperative/src/logger/doc/ILog4jsAppender.ts diff --git a/packages/imperative/src/logger/src/doc/ILog4jsConfig.ts b/packages/imperative/src/logger/doc/ILog4jsConfig.ts similarity index 100% rename from packages/imperative/src/logger/src/doc/ILog4jsConfig.ts rename to packages/imperative/src/logger/doc/ILog4jsConfig.ts diff --git a/packages/imperative/src/logger/src/doc/ILog4jsLayout.ts b/packages/imperative/src/logger/doc/ILog4jsLayout.ts similarity index 100% rename from packages/imperative/src/logger/src/doc/ILog4jsLayout.ts rename to packages/imperative/src/logger/doc/ILog4jsLayout.ts diff --git a/packages/imperative/src/logger/src/doc/IQueuedMessage.ts b/packages/imperative/src/logger/doc/IQueuedMessage.ts similarity index 100% rename from packages/imperative/src/logger/src/doc/IQueuedMessage.ts rename to packages/imperative/src/logger/doc/IQueuedMessage.ts diff --git a/packages/imperative/src/logger/index.ts b/packages/imperative/src/logger/index.ts index d5f79edc41..a4ffbce608 100644 --- a/packages/imperative/src/logger/index.ts +++ b/packages/imperative/src/logger/index.ts @@ -9,10 +9,10 @@ * */ -export * from "./src/doc/IConfigLogging"; -export * from "./src/doc/ILog4jsAppender"; -export * from "./src/doc/ILog4jsConfig"; -export * from "./src/doc/ILog4jsLayout"; -export * from "./src/Logger"; -export * from "./src/LoggerConfigBuilder"; -export * from "./src/LoggerUtils"; +export * from "./doc/IConfigLogging"; +export * from "./doc/ILog4jsAppender"; +export * from "./doc/ILog4jsConfig"; +export * from "./doc/ILog4jsLayout"; +export * from "./Logger"; +export * from "./LoggerConfigBuilder"; +export * from "./LoggerUtils"; diff --git a/packages/imperative/src/messages/src/CoreMessages.ts b/packages/imperative/src/messages/CoreMessages.ts similarity index 99% rename from packages/imperative/src/messages/src/CoreMessages.ts rename to packages/imperative/src/messages/CoreMessages.ts index d70be82fc8..784a27aaaf 100644 --- a/packages/imperative/src/messages/src/CoreMessages.ts +++ b/packages/imperative/src/messages/CoreMessages.ts @@ -10,7 +10,7 @@ */ import { IMessageDefinition } from "./doc/IMessageDefinition"; -import { Constants } from "../../constants"; +import { Constants } from "../constants"; export const apiErrorHeader: IMessageDefinition = { message: `${Constants.FRAMEWORK_DISPLAY_NAME} API Error` diff --git a/packages/imperative/src/messages/src/doc/IMessageDefinition.ts b/packages/imperative/src/messages/doc/IMessageDefinition.ts similarity index 100% rename from packages/imperative/src/messages/src/doc/IMessageDefinition.ts rename to packages/imperative/src/messages/doc/IMessageDefinition.ts diff --git a/packages/imperative/src/messages/index.ts b/packages/imperative/src/messages/index.ts index cc688e4217..5aef4b4a61 100644 --- a/packages/imperative/src/messages/index.ts +++ b/packages/imperative/src/messages/index.ts @@ -9,5 +9,5 @@ * */ -export * from "./src/doc/IMessageDefinition"; -export * from "./src/CoreMessages"; +export * from "./doc/IMessageDefinition"; +export * from "./CoreMessages"; diff --git a/packages/imperative/src/operations/src/Operation.ts b/packages/imperative/src/operations/Operation.ts similarity index 99% rename from packages/imperative/src/operations/src/Operation.ts rename to packages/imperative/src/operations/Operation.ts index e616531aee..20d270aef1 100644 --- a/packages/imperative/src/operations/src/Operation.ts +++ b/packages/imperative/src/operations/Operation.ts @@ -13,10 +13,10 @@ import { IOperationResult } from "./doc/IOperationResult"; import { TaskStage } from "./TaskStage"; import * as fs from "fs"; import { removeSync } from "fs-extra"; -import { TextUtils } from "../../utilities"; +import { TextUtils } from "../utilities/TextUtils"; import { ITaskWithStatus } from "./doc/ITaskWithStatus"; import { TaskProgress } from "./TaskProgress"; -import { Logger } from "../../logger"; +import { Logger } from "../logger"; export type IOperationCompleted = diff --git a/packages/imperative/src/operations/src/Operations.ts b/packages/imperative/src/operations/Operations.ts similarity index 99% rename from packages/imperative/src/operations/src/Operations.ts rename to packages/imperative/src/operations/Operations.ts index 4ea02bf2a4..8ab0af473b 100644 --- a/packages/imperative/src/operations/src/Operations.ts +++ b/packages/imperative/src/operations/Operations.ts @@ -12,7 +12,7 @@ import { IOperationResultReady, Operation } from "./Operation"; import { IOperationResult } from "./doc/IOperationResult"; import { isNullOrUndefined } from "util"; -import { TextUtils } from "../../utilities"; +import { TextUtils } from "../utilities"; import { TaskProgress } from "./TaskProgress"; /** diff --git a/packages/imperative/src/operations/src/TaskProgress.ts b/packages/imperative/src/operations/TaskProgress.ts similarity index 100% rename from packages/imperative/src/operations/src/TaskProgress.ts rename to packages/imperative/src/operations/TaskProgress.ts diff --git a/packages/imperative/src/operations/src/TaskStage.ts b/packages/imperative/src/operations/TaskStage.ts similarity index 100% rename from packages/imperative/src/operations/src/TaskStage.ts rename to packages/imperative/src/operations/TaskStage.ts diff --git a/packages/imperative/src/operations/src/doc/IOperationResult.ts b/packages/imperative/src/operations/doc/IOperationResult.ts similarity index 100% rename from packages/imperative/src/operations/src/doc/IOperationResult.ts rename to packages/imperative/src/operations/doc/IOperationResult.ts diff --git a/packages/imperative/src/operations/src/doc/ITaskWithStatus.ts b/packages/imperative/src/operations/doc/ITaskWithStatus.ts similarity index 100% rename from packages/imperative/src/operations/src/doc/ITaskWithStatus.ts rename to packages/imperative/src/operations/doc/ITaskWithStatus.ts diff --git a/packages/imperative/src/operations/index.ts b/packages/imperative/src/operations/index.ts index dea33611e2..c935e4f059 100644 --- a/packages/imperative/src/operations/index.ts +++ b/packages/imperative/src/operations/index.ts @@ -9,9 +9,9 @@ * */ -export * from "./src/doc/IOperationResult"; -export * from "./src/doc/ITaskWithStatus"; -export * from "./src/Operation"; -export * from "./src/Operations"; -export * from "./src/TaskProgress"; -export * from "./src/TaskStage"; +export * from "./doc/IOperationResult"; +export * from "./doc/ITaskWithStatus"; +export * from "./Operation"; +export * from "./Operations"; +export * from "./TaskProgress"; +export * from "./TaskStage"; diff --git a/packages/imperative/src/profiles/src/BasicProfileManager.ts b/packages/imperative/src/profiles/BasicProfileManager.ts similarity index 98% rename from packages/imperative/src/profiles/src/BasicProfileManager.ts rename to packages/imperative/src/profiles/BasicProfileManager.ts index 75859ef234..07f74a4176 100644 --- a/packages/imperative/src/profiles/src/BasicProfileManager.ts +++ b/packages/imperative/src/profiles/BasicProfileManager.ts @@ -16,9 +16,7 @@ import { IMetaProfile, IProfile, IProfileDeleted, - IProfileInitialized, IProfileLoaded, - IProfileManagerInit, IProfileSaved, IProfileTypeConfiguration, IProfileUpdated, @@ -27,10 +25,11 @@ import { IUpdateProfile, IValidateProfileWithSchema } from "./doc"; - -import { ImperativeExpect } from "../../expect"; +import { IProfileManagerInit } from "./doc/parms/IProfileManagerInit"; +import { IProfileInitialized } from "./doc/response/IProfileInitialized"; +import { ImperativeExpect } from "./../expect"; import { isNullOrUndefined } from "util"; -import { ImperativeError } from "../../error"; +import { ImperativeError } from "./../error"; import { ProfileIO } from "./utils"; /** diff --git a/packages/imperative/src/profiles/src/BasicProfileManagerFactory.ts b/packages/imperative/src/profiles/BasicProfileManagerFactory.ts similarity index 100% rename from packages/imperative/src/profiles/src/BasicProfileManagerFactory.ts rename to packages/imperative/src/profiles/BasicProfileManagerFactory.ts diff --git a/packages/imperative/src/profiles/src/abstract/AbstractProfileManager.ts b/packages/imperative/src/profiles/abstract/AbstractProfileManager.ts similarity index 98% rename from packages/imperative/src/profiles/src/abstract/AbstractProfileManager.ts rename to packages/imperative/src/profiles/abstract/AbstractProfileManager.ts index 50eaa93ff9..988f670bd9 100644 --- a/packages/imperative/src/profiles/src/abstract/AbstractProfileManager.ts +++ b/packages/imperative/src/profiles/abstract/AbstractProfileManager.ts @@ -9,10 +9,10 @@ * */ -import { ImperativeExpect } from "../../../expect"; +import { ImperativeExpect } from "../../expect"; import { inspect, isNullOrUndefined, isString } from "util"; -import { Logger } from "../../../logger"; -import { ImperativeError } from "../../../error"; +import { Logger } from "../../logger"; +import { ImperativeError } from "../../error"; import * as nodePath from "path"; import { IDeleteProfile, @@ -35,7 +35,7 @@ import { ILoadAllProfiles } from "../doc/"; import { ProfileIO, ProfileUtils } from "../utils"; -import { ImperativeConfig } from "../../../utilities"; +import { ImperativeConfig } from "../../utilities"; const SchemaValidator = require("jsonschema").Validator; @@ -233,7 +233,7 @@ export abstract class AbstractProfileManager { diff --git a/packages/imperative/src/profiles/src/doc/parms/IProfileManagerInit.ts b/packages/imperative/src/profiles/doc/parms/IProfileManagerInit.ts similarity index 100% rename from packages/imperative/src/profiles/src/doc/parms/IProfileManagerInit.ts rename to packages/imperative/src/profiles/doc/parms/IProfileManagerInit.ts diff --git a/packages/imperative/src/profiles/src/doc/parms/ISaveProfile.ts b/packages/imperative/src/profiles/doc/parms/ISaveProfile.ts similarity index 100% rename from packages/imperative/src/profiles/src/doc/parms/ISaveProfile.ts rename to packages/imperative/src/profiles/doc/parms/ISaveProfile.ts diff --git a/packages/imperative/src/profiles/src/doc/parms/ISaveProfileFromCliArgs.ts b/packages/imperative/src/profiles/doc/parms/ISaveProfileFromCliArgs.ts similarity index 100% rename from packages/imperative/src/profiles/src/doc/parms/ISaveProfileFromCliArgs.ts rename to packages/imperative/src/profiles/doc/parms/ISaveProfileFromCliArgs.ts diff --git a/packages/imperative/src/profiles/src/doc/parms/ISetDefaultProfile.ts b/packages/imperative/src/profiles/doc/parms/ISetDefaultProfile.ts similarity index 100% rename from packages/imperative/src/profiles/src/doc/parms/ISetDefaultProfile.ts rename to packages/imperative/src/profiles/doc/parms/ISetDefaultProfile.ts diff --git a/packages/imperative/src/profiles/src/doc/parms/IUpdateProfile.ts b/packages/imperative/src/profiles/doc/parms/IUpdateProfile.ts similarity index 100% rename from packages/imperative/src/profiles/src/doc/parms/IUpdateProfile.ts rename to packages/imperative/src/profiles/doc/parms/IUpdateProfile.ts diff --git a/packages/imperative/src/profiles/src/doc/parms/IUpdateProfileFromCliArgs.ts b/packages/imperative/src/profiles/doc/parms/IUpdateProfileFromCliArgs.ts similarity index 100% rename from packages/imperative/src/profiles/src/doc/parms/IUpdateProfileFromCliArgs.ts rename to packages/imperative/src/profiles/doc/parms/IUpdateProfileFromCliArgs.ts diff --git a/packages/imperative/src/profiles/src/doc/parms/IValidateProfile.ts b/packages/imperative/src/profiles/doc/parms/IValidateProfile.ts similarity index 100% rename from packages/imperative/src/profiles/src/doc/parms/IValidateProfile.ts rename to packages/imperative/src/profiles/doc/parms/IValidateProfile.ts diff --git a/packages/imperative/src/profiles/src/doc/parms/IValidateProfileForCLI.ts b/packages/imperative/src/profiles/doc/parms/IValidateProfileForCLI.ts similarity index 100% rename from packages/imperative/src/profiles/src/doc/parms/IValidateProfileForCLI.ts rename to packages/imperative/src/profiles/doc/parms/IValidateProfileForCLI.ts diff --git a/packages/imperative/src/profiles/src/doc/parms/IValidateProfileWithSchema.ts b/packages/imperative/src/profiles/doc/parms/IValidateProfileWithSchema.ts similarity index 100% rename from packages/imperative/src/profiles/src/doc/parms/IValidateProfileWithSchema.ts rename to packages/imperative/src/profiles/doc/parms/IValidateProfileWithSchema.ts diff --git a/packages/imperative/src/profiles/src/doc/parms/index.ts b/packages/imperative/src/profiles/doc/parms/index.ts similarity index 95% rename from packages/imperative/src/profiles/src/doc/parms/index.ts rename to packages/imperative/src/profiles/doc/parms/index.ts index e848e06353..399a3a8538 100644 --- a/packages/imperative/src/profiles/src/doc/parms/index.ts +++ b/packages/imperative/src/profiles/doc/parms/index.ts @@ -13,7 +13,6 @@ export * from "./IDeleteProfile"; export * from "./ILoadAllProfiles"; export * from "./ILoadProfile"; export * from "./IProfileManager"; -export * from "./IProfileManagerInit"; export * from "./ISaveProfile"; export * from "./ISaveProfileFromCliArgs"; export * from "./ISetDefaultProfile"; diff --git a/packages/imperative/src/profiles/src/doc/response/IProfileDeleted.ts b/packages/imperative/src/profiles/doc/response/IProfileDeleted.ts similarity index 100% rename from packages/imperative/src/profiles/src/doc/response/IProfileDeleted.ts rename to packages/imperative/src/profiles/doc/response/IProfileDeleted.ts diff --git a/packages/imperative/src/profiles/src/doc/response/IProfileInitialized.ts b/packages/imperative/src/profiles/doc/response/IProfileInitialized.ts similarity index 100% rename from packages/imperative/src/profiles/src/doc/response/IProfileInitialized.ts rename to packages/imperative/src/profiles/doc/response/IProfileInitialized.ts diff --git a/packages/imperative/src/profiles/src/doc/response/IProfileLoaded.ts b/packages/imperative/src/profiles/doc/response/IProfileLoaded.ts similarity index 100% rename from packages/imperative/src/profiles/src/doc/response/IProfileLoaded.ts rename to packages/imperative/src/profiles/doc/response/IProfileLoaded.ts diff --git a/packages/imperative/src/profiles/src/doc/response/IProfileSaved.ts b/packages/imperative/src/profiles/doc/response/IProfileSaved.ts similarity index 100% rename from packages/imperative/src/profiles/src/doc/response/IProfileSaved.ts rename to packages/imperative/src/profiles/doc/response/IProfileSaved.ts diff --git a/packages/imperative/src/profiles/src/doc/response/IProfileUpdated.ts b/packages/imperative/src/profiles/doc/response/IProfileUpdated.ts similarity index 100% rename from packages/imperative/src/profiles/src/doc/response/IProfileUpdated.ts rename to packages/imperative/src/profiles/doc/response/IProfileUpdated.ts diff --git a/packages/imperative/src/profiles/src/doc/response/IProfileValidated.ts b/packages/imperative/src/profiles/doc/response/IProfileValidated.ts similarity index 100% rename from packages/imperative/src/profiles/src/doc/response/IProfileValidated.ts rename to packages/imperative/src/profiles/doc/response/IProfileValidated.ts diff --git a/packages/imperative/src/profiles/src/doc/response/index.ts b/packages/imperative/src/profiles/doc/response/index.ts similarity index 92% rename from packages/imperative/src/profiles/src/doc/response/index.ts rename to packages/imperative/src/profiles/doc/response/index.ts index 17dedc9510..e3aacce2b8 100644 --- a/packages/imperative/src/profiles/src/doc/response/index.ts +++ b/packages/imperative/src/profiles/doc/response/index.ts @@ -10,7 +10,6 @@ */ export * from "./IProfileDeleted"; -export * from "./IProfileInitialized"; export * from "./IProfileLoaded"; export * from "./IProfileSaved"; export * from "./IProfileUpdated"; diff --git a/packages/imperative/src/profiles/index.ts b/packages/imperative/src/profiles/index.ts index 1e761a6387..a33497f089 100644 --- a/packages/imperative/src/profiles/index.ts +++ b/packages/imperative/src/profiles/index.ts @@ -9,51 +9,51 @@ * */ -export * from "./src/constants/ProfilesConstants"; - -export * from "./src/doc"; - -export * from "./src/doc/definition/IMetaProfile"; -export * from "./src/doc/definition/IProfile"; -export * from "./src/doc/definition/IProfileDependency"; -export * from "./src/doc/definition/IProfileProperty"; -export * from "./src/doc/definition/IProfileSchema"; -export * from "./src/doc/api/IProfileManagerFactory"; - -export * from "./src/doc/parms/IDeleteProfile"; -export * from "./src/doc/parms/ILoadProfile"; -export * from "./src/doc/parms/IProfileManager"; -export * from "./src/doc/parms/IProfileManagerInit"; -export * from "./src/doc/parms/ISaveProfile"; -export * from "./src/doc/parms/ISaveProfileFromCliArgs"; -export * from "./src/doc/parms/ISetDefaultProfile"; -export * from "./src/doc/parms/IUpdateProfile"; -export * from "./src/doc/parms/IUpdateProfileFromCliArgs"; -export * from "./src/doc/parms/IValidateProfile"; -export * from "./src/doc/parms/IValidateProfileForCLI"; -export * from "./src/doc/parms/IValidateProfileWithSchema"; - -export * from "./src/doc/api/IProfileManagerFactory"; - -export * from "./src/doc/response/IProfileDeleted"; -export * from "./src/doc/response/IProfileInitialized"; -export * from "./src/doc/response/IProfileLoaded"; -export * from "./src/doc/response/IProfileSaved"; -export * from "./src/doc/response/IProfileUpdated"; -export * from "./src/doc/response/IProfileValidated"; - -export * from "./src/utils/ProfileIO"; -export * from "./src/utils/ProfileUtils"; -export * from "./src/utils"; - -export * from "./src/validation/api/ProfileValidator"; - -export * from "./src/validation/doc/IProfileValidationPlan"; -export * from "./src/validation/doc/IProfileValidationReport"; -export * from "./src/validation/doc/IProfileValidationTask"; -export * from "./src/validation/doc/IProfileValidationTaskResult"; - -export * from "./src/BasicProfileManager"; -export * from "./src/BasicProfileManagerFactory"; - -export * from "./src/abstract/AbstractProfileManagerFactory"; +export * from "./constants/ProfilesConstants"; + +export * from "./doc"; + +export * from "./doc/definition/IMetaProfile"; +export * from "./doc/definition/IProfile"; +export * from "./doc/definition/IProfileDependency"; +export * from "./doc/definition/IProfileProperty"; +export * from "./doc/definition/IProfileSchema"; +export * from "./doc/api/IProfileManagerFactory"; + +export * from "./doc/parms/IDeleteProfile"; +export * from "./doc/parms/ILoadProfile"; +export * from "./doc/parms/IProfileManager"; +export * from "./doc/parms/IProfileManagerInit"; +export * from "./doc/parms/ISaveProfile"; +export * from "./doc/parms/ISaveProfileFromCliArgs"; +export * from "./doc/parms/ISetDefaultProfile"; +export * from "./doc/parms/IUpdateProfile"; +export * from "./doc/parms/IUpdateProfileFromCliArgs"; +export * from "./doc/parms/IValidateProfile"; +export * from "./doc/parms/IValidateProfileForCLI"; +export * from "./doc/parms/IValidateProfileWithSchema"; + +export * from "./doc/api/IProfileManagerFactory"; + +export * from "./doc/response/IProfileDeleted"; +export * from "./doc/response/IProfileInitialized"; +export * from "./doc/response/IProfileLoaded"; +export * from "./doc/response/IProfileSaved"; +export * from "./doc/response/IProfileUpdated"; +export * from "./doc/response/IProfileValidated"; + +export * from "./utils/ProfileIO"; +export * from "./utils/ProfileUtils"; +export * from "./utils"; + +export * from "./validation/api/ProfileValidator"; + +export * from "./validation/doc/IProfileValidationPlan"; +export * from "./validation/doc/IProfileValidationReport"; +export * from "./validation/doc/IProfileValidationTask"; +export * from "./validation/doc/IProfileValidationTaskResult"; + +export * from "./BasicProfileManager"; +export * from "./BasicProfileManagerFactory"; + +export * from "./abstract/AbstractProfileManagerFactory"; diff --git a/packages/imperative/src/profiles/src/utils/ProfileIO.ts b/packages/imperative/src/profiles/utils/ProfileIO.ts similarity index 98% rename from packages/imperative/src/profiles/src/utils/ProfileIO.ts rename to packages/imperative/src/profiles/utils/ProfileIO.ts index 41f7419d19..63073f544a 100644 --- a/packages/imperative/src/profiles/src/utils/ProfileIO.ts +++ b/packages/imperative/src/profiles/utils/ProfileIO.ts @@ -9,13 +9,13 @@ * */ -import { ImperativeError } from "../../../error"; -import { ImperativeConfig } from "../../../utilities"; +import { ImperativeError } from "../../error"; +import { ImperativeConfig } from "../../utilities/ImperativeConfig"; import * as fs from "fs"; import { IProfile } from "../doc/definition/IProfile"; import { IMetaProfile } from "../doc/definition/IMetaProfile"; import * as pathPackage from "path"; -import { IO } from "../../../io"; +import { IO } from "../../io"; import { IProfileTypeConfiguration } from "../doc/config/IProfileTypeConfiguration"; const readYaml = require("js-yaml"); diff --git a/packages/imperative/src/profiles/src/utils/ProfileUtils.ts b/packages/imperative/src/profiles/utils/ProfileUtils.ts similarity index 100% rename from packages/imperative/src/profiles/src/utils/ProfileUtils.ts rename to packages/imperative/src/profiles/utils/ProfileUtils.ts diff --git a/packages/imperative/src/profiles/src/utils/__mocks__/ProfileIO.ts b/packages/imperative/src/profiles/utils/__mocks__/ProfileIO.ts similarity index 100% rename from packages/imperative/src/profiles/src/utils/__mocks__/ProfileIO.ts rename to packages/imperative/src/profiles/utils/__mocks__/ProfileIO.ts diff --git a/packages/imperative/src/profiles/src/utils/__tests__/ProfileIO.unit.test.ts b/packages/imperative/src/profiles/utils/__tests__/ProfileIO.unit.test.ts similarity index 98% rename from packages/imperative/src/profiles/src/utils/__tests__/ProfileIO.unit.test.ts rename to packages/imperative/src/profiles/utils/__tests__/ProfileIO.unit.test.ts index 4ec7455fcc..521fe4a6d3 100644 --- a/packages/imperative/src/profiles/src/utils/__tests__/ProfileIO.unit.test.ts +++ b/packages/imperative/src/profiles/utils/__tests__/ProfileIO.unit.test.ts @@ -12,24 +12,24 @@ import Mock = jest.Mock; jest.mock("fs"); -jest.mock("../../../../io/src/IO"); +jest.mock("../../../io/IO"); jest.mock("js-yaml"); jest.mock("yamljs"); -jest.mock("../../../../utilities/src/ImperativeConfig"); +jest.mock("../../../utilities/ImperativeConfig"); import * as fs from "fs"; -import { IO } from "../../../../io/src/IO"; +import { IO } from "../../../io/IO"; import { ProfileIO } from "../ProfileIO"; -import { ImperativeError } from "../../../../error/index"; +import { ImperativeError } from "../../../error/index"; import { BANANA_PROFILE_TYPE, BLUEBERRY_PROFILE_TYPE, BLUEBERRY_TYPE_SCHEMA, STRAWBERRY_PROFILE_TYPE -} from "../../../__tests__/TestConstants"; -import { IMetaProfile, IProfile } from "../../../../index"; +} from "../../../../__tests__/__unit__/profiles/TestConstants"; +import { IMetaProfile, IProfile } from "../../../index"; import { IProfileTypeConfiguration } from "../../doc/config/IProfileTypeConfiguration"; -import { ImperativeConfig } from "../../../../utilities"; +import { ImperativeConfig } from "../../../utilities/ImperativeConfig"; const readYaml = require("js-yaml"); const writeYaml = require("yamljs"); diff --git a/packages/imperative/src/profiles/src/utils/__tests__/ProfileUtils.unit.test.ts b/packages/imperative/src/profiles/utils/__tests__/ProfileUtils.unit.test.ts similarity index 98% rename from packages/imperative/src/profiles/src/utils/__tests__/ProfileUtils.unit.test.ts rename to packages/imperative/src/profiles/utils/__tests__/ProfileUtils.unit.test.ts index c645aeb82d..ed1d2d6967 100644 --- a/packages/imperative/src/profiles/src/utils/__tests__/ProfileUtils.unit.test.ts +++ b/packages/imperative/src/profiles/utils/__tests__/ProfileUtils.unit.test.ts @@ -13,7 +13,7 @@ import Mock = jest.Mock; jest.mock("path"); import { ProfileUtils } from "../ProfileUtils"; import * as path from "path"; -import { IProfileLoaded } from "../../../../index"; +import { IProfileLoaded } from "../../../index"; import { APPLE_TWO_REQ_DEP_BANANA_ONE_REQ_DEP_GRAPE_ONE_REQ_DEP, BLUEBERRY_PROFILE_TYPE } from "../../../__tests__/TestConstants"; const mocks = { diff --git a/packages/imperative/src/profiles/src/utils/__tests__/__snapshots__/ProfileIO.unit.test.ts.snap b/packages/imperative/src/profiles/utils/__tests__/__snapshots__/ProfileIO.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/profiles/src/utils/__tests__/__snapshots__/ProfileIO.unit.test.ts.snap rename to packages/imperative/src/profiles/utils/__tests__/__snapshots__/ProfileIO.unit.test.ts.snap diff --git a/packages/imperative/src/profiles/src/utils/__tests__/__snapshots__/ProfileUtils.unit.test.ts.snap b/packages/imperative/src/profiles/utils/__tests__/__snapshots__/ProfileUtils.unit.test.ts.snap similarity index 100% rename from packages/imperative/src/profiles/src/utils/__tests__/__snapshots__/ProfileUtils.unit.test.ts.snap rename to packages/imperative/src/profiles/utils/__tests__/__snapshots__/ProfileUtils.unit.test.ts.snap diff --git a/packages/imperative/src/profiles/src/utils/index.ts b/packages/imperative/src/profiles/utils/index.ts similarity index 100% rename from packages/imperative/src/profiles/src/utils/index.ts rename to packages/imperative/src/profiles/utils/index.ts diff --git a/packages/imperative/src/profiles/src/validation/__tests__/ProfileValidation.unit.test.ts b/packages/imperative/src/profiles/validation/__tests__/ProfileValidation.unit.test.ts similarity index 99% rename from packages/imperative/src/profiles/src/validation/__tests__/ProfileValidation.unit.test.ts rename to packages/imperative/src/profiles/validation/__tests__/ProfileValidation.unit.test.ts index 04691e2eef..327239577b 100644 --- a/packages/imperative/src/profiles/src/validation/__tests__/ProfileValidation.unit.test.ts +++ b/packages/imperative/src/profiles/validation/__tests__/ProfileValidation.unit.test.ts @@ -10,7 +10,7 @@ */ import { inspect } from "util"; -import { TestLogger } from "../../../../../__tests__/src/TestLogger"; +import { TestLogger } from "../../../../__tests__/src/TestLogger"; import { IProfile } from "../../doc/definition/IProfile"; import { IProfileValidationPlan } from "../doc/IProfileValidationPlan"; import { IProfileValidationReport } from "../doc/IProfileValidationReport"; @@ -18,7 +18,7 @@ import { IProfileValidationTaskResult } from "../doc/IProfileValidationTaskResul import { ProfileValidator } from "../api/ProfileValidator"; import { IProfileValidationTask } from "../../.."; -jest.mock("../../../../imperative/src/Imperative"); +jest.mock("../../../imperative/Imperative"); const oldForceColorOption = process.env.FORCE_COLOR; diff --git a/packages/imperative/src/profiles/src/validation/api/ProfileValidator.ts b/packages/imperative/src/profiles/validation/api/ProfileValidator.ts similarity index 98% rename from packages/imperative/src/profiles/src/validation/api/ProfileValidator.ts rename to packages/imperative/src/profiles/validation/api/ProfileValidator.ts index fdec3318ef..2b186bf761 100644 --- a/packages/imperative/src/profiles/src/validation/api/ProfileValidator.ts +++ b/packages/imperative/src/profiles/validation/api/ProfileValidator.ts @@ -18,12 +18,12 @@ import { } from "../doc/IProfileValidationTask"; import { IProfileValidationTaskResult } from "../doc/IProfileValidationTaskResult"; import { isNullOrUndefined } from "util"; -import { Logger, LoggerUtils } from "../../../../logger"; -import { TextUtils } from "../../../../utilities"; -import { IPromiseWithProgress, ITaskWithStatus, TaskProgress, TaskStage } from "../../../../operations"; -import { ICommandOptionDefinition } from "../../../../cmd"; +import { Logger, LoggerUtils } from "../../../logger"; +import { TextUtils } from "../../../utilities/TextUtils"; +import { IPromiseWithProgress, ITaskWithStatus, TaskProgress, TaskStage } from "../../../operations"; +import { ICommandOptionDefinition } from "../../../cmd"; import { IProfile } from "../../doc/definition/IProfile"; -import { CliUtils } from "../../../../utilities/src/CliUtils"; +import { CliUtils } from "../../../utilities/CliUtils"; /** * API for going through the full validation test for a Zowe CLI profile diff --git a/packages/imperative/src/profiles/src/validation/doc/IProfileValidationPlan.ts b/packages/imperative/src/profiles/validation/doc/IProfileValidationPlan.ts similarity index 100% rename from packages/imperative/src/profiles/src/validation/doc/IProfileValidationPlan.ts rename to packages/imperative/src/profiles/validation/doc/IProfileValidationPlan.ts diff --git a/packages/imperative/src/profiles/src/validation/doc/IProfileValidationReport.ts b/packages/imperative/src/profiles/validation/doc/IProfileValidationReport.ts similarity index 100% rename from packages/imperative/src/profiles/src/validation/doc/IProfileValidationReport.ts rename to packages/imperative/src/profiles/validation/doc/IProfileValidationReport.ts diff --git a/packages/imperative/src/profiles/src/validation/doc/IProfileValidationTask.ts b/packages/imperative/src/profiles/validation/doc/IProfileValidationTask.ts similarity index 100% rename from packages/imperative/src/profiles/src/validation/doc/IProfileValidationTask.ts rename to packages/imperative/src/profiles/validation/doc/IProfileValidationTask.ts diff --git a/packages/imperative/src/profiles/src/validation/doc/IProfileValidationTaskResult.ts b/packages/imperative/src/profiles/validation/doc/IProfileValidationTaskResult.ts similarity index 100% rename from packages/imperative/src/profiles/src/validation/doc/IProfileValidationTaskResult.ts rename to packages/imperative/src/profiles/validation/doc/IProfileValidationTaskResult.ts diff --git a/packages/imperative/src/rest/src/__mocks__/RestClient.ts b/packages/imperative/src/rest/__mocks__/RestClient.ts similarity index 90% rename from packages/imperative/src/rest/src/__mocks__/RestClient.ts rename to packages/imperative/src/rest/__mocks__/RestClient.ts index 1c4bc0b50b..c213f5a2fb 100644 --- a/packages/imperative/src/rest/src/__mocks__/RestClient.ts +++ b/packages/imperative/src/rest/__mocks__/RestClient.ts @@ -9,7 +9,7 @@ * */ -import { AbstractSession } from "../../src/session/AbstractSession"; +import { AbstractSession } from "../session/AbstractSession"; export class RestClient { public static getExpectString(session: AbstractSession, resource: string, reqHeaders?: any[]) { return new Promise((resolve, reject) => { diff --git a/packages/imperative/src/rest/src/client/AbstractRestClient.ts b/packages/imperative/src/rest/client/AbstractRestClient.ts similarity index 99% rename from packages/imperative/src/rest/src/client/AbstractRestClient.ts rename to packages/imperative/src/rest/client/AbstractRestClient.ts index db962b2ed0..fef3baf036 100644 --- a/packages/imperative/src/rest/src/client/AbstractRestClient.ts +++ b/packages/imperative/src/rest/client/AbstractRestClient.ts @@ -10,26 +10,26 @@ */ import { inspect } from "util"; -import { Logger } from "../../../logger"; -import { IImperativeError, ImperativeError } from "../../../error"; +import { Logger } from "../../logger"; +import { IImperativeError, ImperativeError } from "../../error"; import { AbstractSession } from "../session/AbstractSession"; import * as https from "https"; import * as http from "http"; import { readFileSync } from "fs"; import { ContentEncoding, Headers } from "./Headers"; import { RestConstants } from "./RestConstants"; -import { ImperativeReject } from "../../../interfaces"; +import { ImperativeReject } from "../../interfaces"; import { IHTTPSOptions } from "./doc/IHTTPSOptions"; import { HTTP_VERB } from "./types/HTTPVerb"; -import { ImperativeExpect } from "../../../expect"; +import { ImperativeExpect } from "../../expect"; import { Session } from "../session/Session"; import * as path from "path"; import { IRestClientError } from "./doc/IRestClientError"; import { RestClientError } from "./RestClientError"; import { Readable, Writable } from "stream"; -import { IO } from "../../../io"; -import { ITaskWithStatus, TaskProgress, TaskStage } from "../../../operations"; -import { TextUtils } from "../../../utilities"; +import { IO } from "../../io"; +import { ITaskWithStatus, TaskProgress, TaskStage } from "../../operations"; +import { TextUtils } from "../../utilities/TextUtils"; import { IRestOptions } from "./doc/IRestOptions"; import * as SessConstants from "../session/SessConstants"; import { CompressionUtils } from "./CompressionUtils"; diff --git a/packages/imperative/src/rest/src/client/CompressionUtils.ts b/packages/imperative/src/rest/client/CompressionUtils.ts similarity index 98% rename from packages/imperative/src/rest/src/client/CompressionUtils.ts rename to packages/imperative/src/rest/client/CompressionUtils.ts index 7e05de3c54..3664fbeeca 100644 --- a/packages/imperative/src/rest/src/client/CompressionUtils.ts +++ b/packages/imperative/src/rest/client/CompressionUtils.ts @@ -11,8 +11,8 @@ import { Duplex, Transform, Writable } from "stream"; import * as zlib from "zlib"; -import { ImperativeError } from "../../../error"; -import { IO } from "../../../io"; +import { ImperativeError } from "../../error"; +import { IO } from "../../io"; import { ContentEncoding, Headers } from "./Headers"; export class CompressionUtils { diff --git a/packages/imperative/src/rest/src/client/Headers.ts b/packages/imperative/src/rest/client/Headers.ts similarity index 100% rename from packages/imperative/src/rest/src/client/Headers.ts rename to packages/imperative/src/rest/client/Headers.ts diff --git a/packages/imperative/src/rest/src/client/RestClient.ts b/packages/imperative/src/rest/client/RestClient.ts similarity index 99% rename from packages/imperative/src/rest/src/client/RestClient.ts rename to packages/imperative/src/rest/client/RestClient.ts index 6702ca9f4d..c59bd5a8a1 100644 --- a/packages/imperative/src/rest/src/client/RestClient.ts +++ b/packages/imperative/src/rest/client/RestClient.ts @@ -13,9 +13,9 @@ import { AbstractSession } from "../session/AbstractSession"; import { RestConstants } from "./RestConstants"; import { HTTP_VERB } from "./types/HTTPVerb"; import { AbstractRestClient } from "./AbstractRestClient"; -import { JSONUtils } from "../../../utilities"; +import { JSONUtils } from "../../utilities/JSONUtils"; import { Readable, Writable } from "stream"; -import { ITaskWithStatus } from "../../../operations"; +import { ITaskWithStatus } from "../../operations"; import { IRestClientResponse } from "./doc/IRestClientResponse"; import { IOptionsFullResponse } from "./doc/IOptionsFullResponse"; import { CLIENT_PROPERTY } from "./types/AbstractRestClientProperties"; diff --git a/packages/imperative/src/rest/src/client/RestClientError.ts b/packages/imperative/src/rest/client/RestClientError.ts similarity index 89% rename from packages/imperative/src/rest/src/client/RestClientError.ts rename to packages/imperative/src/rest/client/RestClientError.ts index be5cd0546e..8ae221bcb0 100644 --- a/packages/imperative/src/rest/src/client/RestClientError.ts +++ b/packages/imperative/src/rest/client/RestClientError.ts @@ -9,9 +9,9 @@ * */ -import { ImperativeError } from "../../../error"; +import { ImperativeError } from "../../error"; import { IRestClientError } from "./doc/IRestClientError"; -import { IImperativeErrorParms } from "../../../error/src/doc/IImperativeErrorParms"; +import { IImperativeErrorParms } from "../../error/doc/IImperativeErrorParms"; export class RestClientError extends ImperativeError { /** diff --git a/packages/imperative/src/rest/src/client/RestConstants.ts b/packages/imperative/src/rest/client/RestConstants.ts similarity index 100% rename from packages/imperative/src/rest/src/client/RestConstants.ts rename to packages/imperative/src/rest/client/RestConstants.ts diff --git a/packages/imperative/src/rest/src/client/RestStandAloneUtils.ts b/packages/imperative/src/rest/client/RestStandAloneUtils.ts similarity index 100% rename from packages/imperative/src/rest/src/client/RestStandAloneUtils.ts rename to packages/imperative/src/rest/client/RestStandAloneUtils.ts diff --git a/packages/imperative/src/rest/src/client/doc/IHTTPSOptions.ts b/packages/imperative/src/rest/client/doc/IHTTPSOptions.ts similarity index 100% rename from packages/imperative/src/rest/src/client/doc/IHTTPSOptions.ts rename to packages/imperative/src/rest/client/doc/IHTTPSOptions.ts diff --git a/packages/imperative/src/rest/src/client/doc/IHeaderContent.ts b/packages/imperative/src/rest/client/doc/IHeaderContent.ts similarity index 100% rename from packages/imperative/src/rest/src/client/doc/IHeaderContent.ts rename to packages/imperative/src/rest/client/doc/IHeaderContent.ts diff --git a/packages/imperative/src/rest/src/client/doc/IOptionsFullResponse.ts b/packages/imperative/src/rest/client/doc/IOptionsFullResponse.ts similarity index 97% rename from packages/imperative/src/rest/src/client/doc/IOptionsFullResponse.ts rename to packages/imperative/src/rest/client/doc/IOptionsFullResponse.ts index 4ea10d63f8..2e5680d7e3 100644 --- a/packages/imperative/src/rest/src/client/doc/IOptionsFullResponse.ts +++ b/packages/imperative/src/rest/client/doc/IOptionsFullResponse.ts @@ -10,7 +10,7 @@ */ import { Writable, Readable } from "stream"; -import { ITaskWithStatus } from "../../../../operations"; +import { ITaskWithStatus } from "../../../operations"; import { CLIENT_PROPERTY } from "../types/AbstractRestClientProperties"; /** * Interface to define input options for RestClient GET|POST|PUT|DELETE ExpectFullResponse methods diff --git a/packages/imperative/src/rest/src/client/doc/IRestClientError.ts b/packages/imperative/src/rest/client/doc/IRestClientError.ts similarity index 97% rename from packages/imperative/src/rest/src/client/doc/IRestClientError.ts rename to packages/imperative/src/rest/client/doc/IRestClientError.ts index 2123b2cb5f..0c5c7e0325 100644 --- a/packages/imperative/src/rest/src/client/doc/IRestClientError.ts +++ b/packages/imperative/src/rest/client/doc/IRestClientError.ts @@ -9,7 +9,7 @@ * */ -import { IImperativeError } from "../../../../error"; +import { IImperativeError } from "../../../error"; export type RestErrorSource = "client" | "http"; diff --git a/packages/imperative/src/rest/src/client/doc/IRestClientResponse.ts b/packages/imperative/src/rest/client/doc/IRestClientResponse.ts similarity index 97% rename from packages/imperative/src/rest/src/client/doc/IRestClientResponse.ts rename to packages/imperative/src/rest/client/doc/IRestClientResponse.ts index 1bd4c3850e..6ae3cfb9d8 100644 --- a/packages/imperative/src/rest/src/client/doc/IRestClientResponse.ts +++ b/packages/imperative/src/rest/client/doc/IRestClientResponse.ts @@ -11,7 +11,7 @@ */ import { Session } from "../../session/Session"; -import { Logger } from "../../../../logger"; +import { Logger } from "../../../logger"; /** * Interface to map client's REST call response diff --git a/packages/imperative/src/rest/src/client/doc/IRestOptions.ts b/packages/imperative/src/rest/client/doc/IRestOptions.ts similarity index 97% rename from packages/imperative/src/rest/src/client/doc/IRestOptions.ts rename to packages/imperative/src/rest/client/doc/IRestOptions.ts index b33c027876..8703aea235 100644 --- a/packages/imperative/src/rest/src/client/doc/IRestOptions.ts +++ b/packages/imperative/src/rest/client/doc/IRestOptions.ts @@ -11,7 +11,7 @@ import { HTTP_VERB } from "../types/HTTPVerb"; import { Writable, Readable } from "stream"; -import { ITaskWithStatus } from "../../../../operations"; +import { ITaskWithStatus } from "../../../operations"; /** * Interface to define input for AbstractRestClient.request method diff --git a/packages/imperative/src/rest/src/client/types/AbstractRestClientProperties.ts b/packages/imperative/src/rest/client/types/AbstractRestClientProperties.ts similarity index 100% rename from packages/imperative/src/rest/src/client/types/AbstractRestClientProperties.ts rename to packages/imperative/src/rest/client/types/AbstractRestClientProperties.ts diff --git a/packages/imperative/src/rest/src/client/types/HTTPVerb.ts b/packages/imperative/src/rest/client/types/HTTPVerb.ts similarity index 100% rename from packages/imperative/src/rest/src/client/types/HTTPVerb.ts rename to packages/imperative/src/rest/client/types/HTTPVerb.ts diff --git a/packages/imperative/src/rest/index.ts b/packages/imperative/src/rest/index.ts index b5f48dbe18..7c0629683b 100644 --- a/packages/imperative/src/rest/index.ts +++ b/packages/imperative/src/rest/index.ts @@ -9,26 +9,26 @@ * */ -export * from "./src/client/types/HTTPVerb"; -export * from "./src/client/doc/IHeaderContent"; -export * from "./src/client/doc/IHTTPSOptions"; -export * from "./src/client/doc/IOptionsFullResponse"; -export * from "./src/client/doc/IRestClientError"; -export * from "./src/client/doc/IRestClientResponse"; -export * from "./src/client/doc/IRestOptions"; -export * from "./src/client/Headers"; -export * from "./src/client/AbstractRestClient"; -export * from "./src/client/CompressionUtils"; -export * from "./src/client/RestClient"; -export * from "./src/client/RestConstants"; -export * from "./src/client/RestStandAloneUtils"; -export * from "./src/client/RestClientError"; +export * from "./client/types/HTTPVerb"; +export * from "./client/doc/IHeaderContent"; +export * from "./client/doc/IHTTPSOptions"; +export * from "./client/doc/IOptionsFullResponse"; +export * from "./client/doc/IRestClientError"; +export * from "./client/doc/IRestClientResponse"; +export * from "./client/doc/IRestOptions"; +export * from "./client/Headers"; +export * from "./client/AbstractRestClient"; +export * from "./client/CompressionUtils"; +export * from "./client/RestClient"; +export * from "./client/RestConstants"; +export * from "./client/RestStandAloneUtils"; +export * from "./client/RestClientError"; -export * as SessConstants from "./src/session/SessConstants"; +export * as SessConstants from "./session/SessConstants"; -export * from "./src/session/doc/ISession"; -export * from "./src/session/doc/IOptionsForAddConnProps"; -export * from "./src/session/doc/IOverridePromptConnProps"; -export * from "./src/session/AbstractSession"; -export * from "./src/session/ConnectionPropsForSessCfg"; -export * from "./src/session/Session"; +export * from "./session/doc/ISession"; +export * from "./session/doc/IOptionsForAddConnProps"; +export * from "./session/doc/IOverridePromptConnProps"; +export * from "./session/AbstractSession"; +export * from "./session/ConnectionPropsForSessCfg"; +export * from "./session/Session"; diff --git a/packages/imperative/src/rest/src/session/AbstractSession.ts b/packages/imperative/src/rest/session/AbstractSession.ts similarity index 98% rename from packages/imperative/src/rest/src/session/AbstractSession.ts rename to packages/imperative/src/rest/session/AbstractSession.ts index eff14b1312..b66289b4ce 100644 --- a/packages/imperative/src/rest/src/session/AbstractSession.ts +++ b/packages/imperative/src/rest/session/AbstractSession.ts @@ -10,9 +10,9 @@ */ import { ISession } from "./doc/ISession"; -import { Logger } from "../../../logger"; -import { ImperativeError } from "../../../error"; -import { ImperativeExpect } from "../../../expect"; +import { Logger } from "../../logger"; +import { ImperativeError } from "../../error"; +import { ImperativeExpect } from "../../expect"; import * as SessConstants from "./SessConstants"; /** diff --git a/packages/imperative/src/rest/src/session/ConnectionPropsForSessCfg.ts b/packages/imperative/src/rest/session/ConnectionPropsForSessCfg.ts similarity index 97% rename from packages/imperative/src/rest/src/session/ConnectionPropsForSessCfg.ts rename to packages/imperative/src/rest/session/ConnectionPropsForSessCfg.ts index 1d319ece26..dd17bb1978 100644 --- a/packages/imperative/src/rest/src/session/ConnectionPropsForSessCfg.ts +++ b/packages/imperative/src/rest/session/ConnectionPropsForSessCfg.ts @@ -9,17 +9,18 @@ * */ -import { CliUtils, ImperativeConfig } from "../../../utilities"; -import { ICommandArguments, IHandlerParameters } from "../../../cmd"; -import { ImperativeError } from "../../../error"; +import { CliUtils } from "../../utilities/CliUtils"; +import { ImperativeConfig } from "../../utilities/ImperativeConfig"; +import { ICommandArguments, IHandlerParameters } from "../../cmd"; +import { ImperativeError } from "../../error"; import { IOptionsForAddConnProps } from "./doc/IOptionsForAddConnProps"; -import { Logger } from "../../../logger"; +import { Logger } from "../../logger"; import * as SessConstants from "./SessConstants"; -import { IPromptOptions } from "../../../cmd/src/doc/response/api/handler/IPromptOptions"; +import { IPromptOptions } from "../../cmd/doc/response/api/handler/IPromptOptions"; import { ISession } from "./doc/ISession"; -import { IProfileProperty } from "../../../profiles"; -import { ConfigAutoStore } from "../../../config/src/ConfigAutoStore"; -import * as ConfigUtils from "../../../config/src/ConfigUtils"; +import { IProfileProperty } from "../../profiles"; +import { ConfigAutoStore } from "../../config/ConfigAutoStore"; +import { ConfigUtils } from "../../config/ConfigUtils"; /** * Extend options for IPromptOptions for internal wrapper method diff --git a/packages/imperative/src/rest/src/session/SessConstants.ts b/packages/imperative/src/rest/session/SessConstants.ts similarity index 100% rename from packages/imperative/src/rest/src/session/SessConstants.ts rename to packages/imperative/src/rest/session/SessConstants.ts diff --git a/packages/imperative/src/rest/src/session/Session.ts b/packages/imperative/src/rest/session/Session.ts similarity index 100% rename from packages/imperative/src/rest/src/session/Session.ts rename to packages/imperative/src/rest/session/Session.ts diff --git a/packages/imperative/src/rest/src/session/doc/IOptionsForAddConnProps.ts b/packages/imperative/src/rest/session/doc/IOptionsForAddConnProps.ts similarity index 98% rename from packages/imperative/src/rest/src/session/doc/IOptionsForAddConnProps.ts rename to packages/imperative/src/rest/session/doc/IOptionsForAddConnProps.ts index ac50b7f30d..60b90b0328 100644 --- a/packages/imperative/src/rest/src/session/doc/IOptionsForAddConnProps.ts +++ b/packages/imperative/src/rest/session/doc/IOptionsForAddConnProps.ts @@ -10,7 +10,7 @@ */ import { SessConstants } from "../../.."; -import { IHandlerParameters } from "../../../../cmd"; +import { IHandlerParameters } from "../../../cmd"; import { IOverridePromptConnProps } from "./IOverridePromptConnProps"; /** diff --git a/packages/imperative/src/rest/src/session/doc/IOverridePromptConnProps.ts b/packages/imperative/src/rest/session/doc/IOverridePromptConnProps.ts similarity index 100% rename from packages/imperative/src/rest/src/session/doc/IOverridePromptConnProps.ts rename to packages/imperative/src/rest/session/doc/IOverridePromptConnProps.ts diff --git a/packages/imperative/src/rest/src/session/doc/ISession.ts b/packages/imperative/src/rest/session/doc/ISession.ts similarity index 100% rename from packages/imperative/src/rest/src/session/doc/ISession.ts rename to packages/imperative/src/rest/session/doc/ISession.ts diff --git a/packages/imperative/src/security/src/CredentialManagerFactory.ts b/packages/imperative/src/security/CredentialManagerFactory.ts similarity index 98% rename from packages/imperative/src/security/src/CredentialManagerFactory.ts rename to packages/imperative/src/security/CredentialManagerFactory.ts index 011d804068..65734fefda 100644 --- a/packages/imperative/src/security/src/CredentialManagerFactory.ts +++ b/packages/imperative/src/security/CredentialManagerFactory.ts @@ -10,7 +10,7 @@ */ import { AbstractCredentialManager } from "./abstract/AbstractCredentialManager"; -import { ImperativeError } from "../../error"; +import { ImperativeError } from "../error"; import { ICredentialManagerInit } from "./doc/ICredentialManagerInit"; import { DefaultCredentialManager } from "./DefaultCredentialManager"; @@ -129,14 +129,14 @@ export class CredentialManagerFactory { if (this.mManager.initialize) { await this.mManager.initialize(); - const { Logger } = await import("../../logger"); + const { Logger } = await import("../logger"); Logger.getImperativeLogger().debug(`Initialized the "${displayName}" credential manager for "${params.service}".`); } } catch (error) { // Perform dynamic requires when an error happens const { InvalidCredentialManager } = await import("./InvalidCredentialManager"); - const { Logger } = await import("../../logger"); + const { Logger } = await import("../logger"); // Log appropriate error messages if (Manager !== DefaultCredentialManager) { diff --git a/packages/imperative/src/security/src/CredentialManagerOverride.ts b/packages/imperative/src/security/CredentialManagerOverride.ts similarity index 98% rename from packages/imperative/src/security/src/CredentialManagerOverride.ts rename to packages/imperative/src/security/CredentialManagerOverride.ts index 60459512be..af39d4d747 100644 --- a/packages/imperative/src/security/src/CredentialManagerOverride.ts +++ b/packages/imperative/src/security/CredentialManagerOverride.ts @@ -13,9 +13,9 @@ import * as path from "path"; import { readJsonSync, writeJsonSync } from "fs-extra"; import { ICredentialManagerNameMap } from "./doc/ICredentialManagerNameMap"; -import { ImperativeConfig } from "../../utilities"; -import { ImperativeError } from "../../error"; -import { ISettingsFile } from "../../settings/src/doc/ISettingsFile"; +import { ImperativeConfig } from "../utilities/ImperativeConfig"; +import { ImperativeError } from "../error"; +import { ISettingsFile } from "../settings/doc/ISettingsFile"; /** * This class provides access to the known set of credential manager overrides diff --git a/packages/imperative/src/security/src/DefaultCredentialManager.ts b/packages/imperative/src/security/DefaultCredentialManager.ts similarity index 99% rename from packages/imperative/src/security/src/DefaultCredentialManager.ts rename to packages/imperative/src/security/DefaultCredentialManager.ts index 8a2b9e43ea..a953e3a14e 100644 --- a/packages/imperative/src/security/src/DefaultCredentialManager.ts +++ b/packages/imperative/src/security/DefaultCredentialManager.ts @@ -10,8 +10,8 @@ */ import { AbstractCredentialManager, SecureCredential } from "./abstract/AbstractCredentialManager"; -import { ImperativeError } from "../../error"; -import { Logger } from "../../logger"; +import { ImperativeError } from "../error"; +import { Logger } from "../logger"; import { keyring as keytar } from "@zowe/secrets-for-zowe-sdk"; // Used for typing purposes only diff --git a/packages/imperative/src/security/src/InvalidCredentialManager.ts b/packages/imperative/src/security/InvalidCredentialManager.ts similarity index 100% rename from packages/imperative/src/security/src/InvalidCredentialManager.ts rename to packages/imperative/src/security/InvalidCredentialManager.ts diff --git a/packages/imperative/src/security/src/__mocks__/DefaultCredentialManager.ts b/packages/imperative/src/security/__mocks__/DefaultCredentialManager.ts similarity index 100% rename from packages/imperative/src/security/src/__mocks__/DefaultCredentialManager.ts rename to packages/imperative/src/security/__mocks__/DefaultCredentialManager.ts diff --git a/packages/imperative/src/security/src/abstract/AbstractCredentialManager.ts b/packages/imperative/src/security/abstract/AbstractCredentialManager.ts similarity index 99% rename from packages/imperative/src/security/src/abstract/AbstractCredentialManager.ts rename to packages/imperative/src/security/abstract/AbstractCredentialManager.ts index bbf6dd2b59..9b77105228 100644 --- a/packages/imperative/src/security/src/abstract/AbstractCredentialManager.ts +++ b/packages/imperative/src/security/abstract/AbstractCredentialManager.ts @@ -9,7 +9,7 @@ * */ -import { ImperativeError } from "../../../error"; +import { ImperativeError } from "../../error"; import { isNullOrUndefined } from "util"; /** diff --git a/packages/imperative/src/security/src/doc/ICredentialManagerConstructor.ts b/packages/imperative/src/security/doc/ICredentialManagerConstructor.ts similarity index 100% rename from packages/imperative/src/security/src/doc/ICredentialManagerConstructor.ts rename to packages/imperative/src/security/doc/ICredentialManagerConstructor.ts diff --git a/packages/imperative/src/security/src/doc/ICredentialManagerInit.ts b/packages/imperative/src/security/doc/ICredentialManagerInit.ts similarity index 95% rename from packages/imperative/src/security/src/doc/ICredentialManagerInit.ts rename to packages/imperative/src/security/doc/ICredentialManagerInit.ts index f32d8f13ac..71dc4a58f8 100644 --- a/packages/imperative/src/security/src/doc/ICredentialManagerInit.ts +++ b/packages/imperative/src/security/doc/ICredentialManagerInit.ts @@ -9,7 +9,7 @@ * */ -import { IImperativeOverrides } from "../../../imperative/src/doc/IImperativeOverrides"; +import { IImperativeOverrides } from "../../imperative/doc/IImperativeOverrides"; export interface ICredentialManagerInit { /** diff --git a/packages/imperative/src/security/src/doc/ICredentialManagerNameMap.ts b/packages/imperative/src/security/doc/ICredentialManagerNameMap.ts similarity index 100% rename from packages/imperative/src/security/src/doc/ICredentialManagerNameMap.ts rename to packages/imperative/src/security/doc/ICredentialManagerNameMap.ts diff --git a/packages/imperative/src/security/src/errors/BadCredentialManagerError.ts b/packages/imperative/src/security/errors/BadCredentialManagerError.ts similarity index 94% rename from packages/imperative/src/security/src/errors/BadCredentialManagerError.ts rename to packages/imperative/src/security/errors/BadCredentialManagerError.ts index 0b2a479fa4..c9be65adc0 100644 --- a/packages/imperative/src/security/src/errors/BadCredentialManagerError.ts +++ b/packages/imperative/src/security/errors/BadCredentialManagerError.ts @@ -9,7 +9,7 @@ * */ -import { ImperativeError } from "../../../error"; +import { ImperativeError } from "../../error"; /** * This class represents the error thrown by methods of the {@link InvalidCredentialManager} diff --git a/packages/imperative/src/security/index.ts b/packages/imperative/src/security/index.ts index c2ca8f1c80..53e7b7a5e8 100644 --- a/packages/imperative/src/security/index.ts +++ b/packages/imperative/src/security/index.ts @@ -9,11 +9,11 @@ * */ -export * from "./src/CredentialManagerFactory"; -export * from "./src/DefaultCredentialManager"; -export * from "./src/CredentialManagerOverride"; -export * from "./src/abstract/AbstractCredentialManager"; -export * from "./src/doc/ICredentialManagerConstructor"; -export * from "./src/doc/ICredentialManagerInit"; -export * from "./src/doc/ICredentialManagerNameMap"; -export * from "./src/errors/BadCredentialManagerError"; +export * from "./CredentialManagerFactory"; +export * from "./DefaultCredentialManager"; +export * from "./CredentialManagerOverride"; +export * from "./abstract/AbstractCredentialManager"; +export * from "./doc/ICredentialManagerConstructor"; +export * from "./doc/ICredentialManagerInit"; +export * from "./doc/ICredentialManagerNameMap"; +export * from "./errors/BadCredentialManagerError"; diff --git a/packages/imperative/src/settings/src/AppSettings.ts b/packages/imperative/src/settings/AppSettings.ts similarity index 97% rename from packages/imperative/src/settings/src/AppSettings.ts rename to packages/imperative/src/settings/AppSettings.ts index b2d5f30795..c3136ea66a 100644 --- a/packages/imperative/src/settings/src/AppSettings.ts +++ b/packages/imperative/src/settings/AppSettings.ts @@ -12,11 +12,11 @@ import * as DeepMerge from "deepmerge"; import { existsSync } from "fs"; import { ISettingsFile } from "./doc/ISettingsFile"; -import { Logger } from "../../logger"; +import { Logger } from "../logger"; import { ISettingsFilePersistence } from "./persistance/ISettingsFilePersistence"; import { JSONSettingsFilePersistence } from "./persistance/JSONSettingsFilePersistence"; -import { IO } from "../../io"; -import { ImperativeError } from "../../error"; +import { IO } from "../io"; +import { ImperativeError } from "../error"; type SettingValue = false | string; diff --git a/packages/imperative/src/settings/src/__mocks__/AppSettings.ts b/packages/imperative/src/settings/__mocks__/AppSettings.ts similarity index 100% rename from packages/imperative/src/settings/src/__mocks__/AppSettings.ts rename to packages/imperative/src/settings/__mocks__/AppSettings.ts diff --git a/packages/imperative/src/settings/src/doc/ISettingsFile.ts b/packages/imperative/src/settings/doc/ISettingsFile.ts similarity index 94% rename from packages/imperative/src/settings/src/doc/ISettingsFile.ts rename to packages/imperative/src/settings/doc/ISettingsFile.ts index 1fedf7ee2b..63be1aa2cc 100644 --- a/packages/imperative/src/settings/src/doc/ISettingsFile.ts +++ b/packages/imperative/src/settings/doc/ISettingsFile.ts @@ -9,7 +9,7 @@ * */ -import { IImperativeOverrides } from "../../../imperative/src/doc/IImperativeOverrides"; +import { IImperativeOverrides } from "../../imperative/doc/IImperativeOverrides"; /** * This interface defines the structure of the settings file. diff --git a/packages/imperative/src/settings/src/errors/SettingsAlreadyInitialized.ts b/packages/imperative/src/settings/errors/SettingsAlreadyInitialized.ts similarity index 92% rename from packages/imperative/src/settings/src/errors/SettingsAlreadyInitialized.ts rename to packages/imperative/src/settings/errors/SettingsAlreadyInitialized.ts index d4bb384058..0aa907676e 100644 --- a/packages/imperative/src/settings/src/errors/SettingsAlreadyInitialized.ts +++ b/packages/imperative/src/settings/errors/SettingsAlreadyInitialized.ts @@ -9,7 +9,7 @@ * */ -import { ImperativeError } from "../../../error/"; +import { ImperativeError } from "../../error/"; /** * This class represents an error that is thrown when a second settings singleton attempts to initialize. diff --git a/packages/imperative/src/settings/src/errors/SettingsNotInitialized.ts b/packages/imperative/src/settings/errors/SettingsNotInitialized.ts similarity index 93% rename from packages/imperative/src/settings/src/errors/SettingsNotInitialized.ts rename to packages/imperative/src/settings/errors/SettingsNotInitialized.ts index f19b4bfa69..4fb2db7041 100644 --- a/packages/imperative/src/settings/src/errors/SettingsNotInitialized.ts +++ b/packages/imperative/src/settings/errors/SettingsNotInitialized.ts @@ -9,7 +9,7 @@ * */ -import { ImperativeError } from "../../../error"; +import { ImperativeError } from "../../error"; /** * This class represents an error thrown when a null singleton {@link AppSettings} object is referenced. diff --git a/packages/imperative/src/settings/src/errors/index.ts b/packages/imperative/src/settings/errors/index.ts similarity index 100% rename from packages/imperative/src/settings/src/errors/index.ts rename to packages/imperative/src/settings/errors/index.ts diff --git a/packages/imperative/src/settings/index.ts b/packages/imperative/src/settings/index.ts index 4590749c16..302dafd3ab 100644 --- a/packages/imperative/src/settings/index.ts +++ b/packages/imperative/src/settings/index.ts @@ -9,4 +9,4 @@ * */ -export * from "./src/AppSettings"; +export * from "./AppSettings"; diff --git a/packages/imperative/src/settings/src/persistance/ISettingsFilePersistence.ts b/packages/imperative/src/settings/persistance/ISettingsFilePersistence.ts similarity index 100% rename from packages/imperative/src/settings/src/persistance/ISettingsFilePersistence.ts rename to packages/imperative/src/settings/persistance/ISettingsFilePersistence.ts diff --git a/packages/imperative/src/settings/src/persistance/JSONSettingsFilePersistence.ts b/packages/imperative/src/settings/persistance/JSONSettingsFilePersistence.ts similarity index 100% rename from packages/imperative/src/settings/src/persistance/JSONSettingsFilePersistence.ts rename to packages/imperative/src/settings/persistance/JSONSettingsFilePersistence.ts diff --git a/packages/imperative/src/utilities/src/CliUtils.ts b/packages/imperative/src/utilities/CliUtils.ts similarity index 98% rename from packages/imperative/src/utilities/src/CliUtils.ts rename to packages/imperative/src/utilities/CliUtils.ts index 34720325bb..0ed2b80e38 100644 --- a/packages/imperative/src/utilities/src/CliUtils.ts +++ b/packages/imperative/src/utilities/CliUtils.ts @@ -9,17 +9,17 @@ * */ -import { ImperativeError } from "../../error"; -import { Constants } from "../../constants"; +import { ImperativeError } from "../error"; +import { Constants } from "../constants"; import { Arguments } from "yargs"; import { TextUtils } from "./TextUtils"; import { IOptionFormat } from "./doc/IOptionFormat"; import { CommandProfiles, ICommandOptionDefinition, ICommandPositionalDefinition, ICommandProfile, IHandlerParameters -} from "../../cmd"; -import { ICommandArguments } from "../../cmd/src/doc/args/ICommandArguments"; -import { IProfile } from "../../profiles"; -import { IPromptOptions } from "../../cmd/src/doc/response/api/handler/IPromptOptions"; +} from "../cmd"; +import { ICommandArguments } from "../cmd/doc/args/ICommandArguments"; +import { IProfile } from "../profiles"; +import { IPromptOptions } from "../cmd/doc/response/api/handler/IPromptOptions"; /** * Cli Utils contains a set of static methods/helpers that are CLI related (forming options, censoring args, etc.) diff --git a/packages/imperative/src/utilities/src/DaemonRequest.ts b/packages/imperative/src/utilities/DaemonRequest.ts similarity index 100% rename from packages/imperative/src/utilities/src/DaemonRequest.ts rename to packages/imperative/src/utilities/DaemonRequest.ts diff --git a/packages/imperative/src/utilities/src/EnvFileUtils.ts b/packages/imperative/src/utilities/EnvFileUtils.ts similarity index 96% rename from packages/imperative/src/utilities/src/EnvFileUtils.ts rename to packages/imperative/src/utilities/EnvFileUtils.ts index f6f3b0582c..b3f8bfc71c 100644 --- a/packages/imperative/src/utilities/src/EnvFileUtils.ts +++ b/packages/imperative/src/utilities/EnvFileUtils.ts @@ -12,8 +12,8 @@ import { existsSync, readFileSync } from "fs"; import { homedir } from "os"; import { join } from "path"; -import { ImperativeError } from "../../error/src/ImperativeError"; -import { EnvironmentalVariableSettings } from "../../imperative/src/env/EnvironmentalVariableSettings"; +import { ImperativeError } from "../error/ImperativeError"; +import { EnvironmentalVariableSettings } from "../imperative/env/EnvironmentalVariableSettings"; import * as JSONC from "comment-json"; /** diff --git a/packages/imperative/src/utilities/src/ExecUtils.ts b/packages/imperative/src/utilities/ExecUtils.ts similarity index 99% rename from packages/imperative/src/utilities/src/ExecUtils.ts rename to packages/imperative/src/utilities/ExecUtils.ts index af533d1682..b129a7b166 100644 --- a/packages/imperative/src/utilities/src/ExecUtils.ts +++ b/packages/imperative/src/utilities/ExecUtils.ts @@ -40,4 +40,4 @@ export class ExecUtils { } return result.stdout; } -} +} \ No newline at end of file diff --git a/packages/imperative/src/utilities/src/ImperativeConfig.ts b/packages/imperative/src/utilities/ImperativeConfig.ts similarity index 95% rename from packages/imperative/src/utilities/src/ImperativeConfig.ts rename to packages/imperative/src/utilities/ImperativeConfig.ts index 2b0d4cdbc4..417ee420fc 100644 --- a/packages/imperative/src/utilities/src/ImperativeConfig.ts +++ b/packages/imperative/src/utilities/ImperativeConfig.ts @@ -9,14 +9,14 @@ * */ -import { Constants } from "../../constants"; +import { Constants } from "../constants"; import { join } from "path"; -import { IImperativeConfig } from "../../imperative/src/doc/IImperativeConfig"; -import { ImperativeError } from "../../error"; -import { EnvironmentalVariableSettings } from "../../imperative/src/env/EnvironmentalVariableSettings"; -import { IDaemonContext } from "../../imperative/src/doc/IDaemonContext"; -import { ICommandProfileSchema } from "../../cmd"; -import { Config } from "../../config"; +import { IImperativeConfig } from "../imperative/doc/IImperativeConfig"; +import { ImperativeError } from "../error"; +import { EnvironmentalVariableSettings } from "../imperative/env/EnvironmentalVariableSettings"; +import { IDaemonContext } from "../imperative/doc/IDaemonContext"; +import { ICommandProfileSchema } from "../cmd"; +import { Config } from "../config"; /** * This class is used to contain all configuration being set by Imperative. @@ -167,7 +167,7 @@ export class ImperativeConfig { */ public get imperativePackageName(): string { if (!this.mImperativePackageName) { - this.mImperativePackageName = require(join(__dirname, "../../../package.json")).name; + this.mImperativePackageName = require(join(__dirname, "../../package.json")).name; } return this.mImperativePackageName; @@ -301,4 +301,4 @@ export class ImperativeConfig { ImperativeConfig.instance.loadedConfig.profiles.forEach(profile => schemas[profile.type] = profile.schema); return schemas; } -} +} \ No newline at end of file diff --git a/packages/imperative/src/utilities/src/JSONUtils.ts b/packages/imperative/src/utilities/JSONUtils.ts similarity index 97% rename from packages/imperative/src/utilities/src/JSONUtils.ts rename to packages/imperative/src/utilities/JSONUtils.ts index e8aa97d7c8..e9ca8f776a 100644 --- a/packages/imperative/src/utilities/src/JSONUtils.ts +++ b/packages/imperative/src/utilities/JSONUtils.ts @@ -9,7 +9,7 @@ * */ -import { ImperativeError } from "../../error"; +import { ImperativeError } from "../error"; import { isNullOrUndefined } from "util"; /** @@ -49,4 +49,4 @@ export class JSONUtils { }); } } -} +} \ No newline at end of file diff --git a/packages/imperative/src/utilities/src/JsUtils.ts b/packages/imperative/src/utilities/JsUtils.ts similarity index 100% rename from packages/imperative/src/utilities/src/JsUtils.ts rename to packages/imperative/src/utilities/JsUtils.ts diff --git a/packages/imperative/src/utilities/src/NextVerFeatures.ts b/packages/imperative/src/utilities/NextVerFeatures.ts similarity index 100% rename from packages/imperative/src/utilities/src/NextVerFeatures.ts rename to packages/imperative/src/utilities/NextVerFeatures.ts diff --git a/packages/imperative/src/utilities/src/ProcessUtils.ts b/packages/imperative/src/utilities/ProcessUtils.ts similarity index 99% rename from packages/imperative/src/utilities/src/ProcessUtils.ts rename to packages/imperative/src/utilities/ProcessUtils.ts index 38313f9e2b..e3dafacc5d 100644 --- a/packages/imperative/src/utilities/src/ProcessUtils.ts +++ b/packages/imperative/src/utilities/ProcessUtils.ts @@ -11,7 +11,7 @@ import { SpawnSyncOptions } from "child_process"; import { ExecUtils } from "./ExecUtils"; -import { Logger } from "../../logger"; +import { Logger } from "../logger"; import { ISystemInfo } from "./doc/ISystemInfo"; import * as spawn from "cross-spawn"; diff --git a/packages/imperative/src/utilities/src/TextUtils.ts b/packages/imperative/src/utilities/TextUtils.ts similarity index 98% rename from packages/imperative/src/utilities/src/TextUtils.ts rename to packages/imperative/src/utilities/TextUtils.ts index 858074015c..91af27f12f 100644 --- a/packages/imperative/src/utilities/src/TextUtils.ts +++ b/packages/imperative/src/utilities/TextUtils.ts @@ -300,7 +300,8 @@ export class TextUtils { const mChalk = require("chalk"); // chalk is supposed to handle this, but I think it only does so the first time it is loaded // so we need to check ourselves in case we've changed the environmental variables - mChalk.enabled = process.env.FORCE_COLOR !== "0" && process.env.MARKDOWN_GEN == null; + if (process.env.FORCE_COLOR != null && ["1", "2", "3", "true"].includes(process.env.FORCE_COLOR)) { mChalk.enabled = true; } + if (process.env.MARKDOWN_GEN != null || process.env.FORCE_COLOR == "0") { mChalk.enabled = false; } if (!mChalk.enabled) { mChalk.level = 0; } else if (process.env.FORCE_COLOR != null) { const parsedInt = parseInt(process.env.FORCE_COLOR); diff --git a/packages/imperative/src/utilities/src/__mocks__/ImperativeConfig.ts b/packages/imperative/src/utilities/__mocks__/ImperativeConfig.ts similarity index 93% rename from packages/imperative/src/utilities/src/__mocks__/ImperativeConfig.ts rename to packages/imperative/src/utilities/__mocks__/ImperativeConfig.ts index f6535abce4..80e3e6dd73 100644 --- a/packages/imperative/src/utilities/src/__mocks__/ImperativeConfig.ts +++ b/packages/imperative/src/utilities/__mocks__/ImperativeConfig.ts @@ -10,8 +10,8 @@ */ -import { Config } from "../../../config/src/__mocks__/Config"; -import { IImperativeConfig } from "../../../imperative/src/doc/IImperativeConfig"; +import { Config } from "../../config/__mocks__/Config"; +import { IImperativeConfig } from "../../imperative/doc/IImperativeConfig"; export class ImperativeConfig { private static mInstance: ImperativeConfig = null; diff --git a/packages/imperative/src/utilities/src/diff/DiffUtils.ts b/packages/imperative/src/utilities/diff/DiffUtils.ts similarity index 100% rename from packages/imperative/src/utilities/src/diff/DiffUtils.ts rename to packages/imperative/src/utilities/diff/DiffUtils.ts diff --git a/packages/imperative/src/utilities/src/diff/WebDiffGenerator.ts b/packages/imperative/src/utilities/diff/WebDiffGenerator.ts similarity index 96% rename from packages/imperative/src/utilities/src/diff/WebDiffGenerator.ts rename to packages/imperative/src/utilities/diff/WebDiffGenerator.ts index d268496f7d..28bf87cfed 100644 --- a/packages/imperative/src/utilities/src/diff/WebDiffGenerator.ts +++ b/packages/imperative/src/utilities/diff/WebDiffGenerator.ts @@ -14,7 +14,7 @@ import * as fs from "fs"; import * as path from "path"; import { ImperativeConfig } from "../ImperativeConfig"; -import { ImperativeError } from "../../../error/src/ImperativeError"; +import { ImperativeError } from "../../error/ImperativeError"; import { IWebDiffGenerator } from "./doc/IWebDiffGenerator"; /** @@ -60,7 +60,7 @@ class WebDiffGenerator implements IWebDiffGenerator { } // getting the template directory for web-diff in the root of project - const templateWebDiffDir: string = path.join(__dirname, "../../../../web-diff"); + const templateWebDiffDir: string = path.join(__dirname, "../../../web-diff"); if (!fs.existsSync(templateWebDiffDir)) { throw new ImperativeError({ msg: `The web-diff distribution directory does not exist:\n "${templateWebDiffDir}"` diff --git a/packages/imperative/src/utilities/src/diff/WebDiffManager.ts b/packages/imperative/src/utilities/diff/WebDiffManager.ts similarity index 95% rename from packages/imperative/src/utilities/src/diff/WebDiffManager.ts rename to packages/imperative/src/utilities/diff/WebDiffManager.ts index 59f516cfe6..e4f7ce6d06 100644 --- a/packages/imperative/src/utilities/src/diff/WebDiffManager.ts +++ b/packages/imperative/src/utilities/diff/WebDiffManager.ts @@ -12,12 +12,12 @@ import * as fs from "fs"; import * as path from "path"; -import { Constants } from "../../../constants/src/Constants"; -import { ProcessUtils, GuiResult } from "../../../utilities/src/ProcessUtils"; -import { ImperativeConfig } from "../../../utilities/src/ImperativeConfig"; +import { Constants } from "../../constants/Constants"; +import { ProcessUtils, GuiResult } from "../../utilities/ProcessUtils"; +import { ImperativeConfig } from "../../utilities/ImperativeConfig"; import WebDiffGenerator from "./WebDiffGenerator"; import { IWebDiffManager } from "./doc/IWebDiffManager"; -import { ImperativeError } from "../../../error"; +import { ImperativeError } from "../../error"; import { html } from "diff2html"; /** diff --git a/packages/imperative/src/utilities/src/diff/doc/IDiffNameOptions.ts b/packages/imperative/src/utilities/diff/doc/IDiffNameOptions.ts similarity index 100% rename from packages/imperative/src/utilities/src/diff/doc/IDiffNameOptions.ts rename to packages/imperative/src/utilities/diff/doc/IDiffNameOptions.ts diff --git a/packages/imperative/src/utilities/src/diff/doc/IDiffOptions.ts b/packages/imperative/src/utilities/diff/doc/IDiffOptions.ts similarity index 100% rename from packages/imperative/src/utilities/src/diff/doc/IDiffOptions.ts rename to packages/imperative/src/utilities/diff/doc/IDiffOptions.ts diff --git a/packages/imperative/src/utilities/src/diff/doc/IWebDiffGenerator.ts b/packages/imperative/src/utilities/diff/doc/IWebDiffGenerator.ts similarity index 100% rename from packages/imperative/src/utilities/src/diff/doc/IWebDiffGenerator.ts rename to packages/imperative/src/utilities/diff/doc/IWebDiffGenerator.ts diff --git a/packages/imperative/src/utilities/src/diff/doc/IWebDiffManager.ts b/packages/imperative/src/utilities/diff/doc/IWebDiffManager.ts similarity index 100% rename from packages/imperative/src/utilities/src/diff/doc/IWebDiffManager.ts rename to packages/imperative/src/utilities/diff/doc/IWebDiffManager.ts diff --git a/packages/imperative/src/utilities/src/doc/IDaemonRequest.ts b/packages/imperative/src/utilities/doc/IDaemonRequest.ts similarity index 100% rename from packages/imperative/src/utilities/src/doc/IDaemonRequest.ts rename to packages/imperative/src/utilities/doc/IDaemonRequest.ts diff --git a/packages/imperative/src/utilities/src/doc/IDaemonResponse.ts b/packages/imperative/src/utilities/doc/IDaemonResponse.ts similarity index 100% rename from packages/imperative/src/utilities/src/doc/IDaemonResponse.ts rename to packages/imperative/src/utilities/doc/IDaemonResponse.ts diff --git a/packages/imperative/src/utilities/src/doc/IOptionFormat.ts b/packages/imperative/src/utilities/doc/IOptionFormat.ts similarity index 100% rename from packages/imperative/src/utilities/src/doc/IOptionFormat.ts rename to packages/imperative/src/utilities/doc/IOptionFormat.ts diff --git a/packages/imperative/src/utilities/src/doc/ISystemInfo.ts b/packages/imperative/src/utilities/doc/ISystemInfo.ts similarity index 100% rename from packages/imperative/src/utilities/src/doc/ISystemInfo.ts rename to packages/imperative/src/utilities/doc/ISystemInfo.ts diff --git a/packages/imperative/src/utilities/index.ts b/packages/imperative/src/utilities/index.ts index 50422471b8..04516431aa 100644 --- a/packages/imperative/src/utilities/index.ts +++ b/packages/imperative/src/utilities/index.ts @@ -9,19 +9,19 @@ * */ -export * from "./src/doc/IDaemonRequest"; -export * from "./src/doc/IDaemonResponse"; -export * from "./src/DaemonRequest"; -export * from "./src/ExecUtils"; -export * from "./src/ImperativeConfig"; -export * from "./src/JSONUtils"; -export * from "./src/JsUtils"; -export * from "./src/NextVerFeatures"; -export * from "./src/ProcessUtils"; -export * from "./src/TextUtils"; -export * from "./src/CliUtils"; -export * from "./src/EnvFileUtils"; -export * from "./src/doc/ISystemInfo"; -export * from "./src/diff/DiffUtils"; -export * from "./src/diff/doc/IDiffOptions"; -export * from "./src/diff/doc/IDiffNameOptions"; +export * from "./doc/IDaemonRequest"; +export * from "./doc/IDaemonResponse"; +export * from "./DaemonRequest"; +export * from "./ExecUtils"; +export * from "./ImperativeConfig"; +export * from "./JSONUtils"; +export * from "./JsUtils"; +export * from "./NextVerFeatures"; +export * from "./ProcessUtils"; +export * from "./TextUtils"; +export * from "./CliUtils"; +export * from "./EnvFileUtils"; +export * from "./doc/ISystemInfo"; +export * from "./diff/DiffUtils"; +export * from "./diff/doc/IDiffOptions"; +export * from "./diff/doc/IDiffNameOptions"; diff --git a/packages/imperative/tsconfig-tests.json b/packages/imperative/tsconfig-tests.json deleted file mode 100644 index 6bd842eb0f..0000000000 --- a/packages/imperative/tsconfig-tests.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "compilerOptions": { - "types": [ - "node", - "jest" - ], - "lib": [ - "esnext" - ], - "experimentalDecorators": true, - "target": "es2015", - "module": "commonjs", - "noEmit": true, - "declaration": true, - "moduleResolution": "node", - "noImplicitAny": true, - "outDir": "./lib", - "preserveConstEnums": true, - "removeComments": false, - "pretty": true, - "sourceMap": true, - "newLine": "lf" - }, - "typeRoots": [ - "./node_modules/@types" - ], - "include": [ - "**/__tests__/*" - ], - "exclude": [ - "lib", - "node_modules", - "**/__mocks__/*" - ], - "files": [ - "../../__types__/wontache.d.ts" - ], - "allowJs": true -} diff --git a/packages/provisioning/package.json b/packages/provisioning/package.json index 23051f21f5..3f2d9b10b1 100644 --- a/packages/provisioning/package.json +++ b/packages/provisioning/package.json @@ -1,6 +1,6 @@ { "name": "@zowe/provisioning-for-zowe-sdk", - "version": "8.0.0-next.202401162202", + "version": "8.0.0-next.202401191954", "description": "Zowe SDK to interact with the z/OS provisioning APIs", "author": "Zowe", "license": "EPL-2.0", @@ -49,9 +49,9 @@ }, "devDependencies": { "@types/js-yaml": "^4.0.5", - "@zowe/cli-test-utils": "8.0.0-next.202401162202", - "@zowe/core-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/imperative": "8.0.0-next.202401162202" + "@zowe/cli-test-utils": "8.0.0-next.202401191954", + "@zowe/core-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/imperative": "8.0.0-next.202401191954" }, "peerDependencies": { "@zowe/core-for-zowe-sdk": "^8.0.0-next", diff --git a/packages/secrets/package.json b/packages/secrets/package.json index fca1c48c8e..e6a0d29255 100644 --- a/packages/secrets/package.json +++ b/packages/secrets/package.json @@ -3,7 +3,7 @@ "description": "Credential management facilities for Imperative, Zowe CLI, and extenders.", "repository": "https://github.com/zowe/zowe-cli.git", "author": "Zowe", - "version": "8.0.0-next.202401162202", + "version": "8.0.0-next.202401191954", "homepage": "https://github.com/zowe/zowe-cli/tree/master/packages/secrets#readme", "bugs": { "url": "https://github.com/zowe/zowe-cli/issues" diff --git a/packages/workflows/__tests__/__system__/Archive.system.test.ts b/packages/workflows/__tests__/__system__/Archive.system.test.ts index fe55f5d343..f930010fce 100644 --- a/packages/workflows/__tests__/__system__/Archive.system.test.ts +++ b/packages/workflows/__tests__/__system__/Archive.system.test.ts @@ -172,7 +172,7 @@ describe("Errors caused by the user interaction", () => { } catch (error) { Imperative.console.info(JSON.stringify(error)); expect(error.mDetails.errorCode).toEqual(404); - expect(error.message).toContain("IZUWF5001W"); + expect(error.causeErrors).toContain("IZUWF5001W"); // https://www.ibm.com/docs/en/zos/2.5.0?topic=izuwf9999-izuwf5001w } }); @@ -191,7 +191,7 @@ describe("Errors caused by the user interaction", () => { } catch (error) { Imperative.console.info(error); expect(error.mDetails.errorCode).toBe(409); - expect(error.message).toContain("IZUWF0158E"); + expect(error.causeErrors).toContain("IZUWF0158E"); // https://www.ibm.com/docs/en/zos/2.5.0?topic=izuwf9999-izuwf0158e } await removeWorkflows(); diff --git a/packages/workflows/__tests__/__system__/Cancel.system.test.ts b/packages/workflows/__tests__/__system__/Cancel.system.test.ts index 18b6c8e5ca..678e72b757 100644 --- a/packages/workflows/__tests__/__system__/Cancel.system.test.ts +++ b/packages/workflows/__tests__/__system__/Cancel.system.test.ts @@ -37,12 +37,18 @@ function expectZosmfResponseSucceeded(response: string, error: ImperativeError) expect(response).toBeDefined(); } -function expectZosmfResponseFailed(response: string, error: ImperativeError, msg: string) { +function expectZosmfResponseFailed(response: string, error: ImperativeError, msg:string) { expect(response).not.toBeDefined(); expect(error).toBeDefined(); expect(error.details.msg).toContain(msg); } +function expectZosmfResponseFailedCause(response: string, error: ImperativeError, msg: string) { + expect(response).not.toBeDefined(); + expect(error).toBeDefined(); + expect(error.causeErrors).toContain(msg); +} + describe("Cancel workflow", () => { beforeAll(async () => { testEnvironment = await TestEnvironment.setUp({ @@ -161,7 +167,7 @@ describe("Cancel workflow", () => { error = thrownError; Imperative.console.info(`Error ${error}`); } - expectZosmfResponseFailed(response, error, WrongWorkflowKey.message); + expectZosmfResponseFailedCause(response, error, WrongWorkflowKey.message); // parse from message the workflow key const actual: string = JSON.stringify(error); const expected: RegExp = /The workflow key .+ was not found/gm; diff --git a/packages/workflows/__tests__/__system__/api/Create.system.test.ts b/packages/workflows/__tests__/__system__/api/Create.system.test.ts index e697a8248a..69e3d3c143 100644 --- a/packages/workflows/__tests__/__system__/api/Create.system.test.ts +++ b/packages/workflows/__tests__/__system__/api/Create.system.test.ts @@ -236,7 +236,7 @@ describe("Create workflow", () => { it("Throws an error with wrong format of workflow definition file. Wrong member name.", async () => { const error = await produceError(REAL_SESSION, wfName, "DS.NAME(0)", system, owner); expect(error.errorCode).toEqual(notFound); - expect(error.message).toContain(messageId); + expect(error.causeErrors).toContain(messageId); }); }); describe("IZUWF0103E", () => { @@ -245,52 +245,52 @@ describe("Create workflow", () => { it("Throws an error with wrong format of workflow definition file.", async () => { const error = await produceError(REAL_SESSION, wfName, "wrongPath", system, owner); expect(error.errorCode).toEqual(status400); - expect(error.message).toContain(messageId); + expect(error.causeErrors).toContain(messageId); }); it("Throws an error with wrong format of workflow definition file. Name that ends with a period.", async () => { const error = await produceError(REAL_SESSION, wfName, "DS.NAME.", system, owner); expect(error.errorCode).toEqual(status400); - expect(error.message).toContain(messageId); + expect(error.causeErrors).toContain(messageId); }); it("Throws an error with wrong format of workflow definition file. Path not from root.", async () => { const error = await produceError(REAL_SESSION, wfName, "home/file", system, owner); expect(error.errorCode).toEqual(status400); - expect(error.message).toContain(messageId); + expect(error.causeErrors).toContain(messageId); }); it("Throws an error with wrong format of workflow definition file. Qualifier is longer than 8 characters.", async () => { const error = await produceError(REAL_SESSION, wfName, "DS.NAME.LONGFIELD", system, owner); expect(error.errorCode).toEqual(status400); - expect(error.message).toContain(messageId); + expect(error.causeErrors).toContain(messageId); }); it("Throws an error with wrong format of workflow definition file. More than 44 characters for DSNAME alone.", async () => { const error = await produceError(REAL_SESSION, wfName, "DS.NAME.STUFF.STUFF.STUFF.STUFF.STUFF.STUFF.STUFF.STUFF", system, owner); expect(error.errorCode).toEqual(status400); - expect(error.message).toContain(messageId); + expect(error.causeErrors).toContain(messageId); }); it("Throws an error with wrong format of workflow definition file. Name containing two successive periods.", async () => { const error = await produceError(REAL_SESSION, wfName, "DS..NAME", system, owner); expect(error.errorCode).toEqual(status400); - expect(error.message).toContain(messageId); + expect(error.causeErrors).toContain(messageId); }); it("Throws an error with wrong format of definition file. Name contains a qualifier that starts with numeric character.", async () => { const error = await produceError(REAL_SESSION, wfName, "DS.123.NAME", system, owner); expect(error.errorCode).toEqual(status400); - expect(error.message).toContain(messageId); + expect(error.causeErrors).toContain(messageId); }); it("Throws an error with wrong format of workflow definition file. Member name is too long.", async () => { const error = await produceError(REAL_SESSION, wfName, "DS.NAME(MEMBER123)", system, owner); expect(error.errorCode).toEqual(status400); - expect(error.message).toContain(messageId); + expect(error.causeErrors).toContain(messageId); }); it("Throws an error with wrong format of workflow definition file. Member doesn't end with `)`.", async () => { const error = await produceError(REAL_SESSION, wfName, "DS.NAME(MEMBER", system, owner); expect(error.errorCode).toEqual(status400); - expect(error.message).toContain(messageId); + expect(error.causeErrors).toContain(messageId); }); it("Throws an error with wrong format of workflow definition file. Name contains non-allowed character.", async () => { const error = await produceError(REAL_SESSION, wfName, "DS.NAME%", system, owner); expect(error.errorCode).toEqual(status400); - expect(error.message).toContain(messageId); + expect(error.causeErrors).toContain(messageId); }); }); describe("IZUWF0105E", () => { @@ -299,12 +299,12 @@ describe("Create workflow", () => { it("Throws an error with wrong format of variable input file. Name does not exist.", async () => { const error = await produceError(REAL_SESSION, wfName, definitionFile, system, owner, "DS.NAME.WRONG"); expect(error.errorCode).toEqual(status400); - expect(error.message).toContain(messageId); + expect(error.causeErrors).toContain(messageId); }); it("Throws an error with wrong format of variable input file. Wrong member name.", async () => { const error = await produceError(REAL_SESSION, wfName, definitionFile, system, owner, "DS.NAME(0)"); expect(error.errorCode).toEqual(status400); - expect(error.message).toContain(messageId); + expect(error.causeErrors).toContain(messageId); }); }); describe("IZUWF0107E", () => { @@ -313,33 +313,33 @@ describe("Create workflow", () => { it("Throws an error with wrong format of variable input file. Name that ends with a period.", async () => { const error = await produceError(REAL_SESSION, wfName, definitionFile, system, owner, "DS.NAME."); expect(error.errorCode).toEqual(status400); - expect(error.message).toContain(messageId); + expect(error.causeErrors).toContain(messageId); }); it("Throws an error with wrong format of variable input file. More than 44 characters for DSNAME alone.", async () => { const error = await produceError(REAL_SESSION, wfName, definitionFile, system, owner, "DS.NAME.STUFF.STUFF.STUFF.STUFF.STUFF.STUFF.STUFF.STUFF"); expect(error.errorCode).toEqual(status400); - expect(error.message).toContain(messageId); + expect(error.causeErrors).toContain(messageId); }); it("Throws an error with wrong format of variable input file. Name containing two successive periods.", async () => { const error = await produceError(REAL_SESSION, wfName, definitionFile, system, owner, "DS..NAME"); expect(error.errorCode).toEqual(status400); - expect(error.message).toContain(messageId); + expect(error.causeErrors).toContain(messageId); }); it("Name that contains a qualifier that starts with non-alphabetic or non-special character.", async () => { const error = await produceError(REAL_SESSION, wfName, definitionFile, system, owner, "DS.123.NAME"); expect(error.errorCode).toEqual(status400); - expect(error.message).toContain(messageId); + expect(error.causeErrors).toContain(messageId); }); it("Throws an error with wrong format of variable input file. Qualifier is longer than 8 characters.", async () => { const error = await produceError(REAL_SESSION, wfName, definitionFile, system, owner, "DS.NAME.LONGFIELD"); expect(error.errorCode).toEqual(status400); - expect(error.message).toContain(messageId); + expect(error.causeErrors).toContain(messageId); }); it("Throws an error with wrong format of variable input file. Path not from root.", async () => { const error = await produceError(REAL_SESSION, wfName, definitionFile, system, owner, "home/file"); expect(error.errorCode).toEqual(status400); - expect(error.message).toContain(messageId); + expect(error.causeErrors).toContain(messageId); }); }); }); diff --git a/packages/workflows/package.json b/packages/workflows/package.json index 23ae6f6c5f..18361dbec0 100644 --- a/packages/workflows/package.json +++ b/packages/workflows/package.json @@ -1,6 +1,6 @@ { "name": "@zowe/zos-workflows-for-zowe-sdk", - "version": "8.0.0-next.202401162202", + "version": "8.0.0-next.202401191954", "description": "Zowe SDK to interact with the z/OS workflows APIs", "author": "Zowe", "license": "EPL-2.0", @@ -45,12 +45,12 @@ "prepack": "node ../../scripts/prepareLicenses.js" }, "dependencies": { - "@zowe/zos-files-for-zowe-sdk": "8.0.0-next.202401162202" + "@zowe/zos-files-for-zowe-sdk": "8.0.0-next.202401191954" }, "devDependencies": { - "@zowe/cli-test-utils": "8.0.0-next.202401162202", - "@zowe/core-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/imperative": "8.0.0-next.202401162202" + "@zowe/cli-test-utils": "8.0.0-next.202401191954", + "@zowe/core-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/imperative": "8.0.0-next.202401191954" }, "peerDependencies": { "@zowe/core-for-zowe-sdk": "^8.0.0-next", diff --git a/packages/zosconsole/package.json b/packages/zosconsole/package.json index fb6c5cac7e..386ce77efb 100644 --- a/packages/zosconsole/package.json +++ b/packages/zosconsole/package.json @@ -1,6 +1,6 @@ { "name": "@zowe/zos-console-for-zowe-sdk", - "version": "8.0.0-next.202401162202", + "version": "8.0.0-next.202401191954", "description": "Zowe SDK to interact with the z/OS console", "author": "Zowe", "license": "EPL-2.0", @@ -45,9 +45,9 @@ "prepack": "node ../../scripts/prepareLicenses.js" }, "devDependencies": { - "@zowe/cli-test-utils": "8.0.0-next.202401162202", - "@zowe/core-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/imperative": "8.0.0-next.202401162202" + "@zowe/cli-test-utils": "8.0.0-next.202401191954", + "@zowe/core-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/imperative": "8.0.0-next.202401191954" }, "peerDependencies": { "@zowe/core-for-zowe-sdk": "^8.0.0-next", diff --git a/packages/zosfiles/CHANGELOG.md b/packages/zosfiles/CHANGELOG.md index dad6ac045b..70684afb2c 100644 --- a/packages/zosfiles/CHANGELOG.md +++ b/packages/zosfiles/CHANGELOG.md @@ -5,12 +5,19 @@ All notable changes to the Zowe z/OS files SDK package will be documented in thi ## `8.0.0-next.202311282012` - LTS Breaking: Unpinned dependency versions to allow for patch/minor version updates for dependencies [#1968](https://github.com/zowe/zowe-cli/issues/1968) -- Enhancement: Added `ZosFilesUtils.getDataSetFromName` to create an IDataSet from a dataset name [#1696](https://github.com/zowe/zowe-cli/issues/1696) ## `8.0.0-next.202311132045` - Major: First major version bump for V3 +## `7.21.3` + +- BugFix: Corrects the behavior of `Create.dataSetLike` so that the new data set is always defined with the correct block size [#2610](https://github.com/zowe/vscode-extension-for-zowe/issues/2610) + +## `7.20.0` + +- Enhancement: Adds `ZosFilesUtils.getDataSetFromName` to create an IDataSet from a dataset name [#1696](https://github.com/zowe/zowe-cli/issues/1696) + ## `7.18.9` - BugFix: Fix behavior where a specified directory was being lowercased on non-PDS datasets when downloading all datasets [#1722](https://github.com/zowe/zowe-cli/issues/1722) diff --git a/packages/zosfiles/__tests__/__system__/methods/delete/DeleteZfs.system.test.ts b/packages/zosfiles/__tests__/__system__/methods/delete/DeleteZfs.system.test.ts index 9a0d5724fa..983827a193 100644 --- a/packages/zosfiles/__tests__/__system__/methods/delete/DeleteZfs.system.test.ts +++ b/packages/zosfiles/__tests__/__system__/methods/delete/DeleteZfs.system.test.ts @@ -129,7 +129,8 @@ describe("Delete a z/OS File System", () => { } expect(error).toBeDefined(); expect(response).toBeUndefined(); - expect(error.message).toContain("Error executing IDCAMS DELETE command. exit_code=8"); + expect(error.message).toContain(`ENTRY ${nonExistZfs.toUpperCase()} NOT FOUND`); + expect(error.message).toContain("FUNCTION COMPLETED, HIGHEST CONDITION CODE WAS 8"); }); }); diff --git a/packages/zosfiles/__tests__/__system__/methods/download/Download.system.test.ts b/packages/zosfiles/__tests__/__system__/methods/download/Download.system.test.ts index 7a5a9e51b7..31880e168e 100644 --- a/packages/zosfiles/__tests__/__system__/methods/download/Download.system.test.ts +++ b/packages/zosfiles/__tests__/__system__/methods/download/Download.system.test.ts @@ -1508,7 +1508,7 @@ describe("Download Data Set", () => { caughtError = error; } expect(caughtError).toBeDefined(); - expect(caughtError.message).toContain("Path name not found"); + expect(stripNewLines(caughtError.message)).toContain("Path name not found"); }); }); }); diff --git a/packages/zosfiles/__tests__/__unit__/methods/create/Create.unit.test.ts b/packages/zosfiles/__tests__/__unit__/methods/create/Create.unit.test.ts index af4c4281e5..731bdc5004 100644 --- a/packages/zosfiles/__tests__/__unit__/methods/create/Create.unit.test.ts +++ b/packages/zosfiles/__tests__/__unit__/methods/create/Create.unit.test.ts @@ -10,7 +10,7 @@ */ import { ImperativeError, TextUtils } from "@zowe/imperative"; -import { Create, CreateDataSetTypeEnum, ZosFilesConstants, CreateDefaults, Invoke, ICreateVsamOptions } from "../../../../src"; +import { Create, CreateDataSetTypeEnum, ZosFilesConstants, CreateDefaults, Invoke, ICreateVsamOptions, List } from "../../../../src"; import { ZosmfHeaders, ZosmfRestClient } from "@zowe/core-for-zowe-sdk"; import { ZosFilesMessages } from "../../../../src/constants/ZosFiles.messages"; import { IZosFilesOptions } from "../../../../src/doc/IZosFilesOptions"; @@ -19,17 +19,29 @@ describe("Create data set", () => { const dummySession: any = {}; const dataSetName = "testing"; const dsOptions: any = {alcunit: "CYL"}; + const likePsDataSetName = "TEST.PS.DATA.SET"; const endpoint = ZosFilesConstants.RESOURCE + ZosFilesConstants.RES_DS_FILES + "/" + dataSetName; let mySpy: any; + let listDatasetSpy: any; + + const dataSetPS = { + dsname: likePsDataSetName, + dsorg: "PS", + spacu: "TRK", + blksz: "800" + }; beforeEach(() => { mySpy = jest.spyOn(ZosmfRestClient, "postExpectString").mockResolvedValue(""); + listDatasetSpy = jest.spyOn(List, "dataSet"); }); afterEach(() => { - mySpy.mockReset(); + mySpy.mockClear(); mySpy.mockRestore(); + listDatasetSpy.mockClear(); + listDatasetSpy.mockResolvedValue({} as any); }); describe("Success scenarios", () => { @@ -179,28 +191,48 @@ describe("Create data set", () => { }); it("should be able to allocate like from a sequential data set", async () => { - const response = await Create.dataSetLike(dummySession, dataSetName, "testing2"); + listDatasetSpy.mockImplementation(async (): Promise => { + return { + apiResponse: { + returnedRows: 1, + items: [dataSetPS] + } + }; + }); + const response = await Create.dataSetLike(dummySession, dataSetName, likePsDataSetName); expect(response.success).toBe(true); expect(response.commandResponse).toContain("created successfully"); + expect(listDatasetSpy).toHaveBeenCalledTimes(1); expect(mySpy).toHaveBeenCalledWith( dummySession, endpoint, [ZosmfHeaders.ACCEPT_ENCODING], JSON.stringify({ ...{ - like: "testing2" + like: likePsDataSetName, + blksize: 800 } }) ); }); it("should be able to create a dataSetLike with responseTimeout", async () => { - dsOptions.dsntype = "PDS"; + dsOptions.alcunit = undefined; + dsOptions.dsntype = undefined; + dsOptions.recfm = undefined; dsOptions.responseTimeout = 5; - await Create.dataSet(dummySession, CreateDataSetTypeEnum.DATA_SET_SEQUENTIAL, dataSetName, dsOptions); - const response2 = await Create.dataSetLike(dummySession, dataSetName, "testing2", dsOptions); + listDatasetSpy.mockImplementation(async (): Promise => { + return { + apiResponse: { + returnedRows: 1, + items: [dataSetPS] + } + }; + }); + + const response2 = await Create.dataSetLike(dummySession, dataSetName, likePsDataSetName, dsOptions); expect(response2.success).toBe(true); expect(response2.commandResponse).toContain("created successfully"); @@ -209,10 +241,10 @@ describe("Create data set", () => { endpoint, [ZosmfHeaders.ACCEPT_ENCODING, { [ZosmfHeaders.X_IBM_RESPONSE_TIMEOUT]: "5" }], JSON.stringify({ - ...CreateDefaults.DATA_SET.SEQUENTIAL, - ...dsOptions, ...{ - secondary: 1 + like: likePsDataSetName, + responseTimeout: 5, + blksize: 800 } }) ); @@ -410,6 +442,8 @@ describe("Create data set", () => { }); it("should be able to create a classic data set", async () => { + dsOptions.alcunit = "CYL"; + dsOptions.recfm = "FB"; const response = await Create.dataSet(dummySession, CreateDataSetTypeEnum.DATA_SET_CLASSIC, dataSetName, dsOptions); expect(response.success).toBe(true); @@ -522,6 +556,8 @@ describe("Create data set", () => { }); it("should be able to create a C data set", async () => { + dsOptions.alcunit = "CYL"; + dsOptions.recfm = "VB"; const response = await Create.dataSet(dummySession, CreateDataSetTypeEnum.DATA_SET_C, dataSetName, dsOptions); expect(response.success).toBe(true); @@ -633,6 +669,8 @@ describe("Create data set", () => { }); it("should be able to create a binary data set", async () => { + dsOptions.alcunit = "CYL"; + dsOptions.recfm = "U"; const response = await Create.dataSet(dummySession, CreateDataSetTypeEnum.DATA_SET_BINARY, dataSetName, dsOptions); expect(response.success).toBe(true); @@ -934,6 +972,8 @@ describe("Create data set", () => { let error; try { + dsOptions.alcunit = "CYL"; + dsOptions.recfm = "FB"; await Create.dataSet(dummySession, CreateDataSetTypeEnum.DATA_SET_PARTITIONED, dataSetName, dsOptions); } catch (err) { error = err.message; diff --git a/packages/zosfiles/__tests__/__unit__/utils/__snapshots__/ZosFilesUtils.unit.test.ts.snap b/packages/zosfiles/__tests__/__unit__/utils/__snapshots__/ZosFilesUtils.unit.test.ts.snap index 169c04a6a8..3dcce8f4cf 100644 --- a/packages/zosfiles/__tests__/__unit__/utils/__snapshots__/ZosFilesUtils.unit.test.ts.snap +++ b/packages/zosfiles/__tests__/__unit__/utils/__snapshots__/ZosFilesUtils.unit.test.ts.snap @@ -81,6 +81,9 @@ Object { "dataSetsMatchedPattern": Object { "message": "%d data set(s) were found matching pattern.", }, + "datasetAllocateLikeNotFound": Object { + "message": "Data set allocation aborted. The \\"allocate like\\" data set was not found.", + }, "datasetCopiedAborted": Object { "message": "Data set copied aborted. The existing target data set was not overwritten.", }, diff --git a/packages/zosfiles/package.json b/packages/zosfiles/package.json index 30d2bd9936..64427f90f3 100644 --- a/packages/zosfiles/package.json +++ b/packages/zosfiles/package.json @@ -1,6 +1,6 @@ { "name": "@zowe/zos-files-for-zowe-sdk", - "version": "8.0.0-next.202401162202", + "version": "8.0.0-next.202401191954", "description": "Zowe SDK to interact with files and data sets on z/OS", "author": "Zowe", "license": "EPL-2.0", @@ -50,10 +50,10 @@ "minimatch": "^5.0.1" }, "devDependencies": { - "@zowe/cli-test-utils": "8.0.0-next.202401162202", - "@zowe/core-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/imperative": "8.0.0-next.202401162202", - "@zowe/zos-uss-for-zowe-sdk": "8.0.0-next.202401162202" + "@zowe/cli-test-utils": "8.0.0-next.202401191954", + "@zowe/core-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/imperative": "8.0.0-next.202401191954", + "@zowe/zos-uss-for-zowe-sdk": "8.0.0-next.202401191954" }, "peerDependencies": { "@zowe/core-for-zowe-sdk": "^8.0.0-next", diff --git a/packages/zosfiles/src/constants/ZosFiles.messages.ts b/packages/zosfiles/src/constants/ZosFiles.messages.ts index 728850e609..0aae6fb6ab 100644 --- a/packages/zosfiles/src/constants/ZosFiles.messages.ts +++ b/packages/zosfiles/src/constants/ZosFiles.messages.ts @@ -688,6 +688,14 @@ export const ZosFilesMessages: { [key: string]: IMessageDefinition } = { message: "Data set copied aborted. Copying to a PDS without a member name is not supported when using the 'dsclp' option." }, + /** + * Message indicating that the data set allocation was aborted + * @type {IMessageDefinition} + */ + datasetAllocateLikeNotFound: { + message: "Data set allocation aborted. The \"allocate like\" data set was not found." + }, + /** * Message indicating that the following members failed to properly download * @type {IMessageDefinition} diff --git a/packages/zosfiles/src/methods/create/Create.ts b/packages/zosfiles/src/methods/create/Create.ts index 4e3bf03aa5..c93b96509d 100644 --- a/packages/zosfiles/src/methods/create/Create.ts +++ b/packages/zosfiles/src/methods/create/Create.ts @@ -22,6 +22,8 @@ import { ICreateVsamOptions } from "./doc/ICreateVsamOptions"; import { ICreateZfsOptions } from "./doc/ICreateZfsOptions"; import * as path from "path"; import { IZosFilesOptions } from "../../doc/IZosFilesOptions"; +import { List } from "../list"; +import { IZosmfListResponse } from "../list/doc/IZosmfListResponse"; // Do not use import in anticipation of some internationalization work to be done later. // const strings = (require("../../../../../packages/cli/zosfiles/src/-strings-/en").default as typeof i18nTypings); @@ -150,8 +152,36 @@ export class Create { if (options && options.responseTimeout != null) { headers.push({[ZosmfHeaders.X_IBM_RESPONSE_TIMEOUT]: options.responseTimeout.toString()}); } + const tempOptions = JSON.parse(JSON.stringify({ like: likeDataSetName, ...(options || {}) })); Create.dataSetValidateOptions(tempOptions); + + /* + * This is a fix for issue https://github.com/zowe/vscode-extension-for-zowe/issues/2610. + * + * If no block size is passed, then retrieve the attributes of the "Like" dataset and + * set the block size, as the zosmf Rest API does not set the block size properly in + * some instances. + * + */ + if (tempOptions.blksize === null || tempOptions.blksize === undefined) { + let likeDataSetObj: IZosmfListResponse; + const likeDataSetList = await List.dataSet(session, likeDataSetName, { + attributes: true, maxLength: 1, + start: likeDataSetName, + recall: "wait" + }); + + const dsnameIndex = likeDataSetList.apiResponse.returnedRows === 0 ? -1 : + likeDataSetList.apiResponse.items.findIndex((ds: any) => ds.dsname.toUpperCase() === likeDataSetName.toUpperCase()); + if (dsnameIndex !== -1) { + likeDataSetObj = likeDataSetList.apiResponse.items[dsnameIndex]; + tempOptions.blksize = parseInt(likeDataSetObj.blksz); + } + else { + throw new ImperativeError({ msg: ZosFilesMessages.datasetAllocateLikeNotFound.message }); + } + } await ZosmfRestClient.postExpectString(session, endpoint, headers, JSON.stringify(tempOptions)); return { success: true, diff --git a/packages/zosjobs/__tests__/__system__/GetJobs.system.test.ts b/packages/zosjobs/__tests__/__system__/GetJobs.system.test.ts index 8aecc7aa87..1992f73296 100644 --- a/packages/zosjobs/__tests__/__system__/GetJobs.system.test.ts +++ b/packages/zosjobs/__tests__/__system__/GetJobs.system.test.ts @@ -263,9 +263,10 @@ describe("Get Jobs - System Tests", () => { expect(err).toBeDefined(); expect(err instanceof ImperativeError).toBe(true); const trimmedErrorMessage = trimMessage(err.message); - expect(trimmedErrorMessage).toContain("category: 6"); - expect(trimmedErrorMessage).toContain("reason: 4"); - expect(trimmedErrorMessage).toContain("rc: 4"); + const jsonCauseErrors = JSON.parse(err.causeErrors); + expect(jsonCauseErrors.category).toEqual(6); + expect(jsonCauseErrors.reason).toEqual(4); + expect(jsonCauseErrors.rc).toEqual(4); expect(trimmedErrorMessage).toContain("status 400"); expect(trimmedErrorMessage).toContain("prefix query parameter"); }); @@ -315,14 +316,14 @@ describe("Get Jobs - System Tests", () => { }, LONG_TIMEOUT); it("should throw an error if we specify a job ID that doesn't exist", async () => { - let err: Error | ImperativeError; + let err: ImperativeError; try { await GetJobs.getJob(REAL_SESSION, "J999999"); } catch (e) { err = e; } expect(err).toBeDefined(); - expect(err.message).toContain("not found"); + expect(err.causeErrors).toContain("Zero jobs"); }); it("should return no jobs for a prefix that doesn't match anything", async () => { @@ -400,9 +401,10 @@ describe("Get Jobs - System Tests", () => { expect(err).toBeDefined(); expect(err instanceof ImperativeError).toBe(true); const trimmedErrorMessage = trimMessage(err.message); - expect(trimmedErrorMessage).toContain("category: 6"); - expect(trimmedErrorMessage).toContain("reason: 4"); - expect(trimmedErrorMessage).toContain("rc: 4"); + const jsonCauseErrors = JSON.parse(err.causeErrors); + expect(jsonCauseErrors.category).toEqual(6); + expect(jsonCauseErrors.reason).toEqual(4); + expect(jsonCauseErrors.rc).toEqual(4); expect(trimmedErrorMessage).toContain("status 400"); expect(trimmedErrorMessage).toContain("owner query parameter"); }); @@ -491,9 +493,10 @@ describe("Get Status APIs", () => { expect(err).toBeDefined(); expect(err instanceof ImperativeError).toBe(true); const trimmedErrorMessage = trimMessage(err.message); - expect(trimmedErrorMessage).toContain("category: 6"); - expect(trimmedErrorMessage).toContain("reason: 7"); - expect(trimmedErrorMessage).toContain("rc: 4"); + const jsonCauseErrors = JSON.parse(err.causeErrors); + expect(jsonCauseErrors.category).toEqual(6); + expect(jsonCauseErrors.reason).toEqual(7); + expect(jsonCauseErrors.rc).toEqual(4); expect(trimmedErrorMessage).toContain("status 400"); }); @@ -507,9 +510,10 @@ describe("Get Status APIs", () => { expect(err).toBeDefined(); expect(err instanceof ImperativeError).toBe(true); const trimmedErrorMessage = trimMessage(err.message); - expect(trimmedErrorMessage).toContain("category: 6"); - expect(trimmedErrorMessage).toContain("reason: 7"); - expect(trimmedErrorMessage).toContain("rc: 4"); + const jsonCauseErrors = JSON.parse(err.causeErrors); + expect(jsonCauseErrors.category).toEqual(6); + expect(jsonCauseErrors.reason).toEqual(7); + expect(jsonCauseErrors.rc).toEqual(4); expect(trimmedErrorMessage).toContain("status 400"); }); }); @@ -609,9 +613,10 @@ describe("Get Status APIs", () => { expect(err).toBeDefined(); expect(err instanceof ImperativeError).toBe(true); const trimmedErrorMessage = trimMessage(err.message); - expect(trimmedErrorMessage).toContain("rc: 4"); - expect(trimmedErrorMessage).toContain("category: 6"); - expect(trimmedErrorMessage).toContain("reason: 7"); + const jsonCauseErrors = JSON.parse(err.causeErrors); + expect(jsonCauseErrors.category).toEqual(6); + expect(jsonCauseErrors.reason).toEqual(7); + expect(jsonCauseErrors.rc).toEqual(4); expect(trimmedErrorMessage).toContain("status 400"); expect(trimmedErrorMessage).toContain("JOB123"); }); @@ -626,9 +631,10 @@ describe("Get Status APIs", () => { expect(err).toBeDefined(); expect(err instanceof ImperativeError).toBe(true); const trimmedErrorMessage = trimMessage(err.message); - expect(trimmedErrorMessage).toContain("category: 6"); - expect(trimmedErrorMessage).toContain("reason: 7"); - expect(trimmedErrorMessage).toContain("rc: 4"); + const jsonCauseErrors = JSON.parse(err.causeErrors); + expect(jsonCauseErrors.category).toEqual(6); + expect(jsonCauseErrors.reason).toEqual(7); + expect(jsonCauseErrors.rc).toEqual(4); expect(trimmedErrorMessage).toContain("status 400"); }); }); @@ -748,9 +754,10 @@ describe("Get Status APIs", () => { expect(err).toBeDefined(); expect(err instanceof ImperativeError).toBe(true); const trimmedErrorMessage = trimMessage(err.message); - expect(trimmedErrorMessage).toContain("category: 6"); - expect(trimmedErrorMessage).toContain("reason: 7"); - expect(trimmedErrorMessage).toContain("rc: 4"); + const jsonCauseErrors = JSON.parse(err.causeErrors); + expect(jsonCauseErrors.category).toEqual(6); + expect(jsonCauseErrors.reason).toEqual(7); + expect(jsonCauseErrors.rc).toEqual(4); expect(trimmedErrorMessage).toContain("status 400"); }); @@ -764,9 +771,10 @@ describe("Get Status APIs", () => { expect(err).toBeDefined(); expect(err instanceof ImperativeError).toBe(true); const trimmedErrorMessage = trimMessage(err.message); - expect(trimmedErrorMessage).toContain("category: 6"); - expect(trimmedErrorMessage).toContain("reason: 7"); - expect(trimmedErrorMessage).toContain("rc: 4"); + const jsonCauseErrors = JSON.parse(err.causeErrors); + expect(jsonCauseErrors.category).toEqual(6); + expect(jsonCauseErrors.reason).toEqual(7); + expect(jsonCauseErrors.rc).toEqual(4); expect(trimmedErrorMessage).toContain("status 400"); }); }); @@ -861,9 +869,10 @@ describe("Get spool APIs", () => { expect(JSON.parse(error.causeErrors).reason).toMatchSnapshot(); expect(JSON.parse(error.causeErrors).category).toMatchSnapshot(); const trimmedErrorMessage = trimMessage(error.message); - expect(trimmedErrorMessage).toContain("category: 6"); - expect(trimmedErrorMessage).toContain("reason: 10"); - expect(trimmedErrorMessage).toContain("rc: 4"); + const jsonCauseErrors = JSON.parse(error.causeErrors); + expect(jsonCauseErrors.category).toEqual(6); + expect(jsonCauseErrors.reason).toEqual(10); + expect(jsonCauseErrors.rc).toEqual(4); expect(trimmedErrorMessage).toContain("status 400"); }, LONG_TIMEOUT); }); @@ -1156,14 +1165,14 @@ describe("Get Jobs - System Tests - Encoded", () => { }, LONG_TIMEOUT); it("should throw an error if we specify a job ID that doesn't exist", async () => { - let err: Error | ImperativeError; + let err: ImperativeError; try { await GetJobs.getJob(REAL_SESSION, "J999999"); } catch (e) { err = e; } expect(err).toBeDefined(); - expect(err.message).toContain("not found"); + expect(err.causeErrors).toContain("Zero jobs"); }); it("should return no jobs for a prefix that doesn't match anything", async () => { diff --git a/packages/zosjobs/__tests__/__system__/MonitorJobs.system.test.ts b/packages/zosjobs/__tests__/__system__/MonitorJobs.system.test.ts index e84c1eb85c..5d3b09ba45 100644 --- a/packages/zosjobs/__tests__/__system__/MonitorJobs.system.test.ts +++ b/packages/zosjobs/__tests__/__system__/MonitorJobs.system.test.ts @@ -113,10 +113,11 @@ describe("System Tests - Monitor Jobs", () => { // const regex: RegExp = new RegExp(fs.readFileSync(TEST_REGEX_DIR + "/not_found_job.regex").toString(), "g"); // expect(regex.test(error.message)).toBe(true); const trimmedErrorMessage = trimMessage(error.message); + const jsonCauseErrors = JSON.parse(error.causeErrors); expect(trimmedErrorMessage).toContain("Error obtaining status for jobname \"JOB1\" jobid \"JOB123\""); - expect(trimmedErrorMessage).toContain("category: 6"); - expect(trimmedErrorMessage).toContain("reason: 10"); - expect(trimmedErrorMessage).toContain("rc: 4"); + expect(jsonCauseErrors.category).toEqual(6); + expect(jsonCauseErrors.reason).toEqual(10); + expect(jsonCauseErrors.rc).toEqual(4); expect(trimmedErrorMessage).toContain("status 400"); expect(trimmedErrorMessage).toContain("No job found for reference"); }); @@ -197,10 +198,11 @@ describe("System Tests - Monitor Jobs", () => { // const regex: RegExp = new RegExp(fs.readFileSync(TEST_REGEX_DIR + "/not_found_job.regex").toString(), "g"); // expect(regex.test(error.message)).toBe(true); const trimmedErrorMessage = trimMessage(error.message); + const jsonCauseErrors = JSON.parse(error.causeErrors); expect(trimmedErrorMessage).toContain("Error obtaining status for jobname \"JOB1\" jobid \"JOB123\""); - expect(trimmedErrorMessage).toContain("category: 6"); - expect(trimmedErrorMessage).toContain("reason: 10"); - expect(trimmedErrorMessage).toContain("rc: 4"); + expect(jsonCauseErrors.category).toEqual(6); + expect(jsonCauseErrors.reason).toEqual(10); + expect(jsonCauseErrors.rc).toEqual(4); expect(trimmedErrorMessage).toContain("status 400"); expect(trimmedErrorMessage).toContain("No job found for reference"); }); @@ -280,10 +282,11 @@ describe("System Tests - Monitor Jobs", () => { // const regex: RegExp = new RegExp(fs.readFileSync(TEST_REGEX_DIR + "/invalid_jobname.regex").toString(), "g"); // expect(regex.test(error.message)).toBe(true); const trimmedErrorMessage = trimMessage(error.message); + const jsonCauseErrors = JSON.parse(error.causeErrors); expect(trimmedErrorMessage).toContain("Error obtaining status for jobname \"(((((\" jobid \"JOB123\""); - expect(trimmedErrorMessage).toContain("category: 6"); - expect(trimmedErrorMessage).toContain("reason: 7"); - expect(trimmedErrorMessage).toContain("rc: 4"); + expect(jsonCauseErrors.category).toEqual(6); + expect(jsonCauseErrors.reason).toEqual(7); + expect(jsonCauseErrors.rc).toEqual(4); expect(trimmedErrorMessage).toContain("status 400"); expect(trimmedErrorMessage).toContain("No match for method GET and pathInfo"); }); @@ -300,10 +303,11 @@ describe("System Tests - Monitor Jobs", () => { // const regex: RegExp = new RegExp(fs.readFileSync(TEST_REGEX_DIR + "/invalid_jobid.regex").toString(), "g"); // expect(regex.test(error.message)).toBe(true); const trimmedErrorMessage = trimMessage(error.message); + const jsonCauseErrors = JSON.parse(error.causeErrors); expect(trimmedErrorMessage).toContain("Error obtaining status for jobname \"JOB1\" jobid \"(\""); - expect(trimmedErrorMessage).toContain("category: 6"); - expect(trimmedErrorMessage).toContain("reason: 7"); - expect(trimmedErrorMessage).toContain("rc: 4"); + expect(jsonCauseErrors.category).toEqual(6); + expect(jsonCauseErrors.reason).toEqual(7); + expect(jsonCauseErrors.rc).toEqual(4); expect(trimmedErrorMessage).toContain("status 400"); expect(trimmedErrorMessage).toContain("No match for method GET and pathInfo"); }); @@ -320,10 +324,11 @@ describe("System Tests - Monitor Jobs", () => { // const regex: RegExp = new RegExp(fs.readFileSync(TEST_REGEX_DIR + "/not_found_job.regex").toString(), "g"); // expect(regex.test(error.message)).toBe(true); const trimmedErrorMessage = trimMessage(error.message); + const jsonCauseErrors = JSON.parse(error.causeErrors); expect(trimmedErrorMessage).toContain("Error obtaining status for jobname \"JOB1\" jobid \"JOB123\""); - expect(trimmedErrorMessage).toContain("category: 6"); - expect(trimmedErrorMessage).toContain("reason: 10"); - expect(trimmedErrorMessage).toContain("rc: 4"); + expect(jsonCauseErrors.category).toEqual(6); + expect(jsonCauseErrors.reason).toEqual(10); + expect(jsonCauseErrors.rc).toEqual(4); expect(trimmedErrorMessage).toContain("status 400"); expect(trimmedErrorMessage).toContain("No job found for reference"); }); @@ -466,10 +471,11 @@ describe("System Tests - Monitor Jobs", () => { // const regex: RegExp = new RegExp(fs.readFileSync(TEST_REGEX_DIR + "/polling_job_deleted.regex").toString(), "g"); // expect(regex.test(error.message)).toBe(true); const trimmedErrorMessage = trimMessage(error.message); + const jsonCauseErrors = JSON.parse(error.causeErrors); expect(trimmedErrorMessage).toContain("Error obtaining status for jobname"); - expect(trimmedErrorMessage).toContain("category: 6"); - expect(trimmedErrorMessage).toContain("reason: 10"); - expect(trimmedErrorMessage).toContain("rc: 4"); + expect(jsonCauseErrors.category).toEqual(6); + expect(jsonCauseErrors.reason).toEqual(10); + expect(jsonCauseErrors.rc).toEqual(4); expect(trimmedErrorMessage).toContain("status 400"); expect(trimmedErrorMessage).toContain("No job found for reference"); if (!doneCalled) { @@ -962,10 +968,11 @@ describe("System Tests - Monitor Jobs - Encoded", () => { // const regex: RegExp = new RegExp(fs.readFileSync(TEST_REGEX_DIR + "/polling_job_deleted.regex").toString(), "g"); // expect(regex.test(error.message)).toBe(true); const trimmedErrorMessage = trimMessage(error.message); + const jsonCauseErrors = JSON.parse(error.causeErrors); expect(trimmedErrorMessage).toContain("Error obtaining status for jobname"); - expect(trimmedErrorMessage).toContain("category: 6"); - expect(trimmedErrorMessage).toContain("reason: 10"); - expect(trimmedErrorMessage).toContain("rc: 4"); + expect(jsonCauseErrors.category).toEqual(6); + expect(jsonCauseErrors.reason).toEqual(10); + expect(jsonCauseErrors.rc).toEqual(4); expect(trimmedErrorMessage).toContain("status 400"); expect(trimmedErrorMessage).toContain("No job found for reference"); if (!doneCalled) { diff --git a/packages/zosjobs/package.json b/packages/zosjobs/package.json index ce71a4ba16..fc0937f9e1 100644 --- a/packages/zosjobs/package.json +++ b/packages/zosjobs/package.json @@ -1,6 +1,6 @@ { "name": "@zowe/zos-jobs-for-zowe-sdk", - "version": "8.0.0-next.202401162202", + "version": "8.0.0-next.202401191954", "description": "Zowe SDK to interact with jobs on z/OS", "author": "Zowe", "license": "EPL-2.0", @@ -46,12 +46,12 @@ "prepack": "node ../../scripts/prepareLicenses.js" }, "dependencies": { - "@zowe/zos-files-for-zowe-sdk": "8.0.0-next.202401162202" + "@zowe/zos-files-for-zowe-sdk": "8.0.0-next.202401191954" }, "devDependencies": { - "@zowe/cli-test-utils": "8.0.0-next.202401162202", - "@zowe/core-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/imperative": "8.0.0-next.202401162202" + "@zowe/cli-test-utils": "8.0.0-next.202401191954", + "@zowe/core-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/imperative": "8.0.0-next.202401191954" }, "peerDependencies": { "@zowe/core-for-zowe-sdk": "^8.0.0-next", diff --git a/packages/zoslogs/package.json b/packages/zoslogs/package.json index 300eaa34c4..f6772f0f30 100644 --- a/packages/zoslogs/package.json +++ b/packages/zoslogs/package.json @@ -1,6 +1,6 @@ { "name": "@zowe/zos-logs-for-zowe-sdk", - "version": "8.0.0-next.202401162202", + "version": "8.0.0-next.202401191954", "description": "Zowe SDK to interact with the z/OS logs", "author": "Zowe", "license": "EPL-2.0", @@ -45,9 +45,9 @@ "prepack": "node ../../scripts/prepareLicenses.js" }, "devDependencies": { - "@zowe/cli-test-utils": "8.0.0-next.202401162202", - "@zowe/core-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/imperative": "8.0.0-next.202401162202" + "@zowe/cli-test-utils": "8.0.0-next.202401191954", + "@zowe/core-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/imperative": "8.0.0-next.202401191954" }, "peerDependencies": { "@zowe/core-for-zowe-sdk": "^8.0.0-next", diff --git a/packages/zosmf/__tests__/__system__/methods/CheckStatus.system.test.ts b/packages/zosmf/__tests__/__system__/methods/CheckStatus.system.test.ts index b71b712552..0c99be92ea 100644 --- a/packages/zosmf/__tests__/__system__/methods/CheckStatus.system.test.ts +++ b/packages/zosmf/__tests__/__system__/methods/CheckStatus.system.test.ts @@ -92,7 +92,10 @@ describe("Check Status Api", () => { expect(error).toBeTruthy(); expect(response).toBeFalsy(); - expect(error.message).toMatch(/(Error: getaddrinfo).*(badHost)/); + const jsonCauseErrors = error.causeErrors; + expect(jsonCauseErrors.code).toEqual("ENOTFOUND"); + expect(jsonCauseErrors.syscall).toEqual("getaddrinfo"); + expect(jsonCauseErrors.hostname).toEqual(badHostName); }); it("should return with proper message for invalid port", async () => { @@ -118,8 +121,10 @@ describe("Check Status Api", () => { expect(error).toBeTruthy(); expect(response).toBeFalsy(); - expect(error.message).toContain(`Error: connect ECONNREFUSED`); - expect(error.message).toContain(badPort.toString()); + const jsonCauseErrors = error.causeErrors; + expect(jsonCauseErrors.code).toMatch(/(ECONNREFUSED|ECONNRESET)/); + expect(jsonCauseErrors.syscall).toEqual("connect"); + expect(jsonCauseErrors.port).toEqual(badPort); }); }); }); diff --git a/packages/zosmf/__tests__/__system__/methods/ListDefinedSystems.system.test.ts b/packages/zosmf/__tests__/__system__/methods/ListDefinedSystems.system.test.ts index dde42a55f4..84ed601948 100644 --- a/packages/zosmf/__tests__/__system__/methods/ListDefinedSystems.system.test.ts +++ b/packages/zosmf/__tests__/__system__/methods/ListDefinedSystems.system.test.ts @@ -92,7 +92,10 @@ describe("List Defined Systems Api", () => { expect(error).toBeTruthy(); expect(response).toBeFalsy(); - expect(error.message).toMatch(/(Error: getaddrinfo).*(badHost)/); + const jsonCauseErrors = error.causeErrors; + expect(jsonCauseErrors.code).toEqual("ENOTFOUND"); + expect(jsonCauseErrors.syscall).toEqual("getaddrinfo"); + expect(jsonCauseErrors.hostname).toEqual(badHostName); }); it("should return with proper message for invalid port", async () => { @@ -118,7 +121,9 @@ describe("List Defined Systems Api", () => { expect(error).toBeTruthy(); expect(response).toBeFalsy(); - expect(error.message).toMatch(/Error: (connect|read) (ECONNREFUSED|ECONNRESET)/); + const jsonCauseErrors = error.causeErrors; + expect(jsonCauseErrors.code).toMatch(/(ECONNREFUSED|ECONNRESET)/); + expect(jsonCauseErrors.syscall).toMatch(/(connect|read)/); }); }); }); diff --git a/packages/zosmf/package.json b/packages/zosmf/package.json index 2f59f306a1..e6862ad2d0 100644 --- a/packages/zosmf/package.json +++ b/packages/zosmf/package.json @@ -1,6 +1,6 @@ { "name": "@zowe/zosmf-for-zowe-sdk", - "version": "8.0.0-next.202401162202", + "version": "8.0.0-next.202401191954", "description": "Zowe SDK to interact with the z/OS Management Facility", "author": "Zowe", "license": "EPL-2.0", @@ -44,9 +44,9 @@ "prepack": "node ../../scripts/prepareLicenses.js" }, "devDependencies": { - "@zowe/cli-test-utils": "8.0.0-next.202401162202", - "@zowe/core-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/imperative": "8.0.0-next.202401162202" + "@zowe/cli-test-utils": "8.0.0-next.202401191954", + "@zowe/core-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/imperative": "8.0.0-next.202401191954" }, "peerDependencies": { "@zowe/core-for-zowe-sdk": "^8.0.0-next", diff --git a/packages/zostso/package.json b/packages/zostso/package.json index aea2c3e0cf..a448f4bd80 100644 --- a/packages/zostso/package.json +++ b/packages/zostso/package.json @@ -1,6 +1,6 @@ { "name": "@zowe/zos-tso-for-zowe-sdk", - "version": "8.0.0-next.202401162202", + "version": "8.0.0-next.202401191954", "description": "Zowe SDK to interact with TSO on z/OS", "author": "Zowe", "license": "EPL-2.0", @@ -45,12 +45,12 @@ "prepack": "node ../../scripts/prepareLicenses.js" }, "dependencies": { - "@zowe/zosmf-for-zowe-sdk": "8.0.0-next.202401162202" + "@zowe/zosmf-for-zowe-sdk": "8.0.0-next.202401191954" }, "devDependencies": { - "@zowe/cli-test-utils": "8.0.0-next.202401162202", - "@zowe/core-for-zowe-sdk": "8.0.0-next.202401162202", - "@zowe/imperative": "8.0.0-next.202401162202" + "@zowe/cli-test-utils": "8.0.0-next.202401191954", + "@zowe/core-for-zowe-sdk": "8.0.0-next.202401191954", + "@zowe/imperative": "8.0.0-next.202401191954" }, "peerDependencies": { "@zowe/core-for-zowe-sdk": "^8.0.0-next", diff --git a/packages/zosuss/CHANGELOG.md b/packages/zosuss/CHANGELOG.md index 074f72ca17..955db6a484 100644 --- a/packages/zosuss/CHANGELOG.md +++ b/packages/zosuss/CHANGELOG.md @@ -2,10 +2,6 @@ All notable changes to the Zowe z/OS USS SDK package will be documented in this file. -## `8.0.0-next.202401022112` - -- BugFix: Updated `ssh2` package to resolve technical currency - ## `8.0.0-next.202311282012` - LTS Breaking: Unpinned dependency versions to allow for patch/minor version updates for dependencies [#1968](https://github.com/zowe/zowe-cli/issues/1968) @@ -14,6 +10,10 @@ All notable changes to the Zowe z/OS USS SDK package will be documented in this - Major: First major version bump for V3 +## `7.21.1` + +- BugFix: Updated `ssh2` package to resolve technical currency + ## `7.18.2` - BugFix: Updated `zowe zos-ssh issue cmd` to return just the command output in `stdout` instead of both the command and its output. [#1724](https://github.com/zowe/zowe-cli/issues/1724) diff --git a/packages/zosuss/package.json b/packages/zosuss/package.json index a403489be1..a4f1a94aeb 100644 --- a/packages/zosuss/package.json +++ b/packages/zosuss/package.json @@ -1,6 +1,6 @@ { "name": "@zowe/zos-uss-for-zowe-sdk", - "version": "8.0.0-next.202401162202", + "version": "8.0.0-next.202401191954", "description": "Zowe SDK to interact with USS on z/OS", "author": "Zowe", "license": "EPL-2.0", @@ -49,8 +49,8 @@ }, "devDependencies": { "@types/ssh2": "^1.11.0", - "@zowe/cli-test-utils": "8.0.0-next.202401162202", - "@zowe/imperative": "8.0.0-next.202401162202" + "@zowe/cli-test-utils": "8.0.0-next.202401191954", + "@zowe/imperative": "8.0.0-next.202401191954" }, "peerDependencies": { "@zowe/imperative": "^8.0.0-next" diff --git a/release.config.js b/release.config.js index 22a6621662..250b85e810 100644 --- a/release.config.js +++ b/release.config.js @@ -18,7 +18,7 @@ module.exports = { "displayNames": { "cli": "Zowe CLI", "core": "Core SDK", - "imperative": "imperative", + "imperative": "Imperative", "zosconsole": "z/OS Console SDK", "zosfiles": "z/OS Files SDK", "zosjobs": "z/OS Jobs SDK", diff --git a/scripts/sampleCliTool.js b/scripts/sampleCliTool.js index 3e97f9f93e..c52e91f6c6 100644 --- a/scripts/sampleCliTool.js +++ b/scripts/sampleCliTool.js @@ -18,12 +18,13 @@ const npmPrefix = path.join(process.cwd(), ".npm-global"); function runAll(callback, parallel=false) { if (!parallel) { - glob.sync("packages/imperative/__tests__/__integration__/*").forEach((dir) => { - const command = callback(dir); + glob.sync("packages/imperative/__tests__/__integration__/*/package.json").forEach((pkgJson) => { + const command = callback(path.dirname(pkgJson)); childProcess.execSync(command.command, { cwd: command.cwd, stdio: "inherit" }); }); } else { - require("concurrently")(glob.sync("packages/imperative/__tests__/__integration__/*").map((dir) => callback(dir))); + require("concurrently")(glob.sync("packages/imperative/__tests__/__integration__/*/package.json") + .map((pkgJson) => callback(path.dirname(pkgJson)))); } }