sf-package-combiner
Version:
Combine multiple Salesforce manifest files (package.xml) into 1 file for deployments.
52 lines • 2.03 kB
JavaScript
import { SfCommand, Flags } from '@salesforce/sf-plugins-core';
import { Messages } from '@salesforce/core';
import { combinePackages } from '../../core/combinePackages.js';
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
const messages = Messages.loadMessages('sf-package-combiner', 'sfpc.combine');
export default class SfpcCombine extends SfCommand {
static summary = messages.getMessage('summary');
static description = messages.getMessage('description');
static examples = messages.getMessages('examples');
static flags = {
'package-file': Flags.file({
summary: messages.getMessage('flags.package-file.summary'),
char: 'f',
multiple: true,
}),
'combined-package': Flags.file({
summary: messages.getMessage('flags.combined-package.summary'),
char: 'c',
exists: false,
default: 'package.xml',
}),
directory: Flags.directory({
summary: messages.getMessage('flags.directory.summary'),
char: 'd',
multiple: true,
}),
'api-version': Flags.orgApiVersion({
summary: messages.getMessage('flags.api-version.summary'),
char: 'v',
required: false,
}),
'no-api-version': Flags.boolean({
summary: messages.getMessage('flags.no-api-version.summary'),
char: 'n',
default: false,
}),
};
async run() {
const { flags } = await this.parse(SfpcCombine);
const path = await combinePackages({
packageFiles: flags['package-file'],
combinedPackage: flags['combined-package'],
directories: flags['directory'],
userApiVersion: flags['api-version'],
noApiVersion: flags['no-api-version'],
warn: this.warn.bind(this),
});
this.log(`Combined package.xml written to: ${path}`);
return { path };
}
}
//# sourceMappingURL=combine.js.map