From ee1bd7e009dc885e4e6d17f99e18bceaa18bcc7d Mon Sep 17 00:00:00 2001 From: svc-cli-bot Date: Thu, 11 Apr 2024 12:55:37 -0500 Subject: [PATCH] feat: core7, jsforce-node note: this still has some old jsforce because of apex-node. * chore: updates from devScripts * test: top-level imports * refactor: type handling for setError when class * test: schemas * fix: preserve error.context --------- Co-authored-by: mshanemc --- package.json | 18 +- schemas/force-source-deploy-cancel.json | 18 +- schemas/force-source-deploy-report.json | 18 +- schemas/force-source-deploy.json | 30 +- schemas/force-source-retrieve.json | 8 +- .../mdapi/mdDeployResultFormatter.ts | 14 +- src/formatters/source/pushResultFormatter.ts | 29 +- test/commands/mdapi/cancel.test.ts | 2 +- test/commands/mdapi/retrieve.test.ts | 2 +- test/commands/mdapi/retrieveReport.test.ts | 2 +- test/commands/source/cancel.test.ts | 2 +- test/commands/source/deploy.test.ts | 2 +- .../source/progressBarFormatter.test.ts | 2 +- test/commands/source/report.test.ts | 2 +- test/commands/source/retrieve.test.ts | 2 +- test/coverageUtils.test.ts | 2 +- test/formatters/deployResultFormatter.test.ts | 2 +- .../mdDeployResultFormatter.test.ts | 2 +- test/formatters/pullFormatter.test.ts | 2 +- test/formatters/pushResultFormatter.test.ts | 6 +- .../retrieveResultFormatter.test.ts | 2 +- test/formatters/statusResultFormatter.test.ts | 2 +- test/nuts/partialBundleDelete.nut.ts | 2 +- yarn.lock | 311 +++++++++++++----- 24 files changed, 312 insertions(+), 170 deletions(-) diff --git a/package.json b/package.json index e0d88e66e..c84a44296 100644 --- a/package.json +++ b/package.json @@ -5,13 +5,13 @@ "author": "Salesforce", "bugs": "https://github.com/forcedotcom/cli/issues", "dependencies": { - "@oclif/core": "^3.25.2", + "@oclif/core": "^3.26.2", "@salesforce/apex-node": "^4.0.2", - "@salesforce/core": "^6.4.4", - "@salesforce/kit": "^3.0.15", - "@salesforce/sf-plugins-core": "^8.0.3", - "@salesforce/source-deploy-retrieve": "^10.5.5", - "@salesforce/source-tracking": "^5.1.11", + "@salesforce/core": "^7.0.1", + "@salesforce/kit": "^3.1.0", + "@salesforce/sf-plugins-core": "^9.0.1", + "@salesforce/source-deploy-retrieve": "^11.0.0", + "@salesforce/source-tracking": "^6.0.0", "@salesforce/ts-types": "^2.0.9", "chalk": "^5.3.0", "got": "^13.0.0", @@ -20,8 +20,8 @@ "devDependencies": { "@oclif/plugin-command-snapshot": "^5.1.4", "@oclif/plugin-help": "^6.0.20", - "@salesforce/cli-plugins-testkit": "^5.1.9", - "@salesforce/dev-scripts": "^8.5.0", + "@salesforce/cli-plugins-testkit": "^5.2.0", + "@salesforce/dev-scripts": "^9.0.0", "@salesforce/plugin-command-reference": "^3.0.70", "@salesforce/source-testkit": "^2.1.109", "@salesforce/ts-sinon": "1.4.19", @@ -29,7 +29,7 @@ "archiver": "^5.3.2", "chai-each": "^0.0.1", "cross-env": "^7.0.3", - "eslint-plugin-sf-plugin": "^1.17.5", + "eslint-plugin-sf-plugin": "^1.18.0", "fast-glob": "^3.3.1", "oclif": "^4.7.6", "ts-node": "^10.9.2", diff --git a/schemas/force-source-deploy-cancel.json b/schemas/force-source-deploy-cancel.json index 71d9ce864..b69e94210 100644 --- a/schemas/force-source-deploy-cancel.json +++ b/schemas/force-source-deploy-cancel.json @@ -7,6 +7,7 @@ }, "MetadataApiDeployStatus": { "type": "object", + "additionalProperties": false, "properties": { "id": { "type": "string" @@ -108,7 +109,6 @@ "status", "success" ], - "additionalProperties": false, "description": "Raw response returned from a checkDeployStatus call to the Metadata API" }, "RequestStatus": { @@ -154,8 +154,7 @@ "type": "object", "properties": { "changed": { - "type": ["string", "boolean"], - "enum": ["true", "false", true, false] + "$ref": "#/definitions/BooleanString" }, "columnNumber": { "type": "string" @@ -164,15 +163,13 @@ "type": "string" }, "created": { - "type": ["string", "boolean"], - "enum": ["true", "false", true, false] + "$ref": "#/definitions/BooleanString" }, "createdDate": { "type": "string" }, "deleted": { - "type": ["string", "boolean"], - "enum": ["true", "false", true, false] + "$ref": "#/definitions/BooleanString" }, "fileName": { "type": "string" @@ -194,13 +191,16 @@ "enum": ["Warning", "Error"] }, "success": { - "type": ["string", "boolean"], - "enum": ["true", "false", true, false] + "$ref": "#/definitions/BooleanString" } }, "required": ["changed", "created", "createdDate", "deleted", "fileName", "fullName", "success"], "additionalProperties": false }, + "BooleanString": { + "type": ["string", "boolean"], + "enum": ["true", "false", true, false] + }, "RunTestResult": { "type": "object", "properties": { diff --git a/schemas/force-source-deploy-report.json b/schemas/force-source-deploy-report.json index 00770864f..925c52914 100644 --- a/schemas/force-source-deploy-report.json +++ b/schemas/force-source-deploy-report.json @@ -7,6 +7,7 @@ }, "MetadataApiDeployStatus": { "type": "object", + "additionalProperties": false, "properties": { "id": { "type": "string" @@ -108,7 +109,6 @@ "status", "success" ], - "additionalProperties": false, "description": "Raw response returned from a checkDeployStatus call to the Metadata API" }, "RequestStatus": { @@ -154,8 +154,7 @@ "type": "object", "properties": { "changed": { - "type": ["string", "boolean"], - "enum": ["true", "false", true, false] + "$ref": "#/definitions/BooleanString" }, "columnNumber": { "type": "string" @@ -164,15 +163,13 @@ "type": "string" }, "created": { - "type": ["string", "boolean"], - "enum": ["true", "false", true, false] + "$ref": "#/definitions/BooleanString" }, "createdDate": { "type": "string" }, "deleted": { - "type": ["string", "boolean"], - "enum": ["true", "false", true, false] + "$ref": "#/definitions/BooleanString" }, "fileName": { "type": "string" @@ -194,13 +191,16 @@ "enum": ["Warning", "Error"] }, "success": { - "type": ["string", "boolean"], - "enum": ["true", "false", true, false] + "$ref": "#/definitions/BooleanString" } }, "required": ["changed", "created", "createdDate", "deleted", "fileName", "fullName", "success"], "additionalProperties": false }, + "BooleanString": { + "type": ["string", "boolean"], + "enum": ["true", "false", true, false] + }, "RunTestResult": { "type": "object", "properties": { diff --git a/schemas/force-source-deploy.json b/schemas/force-source-deploy.json index f565ac158..ef99d4543 100644 --- a/schemas/force-source-deploy.json +++ b/schemas/force-source-deploy.json @@ -208,8 +208,7 @@ "type": "object", "properties": { "changed": { - "type": ["string", "boolean"], - "enum": ["true", "false", true, false] + "$ref": "#/definitions/BooleanString" }, "columnNumber": { "type": "string" @@ -218,15 +217,13 @@ "type": "string" }, "created": { - "type": ["string", "boolean"], - "enum": ["true", "false", true, false] + "$ref": "#/definitions/BooleanString" }, "createdDate": { "type": "string" }, "deleted": { - "type": ["string", "boolean"], - "enum": ["true", "false", true, false] + "$ref": "#/definitions/BooleanString" }, "fileName": { "type": "string" @@ -248,13 +245,16 @@ "enum": ["Warning", "Error"] }, "success": { - "type": ["string", "boolean"], - "enum": ["true", "false", true, false] + "$ref": "#/definitions/BooleanString" } }, "required": ["changed", "created", "createdDate", "deleted", "fileName", "fullName", "success"], "additionalProperties": false }, + "BooleanString": { + "type": ["string", "boolean"], + "enum": ["true", "false", true, false] + }, "RunTestResult": { "type": "object", "properties": { @@ -459,6 +459,7 @@ }, "FileResponseSuccess": { "type": "object", + "additionalProperties": false, "properties": { "fullName": { "type": "string" @@ -474,11 +475,11 @@ "enum": ["Created", "Changed", "Unchanged", "Deleted"] } }, - "required": ["fullName", "state", "type"], - "additionalProperties": false + "required": ["fullName", "state", "type"] }, "FileResponseFailure": { "type": "object", + "additionalProperties": false, "properties": { "fullName": { "type": "string" @@ -507,11 +508,11 @@ "enum": ["Warning", "Error"] } }, - "required": ["error", "fullName", "problemType", "state", "type"], - "additionalProperties": false + "required": ["error", "fullName", "problemType", "state", "type"] }, "MetadataApiDeployStatus": { "type": "object", + "additionalProperties": false, "properties": { "id": { "type": "string" @@ -613,11 +614,11 @@ "status", "success" ], - "additionalProperties": false, "description": "Raw response returned from a checkDeployStatus call to the Metadata API" }, "DeployCommandAsyncResult": { "type": "object", + "additionalProperties": false, "properties": { "done": { "type": "boolean" @@ -649,8 +650,7 @@ } } }, - "required": ["deploys", "done", "id", "outboundFiles", "state", "status", "timedOut"], - "additionalProperties": false + "required": ["deploys", "done", "id", "outboundFiles", "state", "status", "timedOut"] }, "DeployAsyncStatus": { "type": "object", diff --git a/schemas/force-source-retrieve.json b/schemas/force-source-retrieve.json index a534e545f..26e1e2d47 100644 --- a/schemas/force-source-retrieve.json +++ b/schemas/force-source-retrieve.json @@ -42,6 +42,7 @@ }, "FileResponseSuccess": { "type": "object", + "additionalProperties": false, "properties": { "fullName": { "type": "string" @@ -57,11 +58,11 @@ "enum": ["Created", "Changed", "Unchanged", "Deleted"] } }, - "required": ["fullName", "state", "type"], - "additionalProperties": false + "required": ["fullName", "state", "type"] }, "FileResponseFailure": { "type": "object", + "additionalProperties": false, "properties": { "fullName": { "type": "string" @@ -90,8 +91,7 @@ "enum": ["Warning", "Error"] } }, - "required": ["error", "fullName", "problemType", "state", "type"], - "additionalProperties": false + "required": ["error", "fullName", "problemType", "state", "type"] }, "PackageRetrieval": { "type": "object", diff --git a/src/formatters/mdapi/mdDeployResultFormatter.ts b/src/formatters/mdapi/mdDeployResultFormatter.ts index 88eae1920..0f5e5e235 100644 --- a/src/formatters/mdapi/mdDeployResultFormatter.ts +++ b/src/formatters/mdapi/mdDeployResultFormatter.ts @@ -6,7 +6,7 @@ */ import chalk from 'chalk'; -import { getNumber } from '@salesforce/ts-types'; +import { AnyJson, getNumber } from '@salesforce/ts-types'; import { Messages, SfError } from '@salesforce/core'; import { DeployMessage, @@ -103,11 +103,13 @@ export class MdDeployResultFormatter extends ResultFormatter { } // TODO: the toolbelt version of this is returning an SfError shape. This returns a status=1 and the result (mdapi response) but not the error name, etc if (!this.isSuccess()) { - // Add error message directly on the DeployResult (e.g., a GACK) - const errMsg = this.getResponse()?.errorMessage ?? ''; - const error = new SfError(messages.getMessage('deployFailed', [errMsg]), 'mdapiDeployFailed'); - error.setData(this.result); - throw error; + throw SfError.create({ + // Add error message directly on the DeployResult (e.g., a GACK) + message: messages.getMessage('deployFailed', [this.getResponse()?.errorMessage ?? '']), + name: 'mdapiDeployFailed', + // this.result is a Class, so here's the serializable portions of it + data: JSON.parse(JSON.stringify(this.result)) as AnyJson, + }); } } diff --git a/src/formatters/source/pushResultFormatter.ts b/src/formatters/source/pushResultFormatter.ts index eeaa7f9aa..14ad14dfe 100644 --- a/src/formatters/source/pushResultFormatter.ts +++ b/src/formatters/source/pushResultFormatter.ts @@ -55,21 +55,28 @@ export class PushResultFormatter extends ResultFormatter { public getJson(): PushResponse { // throws a particular json structure. if (process.exitCode !== 0) { + const errorData = this.fileResponses.filter((fileResponse) => fileResponse.state === ComponentStatus.Failed); + + const error = SfError.create({ + context: 'Push', + name: 'DeployFailed', + exitCode: process.exitCode, + message: messages.getMessage('sourcepushFailed', ['']), + data: errorData, + }); + // matching toolbelt error json. Does not match the SfError type + // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore - const error: SfError & { - result: FileResponse[]; - commandName: string; - context: string; - partialSuccess: FileResponse[]; - } = new SfError(messages.getMessage('sourcepushFailed', ['']), 'DeployFailed', [], process.exitCode); - const errorData = this.fileResponses.filter((fileResponse) => fileResponse.state === ComponentStatus.Failed); - error.setData(errorData); - error['result'] = errorData; - error['commandName'] = 'Push'; - error['context'] = 'Push'; + error.result = errorData; + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + error.commandName = 'Push'; + // partial success if (process.exitCode === 69) { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore error['partialSuccess'] = this.fileResponses.filter( (fileResponse) => fileResponse.state !== ComponentStatus.Failed ); diff --git a/test/commands/mdapi/cancel.test.ts b/test/commands/mdapi/cancel.test.ts index 84b4797d7..7f75c81dc 100644 --- a/test/commands/mdapi/cancel.test.ts +++ b/test/commands/mdapi/cancel.test.ts @@ -11,7 +11,7 @@ import { expect } from 'chai'; import { spyMethod, stubMethod } from '@salesforce/ts-sinon'; import { ConfigFile } from '@salesforce/core'; import { MetadataApiDeploy } from '@salesforce/source-deploy-retrieve'; -import { MockTestOrgData, TestContext } from '@salesforce/core/lib/testSetup.js'; +import { MockTestOrgData, TestContext } from '@salesforce/core/testSetup'; import { stubSfCommandUx, stubUx } from '@salesforce/sf-plugins-core'; import { Cancel } from '../../../src/commands/force/mdapi/deploy/cancel.js'; import { DeployCancelResultFormatter } from '../../../src/formatters/deployCancelResultFormatter.js'; diff --git a/test/commands/mdapi/retrieve.test.ts b/test/commands/mdapi/retrieve.test.ts index 069929c55..de90f15de 100644 --- a/test/commands/mdapi/retrieve.test.ts +++ b/test/commands/mdapi/retrieve.test.ts @@ -15,7 +15,7 @@ import { Config } from '@oclif/core'; import { ComponentSetBuilder, ComponentSetOptions, RetrieveOptions } from '@salesforce/source-deploy-retrieve'; import { Duration } from '@salesforce/kit'; import { SfCommand, Ux } from '@salesforce/sf-plugins-core'; -import { MockTestOrgData, TestContext } from '@salesforce/core/lib/testSetup.js'; +import { MockTestOrgData, TestContext } from '@salesforce/core/testSetup'; import { Retrieve } from '../../../src/commands/force/mdapi/retrieve.js'; import { Stash, StashData } from '../../../src/stash.js'; import { getRetrieveResult } from '../source/retrieveResponses.js'; diff --git a/test/commands/mdapi/retrieveReport.test.ts b/test/commands/mdapi/retrieveReport.test.ts index 4527fdf51..e128016af 100644 --- a/test/commands/mdapi/retrieveReport.test.ts +++ b/test/commands/mdapi/retrieveReport.test.ts @@ -14,7 +14,7 @@ import { Config } from '@oclif/core'; import { MetadataApiRetrieve } from '@salesforce/source-deploy-retrieve'; import { SfCommand, Ux } from '@salesforce/sf-plugins-core'; -import { MockTestOrgData, TestContext } from '@salesforce/core/lib/testSetup.js'; +import { MockTestOrgData, TestContext } from '@salesforce/core/testSetup'; import { Report } from '../../../src/commands/force/mdapi/retrieve/report.js'; import { Stash } from '../../../src/stash.js'; diff --git a/test/commands/source/cancel.test.ts b/test/commands/source/cancel.test.ts index 11bd79756..d0fa3395c 100644 --- a/test/commands/source/cancel.test.ts +++ b/test/commands/source/cancel.test.ts @@ -12,7 +12,7 @@ import { fromStub, spyMethod, stubInterface, stubMethod } from '@salesforce/ts-s import { ConfigFile, SfProject } from '@salesforce/core'; import { Config } from '@oclif/core'; import { MetadataApiDeploy } from '@salesforce/source-deploy-retrieve'; -import { MockTestOrgData, TestContext } from '@salesforce/core/lib/testSetup.js'; +import { MockTestOrgData, TestContext } from '@salesforce/core/testSetup'; import { Ux } from '@salesforce/sf-plugins-core'; import { Cancel } from '../../../src/commands/force/source/deploy/cancel.js'; diff --git a/test/commands/source/deploy.test.ts b/test/commands/source/deploy.test.ts index 563e23287..22b15fa85 100644 --- a/test/commands/source/deploy.test.ts +++ b/test/commands/source/deploy.test.ts @@ -15,7 +15,7 @@ import { AnyJson } from '@salesforce/ts-types'; import { ConfigAggregator, Lifecycle, Messages, SfProject } from '@salesforce/core'; import { Config } from '@oclif/core'; import { SfCommand } from '@salesforce/sf-plugins-core'; -import { MockTestOrgData, TestContext } from '@salesforce/core/lib/testSetup.js'; +import { MockTestOrgData, TestContext } from '@salesforce/core/testSetup'; import { Deploy } from '../../../src/commands/force/source/deploy.js'; import { DeployCommandResult, DeployResultFormatter } from '../../../src/formatters/deployResultFormatter.js'; import { diff --git a/test/commands/source/progressBarFormatter.test.ts b/test/commands/source/progressBarFormatter.test.ts index 341e4f78b..f643695d1 100644 --- a/test/commands/source/progressBarFormatter.test.ts +++ b/test/commands/source/progressBarFormatter.test.ts @@ -9,7 +9,7 @@ import { MetadataApiDeploy } from '@salesforce/source-deploy-retrieve'; import { spyMethod } from '@salesforce/ts-sinon'; import { assert, expect } from 'chai'; import { Ux } from '@salesforce/sf-plugins-core'; -import { TestContext } from '@salesforce/core/lib/testSetup.js'; +import { TestContext } from '@salesforce/core/testSetup'; import { DeployProgressBarFormatter } from '../../../src/formatters/deployProgressBarFormatter.js'; import { ProgressBar } from '../../../src/types.js'; diff --git a/test/commands/source/report.test.ts b/test/commands/source/report.test.ts index 2751d4ed2..5c1172a13 100644 --- a/test/commands/source/report.test.ts +++ b/test/commands/source/report.test.ts @@ -14,7 +14,7 @@ import { Config } from '@oclif/core'; import { MetadataApiDeploy, MetadataApiDeployStatus } from '@salesforce/source-deploy-retrieve'; import { Ux } from '@salesforce/sf-plugins-core'; -import { MockTestOrgData, TestContext } from '@salesforce/core/lib/testSetup.js'; +import { MockTestOrgData, TestContext } from '@salesforce/core/testSetup'; import { Report } from '../../../src/commands/force/source/deploy/report.js'; import { DeployReportResultFormatter } from '../../../src/formatters/deployReportResultFormatter.js'; import { DeployCommandResult } from '../../../src/formatters/deployResultFormatter.js'; diff --git a/test/commands/source/retrieve.test.ts b/test/commands/source/retrieve.test.ts index 3013ffa64..d1d31b820 100644 --- a/test/commands/source/retrieve.test.ts +++ b/test/commands/source/retrieve.test.ts @@ -21,7 +21,7 @@ import { import { Lifecycle, Messages, SfProject } from '@salesforce/core'; import { stubMethod } from '@salesforce/ts-sinon'; import { stubSfCommandUx, stubSpinner, stubUx } from '@salesforce/sf-plugins-core'; -import { MockTestOrgData, TestContext } from '@salesforce/core/lib/testSetup.js'; +import { MockTestOrgData, TestContext } from '@salesforce/core/testSetup'; import { Retrieve } from '../../../src/commands/force/source/retrieve.js'; diff --git a/test/coverageUtils.test.ts b/test/coverageUtils.test.ts index 71f7877a7..60ab6bd95 100644 --- a/test/coverageUtils.test.ts +++ b/test/coverageUtils.test.ts @@ -5,7 +5,7 @@ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ import { expect } from 'chai'; -import { MockTestOrgData, TestContext } from '@salesforce/core/lib/testSetup.js'; +import { MockTestOrgData, TestContext } from '@salesforce/core/testSetup'; import { AuthInfo, Connection } from '@salesforce/core'; import sinon from 'sinon'; import chalk from 'chalk'; diff --git a/test/formatters/deployResultFormatter.test.ts b/test/formatters/deployResultFormatter.test.ts index 6e28e8266..52117be18 100644 --- a/test/formatters/deployResultFormatter.test.ts +++ b/test/formatters/deployResultFormatter.test.ts @@ -11,7 +11,7 @@ import { expect } from 'chai'; import { DeployResult, FileResponse } from '@salesforce/source-deploy-retrieve'; import { stubInterface } from '@salesforce/ts-sinon'; import { Ux } from '@salesforce/sf-plugins-core'; -import { TestContext } from '@salesforce/core/lib/testSetup.js'; +import { TestContext } from '@salesforce/core/testSetup'; import { getDeployResult } from '../commands/source/deployResponses.js'; import { DeployCommandResult, DeployResultFormatter } from '../../src/formatters/deployResultFormatter.js'; diff --git a/test/formatters/mdDeployResultFormatter.test.ts b/test/formatters/mdDeployResultFormatter.test.ts index 73791885a..64f5e8adf 100644 --- a/test/formatters/mdDeployResultFormatter.test.ts +++ b/test/formatters/mdDeployResultFormatter.test.ts @@ -8,7 +8,7 @@ import sinon from 'sinon'; import { expect } from 'chai'; import { stubInterface } from '@salesforce/ts-sinon'; import { Ux } from '@salesforce/sf-plugins-core'; -import { TestContext } from '@salesforce/core/lib/testSetup.js'; +import { TestContext } from '@salesforce/core/testSetup'; import { getDeployResult } from '../commands/source/deployResponses.js'; import { MdDeployResultFormatter } from '../../src/formatters/mdapi/mdDeployResultFormatter.js'; diff --git a/test/formatters/pullFormatter.test.ts b/test/formatters/pullFormatter.test.ts index 92ac545d1..98180d1b8 100644 --- a/test/formatters/pullFormatter.test.ts +++ b/test/formatters/pullFormatter.test.ts @@ -12,7 +12,7 @@ import { FileResponse } from '@salesforce/source-deploy-retrieve'; import { stubInterface } from '@salesforce/ts-sinon'; import { ensureArray } from '@salesforce/kit'; import { Ux } from '@salesforce/sf-plugins-core'; -import { TestContext } from '@salesforce/core/lib/testSetup.js'; +import { TestContext } from '@salesforce/core/testSetup'; import { getRetrieveResult } from '../commands/source/retrieveResponses.js'; import { PullResponse, PullResultFormatter } from '../../src/formatters/source/pullFormatter.js'; diff --git a/test/formatters/pushResultFormatter.test.ts b/test/formatters/pushResultFormatter.test.ts index 70efe679e..4893b9e70 100644 --- a/test/formatters/pushResultFormatter.test.ts +++ b/test/formatters/pushResultFormatter.test.ts @@ -9,7 +9,7 @@ import sinon from 'sinon'; import { stubInterface } from '@salesforce/ts-sinon'; import { DeployResult } from '@salesforce/source-deploy-retrieve'; import { Ux } from '@salesforce/sf-plugins-core'; -import { TestContext } from '@salesforce/core/lib/testSetup.js'; +import { TestContext } from '@salesforce/core/testSetup'; import { getDeployResult } from '../commands/source/deployResponses.js'; import { PushResultFormatter, mergeReplacements } from '../../src/formatters/source/pushResultFormatter.js'; @@ -65,7 +65,7 @@ describe('PushResultFormatter', () => { }, ]); }); - it('returns expected json for success with replaements', () => { + it('returns expected json for success with replacements', () => { process.exitCode = 0; const formatter = new PushResultFormatter(uxMock, {}, deployResultSuccessWithReplacements); const result = formatter.getJson(); @@ -92,7 +92,7 @@ describe('PushResultFormatter', () => { expect(error).to.have.property('message', 'Push failed. '); expect(error).to.have.property('name', 'DeployFailed'); expect(error).to.have.property('stack').includes('DeployFailed:'); - expect(error).to.have.property('actions').deep.equal([]); + expect(error).to.have.property('actions').to.be.undefined; expect(error).to.have.property('data').deep.equal([expectedFail]); expect(error).to.have.property('result').deep.equal([expectedFail]); expect(error).to.have.property('context', 'Push'); diff --git a/test/formatters/retrieveResultFormatter.test.ts b/test/formatters/retrieveResultFormatter.test.ts index b21595cf6..ff858b964 100644 --- a/test/formatters/retrieveResultFormatter.test.ts +++ b/test/formatters/retrieveResultFormatter.test.ts @@ -12,7 +12,7 @@ import { FileResponse } from '@salesforce/source-deploy-retrieve'; import { ensureArray } from '@salesforce/kit'; import { stubInterface } from '@salesforce/ts-sinon'; import { Ux } from '@salesforce/sf-plugins-core'; -import { TestContext } from '@salesforce/core/lib/testSetup.js'; +import { TestContext } from '@salesforce/core/testSetup'; import { getRetrieveResult } from '../commands/source/retrieveResponses.js'; import { RetrieveCommandResult, RetrieveResultFormatter } from '../../src/formatters/retrieveResultFormatter.js'; diff --git a/test/formatters/statusResultFormatter.test.ts b/test/formatters/statusResultFormatter.test.ts index 16ee6ed26..811cbc22a 100644 --- a/test/formatters/statusResultFormatter.test.ts +++ b/test/formatters/statusResultFormatter.test.ts @@ -8,7 +8,7 @@ import { stubInterface } from '@salesforce/ts-sinon'; import { expect } from 'chai'; import sinon from 'sinon'; import { Ux } from '@salesforce/sf-plugins-core'; -import { TestContext } from '@salesforce/core/lib/testSetup.js'; +import { TestContext } from '@salesforce/core/testSetup'; import { StatusFormatter, StatusResult } from '../../src/formatters/source/statusFormatter.js'; const fakeResult: StatusResult[] = [ diff --git a/test/nuts/partialBundleDelete.nut.ts b/test/nuts/partialBundleDelete.nut.ts index 14a18235b..896936b4c 100644 --- a/test/nuts/partialBundleDelete.nut.ts +++ b/test/nuts/partialBundleDelete.nut.ts @@ -17,7 +17,7 @@ import { MetadataApiRetrieve, RetrieveSetOptions, } from '@salesforce/source-deploy-retrieve'; -import { TestContext } from '@salesforce/core/lib/testSetup.js'; +import { TestContext } from '@salesforce/core/testSetup'; import { RetrieveCommandResult } from '../../src/formatters/retrieveResultFormatter.js'; import { Retrieve } from '../../src/commands/force/source/retrieve.js'; diff --git a/yarn.lock b/yarn.lock index cb76b36d4..6a33a29e9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1251,6 +1251,26 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" +"@jsforce/jsforce-node@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@jsforce/jsforce-node/-/jsforce-node-3.1.0.tgz#7f1b4ba60c0c84b870af8e43d713907b10ed8152" + integrity sha512-xsn6Qj36YyhG7uCL9DOswZhqN/OVIpXm5s8AWD7V9hSJfp5ReebEsjT7a52ztEMmkUAYjWvZC5alBJr7jJCJig== + dependencies: + "@sindresorhus/is" "^4" + "@types/node" "^18.15.3" + abort-controller "^3.0.0" + base64url "^3.0.1" + csv-parse "^5.5.2" + 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" + strip-ansi "^6.0.0" + xml2js "^0.6.2" + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -1272,7 +1292,7 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@oclif/core@3.26.0", "@oclif/core@^3.15.1", "@oclif/core@^3.18.2", "@oclif/core@^3.20.0", "@oclif/core@^3.25.2", "@oclif/core@^3.26.0": +"@oclif/core@3.26.0": version "3.26.0" resolved "https://registry.yarnpkg.com/@oclif/core/-/core-3.26.0.tgz#959d5e9f13f4ad6a4e98235ad125189df9ee4279" integrity sha512-TpMdfD4tfA2tVVbd4l0PrP02o5KoUXYmudBbTC7CeguDo/GLoprw4uL8cMsaVA26+cbcy7WYtOEydQiHVtJixA== @@ -1306,6 +1326,40 @@ wordwrap "^1.0.0" wrap-ansi "^7.0.0" +"@oclif/core@^3.15.1", "@oclif/core@^3.20.0", "@oclif/core@^3.26.0", "@oclif/core@^3.26.2": + version "3.26.2" + resolved "https://registry.yarnpkg.com/@oclif/core/-/core-3.26.2.tgz#92a92516e1309e5b1241c1b4932ab1d2546e294a" + integrity sha512-Gpn21jKjcOx0TecI1wLJrY/65jtgJx5f1GzTc81oKvEpKes1b3Li2SMZygRaWRpcQ3wjN0d7lTPi8WwLsmTBjA== + dependencies: + "@types/cli-progress" "^3.11.5" + ansi-escapes "^4.3.2" + ansi-styles "^4.3.0" + cardinal "^2.1.1" + chalk "^4.1.2" + clean-stack "^3.0.1" + cli-progress "^3.12.0" + color "^4.2.3" + debug "^4.3.4" + ejs "^3.1.9" + get-package-type "^0.1.0" + globby "^11.1.0" + hyperlinker "^1.0.0" + indent-string "^4.0.0" + is-wsl "^2.2.0" + js-yaml "^3.14.1" + minimatch "^9.0.4" + natural-orderby "^2.0.3" + object-treeify "^1.1.33" + password-prompt "^1.1.3" + slice-ansi "^4.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + supports-color "^8.1.1" + supports-hyperlinks "^2.2.0" + widest-line "^3.1.0" + wordwrap "^1.0.0" + wrap-ansi "^7.0.0" + "@oclif/plugin-command-snapshot@^5.1.4": version "5.1.4" resolved "https://registry.yarnpkg.com/@oclif/plugin-command-snapshot/-/plugin-command-snapshot-5.1.4.tgz#fc550f0ba66f41620734fb675e12070f943f4b2a" @@ -1370,22 +1424,23 @@ istanbul-reports "^3.1.6" jsforce "^2.0.0-beta.29" -"@salesforce/cli-plugins-testkit@^5.1.11", "@salesforce/cli-plugins-testkit@^5.1.9": - version "5.1.12" - resolved "https://registry.yarnpkg.com/@salesforce/cli-plugins-testkit/-/cli-plugins-testkit-5.1.12.tgz#b453a7b99940d6f5c9e64d7432b60b44b682747b" - integrity sha512-dICcYW2dejeOtA8fMYCyTCl/PXfYLoNlVPL18ATpR3pEDUjlyI1JWY0GE8chhqCsr0TgDBkkd/MKuUiTSsGebQ== +"@salesforce/cli-plugins-testkit@^5.1.11", "@salesforce/cli-plugins-testkit@^5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@salesforce/cli-plugins-testkit/-/cli-plugins-testkit-5.2.0.tgz#dd664a9a51eac42f9959e0cfa1d3349256446291" + integrity sha512-b0lHGBycDBmeGcDx0j9SfxlNyCg3WhflNeX1PBitMTxgZ5O9UMiSFvLbqgGeTB8Eoq4JgNgou6RRrNoZHFnqcw== dependencies: - "@salesforce/core" "^6.7.3" - "@salesforce/kit" "^3.0.15" + "@salesforce/core" "^7.0.0" + "@salesforce/kit" "^3.1.0" "@salesforce/ts-types" "^2.0.9" "@types/shelljs" "^0.8.15" debug "^4.3.1" jszip "^3.10.1" shelljs "^0.8.4" + sinon "^17.0.1" strip-ansi "6.0.1" ts-retry-promise "^0.8.0" -"@salesforce/core@^6.4.1", "@salesforce/core@^6.4.4", "@salesforce/core@^6.5.1", "@salesforce/core@^6.5.3", "@salesforce/core@^6.7.0", "@salesforce/core@^6.7.3": +"@salesforce/core@^6.4.1", "@salesforce/core@^6.5.1", "@salesforce/core@^6.5.3", "@salesforce/core@^6.7.0", "@salesforce/core@^6.7.3": version "6.7.3" resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-6.7.3.tgz#5d8f30c40ac3cebb898c8e845fe9a067bc729268" integrity sha512-uU+PuZZGXxByhvnXLH1V3eY5P1caw401dIZ/QvhzYxoP/alPLk7dpChnZNJYH5Rw3dc/AhSPw+eg0cvUyjhP1Q== @@ -1409,15 +1464,38 @@ semver "^7.6.0" ts-retry-promise "^0.7.1" +"@salesforce/core@^7.0.0", "@salesforce/core@^7.0.1": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-7.1.0.tgz#60195ab0ad452b27594a0bca6852f1820915ff7f" + integrity sha512-TfGBjH7tJIgnrKxbbRvh4ujn60gPjqcr2xZBHMffjZVtfvXPoT07kd0TILyDWLFslYMJQFq3KA0GwL51g01WNQ== + dependencies: + "@jsforce/jsforce-node" "^3.1.0" + "@salesforce/kit" "^3.1.0" + "@salesforce/schemas" "^1.7.0" + "@salesforce/ts-types" "^2.0.9" + ajv "^8.12.0" + change-case "^4.1.2" + faye "^1.4.0" + form-data "^4.0.0" + js2xmlparser "^4.0.1" + jsonwebtoken "9.0.2" + jszip "3.10.1" + pino "^8.19.0" + pino-abstract-transport "^1.1.0" + pino-pretty "^10.3.1" + proper-lockfile "^4.1.2" + semver "^7.6.0" + ts-retry-promise "^0.7.1" + "@salesforce/dev-config@^4.1.0": version "4.1.0" resolved "https://registry.yarnpkg.com/@salesforce/dev-config/-/dev-config-4.1.0.tgz#e529576466d074e7a5f1441236510fef123da01e" integrity sha512-2iDDepiIwjXHS5IVY7pwv8jMo4xWosJ7p/UTj+lllpB/gnJiYLhjJPE4Z3FCGFKyvfg5jGaimCd8Ca6bLGsCQA== -"@salesforce/dev-scripts@^8.5.0": - version "8.5.0" - resolved "https://registry.yarnpkg.com/@salesforce/dev-scripts/-/dev-scripts-8.5.0.tgz#b0b44ca595450328c6186968528d9c0ef06cd27e" - integrity sha512-vR+CB5VoQrNAqNTcu5GZ/l4I4Rxd5HkIj/qTxEzP1EYnIlgjrbcsQgaunSnTrttIEy/BD8epd6UWAT8yAItufg== +"@salesforce/dev-scripts@^9.0.0": + version "9.0.0" + resolved "https://registry.yarnpkg.com/@salesforce/dev-scripts/-/dev-scripts-9.0.0.tgz#ab38c014ebc8baa92fccbb5cff9b8432e0f991d1" + integrity sha512-B89ipgncuhHLqLlr+LGSi7HN+eHPa3aw5B6PXQWqQj73QAkGN+E6EowwA50y7GkXeNx7GntbNRtQHvwMcnIorw== dependencies: "@commitlint/cli" "^17.1.2" "@commitlint/config-conventional" "^17.8.1" @@ -1473,10 +1551,10 @@ resolved "https://registry.yarnpkg.com/@salesforce/prettier-config/-/prettier-config-0.0.3.tgz#ba648d4886bb38adabe073dbea0b3a91b3753bb0" integrity sha512-hYOhoPTCSYMDYn+U1rlEk16PoBeAJPkrdg4/UtAzupM1mRRJOwEPMG1d7U8DxJFKuXW3DMEYWr2MwAIBDaHmFg== -"@salesforce/schemas@^1.6.1": - version "1.6.1" - resolved "https://registry.yarnpkg.com/@salesforce/schemas/-/schemas-1.6.1.tgz#7d1c071e1e509ca9d2d8a6e48ac7447dd67a534d" - integrity sha512-eVy947ZMxCJReKJdgfddUIsBIbPTa/i8RwQGwxq4/ss38H5sLOAeSTaun9V7HpJ1hkpDznWKfgzYvjsst9K6ig== +"@salesforce/schemas@^1.6.1", "@salesforce/schemas@^1.7.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@salesforce/schemas/-/schemas-1.7.0.tgz#b7e0af3ee414ae7160bce351c0184d77ccb98fe3" + integrity sha512-Z0PiCEV55khm0PG+DsnRYCjaDmacNe3HDmsoSm/CSyYvJJm+D5vvkHKN9/PKD/gaRe8XAU836yfamIYFblLINw== "@salesforce/sf-plugins-core@^5.0.13": version "5.0.13" @@ -1491,20 +1569,20 @@ chalk "^4" inquirer "^8.2.5" -"@salesforce/sf-plugins-core@^8.0.3": - version "8.0.3" - resolved "https://registry.yarnpkg.com/@salesforce/sf-plugins-core/-/sf-plugins-core-8.0.3.tgz#df8840419031b8d3ec2db171246757a9bfb38655" - integrity sha512-RJIi0lbpOg6ZflRDCTi/8E3QBhOHfvA5F3xlvThuQo9Yw2SvOjti+s/+Z2RCpvWdy4aaleeGqqgn7AwDi/ISDQ== +"@salesforce/sf-plugins-core@^9.0.1": + version "9.0.1" + resolved "https://registry.yarnpkg.com/@salesforce/sf-plugins-core/-/sf-plugins-core-9.0.1.tgz#e5617661de7c235b734f0faac679ac489053e4fb" + integrity sha512-5+qoCCDpQAdKE74qmL85Jhb0QDkzy/3MsmpzHSQf3ONi+V5vbwJK0BPc+9cOHShYzf8K0gIDdhbcjLuR3TTP/A== dependencies: "@inquirer/confirm" "^2.0.17" "@inquirer/password" "^1.1.16" "@oclif/core" "^3.26.0" - "@salesforce/core" "^6.7.3" + "@salesforce/core" "^7.0.0" "@salesforce/kit" "^3.1.0" "@salesforce/ts-types" "^2.0.9" chalk "^5.3.0" -"@salesforce/source-deploy-retrieve@^10.3.1", "@salesforce/source-deploy-retrieve@^10.5.5": +"@salesforce/source-deploy-retrieve@^10.5.5": version "10.5.5" resolved "https://registry.yarnpkg.com/@salesforce/source-deploy-retrieve/-/source-deploy-retrieve-10.5.5.tgz#c2680de777e4b392a5f02631ca1cd385cad72c93" integrity sha512-o+c/qD9QojXIPMOuteUSdrbx/GI9HS0jFv49NcVrZX1Rzm/ZUk5JHkLzJtiUVQOEnBg4VVnFh2rBarPh0x6dWg== @@ -1523,6 +1601,25 @@ proxy-agent "^6.4.0" ts-retry-promise "^0.7.1" +"@salesforce/source-deploy-retrieve@^11.0.0": + version "11.0.0" + resolved "https://registry.yarnpkg.com/@salesforce/source-deploy-retrieve/-/source-deploy-retrieve-11.0.0.tgz#13752319de7604e01710994e3f44bad353c5d1e8" + integrity sha512-hPgmpke2FGVtxsf51CdMpRdqIDQff2sGoqCwq79WncXRw3FPkTR3/SoaURSNxn++erFDSmODlYz0FZpthQ28xw== + dependencies: + "@salesforce/core" "^7.0.0" + "@salesforce/kit" "^3.1.0" + "@salesforce/ts-types" "^2.0.9" + fast-levenshtein "^3.0.0" + fast-xml-parser "^4.3.6" + got "^11.8.6" + graceful-fs "^4.2.11" + ignore "^5.3.1" + jszip "^3.10.1" + mime "2.6.0" + minimatch "^5.1.6" + proxy-agent "^6.4.0" + ts-retry-promise "^0.7.1" + "@salesforce/source-testkit@^2.1.109": version "2.1.109" resolved "https://registry.yarnpkg.com/@salesforce/source-testkit/-/source-testkit-2.1.109.tgz#f4fe45af7db267676db1091150df9a1e2d06299e" @@ -1539,17 +1636,17 @@ shelljs "^0.8.4" sinon "^10.0.0" -"@salesforce/source-tracking@^5.1.11": - version "5.1.11" - resolved "https://registry.yarnpkg.com/@salesforce/source-tracking/-/source-tracking-5.1.11.tgz#dcb143e975043b6212ef84eb5713caa33e866379" - integrity sha512-hT+gtdiCaHPG4Pl/z+3vv1S8xOVZXP3YOetUaeewyARraII2lMyf9PDb5dIZH17C+ZDucFmJdO1zTEpBPzZjGQ== +"@salesforce/source-tracking@^6.0.0": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@salesforce/source-tracking/-/source-tracking-6.0.0.tgz#21c3e89f09cada73e32e510c12bd5b8fabb97167" + integrity sha512-jBs/R4B4EL27qSaS3464lrf/GQdViXkKlRwl5yCISAZmfMinTYwxlU6ibt/f+ryRBu/S4XxoiqSY6hVJdGgzUA== dependencies: - "@oclif/core" "^3.18.2" - "@salesforce/core" "^6.5.1" - "@salesforce/kit" "^3.0.15" - "@salesforce/source-deploy-retrieve" "^10.3.1" + "@oclif/core" "^3.26.0" + "@salesforce/core" "^7.0.0" + "@salesforce/kit" "^3.1.0" + "@salesforce/source-deploy-retrieve" "^11.0.0" "@salesforce/ts-types" "^2.0.9" - fast-xml-parser "^4.2.5" + fast-xml-parser "^4.3.6" graceful-fs "^4.2.11" isomorphic-git "1.23.0" ts-retry-promise "^0.8.0" @@ -1570,7 +1667,7 @@ dependencies: tslib "^2.6.2" -"@sindresorhus/is@^4.0.0": +"@sindresorhus/is@^4", "@sindresorhus/is@^4.0.0": version "4.6.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== @@ -1606,10 +1703,10 @@ dependencies: type-detect "4.0.8" -"@sinonjs/fake-timers@^10.0.2": - version "10.3.0" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66" - integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== +"@sinonjs/fake-timers@^11.2.2": + version "11.2.2" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz#50063cc3574f4a27bd8453180a04171c85cc9699" + integrity sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw== dependencies: "@sinonjs/commons" "^3.0.0" @@ -1669,7 +1766,16 @@ lodash.get "^4.4.2" type-detect "^4.0.8" -"@sinonjs/text-encoding@^0.7.1": +"@sinonjs/samsam@^8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-8.0.0.tgz#0d488c91efb3fa1442e26abea81759dfc8b5ac60" + integrity sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew== + dependencies: + "@sinonjs/commons" "^2.0.0" + lodash.get "^4.4.2" + type-detect "^4.0.8" + +"@sinonjs/text-encoding@^0.7.1", "@sinonjs/text-encoding@^0.7.2": version "0.7.2" resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.2.tgz#5981a8db18b56ba38ef0efb7d995b12aa7b51918" integrity sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ== @@ -2314,10 +2420,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== -"@types/node@^18.19.28": - version "18.19.29" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.29.tgz#e7e9d796c1e195be7e7daf82b4abc50d017fb9db" - integrity sha512-5pAX7ggTmWZdhUrhRWLPf+5oM7F80bcKVCBbr0zwEkTNzTJL2CWQjznpFgHYy6GrzkYi2Yjy7DHKoynFxqPV8g== +"@types/node@^18.15.3", "@types/node@^18.19.28": + version "18.19.31" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.31.tgz#b7d4a00f7cb826b60a543cebdbda5d189aaecdcd" + integrity sha512-ArgCD39YpyyrtFKIqMDvjz79jto5fcI/SVUs2HwB+f0dAzq68yqOdyaSivLiLugSziTpNXLQrVb7RZFmdZzbhA== dependencies: undici-types "~5.26.4" @@ -3451,11 +3557,21 @@ csv-parse@^4.8.2: resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-4.16.3.tgz#7ca624d517212ebc520a36873c3478fa66efbaf7" integrity sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg== +csv-parse@^5.5.2: + version "5.5.5" + resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-5.5.5.tgz#68a271a9092877b830541805e14c8a80e6a22517" + integrity sha512-erCk7tyU3yLWAhk6wvKxnyPtftuy/6Ak622gOO7BCJ05+TYffnPCJF905wmOQm+BpkX54OdAl8pveJwUdpnCXQ== + csv-stringify@^5.3.4: version "5.6.5" resolved "https://registry.yarnpkg.com/csv-stringify/-/csv-stringify-5.6.5.tgz#c6d74badda4b49a79bf4e72f91cce1e33b94de00" integrity sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A== +csv-stringify@^6.4.4: + version "6.4.6" + resolved "https://registry.yarnpkg.com/csv-stringify/-/csv-stringify-6.4.6.tgz#9ccf87cb8b017c96673a9fa061768c8ba83e8b98" + integrity sha512-h2V2XZ3uOTLilF5dPIptgUfN/o2ia/80Ie0Lly18LAnw5s8Eb7kt8rfxSUy24AztJZas9f6DPZpVlzDUtFt/ag== + dargs@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/dargs/-/dargs-7.0.0.tgz#04015c41de0bcb69ec84050f3d9be0caf8d6d5cc" @@ -3603,6 +3719,11 @@ diff@^4.0.1, diff@^4.0.2: resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== +diff@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531" + integrity sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A== + dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" @@ -3918,12 +4039,12 @@ eslint-plugin-jsdoc@^46.10.1: semver "^7.5.4" spdx-expression-parse "^4.0.0" -eslint-plugin-sf-plugin@^1.17.5: - version "1.17.5" - resolved "https://registry.yarnpkg.com/eslint-plugin-sf-plugin/-/eslint-plugin-sf-plugin-1.17.5.tgz#3ce0e7033eaf50675c962e7d2def3bb2cad15018" - integrity sha512-TQlUNOwop8aGeIOY+Vtj3OV0EGN7ps2YpV9LEvgGpw7Eeg5ocULQqR6WPwuRpeRn+XUNl7AC5NVDdhveA1fEEQ== +eslint-plugin-sf-plugin@^1.18.0: + version "1.18.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-sf-plugin/-/eslint-plugin-sf-plugin-1.18.0.tgz#c6eca90e7738e9a114d8257588220c63a2a3e0e3" + integrity sha512-5Q4yI6Hr07v/lTaivs8A8re2FUXDEGyzzHzBk2cWi4c6iMxUYf/vaZKO6ZSSsc4eCcP11JY3RkDBQn6P33x58g== dependencies: - "@salesforce/core" "^6.7.3" + "@salesforce/core" "^7.0.0" "@typescript-eslint/utils" "^6.17.0" eslint-plugin-unicorn@^50.0.1: @@ -4152,10 +4273,10 @@ fast-xml-parser@4.2.5: dependencies: strnum "^1.0.5" -fast-xml-parser@^4.2.5, fast-xml-parser@^4.3.5: - version "4.3.5" - resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.3.5.tgz#e2f2a2ae8377e9c3dc321b151e58f420ca7e5ccc" - integrity sha512-sWvP1Pl8H03B8oFJpFR3HE31HUfwtX7Rlf9BNsvdpujD4n7WMhfmu8h9wOV2u+c1k0ZilTADhPqypzx2J690ZQ== +fast-xml-parser@^4.3.5, fast-xml-parser@^4.3.6: + version "4.3.6" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.3.6.tgz#190f9d99097f0c8f2d3a0e681a10404afca052ff" + integrity sha512-M2SovcRxD4+vC493Uc2GZVcZaj66CCJhWurC4viynVSTvrpErCShNcDz1lAho6n9REQKvL/ll4A4/fw6Y9z8nw== dependencies: strnum "^1.0.5" @@ -5456,6 +5577,11 @@ just-extend@^4.0.2: resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-4.2.1.tgz#ef5e589afb61e5d66b24eca749409a8939a8c744" integrity sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg== +just-extend@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-6.2.0.tgz#b816abfb3d67ee860482e7401564672558163947" + integrity sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw== + jwa@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" @@ -5888,7 +6014,7 @@ minimatch@5.0.1: dependencies: brace-expansion "^2.0.1" -minimatch@9.0.3, minimatch@^9.0.1, minimatch@^9.0.3: +minimatch@9.0.3: version "9.0.3" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== @@ -5909,6 +6035,13 @@ minimatch@^5.0.1, minimatch@^5.1.0, minimatch@^5.1.6: dependencies: brace-expansion "^2.0.1" +minimatch@^9.0.1, minimatch@^9.0.3, minimatch@^9.0.4: + version "9.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51" + integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== + dependencies: + brace-expansion "^2.0.1" + minimist-options@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" @@ -6036,16 +6169,16 @@ nise@^4.1.0: just-extend "^4.0.2" path-to-regexp "^1.7.0" -nise@^5.0.1: - version "5.1.5" - resolved "https://registry.yarnpkg.com/nise/-/nise-5.1.5.tgz#f2aef9536280b6c18940e32ba1fbdc770b8964ee" - integrity sha512-VJuPIfUFaXNRzETTQEEItTOP8Y171ijr+JLq42wHes3DiryR8vT+1TXQW/Rx8JNUhyYYWyIvjXTU6dOhJcs9Nw== +nise@^5.0.1, nise@^5.1.5: + version "5.1.9" + resolved "https://registry.yarnpkg.com/nise/-/nise-5.1.9.tgz#0cb73b5e4499d738231a473cd89bd8afbb618139" + integrity sha512-qOnoujW4SV6e40dYxJOb3uvuoPHtmLzIk4TFo+j0jPJoC+5Z9xja5qH5JZobEPsa8+YYphMrOSwnrshEhG2qww== dependencies: - "@sinonjs/commons" "^2.0.0" - "@sinonjs/fake-timers" "^10.0.2" - "@sinonjs/text-encoding" "^0.7.1" - just-extend "^4.0.2" - path-to-regexp "^1.7.0" + "@sinonjs/commons" "^3.0.0" + "@sinonjs/fake-timers" "^11.2.2" + "@sinonjs/text-encoding" "^0.7.2" + just-extend "^6.2.0" + path-to-regexp "^6.2.1" no-case@^3.0.4: version "3.0.4" @@ -6470,6 +6603,11 @@ path-to-regexp@^1.7.0: dependencies: isarray "0.0.1" +path-to-regexp@^6.2.1: + version "6.2.2" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-6.2.2.tgz#324377a83e5049cbecadc5554d6a63a9a4866b36" + integrity sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw== + path-type@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" @@ -7183,6 +7321,18 @@ sinon@^10.0.0: nise "^5.0.1" supports-color "^7.1.0" +sinon@^17.0.1: + version "17.0.1" + resolved "https://registry.yarnpkg.com/sinon/-/sinon-17.0.1.tgz#26b8ef719261bf8df43f925924cccc96748e407a" + integrity sha512-wmwE19Lie0MLT+ZYNpDymasPHUKTaZHUH/pKEubRXIzySv9Atnlw+BUMGCzWgV7b7wO+Hw6f1TEOr0IUnmU8/g== + dependencies: + "@sinonjs/commons" "^3.0.0" + "@sinonjs/fake-timers" "^11.2.2" + "@sinonjs/samsam" "^8.0.0" + diff "^5.1.0" + nise "^5.1.5" + supports-color "^7.2.0" + sinon@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/sinon/-/sinon-5.1.1.tgz#19c59810ffb733ea6e76a28b94a71fc4c2f523b8" @@ -7357,16 +7507,7 @@ srcset@^5.0.0: resolved "https://registry.yarnpkg.com/srcset/-/srcset-5.0.0.tgz#9df6c3961b5b44a02532ce6ae4544832609e2e3f" integrity sha512-SqEZaAEhe0A6ETEa9O1IhSPC7MdvehZtCnTR0AftXk3QhY2UNgb+NApFOUPZILXk/YTDfFxMTNJOBpzrJsEdIA== -"string-width-cjs@npm:string-width@^4.2.0": - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - 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" - -string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -7425,14 +7566,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@6.0.1, strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@6.0.1, strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -7492,7 +7626,7 @@ supports-color@^5.3.0, supports-color@^5.4.0: dependencies: has-flag "^3.0.0" -supports-color@^7.0.0, supports-color@^7.1.0: +supports-color@^7.0.0, supports-color@^7.1.0, supports-color@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== @@ -8000,7 +8134,7 @@ workerpool@6.2.1: resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343" integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw== -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -8018,15 +8152,6 @@ wrap-ansi@^6.0.1, wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" @@ -8059,6 +8184,14 @@ xml2js@^0.5.0: sax ">=0.6.0" xmlbuilder "~11.0.0" +xml2js@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.6.2.tgz#dd0b630083aa09c161e25a4d0901e2b2a929b499" + integrity sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA== + dependencies: + sax ">=0.6.0" + xmlbuilder "~11.0.0" + xmlbuilder@~11.0.0: version "11.0.1" resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3"