From cefaf0f54f30df1eed8d86664c2e87c80a088fe5 Mon Sep 17 00:00:00 2001 From: Willie Ruemmele Date: Wed, 24 Jul 2024 14:01:02 -0600 Subject: [PATCH] fix: remove --use-most-recent requirement for deploy cancel/quick/report/resume --- package.json | 12 +- src/commands/project/deploy/cancel.ts | 9 +- src/commands/project/deploy/quick.ts | 6 +- src/commands/project/deploy/report.ts | 9 +- src/commands/project/deploy/resume.ts | 9 +- test/commands/deploy/metadata/cancel.nut.ts | 2 +- test/commands/deploy/metadata/quick.nut.ts | 2 +- test/commands/deploy/metadata/report.nut.ts | 15 +++ test/commands/deploy/metadata/resume.nut.ts | 26 ++++ yarn.lock | 125 ++++++++++---------- 10 files changed, 132 insertions(+), 83 deletions(-) diff --git a/package.json b/package.json index ccb374af..d34afbc4 100644 --- a/package.json +++ b/package.json @@ -5,14 +5,14 @@ "author": "Salesforce", "bugs": "https://github.com/forcedotcom/cli/issues", "dependencies": { - "@oclif/core": "^4.0.12", + "@oclif/core": "^4.0.14", "@salesforce/apex-node": "^7.0.4", - "@salesforce/core": "^8.1.3", + "@salesforce/core": "^8.2.3", "@salesforce/kit": "^3.1.6", - "@salesforce/plugin-info": "^3.3.19", - "@salesforce/sf-plugins-core": "^11.1.9", - "@salesforce/source-deploy-retrieve": "^12.1.6", - "@salesforce/source-tracking": "^7.0.9", + "@salesforce/plugin-info": "^3.3.21", + "@salesforce/sf-plugins-core": "^11.2.1", + "@salesforce/source-deploy-retrieve": "^12.1.8", + "@salesforce/source-tracking": "^7.1.0", "@salesforce/ts-types": "^2.0.10", "ansis": "^3.3.1" }, diff --git a/src/commands/project/deploy/cancel.ts b/src/commands/project/deploy/cancel.ts index e6e4fa08..d2bf7b32 100644 --- a/src/commands/project/deploy/cancel.ts +++ b/src/commands/project/deploy/cancel.ts @@ -38,13 +38,13 @@ export default class DeployMetadataCancel extends SfCommand { length: 'both', description: messages.getMessage('flags.job-id.description'), summary: messages.getMessage('flags.job-id.summary'), - exactlyOne: ['use-most-recent', 'job-id'], + exclusive: ['use-most-recent'], }), 'use-most-recent': Flags.boolean({ char: 'r', description: messages.getMessage('flags.use-most-recent.description'), summary: messages.getMessage('flags.use-most-recent.summary'), - exactlyOne: ['use-most-recent', 'job-id'], + exclusive: ['job-id'], }), // we want to allow undefined to use the value from the cache // eslint-disable-next-line sf-plugin/flag-min-max-default @@ -61,7 +61,10 @@ export default class DeployMetadataCancel extends SfCommand { public async run(): Promise { const [{ flags }, cache] = await Promise.all([this.parse(DeployMetadataCancel), DeployCache.create()]); - const jobId = cache.resolveLatest(flags['use-most-recent'], flags['job-id']); + const jobId = cache.resolveLatest( + (!flags['use-most-recent'] && !flags['job-id']) || flags['use-most-recent'], + flags['job-id'] + ); // cancel don't care about your tracking conflicts const deployOpts = { diff --git a/src/commands/project/deploy/quick.ts b/src/commands/project/deploy/quick.ts index b842bbd8..084096d3 100644 --- a/src/commands/project/deploy/quick.ts +++ b/src/commands/project/deploy/quick.ts @@ -43,14 +43,14 @@ export default class DeployMetadataQuick extends SfCommand { length: 'both', description: messages.getMessage('flags.job-id.description'), summary: messages.getMessage('flags.job-id.summary'), - exactlyOne: ['use-most-recent', 'job-id'], + exclusive: ['use-most-recent'], }), 'target-org': Flags.optionalOrg(), 'use-most-recent': Flags.boolean({ char: 'r', description: messages.getMessage('flags.use-most-recent.description'), summary: messages.getMessage('flags.use-most-recent.summary'), - exactlyOne: ['use-most-recent', 'job-id'], + exclusive: ['job-id'], }), verbose: Flags.boolean({ summary: messages.getMessage('flags.verbose.summary'), @@ -143,7 +143,7 @@ export default class DeployMetadataQuick extends SfCommand { /** Resolve a job ID for a validated deploy using cache, most recent, or a job ID flag. */ const resolveJobId = (cache: DeployCache, useMostRecentFlag: boolean, jobIdFlag?: string): string => { try { - return cache.resolveLatest(useMostRecentFlag, jobIdFlag, true); + return cache.resolveLatest((!useMostRecentFlag && jobIdFlag !== undefined) || useMostRecentFlag, jobIdFlag); } catch (e) { if (e instanceof Error && e.name === 'NoMatchingJobIdError' && jobIdFlag) { return jobIdFlag; // Use the specified 15 char job ID diff --git a/src/commands/project/deploy/report.ts b/src/commands/project/deploy/report.ts index 283205fc..13636d3f 100644 --- a/src/commands/project/deploy/report.ts +++ b/src/commands/project/deploy/report.ts @@ -35,13 +35,13 @@ export default class DeployMetadataReport extends SfCommand { length: 'both', description: messages.getMessage('flags.job-id.description'), summary: messages.getMessage('flags.job-id.summary'), - exactlyOne: ['use-most-recent', 'job-id'], + exclusive: ['use-most-recent'], }), 'use-most-recent': Flags.boolean({ char: 'r', description: messages.getMessage('flags.use-most-recent.description'), summary: messages.getMessage('flags.use-most-recent.summary'), - exactlyOne: ['use-most-recent', 'job-id'], + exclusive: ['job-id'], }), 'coverage-formatters': coverageFormattersFlag({ helpGroup: testFlags }), junit: Flags.boolean({ @@ -67,7 +67,10 @@ export default class DeployMetadataReport extends SfCommand { public async run(): Promise { const [{ flags }, cache] = await Promise.all([this.parse(DeployMetadataReport), DeployCache.create()]); - const jobId = cache.resolveLatest(flags['use-most-recent'], flags['job-id'], false); + const jobId = cache.resolveLatest( + (!flags['use-most-recent'] && !flags['job-id']) || flags['use-most-recent'], + flags['job-id'] + ); const deployOpts = cache.maybeGet(jobId); const wait = flags['wait']; diff --git a/src/commands/project/deploy/resume.ts b/src/commands/project/deploy/resume.ts index 3dbfe7c0..1324596f 100644 --- a/src/commands/project/deploy/resume.ts +++ b/src/commands/project/deploy/resume.ts @@ -41,13 +41,13 @@ export default class DeployMetadataResume extends SfCommand { length: 'both', description: messages.getMessage('flags.job-id.description'), summary: messages.getMessage('flags.job-id.summary'), - exactlyOne: ['use-most-recent', 'job-id'], + exclusive: ['use-most-recent'], }), 'use-most-recent': Flags.boolean({ char: 'r', description: messages.getMessage('flags.use-most-recent.description'), summary: messages.getMessage('flags.use-most-recent.summary'), - exactlyOne: ['use-most-recent', 'job-id'], + exclusive: ['job-id'], }), verbose: Flags.boolean({ summary: messages.getMessage('flags.verbose.summary'), @@ -81,7 +81,10 @@ export default class DeployMetadataResume extends SfCommand { public async run(): Promise { const [{ flags }, cache] = await Promise.all([this.parse(DeployMetadataResume), DeployCache.create()]); - const jobId = cache.resolveLatest(flags['use-most-recent'], flags['job-id'], true); + const jobId = cache.resolveLatest( + (!flags['use-most-recent'] && !flags['job-id']) || flags['use-most-recent'], + flags['job-id'] + ); // if it was async before, then it should not be async now. const deployOpts = { ...cache.maybeGet(jobId), async: false }; diff --git a/test/commands/deploy/metadata/cancel.nut.ts b/test/commands/deploy/metadata/cancel.nut.ts index 3f7b497f..7e9552e3 100644 --- a/test/commands/deploy/metadata/cancel.nut.ts +++ b/test/commands/deploy/metadata/cancel.nut.ts @@ -65,7 +65,7 @@ describe('deploy metadata cancel NUTs', () => { } }); - it.skip('should cancel most recently started deployment without specifying the flag', () => { + it('should cancel most recently started deployment without specifying the flag', () => { const first = execCmd( 'deploy:metadata --source-dir force-app --async --ignore-conflicts --json', { diff --git a/test/commands/deploy/metadata/quick.nut.ts b/test/commands/deploy/metadata/quick.nut.ts index aa748f04..a64bf140 100644 --- a/test/commands/deploy/metadata/quick.nut.ts +++ b/test/commands/deploy/metadata/quick.nut.ts @@ -48,7 +48,7 @@ describe('deploy metadata quick NUTs', () => { await testkit.expect.filesToBeDeployed(['force-app/**/*'], ['force-app/test/**/*']); }); - it.skip('should deploy previously validated deployment without specifying the flag', async () => { + it('should deploy previously validated deployment without specifying the flag', async () => { const validation = await testkit.execute('project:deploy:validate', { args: '--source-dir force-app', json: true, diff --git a/test/commands/deploy/metadata/report.nut.ts b/test/commands/deploy/metadata/report.nut.ts index a4ce3620..85b5bf60 100644 --- a/test/commands/deploy/metadata/report.nut.ts +++ b/test/commands/deploy/metadata/report.nut.ts @@ -46,6 +46,21 @@ describe('[project deploy report] NUTs with source-dir', () => { assert(isObject(deploy)); await testkit.expect.filesToBeDeployedViaResult(['force-app/**/*'], ['force-app/test/**/*'], deploy.result.files); }); + + it('should report most recently started deployment without flag', async () => { + await testkit.execute('project deploy start', { + args: '--source-dir force-app --async', + json: true, + exitCode: 0, + }); + + const deploy = await testkit.execute('project deploy report', { + json: true, + exitCode: 0, + }); + assert(isObject(deploy)); + await testkit.expect.filesToBeDeployedViaResult(['force-app/**/*'], ['force-app/test/**/*'], deploy.result.files); + }); }); describe('--job-id', () => { diff --git a/test/commands/deploy/metadata/resume.nut.ts b/test/commands/deploy/metadata/resume.nut.ts index 8afa3c6f..9504fee1 100644 --- a/test/commands/deploy/metadata/resume.nut.ts +++ b/test/commands/deploy/metadata/resume.nut.ts @@ -62,6 +62,32 @@ describe('[project deploy resume] NUTs', () => { expect(cacheAfter[first.result.id]).have.property('status'); expect(cacheAfter[first.result.id].status).to.equal(RequestStatus.Succeeded); }); + + it('should resume most recently started deployment without flag', async () => { + const first = await testkit.execute('project deploy start', { + args: '--source-dir force-app --async', + json: true, + exitCode: 0, + }); + assert(first); + assert(first.result.id); + + const cacheBefore = readDeployCache(testkit.projectDir); + expect(cacheBefore).to.have.property(first.result.id); + + const deploy = await testkit.execute('project deploy resume', { + json: true, + exitCode: 0, + }); + assert(deploy); + await testkit.expect.filesToBeDeployedViaResult(['force-app/**/*'], ['force-app/test/**/*'], deploy.result.files); + + const cacheAfter = readDeployCache(testkit.projectDir); + + expect(cacheAfter).to.have.property(first.result.id); + expect(cacheAfter[first.result.id]).have.property('status'); + expect(cacheAfter[first.result.id].status).to.equal(RequestStatus.Succeeded); + }); }); describe('--job-id', () => { diff --git a/yarn.lock b/yarn.lock index f9c38388..41b147d1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1067,21 +1067,21 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3" integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== -"@inquirer/confirm@^3.1.14", "@inquirer/confirm@^3.1.9": - version "3.1.14" - resolved "https://registry.yarnpkg.com/@inquirer/confirm/-/confirm-3.1.14.tgz#b50a156f2cc0a6f874f2d2ab1739e988fbf950f4" - integrity sha512-nbLSX37b2dGPtKWL3rPuR/5hOuD30S+pqJ/MuFiUEgN6GiMs8UMxiurKAMDzKt6C95ltjupa8zH6+3csXNHWpA== +"@inquirer/confirm@^3.1.14", "@inquirer/confirm@^3.1.16", "@inquirer/confirm@^3.1.9": + version "3.1.17" + resolved "https://registry.yarnpkg.com/@inquirer/confirm/-/confirm-3.1.17.tgz#adca3b0f35e2d2ace53f652a92f987aaccb8482a" + integrity sha512-qCpt/AABzPynz8tr69VDvhcjwmzAryipWXtW8Vi6m651da4H/d0Bdn55LkxXD7Rp2gfgxvxzTdb66AhIA8gzBA== dependencies: - "@inquirer/core" "^9.0.2" - "@inquirer/type" "^1.4.0" + "@inquirer/core" "^9.0.5" + "@inquirer/type" "^1.5.1" -"@inquirer/core@^9.0.2", "@inquirer/core@^9.0.4": - version "9.0.4" - resolved "https://registry.yarnpkg.com/@inquirer/core/-/core-9.0.4.tgz#0de0b5aadba012f691d2e0aef5c6ccdf9e9e8992" - integrity sha512-46LaWACIctSfVKTu71ziFlqO8SVLhWGSxvaHpf0frfDTphSSpIfeNo5ZH/kJPHYJw4VgPGf/9c3zJN/FnCdaIQ== +"@inquirer/core@^9.0.2", "@inquirer/core@^9.0.4", "@inquirer/core@^9.0.5": + version "9.0.5" + resolved "https://registry.yarnpkg.com/@inquirer/core/-/core-9.0.5.tgz#b5e14d80e87419231981f48fa86f63d15cb8805b" + integrity sha512-QWG41I7vn62O9stYKg/juKXt1PEbr/4ZZCPb4KgXDQGwgA9M5NBTQ7FnOvT1ridbxkm/wTxLCNraUs7y47pIRQ== dependencies: - "@inquirer/figures" "^1.0.4" - "@inquirer/type" "^1.5.0" + "@inquirer/figures" "^1.0.5" + "@inquirer/type" "^1.5.1" "@types/mute-stream" "^0.0.4" "@types/node" "^20.14.11" "@types/wrap-ansi" "^3.0.0" @@ -1094,10 +1094,10 @@ wrap-ansi "^6.2.0" yoctocolors-cjs "^2.1.2" -"@inquirer/figures@^1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@inquirer/figures/-/figures-1.0.4.tgz#a54dab6e205636a881ece0f1017efff6d6174d6e" - integrity sha512-R7Gsg6elpuqdn55fBH2y9oYzrU/yKrSmIsDX4ROT51vohrECFzTf2zw9BfUbOW8xjfmM2QbVoVYdTwhrtEKWSQ== +"@inquirer/figures@^1.0.4", "@inquirer/figures@^1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@inquirer/figures/-/figures-1.0.5.tgz#57f9a996d64d3e3345d2a3ca04d36912e94f8790" + integrity sha512-79hP/VWdZ2UVc9bFGJnoQ/lQMpL74mGgzSYX1xUqCVk7/v73vJCMw1VuyWN1jGkZ9B3z7THAbySqGbCNefcjfA== "@inquirer/input@^2.2.1": version "2.2.1" @@ -1127,10 +1127,10 @@ ansi-escapes "^4.3.2" yoctocolors-cjs "^2.1.2" -"@inquirer/type@^1.4.0", "@inquirer/type@^1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@inquirer/type/-/type-1.5.0.tgz#0890e6286281b3f118632e6f7c47c0ccb9b29ee3" - integrity sha512-L/UdayX9Z1lLN+itoTKqJ/X4DX5DaWu2Sruwt4XgZzMNv32x4qllbzMX4MbJlz0yxAQtU19UvABGOjmdq1u3qA== +"@inquirer/type@^1.4.0", "@inquirer/type@^1.5.0", "@inquirer/type@^1.5.1": + version "1.5.1" + resolved "https://registry.yarnpkg.com/@inquirer/type/-/type-1.5.1.tgz#cdd36732e38ea5d2b1a4336aada65ebe7d2765e0" + integrity sha512-m3YgGQlKNS0BM+8AFiJkCsTqHEFCWn6s/Rqye3mYwvqY6LdfUv12eSwbsgNzrYyrLXiy7IrrjDLPysaSBwEfhw== dependencies: mute-stream "^1.0.0" @@ -1202,10 +1202,10 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" -"@jsforce/jsforce-node@^3.2.0", "@jsforce/jsforce-node@^3.2.2", "@jsforce/jsforce-node@^3.2.3": - version "3.2.3" - resolved "https://registry.yarnpkg.com/@jsforce/jsforce-node/-/jsforce-node-3.2.3.tgz#9758cfe3ce7a2d884a621b5eb9b69db8eeb79da4" - integrity sha512-kYjWAll0OYdFY3nYmCzvZZgioJqxhKkVp3FbqDnEdwoGTQlBFFInrrEf2PyNKSN2MB6/GxWGyUjtd+7/ttmBwA== +"@jsforce/jsforce-node@^3.2.0", "@jsforce/jsforce-node@^3.2.2", "@jsforce/jsforce-node@^3.2.4": + version "3.3.1" + resolved "https://registry.yarnpkg.com/@jsforce/jsforce-node/-/jsforce-node-3.3.1.tgz#e6a3a6e892a0067e0afbb4f19b50f459efbf96a0" + integrity sha512-wLIQhU3X+ltZFItdQ8XMr2kqB70S2q4ukSELneCDQkDXlzRIqhQ7rZP4jcmcdT0r6Tc/8lvlw2s2paPxossRBA== dependencies: "@sindresorhus/is" "^4" "@types/node" "^18.15.3" @@ -1215,7 +1215,6 @@ csv-stringify "^6.4.4" faye "^1.4.0" form-data "^4.0.0" - fs-extra "^8.1.0" https-proxy-agent "^5.0.0" multistream "^3.1.0" node-fetch "^2.6.1" @@ -1243,13 +1242,13 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@oclif/core@^4", "@oclif/core@^4.0.0-beat.13", "@oclif/core@^4.0.11", "@oclif/core@^4.0.12": - version "4.0.12" - resolved "https://registry.yarnpkg.com/@oclif/core/-/core-4.0.12.tgz#b47089631827e2c909bfffc8c14d7b1781e502ce" - integrity sha512-o2dfPtmi2uBGHgpvHr+GNfoRKysKgQGiffONoMN3R+qBVNeIkJIZhVk31HreDkAI9LAzS92BWNgp/l7lXDxdvg== +"@oclif/core@^4", "@oclif/core@^4.0.0-beat.13", "@oclif/core@^4.0.12", "@oclif/core@^4.0.14": + version "4.0.14" + resolved "https://registry.yarnpkg.com/@oclif/core/-/core-4.0.14.tgz#538000e922bcdcd5e1aad667252ad67131bd9e11" + integrity sha512-oXXlUuDw6gWjIBI+mR5i4/SJRv9fz8N/d1xr1yMhW1incx/u0oYO2CpUNKn0sGDyONMdyOIVPMqgsU+as7jdrQ== dependencies: ansi-escapes "^4.3.2" - ansis "^3.2.1" + ansis "^3.3.1" clean-stack "^3.0.1" cli-spinners "^2.9.2" debug "^4.3.5" @@ -1346,12 +1345,12 @@ strip-ansi "6.0.1" ts-retry-promise "^0.8.1" -"@salesforce/core@^8.0.3", "@salesforce/core@^8.1.0", "@salesforce/core@^8.1.1", "@salesforce/core@^8.1.2", "@salesforce/core@^8.1.3": - version "8.1.3" - resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-8.1.3.tgz#73347ac70ad94c4b5824257472d7c2f4fb17c562" - integrity sha512-Lt+xiD9BJpW7KpLYPnxwuIJAloUmxMn52vxM0eNDPnp8ienuq9Zv0FvH6qI3oEdjqxBlwg9bkOKNVzv6PELpHQ== +"@salesforce/core@^8.0.3", "@salesforce/core@^8.1.0", "@salesforce/core@^8.1.1", "@salesforce/core@^8.2.1", "@salesforce/core@^8.2.3": + version "8.2.3" + resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-8.2.3.tgz#4714e5ca046c6fcdcffb91aad151affa9e7a0e88" + integrity sha512-epkV2ZU+WQFgxb6q98+9vAp9Qo1bUnCOyk1VyVr2XycJk6BkC0fBE188KpvH0/nqB2+0p2K4Cd3x1/+oC7HYvQ== dependencies: - "@jsforce/jsforce-node" "^3.2.3" + "@jsforce/jsforce-node" "^3.2.4" "@salesforce/kit" "^3.1.6" "@salesforce/schemas" "^1.9.0" "@salesforce/ts-types" "^2.0.10" @@ -1428,15 +1427,15 @@ debug "^4.3.4" handlebars "^4.7.8" -"@salesforce/plugin-info@^3.3.19": - version "3.3.19" - resolved "https://registry.yarnpkg.com/@salesforce/plugin-info/-/plugin-info-3.3.19.tgz#5e2e07eed7376569a22a8b1fbcc899ee3c86bc87" - integrity sha512-rycPRjOUB+VqPUbwtNkzGpRCdC2JBdfV7HLcbFB/aIXwL9zBYjt1zBVvOj587lXf3VUwwmgS2x2Xu3YY0f3jpQ== +"@salesforce/plugin-info@^3.3.21": + version "3.3.21" + resolved "https://registry.yarnpkg.com/@salesforce/plugin-info/-/plugin-info-3.3.21.tgz#6dc6d246c37fc3d276806c2d07800a11cc609126" + integrity sha512-XsqbWThMR7wj4265Fu/WWHqrYLKLKX5wYZfVrSkyHGMf8euD2zII9h0KNM2A9/MPdxlao5PvbH/uhyLgOsnjJw== dependencies: "@inquirer/input" "^2.2.1" "@jsforce/jsforce-node" "^3.2.0" "@oclif/core" "^4" - "@salesforce/core" "^8.1.0" + "@salesforce/core" "^8.2.1" "@salesforce/kit" "^3.1.6" "@salesforce/sf-plugins-core" "^11.1.2" got "^13.0.0" @@ -1444,7 +1443,7 @@ marked-terminal "^4.2.0" open "^10.1.0" proxy-agent "^6.4.0" - semver "^7.6.0" + semver "^7.6.3" "@salesforce/prettier-config@^0.0.3": version "0.0.3" @@ -1456,12 +1455,12 @@ resolved "https://registry.yarnpkg.com/@salesforce/schemas/-/schemas-1.9.0.tgz#ba477a112653a20b4edcf989c61c57bdff9aa3ca" integrity sha512-LiN37zG5ODT6z70sL1fxF7BQwtCX9JOWofSU8iliSNIM+WDEeinnoFtVqPInRSNt8I0RiJxIKCrqstsmQRBNvA== -"@salesforce/sf-plugins-core@^11.1.1", "@salesforce/sf-plugins-core@^11.1.2", "@salesforce/sf-plugins-core@^11.1.9": - version "11.1.9" - resolved "https://registry.yarnpkg.com/@salesforce/sf-plugins-core/-/sf-plugins-core-11.1.9.tgz#0cf065e86c9397c3bae2c396e20df31d78a2b89c" - integrity sha512-Uz+H39axao5D9N0oKYqai4wUizl/GaFAzrcHbX7h6sVKzB3BBoVJSQ1IrOe1Pu29AP72QujCU5Huv/BOR/0DZA== +"@salesforce/sf-plugins-core@^11.1.1", "@salesforce/sf-plugins-core@^11.1.2", "@salesforce/sf-plugins-core@^11.2.1": + version "11.2.1" + resolved "https://registry.yarnpkg.com/@salesforce/sf-plugins-core/-/sf-plugins-core-11.2.1.tgz#22ef2bb8f32b8f0a26a72900653b6bb16965c4f4" + integrity sha512-eKZn7RZHislXXfV/LYk1+wxysqIcENLicUHKy58JW0wH5hyZrcdFy1PnXxRSmSPwqFbMkZ+1YJZVWTlartCL2w== dependencies: - "@inquirer/confirm" "^3.1.14" + "@inquirer/confirm" "^3.1.16" "@inquirer/password" "^2.1.14" "@oclif/core" "^4.0.12" "@salesforce/core" "^8.1.1" @@ -1474,12 +1473,12 @@ string-width "^7.2.0" terminal-link "^3.0.0" -"@salesforce/source-deploy-retrieve@^12.1.5", "@salesforce/source-deploy-retrieve@^12.1.6": - version "12.1.6" - resolved "https://registry.yarnpkg.com/@salesforce/source-deploy-retrieve/-/source-deploy-retrieve-12.1.6.tgz#a7e61a8acfc649e674dd6963b93145731856b0c3" - integrity sha512-XUTorbHyBpHy3jrUtmOtT1+gtQ1bWbZdeK1efaDBc0KdQ2eX/SdLAnCg6Nx80O7L1PkLGbmkDW4wU8S+/KFBbQ== +"@salesforce/source-deploy-retrieve@^12.1.5", "@salesforce/source-deploy-retrieve@^12.1.8": + version "12.1.8" + resolved "https://registry.yarnpkg.com/@salesforce/source-deploy-retrieve/-/source-deploy-retrieve-12.1.8.tgz#ad220582ace9142af40aa0b31f623f0c586aae25" + integrity sha512-vso8dQ0Gjh68+EUsr4QLxxQ/L8+GBXdSEUQrYi8vXWqYT6u6Z5AX34OKpMeHsiVCo/Zrw/RkP/sDU64259L+xg== dependencies: - "@salesforce/core" "^8.1.2" + "@salesforce/core" "^8.2.1" "@salesforce/kit" "^3.1.6" "@salesforce/ts-types" "^2.0.10" fast-levenshtein "^3.0.0" @@ -1508,15 +1507,15 @@ shelljs "^0.8.4" sinon "^10.0.0" -"@salesforce/source-tracking@^7.0.9": - version "7.0.9" - resolved "https://registry.yarnpkg.com/@salesforce/source-tracking/-/source-tracking-7.0.9.tgz#d7779a90e65ffb2b13d44fa52deed992f4ff803d" - integrity sha512-1QHXPzZEk/wpBGfUy++3zBcUZ+rW1pNLkiNyfCRzJU1qx7CFn2+oXTsni1q935NmayuMyj4Eu38t/kwAbMX4yA== +"@salesforce/source-tracking@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@salesforce/source-tracking/-/source-tracking-7.1.0.tgz#6deded1e601d3747602a352189db1d02e93f0aab" + integrity sha512-VmHQKgotZfvmZ+5fSclkiSQS9Kya+5YGQ31bLOo1HSzCzFMpW7C7+C1VyJFIUs3w6so/3ftojHWMG+lncKPrgA== dependencies: - "@oclif/core" "^4.0.11" - "@salesforce/core" "^8.1.1" + "@oclif/core" "^4.0.14" + "@salesforce/core" "^8.2.3" "@salesforce/kit" "^3.1.6" - "@salesforce/source-deploy-retrieve" "^12.1.5" + "@salesforce/source-deploy-retrieve" "^12.1.8" "@salesforce/ts-types" "^2.0.10" fast-xml-parser "^4.4.0" graceful-fs "^4.2.11" @@ -4273,7 +4272,7 @@ fs-extra@^11.0.0, fs-extra@^11.2.0: jsonfile "^6.0.1" universalify "^2.0.0" -fs-extra@^8.1, fs-extra@^8.1.0: +fs-extra@^8.1: version "8.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== @@ -6920,10 +6919,10 @@ semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.4, semver@^7.3.5, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.2: - version "7.6.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" - integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== +semver@^7.3.4, semver@^7.3.5, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0, semver@^7.6.2, semver@^7.6.3: + version "7.6.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" + integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== sentence-case@^3.0.4: version "3.0.4"