Skip to content

Commit

Permalink
feat: Adds verbose option to package convert
Browse files Browse the repository at this point in the history
  • Loading branch information
tshopshireSalesforce committed Oct 30, 2023
1 parent a2d10ae commit 630d2af
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 6 deletions.
4 changes: 4 additions & 0 deletions messages/package_convert.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,10 @@ Minutes to wait for the package version to be created.

Instance where the conversion package version will be created, such as NA50.

# flags.verbose.summary

Display verbose command output.

# in-progress

Request in progress. Will wait a total of %s more seconds before timing out. Current Status='%s'
Expand Down
29 changes: 23 additions & 6 deletions src/commands/package/convert.ts
Original file line number Diff line number Diff line change
Expand Up @@ -81,32 +81,39 @@ export class PackageConvert extends SfCommand<PackageVersionCreateRequestResult>
summary: messages.getMessage('flags.seed-metadata.summary'),
description: messages.getMessage('flags.seed-metadata.description'),
}),
verbose: Flags.boolean({
summary: messages.getMessage('flags.verbose.summary'),
}),
};

public async run(): Promise<PackageVersionCreateRequestResult> {
const { flags } = await this.parse(PackageConvert);
// eslint-disable-next-line @typescript-eslint/require-await
Lifecycle.getInstance().on(PackageEvents.convert.progress, async (data: PackageVersionCreateEventData) => {
this.spinner.status = messages.getMessage('in-progress', [
const inProgressMessage = messages.getMessage('in-progress', [
data.timeRemaining?.seconds,
camelCaseToTitleCase(data.packageVersionCreateRequestResult.Status),
]);
this.display(inProgressMessage, flags.verbose);
});

// eslint-disable-next-line @typescript-eslint/require-await
Lifecycle.getInstance().on(PackageEvents.convert.success, async () => {
this.spinner.status = 'SUCCESS';
this.display('SUCCESS', flags.verbose);
});

this.spinner.start('Converting Package', 'Initializing');
if (flags.verbose) {
this.log('Converting Package');
} else {
this.spinner.start('Converting Package', 'Initializing');
}
// initialize the project instance if in a project
let project: Optional<SfProject>;
try {
project = await SfProject.resolve();
} catch (err) {
// ignore project is optional
}
this.spinner.status = 'Converting Package';
const result = await Package.convert(
flags.package,
flags['target-dev-hub'].getConnection(flags['api-version']),
Expand Down Expand Up @@ -136,15 +143,25 @@ export class PackageConvert extends SfCommand<PackageVersionCreateRequestResult>
])
);
break;
default:
this.spinner.status = pvcMessages.getMessage('InProgress', [
default: {
const inProgressMessage = pvcMessages.getMessage('InProgress', [
this.config.bin,
camelCaseToTitleCase(result.Status),
result.Id,
]);
this.display(inProgressMessage, flags.verbose);
}
}

this.spinner.stop();
return result;
}

private display(message: string, verbose: boolean): void {
if (verbose) {
this.log(message);
} else {
this.spinner.status = message;
}
}
}

0 comments on commit 630d2af

Please sign in to comment.