Skip to content

Commit c414fae

Browse files
feat: bare bones package bundle delete
1 parent 0535646 commit c414fae

2 files changed

Lines changed: 110 additions & 0 deletions

File tree

messages/package_bundle_delete.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# summary
2+
3+
Delete a package bundle.
4+
5+
# description
6+
7+
Specify the ID or alias of the package bundle you want to delete.
8+
9+
Delete package bundles. Before you delete a package bundle, first delete all associated package bundle versions.
10+
11+
# examples
12+
13+
- Delete a package bundle using its alias from your default Dev Hub org:
14+
15+
<%= config.bin %> <%= command.id %> --bundle "Your Bundle Alias"
16+
17+
- Delete a package bundle using its ID from the specified Dev Hub org:
18+
19+
<%= config.bin %> <%= command.id %> --bundle 1Fl... --target-dev-hub devhub@example.com
20+
21+
# flags.bundle.summary
22+
23+
ID (starts with 1Fl) or alias of the package bundle to delete.
24+
25+
# flags.undelete.summary
26+
27+
Undelete a deleted package bundle.
28+
29+
# flags.no-prompt.summary
30+
31+
Don't prompt before deleting the package bundle.
32+
33+
# prompt-delete
34+
35+
Deleted package bundles can't be recovered.
36+
37+
Do you want to continue? (y/n)
38+
39+
# prompt-undelete
40+
41+
This will undelete the package bundle, which may result in unintended consequences for customers. Proceed with caution.
42+
43+
Do you want to continue? (y/n)
44+
45+
# prompt-delete-deny
46+
47+
The request to delete this package bundle was canceled
48+
49+
# humanSuccess
50+
51+
Successfully deleted the package bundle.
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
/*
2+
* Copyright (c) 2022, salesforce.com, inc.
3+
* All rights reserved.
4+
* Licensed under the BSD 3-Clause license.
5+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
6+
*/
7+
8+
import { Flags, loglevel, orgApiVersionFlagWithDeprecations, SfCommand } from '@salesforce/sf-plugins-core';
9+
import { Messages } from '@salesforce/core/messages';
10+
import { PackageBundle } from '@salesforce/packaging';
11+
import { requiredHubFlag } from '../../../utils/hubFlag.js';
12+
13+
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
14+
const messages = Messages.loadMessages('@salesforce/plugin-packaging', 'package_bundle_delete');
15+
16+
export class PackageBundleDeleteCommand extends SfCommand<void> {
17+
public static readonly summary = messages.getMessage('summary');
18+
public static readonly description = messages.getMessage('description');
19+
public static readonly examples = messages.getMessages('examples');
20+
public static readonly flags = {
21+
loglevel,
22+
'target-dev-hub': requiredHubFlag,
23+
'api-version': orgApiVersionFlagWithDeprecations,
24+
'no-prompt': Flags.boolean({
25+
char: 'n',
26+
deprecateAliases: true,
27+
aliases: ['noprompt'],
28+
summary: messages.getMessage('flags.no-prompt.summary'),
29+
}),
30+
bundle: Flags.string({
31+
char: 'p',
32+
summary: messages.getMessage('flags.bundle.summary'),
33+
required: true,
34+
}),
35+
undelete: Flags.boolean({
36+
summary: messages.getMessage('flags.undelete.summary'),
37+
hidden: true,
38+
default: false,
39+
}),
40+
};
41+
42+
public async run(): Promise<void> {
43+
const { flags } = await this.parse(PackageBundleDeleteCommand);
44+
const message = messages.getMessage(flags.undelete ? 'prompt-undelete' : 'prompt-delete');
45+
const accepted = flags['no-prompt'] || flags.json ? true : await this.confirm({ message });
46+
if (!accepted) {
47+
throw messages.createError('prompt-delete-deny');
48+
}
49+
50+
const connection = flags['target-dev-hub'].getConnection(flags['api-version']);
51+
await PackageBundle.delete(connection, flags.bundle);
52+
this.display();
53+
}
54+
55+
private display(): void {
56+
this.log();
57+
this.logSuccess(messages.getMessage('humanSuccess'));
58+
}
59+
}

0 commit comments

Comments
 (0)