sf-decomposer
Version:
Decompose Salesforce metadata into granular, VCS-friendly files; recompose for deployment.
66 lines (35 loc) • 2.44 kB
Markdown
Decomposes the metadata files created by retrievals.
Decompose large metadata files into smaller files.
You should run this after you retrieve metadata from an org.
- `sf decomposer decompose -m "flow" -f "xml" --prepurge --postpurge`
- `sf decomposer decompose -m "flow" -m "labels" -f "xml" --prepurge --postpurge`
- `sf decomposer decompose -m "flow" -f "xml" -i "force-app"`
- `sf decomposer decompose -x "manifest/package.xml" --postpurge`
- `sf decomposer decompose -x "manifest/package.xml" -m "flow"`
The metadata suffix to process, such as 'flow', 'labels', etc. Required unless --manifest is provided.
Path to a package.xml manifest file. When provided, only the metadata listed in the manifest is decomposed. If --metadata-type is also provided, the intersection of the two is used.
Purge directories of pre-existing decomposed files.
Purge the original files after decomposing them.
File format for the decomposed files.
Ignore a package directory.
Strategy to follow when decomposing files.
Additionally decompose object and field permissions on a permission set when strategy is set to "grouped-by-tag".
Load all settings from .sfdecomposer.config.json in the repo root. When set, all top-level fields (metadataSuffixes, manifest, prePurge, postPurge, decomposedFormat, strategy, ignorePackageDirectories, decomposeNestedPermissions, updateForceignore, updateGitattributes) and the "overrides" array are applied. Explicit CLI flags take precedence over config values. Makes --metadata-type and --manifest optional when either is defined in the config.
# flags.update-forceignore.summary
Automatically add decomposed file paths to .forceignore after successful decomposition.
# flags.update-gitattributes.summary
Automatically add root metadata file patterns to .gitattributes after successful decomposition, suppressing noisy diffs on recomposed files while keeping them tracked for tools like sfdx-git-delta.
# error.missingMetadataOrManifest
Either --metadata-type (-m) or --manifest (-x) must be provided, or use --config (-c) with a config file that specifies metadataSuffixes or manifest.