diff --git a/package.json b/package.json index 02ee7695..cf794b0f 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "@salesforce/command": "^5.2.10", "@salesforce/core": "^3.30.8", "@salesforce/kit": "^1.6.1", - "@salesforce/packaging": "0.0.42", + "@salesforce/packaging": "0.0.44", "tslib": "^2", "chalk": "^4.1.2" }, @@ -188,4 +188,4 @@ "publishConfig": { "access": "public" } -} \ No newline at end of file +} diff --git a/src/commands/force/package/beta/version/create.ts b/src/commands/force/package/beta/version/create.ts index 599d444b..2765471e 100644 --- a/src/commands/force/package/beta/version/create.ts +++ b/src/commands/force/package/beta/version/create.ts @@ -189,10 +189,14 @@ export class PackageVersionCreateCommand extends SfdxCommand { const packageId = getPackageIdFromAlias(packageName, this.project); - const pv = new PackageVersion({ project: this.project, connection: this.hubOrg.getConnection() }); this.ux.startSpinner(messages.getMessage('requestInProgress')); - const result = await pv.create( - { ...this.flags, ...{ packageId } }, + const result = await PackageVersion.create( + { + connection: this.hubOrg.getConnection(), + project: this.project, + ...this.flags, + packageId, + }, { timeout: this.flags.wait as Duration, frequency, diff --git a/src/commands/force/package/beta/version/create/list.ts b/src/commands/force/package/beta/version/create/list.ts index 5ce3ec3c..3bcce016 100644 --- a/src/commands/force/package/beta/version/create/list.ts +++ b/src/commands/force/package/beta/version/create/list.ts @@ -34,8 +34,8 @@ export class PackageVersionCreateListCommand extends SfdxCommand { }; public async run(): Promise { - const pv = new PackageVersion({ connection: this.hubOrg.getConnection(), project: undefined }); - const results = await pv.createdList({ ...this.flags }); + const connection = this.hubOrg.getConnection(); + const results = await PackageVersion.createdList(connection, { ...this.flags }); if (results.length === 0) { this.ux.log('No results found'); diff --git a/src/commands/force/package/beta/version/create/report.ts b/src/commands/force/package/beta/version/create/report.ts index 9790a48f..f6632380 100644 --- a/src/commands/force/package/beta/version/create/report.ts +++ b/src/commands/force/package/beta/version/create/report.ts @@ -32,8 +32,7 @@ export class PackageVersionCreateReportCommand extends SfdxCommand { }; public async run(): Promise { - const packageVersion = new PackageVersion({ connection: this.hubOrg.getConnection(), project: undefined }); - const result = await packageVersion.getCreateVersionReport(this.flags.packagecreaterequestid); + const result = await PackageVersion.getCreateStatus(this.flags.packagecreaterequestid, this.hubOrg.getConnection()); this.display(result); return result; } diff --git a/src/commands/force/package/beta/version/delete.ts b/src/commands/force/package/beta/version/delete.ts index 673fff03..16b6f58c 100644 --- a/src/commands/force/package/beta/version/delete.ts +++ b/src/commands/force/package/beta/version/delete.ts @@ -38,11 +38,13 @@ export class PackageVersionDeleteCommand extends SfdxCommand { }; public async run(): Promise { - const packageVersion = new PackageVersion({ project: this.project, connection: this.hubOrg.getConnection() }); + const packageVersion = new PackageVersion({ + connection: this.hubOrg.getConnection(), + project: this.project, + idOrAlias: this.flags.package as string, + }); await this.confirmDelete(); - const results = this.flags.undelete - ? await packageVersion.undelete(this.flags.package) - : await packageVersion.delete(this.flags.package); + const results = this.flags.undelete ? await packageVersion.undelete() : await packageVersion.delete(); this.ux.log(this.getHumanSuccessMessage(results)); return results; } diff --git a/src/commands/force/package/beta/version/list.ts b/src/commands/force/package/beta/version/list.ts index c78f8a8b..03ec2672 100644 --- a/src/commands/force/package/beta/version/list.ts +++ b/src/commands/force/package/beta/version/list.ts @@ -12,7 +12,6 @@ import { CliUx } from '@oclif/core'; import { getContainerOptions, getPackageAliasesFromId, - getPackageIdFromAlias, getPackageVersionStrings, INSTALL_URL_BASE, PackageVersion, @@ -92,16 +91,14 @@ export class PackageVersionListCommand extends SfdxCommand { }; public async run(): Promise { + const connection = this.hubOrg.getConnection(); const project = SfProject.getInstance(); - const pv = new PackageVersion({ connection: this.hubOrg.getConnection(), project: undefined }); - const packageIdOrAliases = (this.flags.packages as string[]) || []; - // resolve any passed in values from aliases or IDs - const packages = packageIdOrAliases.map((p) => getPackageIdFromAlias(p, project) ?? p); - const records = await pv.list({ + + const records = await PackageVersion.list(connection, project, { createdLastDays: this.flags.createdlastdays as number, concise: this.flags.concise as boolean, modifiedLastDays: this.flags.modifiedlastdays as number, - packages, + packages: (this.flags.packages as string[]) ?? [], isReleased: this.flags.released as boolean, orderBy: this.flags.orderby as string, verbose: this.flags.verbose as boolean, @@ -114,12 +111,12 @@ export class PackageVersionListCommand extends SfdxCommand { // lookup ancestorVersions if ancestorIds are present const ancestorIds = records.filter((record) => record.AncestorId).map((record) => record.AncestorId); if (ancestorIds?.length > 0) { - ancestorVersionsMap = await getPackageVersionStrings(ancestorIds, this.hubOrg.getConnection()); + ancestorVersionsMap = await getPackageVersionStrings(ancestorIds, connection); } // Get the container options for each package version. We need this for determining if the version is OrgDependent const recordIds = [...new Set(records.map((record) => record.Package2Id))]; - const containerOptionsMap = await getContainerOptions(recordIds, this.hubOrg.getConnection()); + const containerOptionsMap = await getContainerOptions(recordIds, connection); records.forEach((record) => { const ids = [record.Id, record.SubscriberPackageVersionId]; diff --git a/src/commands/force/package/beta/version/promote.ts b/src/commands/force/package/beta/version/promote.ts index 1f228123..751ca4e2 100644 --- a/src/commands/force/package/beta/version/promote.ts +++ b/src/commands/force/package/beta/version/promote.ts @@ -8,15 +8,7 @@ import * as os from 'os'; import { flags, FlagsConfig, SfdxCommand } from '@salesforce/command'; import { Messages, SfError } from '@salesforce/core'; -import { - BY_LABEL, - getHasMetadataRemoved, - getPackageIdFromAlias, - getPackageVersionId, - PackageSaveResult, - PackageVersion, - validateId, -} from '@salesforce/packaging'; +import { PackageSaveResult, PackageVersion } from '@salesforce/packaging'; Messages.importMessagesDirectory(__dirname); const messages = Messages.loadMessages('@salesforce/plugin-packaging', 'package_version_promote'); @@ -42,21 +34,16 @@ export class PackageVersionPromoteCommand extends SfdxCommand { }; public async run(): Promise { - const conn = this.hubOrg.getConnection(); - const packageIdFromAlias = - getPackageIdFromAlias(this.flags.package, this.project) ?? (this.flags.package as string); - let packageId = packageIdFromAlias; - // ID can be 04t or 05i at this point - validateId([BY_LABEL.SUBSCRIBER_PACKAGE_VERSION_ID, BY_LABEL.PACKAGE_VERSION_ID], packageId); - - if (packageId.startsWith('04t')) { - // lookup the 05i ID for getHasMetadataRemoved below - packageId = await getPackageVersionId(packageId, conn); - } + const packageVersion = new PackageVersion({ + connection: this.hubOrg.getConnection(), + project: this.project, + idOrAlias: this.flags.package as string, + }); + const packageVersionData = await packageVersion.getPackageVersionData(); if (!this.flags.json && !this.flags.noprompt) { // Warn when a Managed package has removed metadata - if (await getHasMetadataRemoved(packageId, conn)) { + if (packageVersionData.HasMetadataRemoved) { this.ux.warn(messages.getMessage('hasMetadataRemovedWarning')); } @@ -66,12 +53,11 @@ export class PackageVersionPromoteCommand extends SfdxCommand { } } - const pkg = new PackageVersion({ connection: conn, project: this.project }); let result: PackageSaveResult; try { - result = await pkg.promote(packageId); - result.id = packageIdFromAlias.startsWith('04t') ? packageIdFromAlias : result.id; + result = await packageVersion.promote(); + result.id = packageVersionData.SubscriberPackageVersionId; } catch (e) { const err = SfError.wrap(e); if (err.name === 'DUPLICATE_VALUE' && err.message.includes('previously released')) { diff --git a/src/commands/force/package/beta/version/report.ts b/src/commands/force/package/beta/version/report.ts index 48c584b7..5dfa4a16 100644 --- a/src/commands/force/package/beta/version/report.ts +++ b/src/commands/force/package/beta/version/report.ts @@ -44,8 +44,12 @@ export class PackageVersionReportCommand extends SfdxCommand { protected haveCodeCoverageData = false; public async run(): Promise { - const packageVersion = new PackageVersion({ connection: this.hubOrg.getConnection(), project: this.project }); - const results = await packageVersion.report(this.flags.package, this.flags.verbose); + const packageVersion = new PackageVersion({ + connection: this.hubOrg.getConnection(), + project: this.project, + idOrAlias: this.flags.package as string, + }); + const results = await packageVersion.report(this.flags.verbose); const massagedResults = this.massageResultsForDisplay(results); this.display(massagedResults); return massagedResults; diff --git a/src/commands/force/package/beta/version/update.ts b/src/commands/force/package/beta/version/update.ts index 648ef3a9..52fb463d 100644 --- a/src/commands/force/package/beta/version/update.ts +++ b/src/commands/force/package/beta/version/update.ts @@ -8,7 +8,7 @@ import * as os from 'os'; import { flags, FlagsConfig, SfdxCommand } from '@salesforce/command'; import { Messages } from '@salesforce/core'; -import { getPackageIdFromAlias, PackageSaveResult, PackageVersion } from '@salesforce/packaging'; +import { PackageSaveResult, PackageVersion } from '@salesforce/packaging'; Messages.importMessagesDirectory(__dirname); const messages = Messages.loadMessages('@salesforce/plugin-packaging', 'package_version_update'); @@ -53,9 +53,12 @@ export class PackageVersionUpdateCommand extends SfdxCommand { }; public async run(): Promise { - const pv = new PackageVersion({ connection: this.hubOrg.getConnection(), project: this.project }); - const id = getPackageIdFromAlias(this.flags.package, this.project); - const result = await pv.update(id, { + const pv = new PackageVersion({ + connection: this.hubOrg.getConnection(), + project: this.project, + idOrAlias: this.flags.package as string, + }); + const result = await pv.update({ VersionDescription: this.flags.versiondescription as string, Branch: this.flags.branch as string, InstallKey: this.flags.installationkey as string, diff --git a/test/commands/force/package/version.delete.test.ts b/test/commands/force/package/version.delete.test.ts index fc005566..e118928e 100644 --- a/test/commands/force/package/version.delete.test.ts +++ b/test/commands/force/package/version.delete.test.ts @@ -90,13 +90,13 @@ describe('force:package:version:delete', () => { } }); - it('should error pkg version not found in project', async () => { + it('should error pkg version alias not found in project', async () => { try { - await runCmd(['-p', '04t6A000002zgKSQAY', '-v', 'foor@bar.org'], true); + await runCmd(['-p', 'subscriberPV-alias', '-v', 'foor@bar.org'], true); expect(false, 'Expected invalid id error').to.be.true; } catch (err) { const error = err as Error; - expect(error.name).to.equal('ErrorInvalidIdNoMatchingVersionIdError'); + expect(error.name).to.equal('ErrorInvalidPackageVersionIdError'); } }); it('should delete a package version', async () => { diff --git a/test/commands/force/package/versionReport.test.ts b/test/commands/force/package/versionReport.test.ts index 3f332545..84be2110 100644 --- a/test/commands/force/package/versionReport.test.ts +++ b/test/commands/force/package/versionReport.test.ts @@ -43,7 +43,7 @@ const pkgVersionReportResultModified: PackageVersionReportResultModified = { Description: '', HasMetadataRemoved: 'N/A', HasPassedCodeCoverageCheck: false, - Id: '', + Id: '05i3i000000Gmj6XXX', InstallKey: '', IsDeleted: false, IsDeprecated: false, @@ -88,7 +88,7 @@ const pkgVersionReportResult: PackageVersionReportResult = { Description: '', HasMetadataRemoved: false, HasPassedCodeCoverageCheck: false, - Id: '', + Id: '05i3i000000Gmj6XXX', InstallKey: '', IsDeleted: false, IsDeprecated: false, diff --git a/yarn.lock b/yarn.lock index 65f50e8e..7e7dee29 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1128,10 +1128,10 @@ shx "^0.3.3" tslib "^2.2.0" -"@salesforce/packaging@0.0.42": - version "0.0.42" - resolved "https://registry.yarnpkg.com/@salesforce/packaging/-/packaging-0.0.42.tgz#8c41f796867f36af119cfaa2f33647ad0b1ee95c" - integrity sha512-wQ9Ay+la5m403GUTmWbr4j6mq5wTsYVBo+qZgybvVusRNi1iuOt8dMIEiPFQvFxwlJFL3JPNNdx80Z2cDjkITQ== +"@salesforce/packaging@0.0.44": + version "0.0.44" + resolved "https://registry.yarnpkg.com/@salesforce/packaging/-/packaging-0.0.44.tgz#0f98766addd898b05eb8f89cbb3424bdcfffd708" + integrity sha512-TJ3JYgC49PLleO42+YwHE61wLO7C/n82XG3fZNS4ylEtgnA8mQmVsdGmpdsoDv4UmPQm0R/G7ZSiRKF0cVm3/Q== dependencies: "@oclif/core" "^1.16.4" "@salesforce/core" "^3.30.0"