diff --git a/package.json b/package.json index 0bf42146..fe37032a 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "@salesforce/apex-node": "^3.0.1", "@salesforce/core": "^6.4.2", "@salesforce/kit": "^3.0.15", - "@salesforce/sf-plugins-core": "^5.0.13", + "@salesforce/sf-plugins-core": "5.0.14-dev.2", "@salesforce/source-deploy-retrieve": "^10.2.5", "@salesforce/source-tracking": "^5.1.3", "@salesforce/ts-types": "^2.0.9", diff --git a/src/commands/project/convert/mdapi.ts b/src/commands/project/convert/mdapi.ts index aef6ddc7..8eab40e3 100644 --- a/src/commands/project/convert/mdapi.ts +++ b/src/commands/project/convert/mdapi.ts @@ -26,7 +26,7 @@ import { Interfaces } from '@oclif/core'; import { ConvertMdapiJson } from '../../../utils/types.js'; import { MetadataConvertResultFormatter } from '../../../formatters/metadataConvertResultFormatter.js'; -Messages.importMessagesDirectoryFromMetaUrl(import.meta.url) +Messages.importMessagesDirectoryFromMetaUrl(import.meta.url); const messages = Messages.loadMessages('@salesforce/plugin-deploy-retrieve', 'convert.mdapi'); export interface EnsureFsFlagOptions { @@ -92,7 +92,7 @@ export class Mdapi extends SfCommand { protected async convert(): Promise { const [outputDir] = await Promise.all([ - resolveOutputDir(this.flags['output-dir'] ?? this.project.getDefaultPackage().path), + resolveOutputDir(this.flags['output-dir'] ?? this.project!.getDefaultPackage().path), resolveMetadataPaths(this.flags['metadata-dir'] ?? []), ]); diff --git a/src/commands/project/convert/source.ts b/src/commands/project/convert/source.ts index 1664e798..bf2137b0 100644 --- a/src/commands/project/convert/source.ts +++ b/src/commands/project/convert/source.ts @@ -27,7 +27,7 @@ import { getPackageDirs, getSourceApiVersion } from '../../../utils/project.js'; import { SourceConvertResultFormatter } from '../../../formatters/sourceConvertResultFormatter.js'; import { ConvertResultJson } from '../../../utils/types.js'; -Messages.importMessagesDirectoryFromMetaUrl(import.meta.url) +Messages.importMessagesDirectoryFromMetaUrl(import.meta.url); const messages = Messages.loadMessages('@salesforce/plugin-deploy-retrieve', 'convert.source'); export class Source extends SfCommand { @@ -112,7 +112,7 @@ export class Source extends SfCommand { // no options passed, convert the default package (usually force-app) if (!sourcepath && !metadata && !manifest && !rootdir) { - paths.push(this.project.getDefaultPackage().path); + paths.push(this.project!.getDefaultPackage().path); } this.componentSet = await ComponentSetBuilder.build({ diff --git a/src/commands/project/delete/source.ts b/src/commands/project/delete/source.ts index dc99f7a4..947d063b 100644 --- a/src/commands/project/delete/source.ts +++ b/src/commands/project/delete/source.ts @@ -157,7 +157,7 @@ export class Source extends SfCommand { protected async preChecks(): Promise { if (this.flags['track-source']) { - this.tracking = await SourceTracking.create({ org: this.org, project: this.project }); + this.tracking = await SourceTracking.create({ org: this.org, project: this.project! }); } if (!validateTests(this.flags['test-level'], this.flags.tests)) { @@ -471,7 +471,7 @@ export class Source extends SfCommand { ? messages.getMessage('areYouSureCheckOnly') : messages.getMessage('areYouSure') ); - return this.confirm(message.join('\n')); + return this.confirm({ message: message.join('\n') }); } return true; } diff --git a/src/commands/project/delete/tracking.ts b/src/commands/project/delete/tracking.ts index 3f42aa4d..4660b580 100644 --- a/src/commands/project/delete/tracking.ts +++ b/src/commands/project/delete/tracking.ts @@ -5,8 +5,6 @@ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ - - import { Messages } from '@salesforce/core'; import chalk from 'chalk'; import { SourceTracking } from '@salesforce/source-tracking'; @@ -18,7 +16,7 @@ import { SfCommand, } from '@salesforce/sf-plugins-core'; -Messages.importMessagesDirectoryFromMetaUrl(import.meta.url) +Messages.importMessagesDirectoryFromMetaUrl(import.meta.url); const messages = Messages.loadMessages('@salesforce/plugin-deploy-retrieve', 'delete.tracking'); export type DeleteTrackingResult = { @@ -49,9 +47,9 @@ export class DeleteTracking extends SfCommand { const { flags } = await this.parse(DeleteTracking); let clearedFiles: string[] = []; - if (flags['no-prompt'] || (await this.confirm(chalk.dim(messages.getMessage('promptMessage'))))) { + if (flags['no-prompt'] || (await this.confirm({ message: chalk.dim(messages.getMessage('promptMessage')) }))) { const sourceTracking = await SourceTracking.create({ - project: this.project, + project: this.project!, org: flags['target-org'], }); clearedFiles = await Promise.all([sourceTracking.clearLocalTracking(), sourceTracking.clearRemoteTracking()]); diff --git a/src/commands/project/deploy/cancel.ts b/src/commands/project/deploy/cancel.ts index a2ea31df..20af243f 100644 --- a/src/commands/project/deploy/cancel.ts +++ b/src/commands/project/deploy/cancel.ts @@ -5,8 +5,6 @@ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ - - import { Messages } from '@salesforce/core'; import { Duration } from '@salesforce/kit'; import { SfCommand, Flags } from '@salesforce/sf-plugins-core'; @@ -17,7 +15,7 @@ import { AsyncDeployCancelResultFormatter } from '../../../formatters/asyncDeplo import { DeployCancelResultFormatter } from '../../../formatters/deployCancelResultFormatter.js'; import { DeployResultJson } from '../../../utils/types.js'; -Messages.importMessagesDirectoryFromMetaUrl(import.meta.url) +Messages.importMessagesDirectoryFromMetaUrl(import.meta.url); const messages = Messages.loadMessages('@salesforce/plugin-deploy-retrieve', 'deploy.metadata.cancel'); export default class DeployMetadataCancel extends SfCommand { @@ -96,7 +94,7 @@ export default class DeployMetadataCancel extends SfCommand { } } - protected catch(error: SfCommand.Error): Promise { + protected catch(error: SfCommand.Error): Promise { if (error.name.includes('INVALID_ID_FIELD')) { const err = messages.createError('error.CannotCancelDeploy'); return super.catch({ diff --git a/src/commands/project/deploy/preview.ts b/src/commands/project/deploy/preview.ts index a2cc1537..d39afcec 100644 --- a/src/commands/project/deploy/preview.ts +++ b/src/commands/project/deploy/preview.ts @@ -5,7 +5,6 @@ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ - import { Messages } from '@salesforce/core'; import { SfCommand, Flags } from '@salesforce/sf-plugins-core'; import { SourceTracking } from '@salesforce/source-tracking'; @@ -13,7 +12,7 @@ import { ForceIgnore } from '@salesforce/source-deploy-retrieve'; import { buildComponentSet } from '../../../utils/deploy.js'; import { PreviewResult, printTables, compileResults, getConflictFiles } from '../../../utils/previewOutput.js'; -Messages.importMessagesDirectoryFromMetaUrl(import.meta.url) +Messages.importMessagesDirectoryFromMetaUrl(import.meta.url); const messages = Messages.loadMessages('@salesforce/plugin-deploy-retrieve', 'deploy.metadata.preview'); const exclusiveFlags = ['manifest', 'source-dir', 'metadata']; @@ -64,7 +63,7 @@ export default class DeployMetadataPreview extends SfCommand { public async run(): Promise { const { flags } = await this.parse(DeployMetadataPreview); const deploySpecified = [flags.manifest, flags.metadata, flags['source-dir']].some((f) => f !== undefined); - const forceIgnore = ForceIgnore.findAndCreate(this.project.getDefaultPackage().path); + const forceIgnore = ForceIgnore.findAndCreate(this.project!.getDefaultPackage().path); // we'll need STL both to check conflicts and to get the list of local changes if no flags are provided const stl = @@ -72,7 +71,7 @@ export default class DeployMetadataPreview extends SfCommand { ? undefined : await SourceTracking.create({ org: flags['target-org'], - project: this.project, + project: this.project!, }); const [componentSet, filesWithConflicts] = await Promise.all([ @@ -82,7 +81,7 @@ export default class DeployMetadataPreview extends SfCommand { const output = compileResults({ componentSet, - projectPath: this.project.getPath(), + projectPath: this.project!.getPath(), filesWithConflicts, forceIgnore, baseOperation: 'deploy', diff --git a/src/commands/project/deploy/quick.ts b/src/commands/project/deploy/quick.ts index 1e67b186..6877259b 100644 --- a/src/commands/project/deploy/quick.ts +++ b/src/commands/project/deploy/quick.ts @@ -5,8 +5,6 @@ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ - - import chalk from 'chalk'; import { Messages, Org } from '@salesforce/core'; import { SfCommand, toHelpSection, Flags } from '@salesforce/sf-plugins-core'; @@ -19,7 +17,7 @@ import { AsyncDeployResultFormatter } from '../../../formatters/asyncDeployResul import { DeployResultFormatter } from '../../../formatters/deployResultFormatter.js'; import { API, DeployResultJson } from '../../../utils/types.js'; -Messages.importMessagesDirectoryFromMetaUrl(import.meta.url) +Messages.importMessagesDirectoryFromMetaUrl(import.meta.url); const messages = Messages.loadMessages('@salesforce/plugin-deploy-retrieve', 'deploy.metadata.quick'); export default class DeployMetadataQuick extends SfCommand { @@ -134,7 +132,7 @@ export default class DeployMetadataQuick extends SfCommand { return formatter.getJson(); } - protected catch(error: SfCommand.Error): Promise { + protected catch(error: SfCommand.Error): Promise { if (error.name.includes('INVALID_ID_FIELD')) { const err = messages.createError('error.CannotQuickDeploy'); return super.catch({ diff --git a/src/commands/project/deploy/start.ts b/src/commands/project/deploy/start.ts index 33977744..c6297396 100644 --- a/src/commands/project/deploy/start.ts +++ b/src/commands/project/deploy/start.ts @@ -5,7 +5,6 @@ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ - import chalk from 'chalk'; import { EnvironmentVariable, Lifecycle, Messages, OrgConfigProperties, SfError } from '@salesforce/core'; import { DeployVersionData } from '@salesforce/source-deploy-retrieve'; @@ -24,7 +23,7 @@ import { coverageFormattersFlag, fileOrDirFlag, testLevelFlag, testsFlag } from import { writeConflictTable } from '../../../utils/conflicts.js'; import { getOptionalProject } from '../../../utils/project.js'; -Messages.importMessagesDirectoryFromMetaUrl(import.meta.url) +Messages.importMessagesDirectoryFromMetaUrl(import.meta.url); const messages = Messages.loadMessages('@salesforce/plugin-deploy-retrieve', 'deploy.metadata'); const exclusiveFlags = ['manifest', 'source-dir', 'metadata', 'metadata-dir']; @@ -262,7 +261,7 @@ export default class DeployMetadata extends SfCommand { return formatter.getJson(); } - protected catch(error: Error | SfError): Promise { + protected catch(error: Error | SfError): Promise { if (error instanceof SourceConflictError && error.data) { if (!this.jsonEnabled()) { writeConflictTable(error.data); diff --git a/src/commands/project/list/ignored.ts b/src/commands/project/list/ignored.ts index 61e3f7e6..2c42438e 100644 --- a/src/commands/project/list/ignored.ts +++ b/src/commands/project/list/ignored.ts @@ -11,7 +11,7 @@ import { Messages, SfError } from '@salesforce/core'; import { ForceIgnore } from '@salesforce/source-deploy-retrieve'; import { SfCommand, Flags } from '@salesforce/sf-plugins-core'; -Messages.importMessagesDirectoryFromMetaUrl(import.meta.url) +Messages.importMessagesDirectoryFromMetaUrl(import.meta.url); const messages = Messages.loadMessages('@salesforce/plugin-deploy-retrieve', 'list.ignored'); export type SourceIgnoredResults = { @@ -43,10 +43,10 @@ export class Ignored extends SfCommand { public async run(): Promise { const flags = (await this.parse(Ignored)).flags; try { - this.forceIgnore = ForceIgnore.findAndCreate(this.project.getPath()); + this.forceIgnore = ForceIgnore.findAndCreate(this.project!.getPath()); const sourcepaths = flags['source-dir'] ? [flags['source-dir']] - : this.project.getUniquePackageDirectories().map((pDir) => pDir.path); + : this.project!.getUniquePackageDirectories().map((pDir) => pDir.path); const ignoredFiles = (await Promise.all(sourcepaths.map((sp) => this.statIgnored(sp.trim())))).flat(); diff --git a/src/commands/project/reset/tracking.ts b/src/commands/project/reset/tracking.ts index 65bdd7ac..89dd03eb 100644 --- a/src/commands/project/reset/tracking.ts +++ b/src/commands/project/reset/tracking.ts @@ -5,8 +5,6 @@ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ - - import { Messages } from '@salesforce/core'; import { SourceTracking } from '@salesforce/source-tracking'; import { @@ -18,7 +16,7 @@ import { StandardColors, } from '@salesforce/sf-plugins-core'; -Messages.importMessagesDirectoryFromMetaUrl(import.meta.url) +Messages.importMessagesDirectoryFromMetaUrl(import.meta.url); const messages = Messages.loadMessages('@salesforce/plugin-deploy-retrieve', 'delete.tracking'); export type ResetTrackingResult = { @@ -55,9 +53,12 @@ export class ResetTracking extends SfCommand { public async run(): Promise { const { flags } = await this.parse(ResetTracking); - if (flags['no-prompt'] || (await this.confirm(StandardColors.info(messages.getMessage('promptMessage'))))) { + if ( + flags['no-prompt'] || + (await this.confirm({ message: StandardColors.info(messages.getMessage('promptMessage')) })) + ) { const sourceTracking = await SourceTracking.create({ - project: this.project, + project: this.project!, org: flags['target-org'], }); diff --git a/src/commands/project/retrieve/preview.ts b/src/commands/project/retrieve/preview.ts index 675d9c93..d884a418 100644 --- a/src/commands/project/retrieve/preview.ts +++ b/src/commands/project/retrieve/preview.ts @@ -5,14 +5,13 @@ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ - import { Messages } from '@salesforce/core'; import { SfCommand, Flags } from '@salesforce/sf-plugins-core'; import { SourceTracking } from '@salesforce/source-tracking'; import { ForceIgnore } from '@salesforce/source-deploy-retrieve'; import { PreviewResult, printTables, compileResults, getConflictFiles } from '../../../utils/previewOutput.js'; -Messages.importMessagesDirectoryFromMetaUrl(import.meta.url) +Messages.importMessagesDirectoryFromMetaUrl(import.meta.url); const messages = Messages.loadMessages('@salesforce/plugin-deploy-retrieve', 'retrieve.metadata.preview'); export default class RetrieveMetadataPreview extends SfCommand { @@ -47,11 +46,11 @@ export default class RetrieveMetadataPreview extends SfCommand { const stl = await SourceTracking.create({ org: flags['target-org'], - project: this.project, + project: this.project!, ignoreConflicts: flags['ignore-conflicts'], }); - const forceIgnore = ForceIgnore.findAndCreate(this.project.getDefaultPackage().path); + const forceIgnore = ForceIgnore.findAndCreate(this.project!.getDefaultPackage().path); const [componentSet, filesWithConflicts, remoteDeletes] = await Promise.all([ stl.remoteNonDeletesAsComponentSet(), @@ -61,7 +60,7 @@ export default class RetrieveMetadataPreview extends SfCommand { const output = compileResults({ componentSet, - projectPath: this.project.getPath(), + projectPath: this.project!.getPath(), filesWithConflicts, forceIgnore, baseOperation: 'retrieve', diff --git a/src/commands/project/retrieve/start.ts b/src/commands/project/retrieve/start.ts index 8abc44f2..99374b56 100644 --- a/src/commands/project/retrieve/start.ts +++ b/src/commands/project/retrieve/start.ts @@ -36,7 +36,7 @@ import { RetrieveResultJson } from '../../../utils/types.js'; import { writeConflictTable } from '../../../utils/conflicts.js'; import { promisesQueue } from '../../../utils/promiseQueue.js'; -Messages.importMessagesDirectoryFromMetaUrl(import.meta.url) +Messages.importMessagesDirectoryFromMetaUrl(import.meta.url); const messages = Messages.loadMessages('@salesforce/plugin-deploy-retrieve', 'retrieve.start'); const mdTransferMessages = Messages.loadMessages('@salesforce/plugin-deploy-retrieve', 'metadata.transfer'); @@ -266,7 +266,7 @@ export default class RetrieveMetadata extends SfCommand { return formatter.getJson(); } - protected catch(error: Error | SfError): Promise { + protected catch(error: Error | SfError): Promise { if (!this.jsonEnabled() && error instanceof SourceConflictError && error.data) { writeConflictTable(error.data); // set the message and add plugin-specific actions diff --git a/yarn.lock b/yarn.lock index 589e89d6..eb627369 100644 --- a/yarn.lock +++ b/yarn.lock @@ -444,6 +444,59 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz#e5211452df060fa8522b55c7b3c0c4d1981cb044" integrity sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw== +"@inquirer/confirm@^2.0.15": + version "2.0.15" + resolved "https://registry.yarnpkg.com/@inquirer/confirm/-/confirm-2.0.15.tgz#b5512ed190efd8c5b96e0969115756b48546ab36" + integrity sha512-hj8Q/z7sQXsF0DSpLQZVDhWYGN6KLM/gNjjqGkpKwBzljbQofGjn0ueHADy4HUY+OqDHmXuwk/bY+tZyIuuB0w== + dependencies: + "@inquirer/core" "^5.1.1" + "@inquirer/type" "^1.1.5" + chalk "^4.1.2" + +"@inquirer/core@^5.1.1": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@inquirer/core/-/core-5.1.1.tgz#849d4846aea68371c133df6ec9059f5e5bd30d30" + integrity sha512-IuJyZQUg75+L5AmopgnzxYrgcU6PJKL0hoIs332G1Gv55CnmZrhG6BzNOeZ5sOsTi1YCGOopw4rYICv74ejMFg== + dependencies: + "@inquirer/type" "^1.1.5" + "@types/mute-stream" "^0.0.4" + "@types/node" "^20.9.0" + "@types/wrap-ansi" "^3.0.0" + ansi-escapes "^4.3.2" + chalk "^4.1.2" + cli-spinners "^2.9.1" + cli-width "^4.1.0" + figures "^3.2.0" + mute-stream "^1.0.0" + run-async "^3.0.0" + signal-exit "^4.1.0" + strip-ansi "^6.0.1" + wrap-ansi "^6.2.0" + +"@inquirer/input@^1.2.14": + version "1.2.14" + resolved "https://registry.yarnpkg.com/@inquirer/input/-/input-1.2.14.tgz#8951867618bb5cd16dd096e02404eec225a92207" + integrity sha512-tISLGpUKXixIQue7jypNEShrdzJoLvEvZOJ4QRsw5XTfrIYfoWFqAjMQLerGs9CzR86yAI89JR6snHmKwnNddw== + dependencies: + "@inquirer/core" "^5.1.1" + "@inquirer/type" "^1.1.5" + chalk "^4.1.2" + +"@inquirer/password@^1.1.14": + version "1.1.14" + resolved "https://registry.yarnpkg.com/@inquirer/password/-/password-1.1.14.tgz#c1fc139efe84a38986870a1bcf80718050f82bbf" + integrity sha512-vL2BFxfMo8EvuGuZYlryiyAB3XsgtbxOcFs4H9WI9szAS/VZCAwdVqs8rqEeaAf/GV/eZOghIOYxvD91IsRWSg== + dependencies: + "@inquirer/input" "^1.2.14" + "@inquirer/type" "^1.1.5" + ansi-escapes "^4.3.2" + chalk "^4.1.2" + +"@inquirer/type@^1.1.5": + version "1.1.5" + resolved "https://registry.yarnpkg.com/@inquirer/type/-/type-1.1.5.tgz#b8c171f755859c8159b10e41e1e3a88f0ca99d7f" + integrity sha512-wmwHvHozpPo4IZkkNtbYenem/0wnfI6hvOcGKmPEa0DwuaH5XUQzFqy6OpEpjEegZMhYIk8HDYITI16BPLtrRA== + "@isaacs/cliui@^8.0.2": version "8.0.2" resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" @@ -780,10 +833,10 @@ wordwrap "^1.0.0" wrap-ansi "^7.0.0" -"@oclif/core@^3.0.4", "@oclif/core@^3.10.8", "@oclif/core@^3.11.0", "@oclif/core@^3.12.0", "@oclif/core@^3.15.0", "@oclif/core@^3.15.1", "@oclif/core@^3.3.1": - version "3.15.1" - resolved "https://registry.yarnpkg.com/@oclif/core/-/core-3.15.1.tgz#e03fa775d658e76056150ac0c7b8097b6f51ab9c" - integrity sha512-d4457zVo2agLoJG97CmdY6M3BeP5sogBP3BtP65hUvJH6wA6Us1hdY3UiPPtD/ZzZImq7cATVMABuCF9tM+rWA== +"@oclif/core@^3.0.4", "@oclif/core@^3.10.8", "@oclif/core@^3.11.0", "@oclif/core@^3.12.0", "@oclif/core@^3.15.0", "@oclif/core@^3.15.1", "@oclif/core@^3.16.0", "@oclif/core@^3.3.1": + version "3.16.0" + resolved "https://registry.yarnpkg.com/@oclif/core/-/core-3.16.0.tgz#682657cb5e4a3262a47e26e0c8a7bf0343acaf76" + integrity sha512-/PIz+udzb59XE8O/bQvqlCtXy6RByEHH0KsrAJNa/ZrqtdsLmeDNJcHdgygFHx+nz+PYMoUzsyzJMau++EDNoQ== dependencies: ansi-escapes "^4.3.2" ansi-styles "^4.3.0" @@ -1116,7 +1169,20 @@ resolved "https://registry.yarnpkg.com/@salesforce/schemas/-/schemas-1.6.1.tgz#7d1c071e1e509ca9d2d8a6e48ac7447dd67a534d" integrity sha512-eVy947ZMxCJReKJdgfddUIsBIbPTa/i8RwQGwxq4/ss38H5sLOAeSTaun9V7HpJ1hkpDznWKfgzYvjsst9K6ig== -"@salesforce/sf-plugins-core@^5.0.1", "@salesforce/sf-plugins-core@^5.0.12", "@salesforce/sf-plugins-core@^5.0.13": +"@salesforce/sf-plugins-core@5.0.14-dev.2": + version "5.0.14-dev.2" + resolved "https://registry.yarnpkg.com/@salesforce/sf-plugins-core/-/sf-plugins-core-5.0.14-dev.2.tgz#a74908346427cf66d693a726ca3e0b928feebe61" + integrity sha512-tfA97vQkSQFMLotOUP+mytx4dE9Ifdt81nQeaa/TxujxPeuPvYiiYyg6YIaUedne8bKAeMy9G/m0wxXpWJaI8g== + dependencies: + "@inquirer/confirm" "^2.0.15" + "@inquirer/password" "^1.1.14" + "@oclif/core" "^3.16.0" + "@salesforce/core" "^6.4.2" + "@salesforce/kit" "^3.0.15" + "@salesforce/ts-types" "^2.0.9" + chalk "^5.3.0" + +"@salesforce/sf-plugins-core@^5.0.1", "@salesforce/sf-plugins-core@^5.0.12": version "5.0.13" resolved "https://registry.yarnpkg.com/@salesforce/sf-plugins-core/-/sf-plugins-core-5.0.13.tgz#f2941527d66ded5750a6646e146af047ab72acc9" integrity sha512-b5R8krKeOIkW0hPxvfpm8T5tCSyWW7MDERnJwm/FXq4ueUJsC1/TCWSscyVKPSZ0VRcEFbzOWKJvpV/omB1D9w== @@ -1474,10 +1540,19 @@ resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.6.tgz#818551d39113081048bdddbef96701b4e8bb9d1b" integrity sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg== -"@types/node@*": - version "20.3.1" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.3.1.tgz#e8a83f1aa8b649377bb1fb5d7bac5cb90e784dfe" - integrity sha512-EhcH/wvidPy1WeML3TtYFGR83UzjxeWRen9V402T8aUGYsCHOmfoisV3ZSg03gAFIbLq8TnWOJ0f4cALtnSEUg== +"@types/mute-stream@^0.0.4": + version "0.0.4" + resolved "https://registry.yarnpkg.com/@types/mute-stream/-/mute-stream-0.0.4.tgz#77208e56a08767af6c5e1237be8888e2f255c478" + integrity sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow== + dependencies: + "@types/node" "*" + +"@types/node@*", "@types/node@^20.9.0": + version "20.10.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.10.6.tgz#a3ec84c22965802bf763da55b2394424f22bfbb5" + integrity sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw== + dependencies: + undici-types "~5.26.4" "@types/node@^12.19.9": version "12.20.55" @@ -1553,6 +1628,11 @@ "@types/expect" "^1.20.4" "@types/node" "*" +"@types/wrap-ansi@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz#18b97a972f94f60a679fd5c796d96421b9abb9fd" + integrity sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g== + "@typescript-eslint/eslint-plugin@^6.10.0": version "6.11.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.11.0.tgz#52aae65174ff526576351f9ccd41cea01001463f" @@ -2531,10 +2611,10 @@ cli-progress@^3.12.0: dependencies: string-width "^4.2.3" -cli-spinners@^2.5.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.0.tgz#5881d0ad96381e117bbe07ad91f2008fe6ffd8db" - integrity sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g== +cli-spinners@^2.5.0, cli-spinners@^2.9.1: + version "2.9.2" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41" + integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== cli-table@^0.3.1: version "0.3.11" @@ -2548,6 +2628,11 @@ cli-width@^3.0.0: resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" integrity sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== +cli-width@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-4.1.0.tgz#42daac41d3c254ef38ad8ac037672130173691c5" + integrity sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ== + cliui@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" @@ -3674,7 +3759,7 @@ faye@1.4.0, faye@^1.4.0: tough-cookie "*" tunnel-agent "*" -figures@^3.0.0: +figures@^3.0.0, figures@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== @@ -5852,6 +5937,11 @@ mute-stream@0.0.8: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== +mute-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-1.0.0.tgz#e31bd9fe62f0aed23520aa4324ea6671531e013e" + integrity sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA== + nanoid@3.3.3: version "3.3.3" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" @@ -7174,6 +7264,11 @@ run-async@^2.0.0, run-async@^2.4.0: resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== +run-async@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-3.0.0.tgz#42a432f6d76c689522058984384df28be379daad" + integrity sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q== + run-parallel@^1.1.9: version "1.2.0" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" @@ -7399,10 +7494,10 @@ signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== -signal-exit@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.0.2.tgz#ff55bb1d9ff2114c13b400688fa544ac63c36967" - integrity sha512-MY2/qGx4enyjprQnFaZsHib3Yadh3IXyV2C321GY0pjGfVBu4un0uDJkwgdxqO+Rdx8JMT8IfJIRwbYVz3Ob3Q== +signal-exit@^4.0.1, signal-exit@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== sigstore@^1.3.0: version "1.6.0"