From 7af9d5c65f1100e9b6d34bb2bf69896f9e0bc578 Mon Sep 17 00:00:00 2001 From: larry-internxt Date: Thu, 12 Dec 2024 14:45:10 +0100 Subject: [PATCH 1/2] added delete items commands --- src/commands/delete-permanently-file.ts | 72 +++++++++++++++++++++++ src/commands/delete-permanently-folder.ts | 72 +++++++++++++++++++++++ src/services/drive/trash.service.ts | 10 ++++ 3 files changed, 154 insertions(+) create mode 100644 src/commands/delete-permanently-file.ts create mode 100644 src/commands/delete-permanently-folder.ts diff --git a/src/commands/delete-permanently-file.ts b/src/commands/delete-permanently-file.ts new file mode 100644 index 00000000..530506b0 --- /dev/null +++ b/src/commands/delete-permanently-file.ts @@ -0,0 +1,72 @@ +import { Command, Flags } from '@oclif/core'; +import { ConfigService } from '../services/config.service'; +import { CLIUtils } from '../utils/cli.utils'; +import { MissingCredentialsError, NotValidFileUuidError } from '../types/command.types'; +import { ValidationService } from '../services/validation.service'; +import { DriveFileService } from '../services/drive/drive-file.service'; +import { ErrorUtils } from '../utils/errors.utils'; +import { TrashService } from '../services/drive/trash.service'; + +export default class DeletePermanentlyFile extends Command { + static readonly args = {}; + static readonly description = 'Deletes permanently a file. This action cannot be undone.'; + static readonly aliases = ['delete:permanently:file']; + static readonly examples = ['<%= config.bin %> <%= command.id %>']; + static readonly flags = { + ...CLIUtils.CommonFlags, + id: Flags.string({ + char: 'i', + description: 'The file id to be permanently deleted.', + required: false, + }), + }; + static readonly enableJsonFlag = true; + + public run = async () => { + const { flags } = await this.parse(DeletePermanentlyFile); + + const nonInteractive = flags['non-interactive']; + + const userCredentials = await ConfigService.instance.readUser(); + if (!userCredentials) throw new MissingCredentialsError(); + + const fileUuid = await this.getFileUuid(flags['id'], nonInteractive); + const driveFile = await DriveFileService.instance.getFileMetadata(fileUuid); + if (!driveFile) { + throw new Error('File not found'); + } + + await TrashService.instance.deleteFile({ fileId: driveFile.id, folderId: driveFile.folderId }); + const message = 'File permanently deleted successfully'; + CLIUtils.success(this.log.bind(this), message); + return { success: true, message }; + }; + + public catch = async (error: Error) => { + ErrorUtils.report(this.error.bind(this), error, { command: this.id }); + CLIUtils.error(this.log.bind(this), error.message); + this.exit(1); + }; + + private getFileUuid = async (fileUuidFlag: string | undefined, nonInteractive: boolean): Promise => { + const fileUuid = await CLIUtils.getValueFromFlag( + { + value: fileUuidFlag, + name: DeletePermanentlyFile.flags['id'].name, + }, + { + nonInteractive, + prompt: { + message: 'What is the file id you want to permanently delete? (This action cannot be undone)', + options: { type: 'input' }, + }, + }, + { + validate: ValidationService.instance.validateUUIDv4, + error: new NotValidFileUuidError(), + }, + this.log.bind(this), + ); + return fileUuid; + }; +} diff --git a/src/commands/delete-permanently-folder.ts b/src/commands/delete-permanently-folder.ts new file mode 100644 index 00000000..7aaa25a9 --- /dev/null +++ b/src/commands/delete-permanently-folder.ts @@ -0,0 +1,72 @@ +import { Command, Flags } from '@oclif/core'; +import { ConfigService } from '../services/config.service'; +import { CLIUtils } from '../utils/cli.utils'; +import { MissingCredentialsError, NotValidFolderUuidError } from '../types/command.types'; +import { ValidationService } from '../services/validation.service'; +import { ErrorUtils } from '../utils/errors.utils'; +import { TrashService } from '../services/drive/trash.service'; +import { DriveFolderService } from '../services/drive/drive-folder.service'; + +export default class DeletePermanentlyFolder extends Command { + static readonly args = {}; + static readonly description = 'Deletes permanently a folder. This action cannot be undone.'; + static readonly aliases = ['delete:permanently:folder']; + static readonly examples = ['<%= config.bin %> <%= command.id %>']; + static readonly flags = { + ...CLIUtils.CommonFlags, + id: Flags.string({ + char: 'i', + description: 'The folder id to be permanently deleted.', + required: false, + }), + }; + static readonly enableJsonFlag = true; + + public run = async () => { + const { flags } = await this.parse(DeletePermanentlyFolder); + + const nonInteractive = flags['non-interactive']; + + const userCredentials = await ConfigService.instance.readUser(); + if (!userCredentials) throw new MissingCredentialsError(); + + const folderUuid = await this.getFolderUuid(flags['id'], nonInteractive); + const driveFolder = await DriveFolderService.instance.getFolderMetaByUuid(folderUuid); + if (!driveFolder) { + throw new Error('Folder not found'); + } + + await TrashService.instance.deleteFolder(driveFolder.id); + const message = 'Folder permanently deleted successfully'; + CLIUtils.success(this.log.bind(this), message); + return { success: true, message }; + }; + + public catch = async (error: Error) => { + ErrorUtils.report(this.error.bind(this), error, { command: this.id }); + CLIUtils.error(this.log.bind(this), error.message); + this.exit(1); + }; + + private getFolderUuid = async (folderUuidFlag: string | undefined, nonInteractive: boolean): Promise => { + const folderUuid = await CLIUtils.getValueFromFlag( + { + value: folderUuidFlag, + name: DeletePermanentlyFolder.flags['id'].name, + }, + { + nonInteractive, + prompt: { + message: 'What is the folder id you want to permanently delete? (This action cannot be undone)', + options: { type: 'input' }, + }, + }, + { + validate: ValidationService.instance.validateUUIDv4, + error: new NotValidFolderUuidError(), + }, + this.log.bind(this), + ); + return folderUuid; + }; +} diff --git a/src/services/drive/trash.service.ts b/src/services/drive/trash.service.ts index 6826fe1e..6b59cd3d 100644 --- a/src/services/drive/trash.service.ts +++ b/src/services/drive/trash.service.ts @@ -10,6 +10,16 @@ export class TrashService { return storageClient.addItemsToTrash(payload); }; + public deleteFile = (payload: StorageTypes.DeleteFilePayload) => { + const storageClient = SdkManager.instance.getStorage(false); + return storageClient.deleteFile(payload); + }; + + public deleteFolder = (folderId: number) => { + const storageClient = SdkManager.instance.getStorage(false); + return storageClient.deleteFolder(folderId); + }; + public clearTrash = () => { const storageClient = SdkManager.instance.getTrash(); return storageClient.clearTrash(); From 20fad33f23385269a01a3fb86cd858be0d449b62 Mon Sep 17 00:00:00 2001 From: larry-internxt Date: Thu, 12 Dec 2024 16:13:22 +0100 Subject: [PATCH 2/2] bumped version and updated README --- README.md | 166 ++++++++++++++++++++++++++++++++++++++------- package.json | 4 +- yarn.lock | 186 +++++---------------------------------------------- 3 files changed, 162 insertions(+), 194 deletions(-) diff --git a/README.md b/README.md index 10d2352b..e40d4680 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ $ npm install -g @internxt/cli $ internxt COMMAND running command... $ internxt (--version) -@internxt/cli/1.3.1 darwin-x64 node-v20.12.2 +@internxt/cli/1.4.0 win32-x64 node-v20.9.0 $ internxt --help [COMMAND] USAGE $ internxt COMMAND @@ -45,6 +45,10 @@ USAGE * [`internxt add-cert`](#internxt-add-cert) * [`internxt config`](#internxt-config) * [`internxt create-folder`](#internxt-create-folder) +* [`internxt delete-permanently-file`](#internxt-delete-permanently-file) +* [`internxt delete-permanently-folder`](#internxt-delete-permanently-folder) +* [`internxt delete permanently file`](#internxt-delete-permanently-file) +* [`internxt delete permanently folder`](#internxt-delete-permanently-folder) * [`internxt download-file`](#internxt-download-file) * [`internxt download file`](#internxt-download-file) * [`internxt list`](#internxt-list) @@ -95,7 +99,7 @@ EXAMPLES $ internxt add-cert ``` -_See code: [src/commands/add-cert.ts](https://github.com/internxt/cli/blob/v1.3.1/src/commands/add-cert.ts)_ +_See code: [src/commands/add-cert.ts](https://github.com/internxt/cli/blob/v1.4.0/src/commands/add-cert.ts)_ ## `internxt config` @@ -115,7 +119,7 @@ EXAMPLES $ internxt config ``` -_See code: [src/commands/config.ts](https://github.com/internxt/cli/blob/v1.3.1/src/commands/config.ts)_ +_See code: [src/commands/config.ts](https://github.com/internxt/cli/blob/v1.4.0/src/commands/config.ts)_ ## `internxt create-folder` @@ -144,7 +148,123 @@ EXAMPLES $ internxt create-folder ``` -_See code: [src/commands/create-folder.ts](https://github.com/internxt/cli/blob/v1.3.1/src/commands/create-folder.ts)_ +_See code: [src/commands/create-folder.ts](https://github.com/internxt/cli/blob/v1.4.0/src/commands/create-folder.ts)_ + +## `internxt delete-permanently-file` + +Deletes permanently a file. This action cannot be undone. + +``` +USAGE + $ internxt delete-permanently-file [--json] [-n] [-i ] + +FLAGS + -i, --id= The file id to be permanently deleted. + +HELPER FLAGS + -n, --non-interactive Prevents the CLI from being interactive. When enabled, the CLI will not request input through + the console and will throw errors directly. + +GLOBAL FLAGS + --json Format output as json. + +DESCRIPTION + Deletes permanently a file. This action cannot be undone. + +ALIASES + $ internxt delete permanently file + +EXAMPLES + $ internxt delete-permanently-file +``` + +_See code: [src/commands/delete-permanently-file.ts](https://github.com/internxt/cli/blob/v1.4.0/src/commands/delete-permanently-file.ts)_ + +## `internxt delete-permanently-folder` + +Deletes permanently a folder. This action cannot be undone. + +``` +USAGE + $ internxt delete-permanently-folder [--json] [-n] [-i ] + +FLAGS + -i, --id= The folder id to be permanently deleted. + +HELPER FLAGS + -n, --non-interactive Prevents the CLI from being interactive. When enabled, the CLI will not request input through + the console and will throw errors directly. + +GLOBAL FLAGS + --json Format output as json. + +DESCRIPTION + Deletes permanently a folder. This action cannot be undone. + +ALIASES + $ internxt delete permanently folder + +EXAMPLES + $ internxt delete-permanently-folder +``` + +_See code: [src/commands/delete-permanently-folder.ts](https://github.com/internxt/cli/blob/v1.4.0/src/commands/delete-permanently-folder.ts)_ + +## `internxt delete permanently file` + +Deletes permanently a file. This action cannot be undone. + +``` +USAGE + $ internxt delete permanently file [--json] [-n] [-i ] + +FLAGS + -i, --id= The file id to be permanently deleted. + +HELPER FLAGS + -n, --non-interactive Prevents the CLI from being interactive. When enabled, the CLI will not request input through + the console and will throw errors directly. + +GLOBAL FLAGS + --json Format output as json. + +DESCRIPTION + Deletes permanently a file. This action cannot be undone. + +ALIASES + $ internxt delete permanently file + +EXAMPLES + $ internxt delete permanently file +``` + +## `internxt delete permanently folder` + +Deletes permanently a folder. This action cannot be undone. + +``` +USAGE + $ internxt delete permanently folder [--json] [-n] [-i ] + +FLAGS + -i, --id= The folder id to be permanently deleted. + +HELPER FLAGS + -n, --non-interactive Prevents the CLI from being interactive. When enabled, the CLI will not request input through + the console and will throw errors directly. + +GLOBAL FLAGS + --json Format output as json. + +DESCRIPTION + Deletes permanently a folder. This action cannot be undone. + +ALIASES + $ internxt delete permanently folder + +EXAMPLES + $ internxt delete permanently folder +``` ## `internxt download-file` @@ -177,7 +297,7 @@ EXAMPLES $ internxt download-file ``` -_See code: [src/commands/download-file.ts](https://github.com/internxt/cli/blob/v1.3.0/src/commands/download-file.ts)_ +_See code: [src/commands/download-file.ts](https://github.com/internxt/cli/blob/v1.4.0/src/commands/download-file.ts)_ ## `internxt download file` @@ -236,7 +356,7 @@ EXAMPLES $ internxt list ``` -_See code: [src/commands/list.ts](https://github.com/internxt/cli/blob/v1.3.1/src/commands/list.ts)_ +_See code: [src/commands/list.ts](https://github.com/internxt/cli/blob/v1.4.0/src/commands/list.ts)_ ## `internxt login` @@ -265,7 +385,7 @@ EXAMPLES $ internxt login ``` -_See code: [src/commands/login.ts](https://github.com/internxt/cli/blob/v1.3.1/src/commands/login.ts)_ +_See code: [src/commands/login.ts](https://github.com/internxt/cli/blob/v1.4.0/src/commands/login.ts)_ ## `internxt logout` @@ -285,7 +405,7 @@ EXAMPLES $ internxt logout ``` -_See code: [src/commands/logout.ts](https://github.com/internxt/cli/blob/v1.3.1/src/commands/logout.ts)_ +_See code: [src/commands/logout.ts](https://github.com/internxt/cli/blob/v1.4.0/src/commands/logout.ts)_ ## `internxt logs` @@ -305,7 +425,7 @@ EXAMPLES $ internxt logs ``` -_See code: [src/commands/logs.ts](https://github.com/internxt/cli/blob/v1.3.1/src/commands/logs.ts)_ +_See code: [src/commands/logs.ts](https://github.com/internxt/cli/blob/v1.4.0/src/commands/logs.ts)_ ## `internxt move-file` @@ -337,7 +457,7 @@ EXAMPLES $ internxt move-file ``` -_See code: [src/commands/move-file.ts](https://github.com/internxt/cli/blob/v1.3.1/src/commands/move-file.ts)_ +_See code: [src/commands/move-file.ts](https://github.com/internxt/cli/blob/v1.4.0/src/commands/move-file.ts)_ ## `internxt move-folder` @@ -369,7 +489,7 @@ EXAMPLES $ internxt move-folder ``` -_See code: [src/commands/move-folder.ts](https://github.com/internxt/cli/blob/v1.3.1/src/commands/move-folder.ts)_ +_See code: [src/commands/move-folder.ts](https://github.com/internxt/cli/blob/v1.4.0/src/commands/move-folder.ts)_ ## `internxt move file` @@ -460,7 +580,7 @@ EXAMPLES $ internxt rename-file ``` -_See code: [src/commands/rename-file.ts](https://github.com/internxt/cli/blob/v1.3.0/src/commands/rename-file.ts)_ +_See code: [src/commands/rename-file.ts](https://github.com/internxt/cli/blob/v1.4.0/src/commands/rename-file.ts)_ ## `internxt rename-folder` @@ -491,7 +611,7 @@ EXAMPLES $ internxt rename-folder ``` -_See code: [src/commands/rename-folder.ts](https://github.com/internxt/cli/blob/v1.3.0/src/commands/rename-folder.ts)_ +_See code: [src/commands/rename-folder.ts](https://github.com/internxt/cli/blob/v1.4.0/src/commands/rename-folder.ts)_ ## `internxt rename file` @@ -579,7 +699,7 @@ EXAMPLES $ internxt trash-clear ``` -_See code: [src/commands/trash-clear.ts](https://github.com/internxt/cli/blob/v1.3.0/src/commands/trash-clear.ts)_ +_See code: [src/commands/trash-clear.ts](https://github.com/internxt/cli/blob/v1.4.0/src/commands/trash-clear.ts)_ ## `internxt trash-file` @@ -609,7 +729,7 @@ EXAMPLES $ internxt trash-file ``` -_See code: [src/commands/trash-file.ts](https://github.com/internxt/cli/blob/v1.3.0/src/commands/trash-file.ts)_ +_See code: [src/commands/trash-file.ts](https://github.com/internxt/cli/blob/v1.4.0/src/commands/trash-file.ts)_ ## `internxt trash-folder` @@ -639,7 +759,7 @@ EXAMPLES $ internxt trash-folder ``` -_See code: [src/commands/trash-folder.ts](https://github.com/internxt/cli/blob/v1.3.0/src/commands/trash-folder.ts)_ +_See code: [src/commands/trash-folder.ts](https://github.com/internxt/cli/blob/v1.4.0/src/commands/trash-folder.ts)_ ## `internxt trash-list` @@ -665,7 +785,7 @@ EXAMPLES $ internxt trash-list ``` -_See code: [src/commands/trash-list.ts](https://github.com/internxt/cli/blob/v1.3.1/src/commands/trash-list.ts)_ +_See code: [src/commands/trash-list.ts](https://github.com/internxt/cli/blob/v1.4.0/src/commands/trash-list.ts)_ ## `internxt trash-restore-file` @@ -696,7 +816,7 @@ EXAMPLES $ internxt trash-restore-file ``` -_See code: [src/commands/trash-restore-file.ts](https://github.com/internxt/cli/blob/v1.3.1/src/commands/trash-restore-file.ts)_ +_See code: [src/commands/trash-restore-file.ts](https://github.com/internxt/cli/blob/v1.4.0/src/commands/trash-restore-file.ts)_ ## `internxt trash-restore-folder` @@ -727,7 +847,7 @@ EXAMPLES $ internxt trash-restore-folder ``` -_See code: [src/commands/trash-restore-folder.ts](https://github.com/internxt/cli/blob/v1.3.1/src/commands/trash-restore-folder.ts)_ +_See code: [src/commands/trash-restore-folder.ts](https://github.com/internxt/cli/blob/v1.4.0/src/commands/trash-restore-folder.ts)_ ## `internxt trash clear` @@ -924,7 +1044,7 @@ EXAMPLES $ internxt upload-file ``` -_See code: [src/commands/upload-file.ts](https://github.com/internxt/cli/blob/v1.3.0/src/commands/upload-file.ts)_ +_See code: [src/commands/upload-file.ts](https://github.com/internxt/cli/blob/v1.4.0/src/commands/upload-file.ts)_ ## `internxt upload file` @@ -979,7 +1099,7 @@ EXAMPLES $ internxt webdav status ``` -_See code: [src/commands/webdav.ts](https://github.com/internxt/cli/blob/v1.3.1/src/commands/webdav.ts)_ +_See code: [src/commands/webdav.ts](https://github.com/internxt/cli/blob/v1.4.0/src/commands/webdav.ts)_ ## `internxt webdav-config` @@ -1004,7 +1124,7 @@ EXAMPLES $ internxt webdav-config ``` -_See code: [src/commands/webdav-config.ts](https://github.com/internxt/cli/blob/v1.3.1/src/commands/webdav-config.ts)_ +_See code: [src/commands/webdav-config.ts](https://github.com/internxt/cli/blob/v1.4.0/src/commands/webdav-config.ts)_ ## `internxt whoami` @@ -1024,7 +1144,7 @@ EXAMPLES $ internxt whoami ``` -_See code: [src/commands/whoami.ts](https://github.com/internxt/cli/blob/v1.3.1/src/commands/whoami.ts)_ +_See code: [src/commands/whoami.ts](https://github.com/internxt/cli/blob/v1.4.0/src/commands/whoami.ts)_ # Current Limitations diff --git a/package.json b/package.json index adbfbd93..cb7ede51 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "author": "Internxt ", - "version": "1.3.3", + "version": "1.4.0", "description": "Internxt CLI to manage your encrypted storage", "scripts": { "build": "yarn clean && tsc", @@ -82,7 +82,7 @@ "lint-staged": "^15.2.10", "nock": "^13.5.6", "nodemon": "^3.1.7", - "oclif": "^4.16.0", + "oclif": "^4.16.2", "prettier": "^3.4.2", "rimraf": "^6.0.1", "sequelize-cli": "^6.6.2", diff --git a/yarn.lock b/yarn.lock index 41f85011..0a95d53e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -78,17 +78,17 @@ "@smithy/util-utf8" "^2.0.0" tslib "^2.6.2" -"@aws-sdk/client-cloudfront@^3.687.0": - version "3.698.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-cloudfront/-/client-cloudfront-3.698.0.tgz#dbad5e677a5423390c23370ade7fcdedb7b54739" - integrity sha512-u2sZ8gaitX5h503gxlxYWjhtUGVkd41nT0IymJ7pBw3HIH2v+r7i+p53+krKwf/nv/z2CNg8FtVUQqXX25FH6w== +"@aws-sdk/client-cloudfront@^3.699.0": + version "3.699.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-cloudfront/-/client-cloudfront-3.699.0.tgz#0dddf47efd611377637d2e718481ce9f2b68a51b" + integrity sha512-0tHdtyJ9xmlNsfZppYEflrtskxZjbwPCD4DzcFXRxXEteDtZhRshF1YGAEYUZ7Iad4ps+XbQOEiAJmWW+G2QFw== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/client-sso-oidc" "3.696.0" - "@aws-sdk/client-sts" "3.696.0" + "@aws-sdk/client-sso-oidc" "3.699.0" + "@aws-sdk/client-sts" "3.699.0" "@aws-sdk/core" "3.696.0" - "@aws-sdk/credential-provider-node" "3.696.0" + "@aws-sdk/credential-provider-node" "3.699.0" "@aws-sdk/middleware-host-header" "3.696.0" "@aws-sdk/middleware-logger" "3.696.0" "@aws-sdk/middleware-recursion-detection" "3.696.0" @@ -128,7 +128,7 @@ "@smithy/util-waiter" "^3.1.9" tslib "^2.6.2" -"@aws-sdk/client-s3@^3.701.0": +"@aws-sdk/client-s3@^3.705.0": version "3.705.0" resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.705.0.tgz#7a4a4784bd5b3ca3187ff876b771eaf0cbde1c42" integrity sha512-Fm0Cbc4zr0yG0DnNycz7ywlL5tQFdLSb7xCIPfzrxJb3YQiTXWxH5eu61SSsP/Z6RBNRolmRPvst/iNgX0fWvA== @@ -192,51 +192,6 @@ "@smithy/util-waiter" "^3.1.9" tslib "^2.6.2" -"@aws-sdk/client-sso-oidc@3.696.0": - version "3.696.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.696.0.tgz#b6a92ae876d3fdaa986bd70bbb329dcbcd12ea2b" - integrity sha512-ikxQ3mo86d1mAq5zTaQAh8rLBERwL+I4MUYu/IVYW2hhl9J2SDsl0SgnKeXQG6S8zWuHcBO587zsZaRta1MQ/g== - dependencies: - "@aws-crypto/sha256-browser" "5.2.0" - "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/core" "3.696.0" - "@aws-sdk/credential-provider-node" "3.696.0" - "@aws-sdk/middleware-host-header" "3.696.0" - "@aws-sdk/middleware-logger" "3.696.0" - "@aws-sdk/middleware-recursion-detection" "3.696.0" - "@aws-sdk/middleware-user-agent" "3.696.0" - "@aws-sdk/region-config-resolver" "3.696.0" - "@aws-sdk/types" "3.696.0" - "@aws-sdk/util-endpoints" "3.696.0" - "@aws-sdk/util-user-agent-browser" "3.696.0" - "@aws-sdk/util-user-agent-node" "3.696.0" - "@smithy/config-resolver" "^3.0.12" - "@smithy/core" "^2.5.3" - "@smithy/fetch-http-handler" "^4.1.1" - "@smithy/hash-node" "^3.0.10" - "@smithy/invalid-dependency" "^3.0.10" - "@smithy/middleware-content-length" "^3.0.12" - "@smithy/middleware-endpoint" "^3.2.3" - "@smithy/middleware-retry" "^3.0.27" - "@smithy/middleware-serde" "^3.0.10" - "@smithy/middleware-stack" "^3.0.10" - "@smithy/node-config-provider" "^3.1.11" - "@smithy/node-http-handler" "^3.3.1" - "@smithy/protocol-http" "^4.1.7" - "@smithy/smithy-client" "^3.4.4" - "@smithy/types" "^3.7.1" - "@smithy/url-parser" "^3.0.10" - "@smithy/util-base64" "^3.0.0" - "@smithy/util-body-length-browser" "^3.0.0" - "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.27" - "@smithy/util-defaults-mode-node" "^3.0.27" - "@smithy/util-endpoints" "^2.1.6" - "@smithy/util-middleware" "^3.0.10" - "@smithy/util-retry" "^3.0.10" - "@smithy/util-utf8" "^3.0.0" - tslib "^2.6.2" - "@aws-sdk/client-sso-oidc@3.699.0": version "3.699.0" resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.699.0.tgz#a35665e681abd518b56330bc7dab63041fbdaf83" @@ -326,52 +281,6 @@ "@smithy/util-utf8" "^3.0.0" tslib "^2.6.2" -"@aws-sdk/client-sts@3.696.0": - version "3.696.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.696.0.tgz#58d820a6d6f62626fd3177e7c0dc90027f0c6c3c" - integrity sha512-eJOxR8/UyI7kGSRyE751Ea7MKEzllQs7eNveDJy9OP4t/jsN/P19HJ1YHeA1np40JRTUBfqa6WLAAiIXsk8rkg== - dependencies: - "@aws-crypto/sha256-browser" "5.2.0" - "@aws-crypto/sha256-js" "5.2.0" - "@aws-sdk/client-sso-oidc" "3.696.0" - "@aws-sdk/core" "3.696.0" - "@aws-sdk/credential-provider-node" "3.696.0" - "@aws-sdk/middleware-host-header" "3.696.0" - "@aws-sdk/middleware-logger" "3.696.0" - "@aws-sdk/middleware-recursion-detection" "3.696.0" - "@aws-sdk/middleware-user-agent" "3.696.0" - "@aws-sdk/region-config-resolver" "3.696.0" - "@aws-sdk/types" "3.696.0" - "@aws-sdk/util-endpoints" "3.696.0" - "@aws-sdk/util-user-agent-browser" "3.696.0" - "@aws-sdk/util-user-agent-node" "3.696.0" - "@smithy/config-resolver" "^3.0.12" - "@smithy/core" "^2.5.3" - "@smithy/fetch-http-handler" "^4.1.1" - "@smithy/hash-node" "^3.0.10" - "@smithy/invalid-dependency" "^3.0.10" - "@smithy/middleware-content-length" "^3.0.12" - "@smithy/middleware-endpoint" "^3.2.3" - "@smithy/middleware-retry" "^3.0.27" - "@smithy/middleware-serde" "^3.0.10" - "@smithy/middleware-stack" "^3.0.10" - "@smithy/node-config-provider" "^3.1.11" - "@smithy/node-http-handler" "^3.3.1" - "@smithy/protocol-http" "^4.1.7" - "@smithy/smithy-client" "^3.4.4" - "@smithy/types" "^3.7.1" - "@smithy/url-parser" "^3.0.10" - "@smithy/util-base64" "^3.0.0" - "@smithy/util-body-length-browser" "^3.0.0" - "@smithy/util-body-length-node" "^3.0.0" - "@smithy/util-defaults-mode-browser" "^3.0.27" - "@smithy/util-defaults-mode-node" "^3.0.27" - "@smithy/util-endpoints" "^2.1.6" - "@smithy/util-middleware" "^3.0.10" - "@smithy/util-retry" "^3.0.10" - "@smithy/util-utf8" "^3.0.0" - tslib "^2.6.2" - "@aws-sdk/client-sts@3.699.0": version "3.699.0" resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.699.0.tgz#9419be6bbf3809008128117afea8b9129b5a959d" @@ -462,24 +371,6 @@ "@smithy/util-stream" "^3.3.1" tslib "^2.6.2" -"@aws-sdk/credential-provider-ini@3.696.0": - version "3.696.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.696.0.tgz#8b162db836c81582f249e24adff48f01cacca402" - integrity sha512-9WsZZofjPjNAAZhIh7c7FOhLK8CR3RnGgUm1tdZzV6ZSM1BuS2m6rdwIilRxAh3fxxKDkmW/r/aYmmCYwA+AYA== - dependencies: - "@aws-sdk/core" "3.696.0" - "@aws-sdk/credential-provider-env" "3.696.0" - "@aws-sdk/credential-provider-http" "3.696.0" - "@aws-sdk/credential-provider-process" "3.696.0" - "@aws-sdk/credential-provider-sso" "3.696.0" - "@aws-sdk/credential-provider-web-identity" "3.696.0" - "@aws-sdk/types" "3.696.0" - "@smithy/credential-provider-imds" "^3.2.6" - "@smithy/property-provider" "^3.1.9" - "@smithy/shared-ini-file-loader" "^3.1.10" - "@smithy/types" "^3.7.1" - tslib "^2.6.2" - "@aws-sdk/credential-provider-ini@3.699.0": version "3.699.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.699.0.tgz#7919a454b05c5446d04a0d3270807046a029ee30" @@ -498,24 +389,6 @@ "@smithy/types" "^3.7.1" tslib "^2.6.2" -"@aws-sdk/credential-provider-node@3.696.0": - version "3.696.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.696.0.tgz#6d8d97a85444bfd3c5a1aded9ce894f68e6d3547" - integrity sha512-8F6y5FcfRuMJouC5s207Ko1mcVvOXReBOlJmhIwE4QH1CnO/CliIyepnAZrRQ659mo5wIuquz6gXnpYbitEVMg== - dependencies: - "@aws-sdk/credential-provider-env" "3.696.0" - "@aws-sdk/credential-provider-http" "3.696.0" - "@aws-sdk/credential-provider-ini" "3.696.0" - "@aws-sdk/credential-provider-process" "3.696.0" - "@aws-sdk/credential-provider-sso" "3.696.0" - "@aws-sdk/credential-provider-web-identity" "3.696.0" - "@aws-sdk/types" "3.696.0" - "@smithy/credential-provider-imds" "^3.2.6" - "@smithy/property-provider" "^3.1.9" - "@smithy/shared-ini-file-loader" "^3.1.10" - "@smithy/types" "^3.7.1" - tslib "^2.6.2" - "@aws-sdk/credential-provider-node@3.699.0": version "3.699.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.699.0.tgz#6a1e32a49a7fa71d10c85a927267d1782444def1" @@ -546,20 +419,6 @@ "@smithy/types" "^3.7.1" tslib "^2.6.2" -"@aws-sdk/credential-provider-sso@3.696.0": - version "3.696.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.696.0.tgz#3e58608e7c330e08206af496a14764f82a776acf" - integrity sha512-4SSZ9Nk08JSu4/rX1a+dEac/Ims1HCXfV7YLUe5LGdtRLSKRoQQUy+hkFaGYoSugP/p1UfUPl3BuTO9Vv8z1pA== - dependencies: - "@aws-sdk/client-sso" "3.696.0" - "@aws-sdk/core" "3.696.0" - "@aws-sdk/token-providers" "3.696.0" - "@aws-sdk/types" "3.696.0" - "@smithy/property-provider" "^3.1.9" - "@smithy/shared-ini-file-loader" "^3.1.10" - "@smithy/types" "^3.7.1" - tslib "^2.6.2" - "@aws-sdk/credential-provider-sso@3.699.0": version "3.699.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.699.0.tgz#515e2ecd407bace3141b8b192505631de415667e" @@ -731,17 +590,6 @@ "@smithy/types" "^3.7.1" tslib "^2.6.2" -"@aws-sdk/token-providers@3.696.0": - version "3.696.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.696.0.tgz#22ca7cf0901885d2f01aed6fe664e5162ae58108" - integrity sha512-fvTcMADrkwRdNwVmJXi2pSPf1iizmUqczrR1KusH4XehI/KybS4U6ViskRT0v07vpxwL7x+iaD/8fR0PUu5L/g== - dependencies: - "@aws-sdk/types" "3.696.0" - "@smithy/property-provider" "^3.1.9" - "@smithy/shared-ini-file-loader" "^3.1.10" - "@smithy/types" "^3.7.1" - tslib "^2.6.2" - "@aws-sdk/token-providers@3.699.0": version "3.699.0" resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.699.0.tgz#354990dd52d651c1f7a64c4c0894c868cdc81de2" @@ -1647,7 +1495,7 @@ mkdirp "^1.0.4" rimraf "^3.0.2" -"@oclif/core@^4", "@oclif/core@^4.0.32": +"@oclif/core@^4": version "4.0.33" resolved "https://registry.yarnpkg.com/@oclif/core/-/core-4.0.33.tgz#fcaf3dd2850c5999de20459a1445d31a230cd24b" integrity sha512-NoTDwJ2L/ywpsSjcN7jAAHf3m70Px4Yim2SJrm16r70XpnfbNOdlj1x0HEJ0t95gfD+p/y5uy+qPT/VXTh/1gw== @@ -6295,24 +6143,24 @@ object.assign@^4.1.5: has-symbols "^1.0.3" object-keys "^1.1.1" -oclif@^4.16.0: - version "4.16.0" - resolved "https://registry.yarnpkg.com/oclif/-/oclif-4.16.0.tgz#bd2e0ec5dc48ed8a2f5dbd7e298727812b7aadb5" - integrity sha512-Y5bcJc4vwhAW0UN9ctZvfLYZz+nC4rQJPmmpKFXLj7A6uKS1c+GrNa4WwZnk9D4eN32kP/awyRRdd2lbX/S+KQ== +oclif@^4.16.2: + version "4.16.2" + resolved "https://registry.yarnpkg.com/oclif/-/oclif-4.16.2.tgz#0682d73c2510413d8aa17f5fa09639b5c02f089c" + integrity sha512-nJbvmjiPJ55TS+AKYLwSD8EneqFrltaj6wlaJBKChs1pw6nWHSc1p1vJTcvIKFOmexwSQLTP/ofuHCl57Bg1ZA== dependencies: - "@aws-sdk/client-cloudfront" "^3.687.0" - "@aws-sdk/client-s3" "^3.701.0" + "@aws-sdk/client-cloudfront" "^3.699.0" + "@aws-sdk/client-s3" "^3.705.0" "@inquirer/confirm" "^3.1.22" "@inquirer/input" "^2.2.4" "@inquirer/select" "^2.5.0" - "@oclif/core" "^4.0.32" + "@oclif/core" "^4.0.36" "@oclif/plugin-help" "^6.2.17" "@oclif/plugin-not-found" "^3.2.25" "@oclif/plugin-warn-if-update-available" "^3.1.21" async-retry "^1.3.3" chalk "^4" change-case "^4" - debug "^4.3.4" + debug "^4.4.0" ejs "^3.1.10" find-yarn-workspace-root "^2.0.0" fs-extra "^8.1"