UNPKG

sf-decomposer

Version:

Split large Salesforce metadata files into version-control-friendly pieces and rebuild deployment-ready files.

50 lines 1.96 kB
'use strict'; import { SfCommand, Flags } from '@salesforce/sf-plugins-core'; import { Messages } from '@salesforce/core'; import { recomposeMetadataTypes } from '../../core/recomposeMetadataTypes.js'; Messages.importMessagesDirectoryFromMetaUrl(import.meta.url); const messages = Messages.loadMessages('sf-decomposer', 'decomposer.recompose'); export default class DecomposerRecompose extends SfCommand { static summary = messages.getMessage('summary'); static description = messages.getMessage('description'); static examples = messages.getMessages('examples'); static flags = { 'metadata-type': Flags.string({ summary: messages.getMessage('flags.metadata-type.summary'), char: 'm', multiple: true, required: false, }), manifest: Flags.file({ summary: messages.getMessage('flags.manifest.summary'), char: 'x', required: false, exists: true, }), postpurge: Flags.boolean({ summary: messages.getMessage('flags.postpurge.summary'), required: false, default: false, }), 'ignore-package-directory': Flags.directory({ summary: messages.getMessage('flags.ignore-package-directory.summary'), char: 'i', required: false, multiple: true, }), }; async run() { const { flags } = await this.parse(DecomposerRecompose); if (!flags['metadata-type'] && !flags['manifest']) { throw messages.createError('error.missingMetadataOrManifest'); } return recomposeMetadataTypes({ metadataTypes: flags['metadata-type'], postpurge: flags['postpurge'], ignoreDirs: flags['ignore-package-directory'], manifest: flags['manifest'], log: this.log.bind(this), }); } } //# sourceMappingURL=recompose.js.map