UNPKG

@salesforce/plugin-packaging

Version:

SF plugin that support Salesforce Packaging Platform

112 lines 4.93 kB
/* * Copyright (c) 2022, salesforce.com, inc. * All rights reserved. * Licensed under the BSD 3-Clause license. * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ import { Flags, loglevel, orgApiVersionFlagWithDeprecations, SfCommand } from '@salesforce/sf-plugins-core'; import { Messages } from '@salesforce/core'; import pkgUtils from '@salesforce/packaging'; import { PackageVersion } from '@salesforce/packaging'; import chalk from 'chalk'; import { camelCaseToTitleCase } from '@salesforce/kit'; import { requiredHubFlag } from '../../../../utils/hubFlag.js'; Messages.importMessagesDirectoryFromMetaUrl(import.meta.url); const messages = Messages.loadMessages('@salesforce/plugin-packaging', 'package_version_create_report'); const pvclMessages = Messages.loadMessages('@salesforce/plugin-packaging', 'package_version_create_list'); const pvlMessages = Messages.loadMessages('@salesforce/plugin-packaging', 'package_version_list'); const plMessages = Messages.loadMessages('@salesforce/plugin-packaging', 'package_list'); const ERROR_LIMIT = 12; export class PackageVersionCreateReportCommand extends SfCommand { static summary = messages.getMessage('summary'); static description = messages.getMessage('description'); static examples = messages.getMessages('examples'); static deprecateAliases = true; static aliases = ['force:package:version:create:report']; static flags = { loglevel, 'target-dev-hub': requiredHubFlag, 'api-version': orgApiVersionFlagWithDeprecations, // eslint-disable-next-line sf-plugin/id-flag-suggestions 'package-create-request-id': Flags.salesforceId({ length: 'both', deprecateAliases: true, aliases: ['packagecreaterequestid'], char: 'i', summary: messages.getMessage('flags.package-create-request-id.summary'), required: true, }), }; async run() { const { flags } = await this.parse(PackageVersionCreateReportCommand); const result = await PackageVersion.getCreateStatus(flags['package-create-request-id'], flags['target-dev-hub'].getConnection(flags['api-version'])); this.display(result, flags['package-create-request-id'], flags['target-dev-hub']); return [result]; } display(record, requestId, devOrg) { const installUrlValue = record.Status.toString() === 'Success' ? `${pkgUtils.INSTALL_URL_BASE.toString()}${record.SubscriberPackageVersionId ?? '<null>'}` : ''; const data = [ { name: pvclMessages.getMessage('id'), value: record.Id, }, { name: pvclMessages.getMessage('status'), value: camelCaseToTitleCase(record.Status), }, { name: pvclMessages.getMessage('package-id'), value: record.Package2Id, }, { name: pvclMessages.getMessage('packageVersionId'), value: record.Package2VersionId, }, { name: pvclMessages.getMessage('subscriberPackageVersionId'), value: record.SubscriberPackageVersionId, }, { name: pvclMessages.getMessage('tag'), value: record.Tag, }, { name: pvclMessages.getMessage('branch'), value: record.Branch, }, { name: 'Created Date', value: record.CreatedDate }, { name: pvclMessages.getMessage('installUrl'), value: installUrlValue, }, { name: plMessages.getMessage('createdBy'), value: record.CreatedBy, }, ]; if (record.ConvertedFromVersionId) { data.push({ name: pvlMessages.getMessage('convertedFromVersionId'), value: record.ConvertedFromVersionId, }); } this.table({ data, title: chalk.blue('Package Version Create Request') }); if (record.Error?.length > 0) { this.log(''); const errors = []; record.Error.slice(0, ERROR_LIMIT).forEach((error) => { errors.push(`(${errors.length + 1}) ${error}`); }); this.styledHeader(chalk.red('Errors')); this.warn(errors.join('\n')); // Check if errors were truncated. If so, inform the user with // instructions on how to retrieve the remaining errors. if (record.Error.length > ERROR_LIMIT) { this.warn(messages.getMessage('truncatedErrors', [this.config.bin, requestId, devOrg.getUsername()])); } } } } //# sourceMappingURL=report.js.map