sf-decomposer 6.35.0 → 6.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,20 @@
5
5
 
6
6
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
7
7
 
8
+ ## [6.37.0](https://github.com/mcarvin8/sf-decomposer/compare/v6.36.0...v6.37.0) (2026-07-01)
9
+
10
+
11
+ ### Features
12
+
13
+ * **metadata:** support IdpConfiguration, UiWidgetBundle ([54c422a](https://github.com/mcarvin8/sf-decomposer/commit/54c422acb219390bd2941021abf04f1f244201da))
14
+
15
+ ## [6.36.0](https://github.com/mcarvin8/sf-decomposer/compare/v6.35.0...v6.36.0) (2026-06-30)
16
+
17
+
18
+ ### Features
19
+
20
+ * full config read for CLI commands and hook skip flags ([#511](https://github.com/mcarvin8/sf-decomposer/issues/511)) ([945ace0](https://github.com/mcarvin8/sf-decomposer/commit/945ace0e0a8228ad10dead6f0e9e5be212de975b))
21
+
8
22
  ## [6.35.0](https://github.com/mcarvin8/sf-decomposer/compare/v6.34.0...v6.35.0) (2026-06-30)
9
23
 
10
24
 
package/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # sf-decomposer
2
2
 
3
3
  [![NPM](https://img.shields.io/npm/v/sf-decomposer.svg?label=sf-decomposer)](https://www.npmjs.com/package/sf-decomposer)
4
- [![Downloads/week](https://img.shields.io/npm/dw/sf-decomposer.svg)](https://npmjs.org/package/sf-decomposer)
4
+ [![Downloads/week](https://img.shields.io/npm/dw/sf-decomposer.svg)](https://npmjs.com/package/sf-decomposer)
5
5
  [![License](https://img.shields.io/badge/License-MIT-yellow.svg)](https://raw.githubusercontent.com/mcarvin8/sf-decomposer/main/LICENSE.md)
6
6
  [![Maintainability](https://qlty.sh/badges/8492c1c6-0f93-4d37-bfad-32fd3b788a2d/maintainability.svg)](https://qlty.sh/gh/mcarvin8/projects/sf-decomposer)
7
7
  [![codecov](https://codecov.io/gh/mcarvin8/sf-decomposer/graph/badge.svg?token=YFU52L4XM5)](https://codecov.io/gh/mcarvin8/sf-decomposer)
@@ -87,19 +87,21 @@ Add `.sfdecomposer.config.json` to your project root. Copy and customize one of
87
87
  - [Basic sample](https://raw.githubusercontent.com/mcarvin8/sf-decomposer/main/examples/.sfdecomposer.config.json) — one format and strategy for all types
88
88
  - [Sample with overrides](https://raw.githubusercontent.com/mcarvin8/sf-decomposer/main/examples/.sfdecomposer.config.overrides.json) — vary format/strategy per metadata type or component
89
89
 
90
- | Option | Required | Description |
91
- |------------------------------|-------------|----------------------------------------------------------------------------------------------------------------------------------------------------|
92
- | `metadataSuffixes` | Conditional | Comma-separated metadata suffixes to decompose/recompose. Required unless `manifest` is set; when both are set, run is scoped to the intersection. |
93
- | `manifest` | Conditional | Path (relative to project root) to a `package.xml` manifest. When set, only listed components are decomposed/recomposed. |
94
- | `ignorePackageDirectories` | No | Comma-separated package directories to skip. |
95
- | `prePurge` | No | Remove existing decomposed files before decomposing (default: false). |
96
- | `postPurge` | No | After decompose: remove originals; after recompose: remove decomposed files (default: false). |
97
- | `decomposedFormat` | No | `xml`, `json`, `json5`, or `yaml` (default: xml). |
98
- | `strategy` | No | `unique-id` \| `grouped-by-tag` (default: unique-id). |
99
- | `decomposeNestedPermissions` | No | With `grouped-by-tag`, set `true` to further decompose permission set and muting permission set object/field permissions. |
100
- | `updateForceignore` | No | Set `true` to automatically add decomposed file paths to `.forceignore` after each hook-triggered decomposition (default: false). |
101
- | `updateGitattributes` | No | Set `true` to automatically add root metadata file patterns to `.gitattributes` after each hook-triggered decomposition (default: false). |
102
- | `overrides` | No | Array of per-type and/or per-component overrides. See [CONFIGURATION.md](CONFIGURATION.md). |
90
+ | Option | Required | Description |
91
+ |------------------------------|-------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
92
+ | `metadataSuffixes` | Conditional | Comma-separated metadata suffixes to decompose/recompose. Required unless `manifest` is set; when both are set, run is scoped to the intersection. |
93
+ | `manifest` | Conditional | Path (relative to project root) to a `package.xml` manifest. When set, only listed components are decomposed/recomposed. |
94
+ | `ignorePackageDirectories` | No | Comma-separated package directories to skip. |
95
+ | `prePurge` | No | Remove existing decomposed files before decomposing (default: false). |
96
+ | `postPurge` | No | After decompose: remove originals; after recompose: remove decomposed files (default: false). |
97
+ | `decomposedFormat` | No | `xml`, `json`, `json5`, or `yaml` (default: xml). |
98
+ | `strategy` | No | `unique-id` \| `grouped-by-tag` (default: unique-id). |
99
+ | `decomposeNestedPermissions` | No | With `grouped-by-tag`, set `true` to further decompose permission set and muting permission set object/field permissions. |
100
+ | `updateForceignore` | No | Set `true` to automatically add decomposed file paths to `.forceignore` after each hook-triggered decomposition (default: false). |
101
+ | `updateGitattributes` | No | Set `true` to automatically add root metadata file patterns to `.gitattributes` after each hook-triggered decomposition (default: false). |
102
+ | `skipPrerunHook` | No | Set `true` to skip the automatic recompose that fires before `sf project deploy start/validate` (default: false). Useful when you recompose manually in a pre-commit hook and don't want a second recompose at deploy time. |
103
+ | `skipPostRetrieveHook` | No | Set `true` to skip the automatic decompose that fires after `sf project retrieve start` (default: false). |
104
+ | `overrides` | No | Array of per-type and/or per-component overrides. See [CONFIGURATION.md](CONFIGURATION.md). |
103
105
 
104
106
  ---
105
107
 
@@ -159,7 +161,7 @@ FLAGS
159
161
  --prepurge Remove existing decomposed files before decomposing [default: false]
160
162
  --postpurge Remove original metadata files after decomposing [default: false]
161
163
  -p, --decompose-nested-permissions With grouped-by-tag, further decompose permission set and muting permission set object/field permissions
162
- -c, --config Load per-type and per-component overrides from .sfdecomposer.config.json in the repo root. Only the "overrides" array is consumed. [default: false]
164
+ -c, --config Load all settings from .sfdecomposer.config.json in the repo root. Supplies metadataSuffixes, manifest, and all run-wide options; CLI flags take precedence. Makes -m and -x optional when the config defines them. [default: false]
163
165
  --update-forceignore Automatically add decomposed file paths to .forceignore after successful decomposition [default: false]
164
166
  --update-gitattributes Automatically add root metadata file patterns to .gitattributes after successful decomposition [default: false]
165
167
 
@@ -167,7 +169,7 @@ GLOBAL FLAGS
167
169
  --json Output as JSON.
168
170
  ```
169
171
 
170
- > At least one of `--metadata-type` or `--manifest` is required. When both are supplied, the run is scoped to their intersection.
172
+ > At least one of `--metadata-type`, `--manifest`, or `--config` (with `metadataSuffixes` or `manifest` in the config) is required.
171
173
 
172
174
  **Examples**
173
175
 
@@ -186,6 +188,9 @@ sf decomposer decompose -x "manifest/package.xml" --prepurge
186
188
 
187
189
  # Restrict a manifest run to a single metadata type
188
190
  sf decomposer decompose -x "manifest/package.xml" -m "permissionset"
191
+
192
+ # Use config file for all options (no CLI flags needed)
193
+ sf decomposer decompose --config
189
194
  ```
190
195
 
191
196
  #### sf decomposer recompose
@@ -194,19 +199,20 @@ Recomposes decomposed files into deployment-compatible metadata.
194
199
 
195
200
  ```
196
201
  USAGE
197
- $ sf decomposer recompose [-m <value>] [-x <value>] [-i <value>] [--postpurge --json]
202
+ $ sf decomposer recompose [-m <value>] [-x <value>] [-i <value>] [-c --postpurge --json]
198
203
 
199
204
  FLAGS
200
- -m, --metadata-type=<value> Metadata suffix to process (e.g. flow, labels). Repeatable. Optional when --manifest is provided.
205
+ -m, --metadata-type=<value> Metadata suffix to process (e.g. flow, labels). Repeatable. Optional when --manifest or --config is provided.
201
206
  -x, --manifest=<value> Path to a package.xml manifest. When provided, only the components listed in the manifest are recomposed.
202
207
  -i, --ignore-package-directory=<value> Package directory to skip. Repeatable.
203
208
  --postpurge Remove decomposed files after recomposing [default: false]
209
+ -c, --config Load all settings from .sfdecomposer.config.json in the repo root. Supplies metadataSuffixes, manifest, and postPurge; CLI flags take precedence. Makes -m and -x optional when the config defines them. [default: false]
204
210
 
205
211
  GLOBAL FLAGS
206
212
  --json Output as JSON.
207
213
  ```
208
214
 
209
- > At least one of `--metadata-type` or `--manifest` is required. When both are supplied, the run is scoped to their intersection.
215
+ > At least one of `--metadata-type`, `--manifest`, or `--config` (with `metadataSuffixes` or `manifest` in the config) is required.
210
216
 
211
217
  **Examples**
212
218
 
@@ -217,6 +223,9 @@ sf decomposer recompose -m "flow" -i "force-app"
217
223
  # Recompose only the components listed in a deploy manifest before deploying
218
224
  sf decomposer recompose -x "manifest/package.xml"
219
225
  sf project deploy start -x "manifest/package.xml"
226
+
227
+ # Use config file for all options (no CLI flags needed)
228
+ sf decomposer recompose --config
220
229
  ```
221
230
 
222
231
  #### sf decomposer verify
@@ -234,13 +243,13 @@ FLAGS
234
243
  -i, --ignore-package-directory=<value> Package directory to skip. Repeatable.
235
244
  -s, --strategy=<value> unique-id | grouped-by-tag [default: unique-id]
236
245
  -p, --decompose-nested-permissions With grouped-by-tag, further decompose permission set and muting permission set object/field permissions.
237
- -c, --config Load per-type and per-component overrides from .sfdecomposer.config.json in the repo root. [default: false]
246
+ -c, --config Load all settings from .sfdecomposer.config.json in the repo root. Supplies metadataSuffixes, manifest, and all run-wide options; CLI flags take precedence. Makes -m and -x optional when the config defines them. [default: false]
238
247
 
239
248
  GLOBAL FLAGS
240
249
  --json Output as JSON.
241
250
  ```
242
251
 
243
- > At least one of `--metadata-type` or `--manifest` is required. When both are supplied, the run is scoped to their intersection.
252
+ > At least one of `--metadata-type`, `--manifest`, or `--config` (with `metadataSuffixes` or `manifest` in the config) is required.
244
253
 
245
254
  **Examples**
246
255
 
@@ -515,9 +524,44 @@ Optional. Ignore recomposed metadata so it isn't committed. See the [sample .git
515
524
 
516
525
  sf-decomposer is compatible with sgd as long as those root files are present in git at the point sgd runs.
517
526
 
518
- #### Recommended: do not use `--postpurge` (or `postPurge: true`) when also using sgd
527
+ #### Recommended: keep root files in git and recompose before commit
528
+
529
+ For `sfdx-git-delta` to detect a change, the root metadata file must be updated in git. Keeping root files in the repository is not enough by itself: if you edit decomposed files but commit without recomposing, the root file will remain unchanged, and sgd may not detect the metadata change.
530
+
531
+ Without `--postpurge`, the original root metadata file stays in the repo alongside the decomposed pieces. After recomposition, the root file is updated and sgd detects the change normally. No extra sgd configuration is needed.
532
+
533
+ #### Recommended sgd config and pre-commit setup
534
+
535
+ Add the following to `.sfdecomposer.config.json`:
536
+
537
+ ```json
538
+ {
539
+ "metadataSuffixes": "flow,permissionset",
540
+ "postPurge": false,
541
+ "decomposedFormat": "xml",
542
+ "skipPrerunHook": true
543
+ }
544
+ ```
545
+
546
+ - **`postPurge: false`** — keeps root files in git so sgd can detect changes.
547
+ - **`skipPrerunHook: true`** — disables the automatic recompose that fires before `sf project deploy start`. Since root files are already recomposed at commit time (by the pre-commit hook below), the prerun hook would just repeat that work redundantly. Skipping it also avoids a full-workspace recompose when sgd has already scoped the deploy to a subset of components.
548
+
549
+ Install the bundled pre-commit hook (copy and make executable):
550
+
551
+ ```bash
552
+ cp examples/pre-commit .husky/pre-commit
553
+ # or for a plain git hook:
554
+ cp examples/pre-commit .git/hooks/pre-commit && chmod +x .git/hooks/pre-commit
555
+ ```
556
+
557
+ The hook runs `sf decomposer recompose --config`, then stages the updated root files so they are included in the commit. sgd then sees the updated root files when it compares refs in CI.
558
+
559
+ > **Note:** With `skipPrerunHook: true`, any `sf project deploy start` that runs without going through the pre-commit hook first (e.g., an emergency manual deploy) will not auto-recompose. In that case, run `sf decomposer recompose --config` manually before deploying.
560
+
561
+ Use one of these workflows depending on your setup:
519
562
 
520
- Without `--postpurge`, the original root metadata file stays in the repo alongside the decomposed pieces. When you recompose before committing (or via pre-commit hook), the root file is updated in git and sgd detects the change normally. No extra sgd configuration is needed.
563
+ - **Pre-commit hook (recommended):** Install `examples/pre-commit` as described above. The hook recomposes automatically before every commit.
564
+ - **Manual:** Run `sf decomposer recompose --config` before each `git commit`.
521
565
 
522
566
  **Suppressing diff noise on root files.** Keeping root files in git means `git diff` and GitHub PR views show both the root file and the decomposed pieces. Pass `--update-gitattributes` on your first `sf decomposer decompose` run to suppress that noise automatically:
523
567
 
@@ -533,9 +577,9 @@ This appends patterns like the following to `.gitattributes`, creating the file
533
577
  ```
534
578
 
535
579
  - `-diff` — `git diff` / `git show` skip textual content for these files
536
- - `linguist-generated=true` — GitHub collapses the file in PR diff views (still expandable)
580
+ - `linguist-generated=true` — GitHub collapses the file in PR diff views; the file is still expandable
537
581
 
538
- Git still tracks the root files (sgd works); they become invisible noise during code review. You can also set `updateGitattributes: true` in `.sfdecomposer.config.json` to apply this automatically after every hook-triggered decomposition.
582
+ Git still tracks the root files, so sgd works. The root files become invisible noise during code review. You can also set `updateGitattributes: true` in `.sfdecomposer.config.json` to apply this automatically after every hook-triggered decomposition.
539
583
 
540
584
  #### If you use `--postpurge`
541
585
 
@@ -558,13 +602,14 @@ The sf-decomposer prerun hook recomposes automatically when `sf project deploy s
558
602
 
559
603
  If you use the prerun hook, do not combine it with `--postpurge` and sgd. The compatible combinations are:
560
604
 
561
- | Setup | Works? |
562
- |----------------------------------------------------|-----------------------------------------------------------|
563
- | No `--postpurge` + sgd + hook | ✅ Root files in git; hook recompose at deploy is harmless |
564
- | No `--postpurge` + sgd, no hook | ✅ Recompose manually before commit |
565
- | `--postpurge` + hook, no sgd | ✅ Full deploy; hook recomposes at deploy time |
566
- | `--postpurge` + sgd + CI recompose commit, no hook | ✅ Explicit recompose step before sgd |
567
- | `--postpurge` + sgd + hook | sgd runs before hook; delta is wrong |
605
+ | Setup | Works? |
606
+ |-------------------------------------------------------------------|--------------------------------------------------------------------------------|
607
+ | No `--postpurge` + sgd + hook | ✅ Root files in git; hook recompose at deploy is harmless (redundant but safe) |
608
+ | No `--postpurge` + sgd + pre-commit hook + `skipPrerunHook: true` | ✅ Recomposed before commit; deploy hook skipped intentionally |
609
+ | No `--postpurge` + sgd, no hook | ✅ Recompose manually before commit |
610
+ | `--postpurge` + hook, no sgd | ✅ Full deploy; hook recomposes at deploy time |
611
+ | `--postpurge` + sgd + CI recompose commit, no hook | Explicit recompose step before sgd |
612
+ | `--postpurge` + sgd + hook | ❌ sgd runs before hook; delta is wrong |
568
613
 
569
614
  ---
570
615
 
@@ -9,9 +9,9 @@ export default class DecomposerDecompose extends SfCommand<DecomposerResult> {
9
9
  manifest: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
10
  prepurge: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
11
  postpurge: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
- format: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
12
+ format: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
13
  'ignore-package-directory': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
- strategy: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
14
+ strategy: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
15
  'decompose-nested-permissions': import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
16
  config: import("@oclif/core/interfaces").BooleanFlag<boolean>;
17
17
  'update-forceignore': import("@oclif/core/interfaces").BooleanFlag<boolean>;
@@ -1,9 +1,12 @@
1
1
  'use strict';
2
+ import { access } from 'node:fs/promises';
3
+ import { resolve } from 'node:path';
2
4
  import { Messages } from '@salesforce/core';
3
5
  import { Flags, SfCommand } from '@salesforce/sf-plugins-core';
4
6
  import { decomposeMetadataTypes } from '../../core/decomposeMetadataTypes.js';
5
- import { loadOverridesFromConfig, resolveDefaultConfigPath } from '../../helpers/configOverrides.js';
7
+ import { loadConfigFile, parseConfigSuffixes, resolveDefaultConfigPath } from '../../helpers/configOverrides.js';
6
8
  import { DECOMPOSED_FILE_TYPES, DECOMPOSED_STRATEGIES } from '../../helpers/constants.js';
9
+ import { getRepoRoot } from '../../service/core/getRepoRoot.js';
7
10
  Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
8
11
  const messages = Messages.loadMessages('sf-decomposer', 'decomposer.decompose');
9
12
  export default class DecomposerDecompose extends SfCommand {
@@ -36,10 +39,10 @@ export default class DecomposerDecompose extends SfCommand {
36
39
  format: Flags.string({
37
40
  summary: messages.getMessage('flags.format.summary'),
38
41
  char: 'f',
39
- required: true,
42
+ required: false,
40
43
  multiple: false,
41
- default: 'xml',
42
44
  options: DECOMPOSED_FILE_TYPES,
45
+ defaultHelp: async () => 'xml',
43
46
  }),
44
47
  'ignore-package-directory': Flags.directory({
45
48
  summary: messages.getMessage('flags.ignore-package-directory.summary'),
@@ -50,10 +53,10 @@ export default class DecomposerDecompose extends SfCommand {
50
53
  strategy: Flags.string({
51
54
  summary: messages.getMessage('flags.strategy.summary'),
52
55
  char: 's',
53
- required: true,
56
+ required: false,
54
57
  multiple: false,
55
- default: 'unique-id',
56
58
  options: DECOMPOSED_STRATEGIES,
59
+ defaultHelp: async () => 'unique-id',
57
60
  }),
58
61
  'decompose-nested-permissions': Flags.boolean({
59
62
  summary: messages.getMessage('flags.decompose-nested-permissions.summary'),
@@ -80,22 +83,63 @@ export default class DecomposerDecompose extends SfCommand {
80
83
  };
81
84
  async run() {
82
85
  const { flags } = await this.parse(DecomposerDecompose);
83
- if (!flags['metadata-type'] && !flags['manifest']) {
86
+ let metadataTypes = flags['metadata-type'];
87
+ let manifest = flags['manifest'];
88
+ let ignoreDirs = flags['ignore-package-directory'];
89
+ let format = flags['format'] ?? 'xml';
90
+ let strategy = flags['strategy'] ?? 'unique-id';
91
+ let prepurge = flags['prepurge'];
92
+ let postpurge = flags['postpurge'];
93
+ let decomposeNestedPerms = flags['decompose-nested-permissions'];
94
+ let updateForceignore = flags['update-forceignore'];
95
+ let updateGitattributes = flags['update-gitattributes'];
96
+ let overrides;
97
+ if (flags['config']) {
98
+ const config = await loadConfigFile(await resolveDefaultConfigPath());
99
+ metadataTypes ??= parseConfigSuffixes(config.metadataSuffixes);
100
+ const configManifest = !flags['manifest'] ? config.manifest : undefined;
101
+ manifest ??= config.manifest;
102
+ ignoreDirs ??= parseConfigSuffixes(config.ignorePackageDirectories);
103
+ format = flags['format'] ?? config.decomposedFormat ?? 'xml';
104
+ strategy = flags['strategy'] ?? config.strategy ?? 'unique-id';
105
+ prepurge = flags['prepurge'] || (config.prePurge ?? false);
106
+ postpurge = flags['postpurge'] || (config.postPurge ?? false);
107
+ decomposeNestedPerms = flags['decompose-nested-permissions'] || (config.decomposeNestedPermissions ?? false);
108
+ updateForceignore = flags['update-forceignore'] || (config.updateForceignore ?? false);
109
+ updateGitattributes = flags['update-gitattributes'] || (config.updateGitattributes ?? false);
110
+ overrides = config.overrides;
111
+ if (configManifest) {
112
+ const { repoRoot } = await getRepoRoot();
113
+ try {
114
+ await access(resolve(repoRoot ?? process.cwd(), configManifest));
115
+ }
116
+ catch (err) {
117
+ if (metadataTypes?.length) {
118
+ this.warn(`Config manifest "${configManifest}" not found on disk. Falling back to metadataSuffixes from config.`);
119
+ manifest = undefined;
120
+ }
121
+ else {
122
+ throw new Error(`Config manifest "${configManifest}" not found on disk and no metadataSuffixes are defined in the config. ` +
123
+ 'Ensure the manifest exists before running this command, or add metadataSuffixes to the config as a fallback.', { cause: err });
124
+ }
125
+ }
126
+ }
127
+ }
128
+ if (!metadataTypes?.length && !manifest) {
84
129
  throw messages.createError('error.missingMetadataOrManifest');
85
130
  }
86
- const overrides = flags['config'] ? await loadOverridesFromConfig(await resolveDefaultConfigPath()) : undefined;
87
131
  return decomposeMetadataTypes({
88
- metadataTypes: flags['metadata-type'],
89
- prepurge: flags['prepurge'],
90
- postpurge: flags['postpurge'],
91
- format: flags['format'],
92
- ignoreDirs: flags['ignore-package-directory'],
93
- strategy: flags['strategy'],
94
- decomposeNestedPerms: flags['decompose-nested-permissions'],
95
- manifest: flags['manifest'],
132
+ metadataTypes,
133
+ prepurge,
134
+ postpurge,
135
+ format,
136
+ ignoreDirs,
137
+ strategy,
138
+ decomposeNestedPerms,
139
+ manifest,
96
140
  overrides,
97
- updateForceignore: flags['update-forceignore'],
98
- updateGitattributes: flags['update-gitattributes'],
141
+ updateForceignore,
142
+ updateGitattributes,
99
143
  log: this.log.bind(this),
100
144
  });
101
145
  }
@@ -1 +1 @@
1
- {"version":3,"file":"decompose.js","sourceRoot":"","sources":["../../../src/commands/decomposer/decompose.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decompose.js","sourceRoot":"","sources":["../../../src/commands/decomposer/decompose.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export default class DecomposerRecompose extends SfCommand<DecomposerResult> {
9
9
  manifest: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
10
  postpurge: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
11
  'ignore-package-directory': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ config: import("@oclif/core/interfaces").BooleanFlag<boolean>;
12
13
  };
13
14
  run(): Promise<DecomposerResult>;
14
15
  }
@@ -1,7 +1,11 @@
1
1
  'use strict';
2
+ import { access } from 'node:fs/promises';
3
+ import { resolve } from 'node:path';
2
4
  import { Messages } from '@salesforce/core';
3
5
  import { Flags, SfCommand } from '@salesforce/sf-plugins-core';
4
6
  import { recomposeMetadataTypes } from '../../core/recomposeMetadataTypes.js';
7
+ import { loadConfigFile, parseConfigSuffixes, resolveDefaultConfigPath } from '../../helpers/configOverrides.js';
8
+ import { getRepoRoot } from '../../service/core/getRepoRoot.js';
5
9
  Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
6
10
  const messages = Messages.loadMessages('sf-decomposer', 'decomposer.recompose');
7
11
  export default class DecomposerRecompose extends SfCommand {
@@ -32,17 +36,51 @@ export default class DecomposerRecompose extends SfCommand {
32
36
  required: false,
33
37
  multiple: true,
34
38
  }),
39
+ config: Flags.boolean({
40
+ summary: messages.getMessage('flags.config.summary'),
41
+ char: 'c',
42
+ required: false,
43
+ default: false,
44
+ }),
35
45
  };
36
46
  async run() {
37
47
  const { flags } = await this.parse(DecomposerRecompose);
38
- if (!flags['metadata-type'] && !flags['manifest']) {
48
+ let metadataTypes = flags['metadata-type'];
49
+ let manifest = flags['manifest'];
50
+ let ignoreDirs = flags['ignore-package-directory'];
51
+ let postpurge = flags['postpurge'];
52
+ if (flags['config']) {
53
+ const config = await loadConfigFile(await resolveDefaultConfigPath());
54
+ metadataTypes ??= parseConfigSuffixes(config.metadataSuffixes);
55
+ const configManifest = !flags['manifest'] ? config.manifest : undefined;
56
+ manifest ??= config.manifest;
57
+ ignoreDirs ??= parseConfigSuffixes(config.ignorePackageDirectories);
58
+ postpurge = flags['postpurge'] || (config.postPurge ?? false);
59
+ if (configManifest) {
60
+ const { repoRoot } = await getRepoRoot();
61
+ try {
62
+ await access(resolve(repoRoot ?? process.cwd(), configManifest));
63
+ }
64
+ catch (err) {
65
+ if (metadataTypes?.length) {
66
+ this.warn(`Config manifest "${configManifest}" not found on disk. Falling back to metadataSuffixes from config.`);
67
+ manifest = undefined;
68
+ }
69
+ else {
70
+ throw new Error(`Config manifest "${configManifest}" not found on disk and no metadataSuffixes are defined in the config. ` +
71
+ 'Ensure the manifest exists before running this command, or add metadataSuffixes to the config as a fallback.', { cause: err });
72
+ }
73
+ }
74
+ }
75
+ }
76
+ if (!metadataTypes?.length && !manifest) {
39
77
  throw messages.createError('error.missingMetadataOrManifest');
40
78
  }
41
79
  return recomposeMetadataTypes({
42
- metadataTypes: flags['metadata-type'],
43
- postpurge: flags['postpurge'],
44
- ignoreDirs: flags['ignore-package-directory'],
45
- manifest: flags['manifest'],
80
+ metadataTypes,
81
+ postpurge,
82
+ ignoreDirs,
83
+ manifest,
46
84
  log: this.log.bind(this),
47
85
  });
48
86
  }
@@ -1 +1 @@
1
- {"version":3,"file":"recompose.js","sourceRoot":"","sources":["../../../src/commands/decomposer/recompose.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAG9E,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;AAEhF,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,SAA2B;IACnE,MAAM,CAAmB,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAClE,MAAM,CAAmB,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAC1E,MAAM,CAAmB,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAErE,MAAM,CAAmB,KAAK,GAAG;QACtC,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC;YAC5B,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,6BAA6B,CAAC;YAC3D,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,wBAAwB,CAAC;YACtD,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,IAAI;SACb,CAAC;QACF,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;YACvB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,yBAAyB,CAAC;YACvD,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;SACf,CAAC;QACF,0BAA0B,EAAE,KAAK,CAAC,SAAS,CAAC;YAC1C,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,wCAAwC,CAAC;YACtE,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAExD,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;YAClD,MAAM,QAAQ,CAAC,WAAW,CAAC,iCAAiC,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,sBAAsB,CAAC;YAC5B,aAAa,EAAE,KAAK,CAAC,eAAe,CAAC;YACrC,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC;YAC7B,UAAU,EAAE,KAAK,CAAC,0BAA0B,CAAC;YAC7C,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC;YAC3B,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;SACzB,CAAC,CAAC;IACL,CAAC"}
1
+ {"version":3,"file":"recompose.js","sourceRoot":"","sources":["../../../src/commands/decomposer/recompose.ts"],"names":[],"mappings":"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"}
@@ -7,9 +7,9 @@ export default class DecomposerVerify extends SfCommand<VerifyResult> {
7
7
  static readonly flags: {
8
8
  'metadata-type': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
9
  manifest: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
- format: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
10
+ format: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
11
  'ignore-package-directory': import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
- strategy: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
12
+ strategy: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
13
  'decompose-nested-permissions': import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
14
  config: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
15
  };
@@ -1,9 +1,12 @@
1
1
  'use strict';
2
+ import { access } from 'node:fs/promises';
3
+ import { resolve } from 'node:path';
2
4
  import { Messages } from '@salesforce/core';
3
5
  import { Flags, SfCommand } from '@salesforce/sf-plugins-core';
4
6
  import { verifyMetadataTypes } from '../../core/verifyMetadataTypes.js';
5
- import { loadOverridesFromConfig, resolveDefaultConfigPath } from '../../helpers/configOverrides.js';
7
+ import { loadConfigFile, parseConfigSuffixes, resolveDefaultConfigPath } from '../../helpers/configOverrides.js';
6
8
  import { DECOMPOSED_FILE_TYPES, DECOMPOSED_STRATEGIES } from '../../helpers/constants.js';
9
+ import { getRepoRoot } from '../../service/core/getRepoRoot.js';
7
10
  Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
8
11
  const messages = Messages.loadMessages('sf-decomposer', 'decomposer.verify');
9
12
  export default class DecomposerVerify extends SfCommand {
@@ -26,10 +29,10 @@ export default class DecomposerVerify extends SfCommand {
26
29
  format: Flags.string({
27
30
  summary: messages.getMessage('flags.format.summary'),
28
31
  char: 'f',
29
- required: true,
32
+ required: false,
30
33
  multiple: false,
31
- default: 'xml',
32
34
  options: DECOMPOSED_FILE_TYPES,
35
+ defaultHelp: async () => 'xml',
33
36
  }),
34
37
  'ignore-package-directory': Flags.directory({
35
38
  summary: messages.getMessage('flags.ignore-package-directory.summary'),
@@ -40,10 +43,10 @@ export default class DecomposerVerify extends SfCommand {
40
43
  strategy: Flags.string({
41
44
  summary: messages.getMessage('flags.strategy.summary'),
42
45
  char: 's',
43
- required: true,
46
+ required: false,
44
47
  multiple: false,
45
- default: 'unique-id',
46
48
  options: DECOMPOSED_STRATEGIES,
49
+ defaultHelp: async () => 'unique-id',
47
50
  }),
48
51
  'decompose-nested-permissions': Flags.boolean({
49
52
  summary: messages.getMessage('flags.decompose-nested-permissions.summary'),
@@ -60,17 +63,50 @@ export default class DecomposerVerify extends SfCommand {
60
63
  };
61
64
  async run() {
62
65
  const { flags } = await this.parse(DecomposerVerify);
63
- if (!flags['metadata-type'] && !flags['manifest']) {
66
+ let metadataTypes = flags['metadata-type'];
67
+ let manifest = flags['manifest'];
68
+ let ignoreDirs = flags['ignore-package-directory'];
69
+ let format = flags['format'] ?? 'xml';
70
+ let strategy = flags['strategy'] ?? 'unique-id';
71
+ let decomposeNestedPerms = flags['decompose-nested-permissions'];
72
+ let overrides;
73
+ if (flags['config']) {
74
+ const config = await loadConfigFile(await resolveDefaultConfigPath());
75
+ metadataTypes ??= parseConfigSuffixes(config.metadataSuffixes);
76
+ const configManifest = !flags['manifest'] ? config.manifest : undefined;
77
+ manifest ??= config.manifest;
78
+ ignoreDirs ??= parseConfigSuffixes(config.ignorePackageDirectories);
79
+ format = flags['format'] ?? config.decomposedFormat ?? 'xml';
80
+ strategy = flags['strategy'] ?? config.strategy ?? 'unique-id';
81
+ decomposeNestedPerms = flags['decompose-nested-permissions'] || (config.decomposeNestedPermissions ?? false);
82
+ overrides = config.overrides;
83
+ if (configManifest) {
84
+ const { repoRoot } = await getRepoRoot();
85
+ try {
86
+ await access(resolve(repoRoot ?? process.cwd(), configManifest));
87
+ }
88
+ catch (err) {
89
+ if (metadataTypes?.length) {
90
+ this.warn(`Config manifest "${configManifest}" not found on disk. Falling back to metadataSuffixes from config.`);
91
+ manifest = undefined;
92
+ }
93
+ else {
94
+ throw new Error(`Config manifest "${configManifest}" not found on disk and no metadataSuffixes are defined in the config. ` +
95
+ 'Ensure the manifest exists before running this command, or add metadataSuffixes to the config as a fallback.', { cause: err });
96
+ }
97
+ }
98
+ }
99
+ }
100
+ if (!metadataTypes?.length && !manifest) {
64
101
  throw messages.createError('error.missingMetadataOrManifest');
65
102
  }
66
- const overrides = flags['config'] ? await loadOverridesFromConfig(await resolveDefaultConfigPath()) : undefined;
67
103
  const result = await verifyMetadataTypes({
68
- metadataTypes: flags['metadata-type'],
69
- format: flags['format'],
70
- ignoreDirs: flags['ignore-package-directory'],
71
- strategy: flags['strategy'],
72
- decomposeNestedPerms: flags['decompose-nested-permissions'],
73
- manifest: flags['manifest'],
104
+ metadataTypes,
105
+ format,
106
+ ignoreDirs,
107
+ strategy,
108
+ decomposeNestedPerms,
109
+ manifest,
74
110
  overrides,
75
111
  log: this.log.bind(this),
76
112
  });
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../../src/commands/decomposer/verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../../src/commands/decomposer/verify.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { DecomposerOverride } from './types.js';
1
+ import { ConfigFile, DecomposerOverride } from './types.js';
2
2
  /**
3
3
  * Resolve the absolute path of the default `.sfdecomposer.config.json`, located in the
4
4
  * repo root (the nearest ancestor directory that contains `sfdx-project.json`). Throws
@@ -32,9 +32,21 @@ export type ResolvedDecomposeTypeOptions = {
32
32
  */
33
33
  sidecarElements?: string;
34
34
  };
35
+ /**
36
+ * Load and parse the full `.sfdecomposer.config.json` file. Validates the `overrides` array
37
+ * when present. Throws when the file cannot be read or parsed.
38
+ */
39
+ export declare function loadConfigFile(configPath: string): Promise<ConfigFile>;
40
+ /**
41
+ * Split a comma-separated config string (e.g. `metadataSuffixes`, `ignorePackageDirectories`)
42
+ * into a trimmed string array. Returns `undefined` when the value is absent, empty, or the
43
+ * sentinel `"."` (which the hooks interpret as "all types, no filter").
44
+ */
45
+ export declare function parseConfigSuffixes(value: string | undefined): string[] | undefined;
35
46
  /**
36
47
  * Load and validate the `overrides` array from a `.sfdecomposer.config.json` file.
37
- * Returns an empty array if the file is missing, unreadable, or contains no overrides.
48
+ * Returns an empty array when the file is missing or unreadable. Throws on invalid JSON
49
+ * or a malformed `overrides` array (same contract as before `loadConfigFile` was added).
38
50
  */
39
51
  export declare function loadOverridesFromConfig(configPath: string): Promise<DecomposerOverride[]>;
40
52
  /**
@@ -31,9 +31,56 @@ export async function resolveDefaultConfigPath() {
31
31
  // key (silently ignored).
32
32
  const FORBIDDEN_OVERRIDE_KEYS = new Set(['manifest', 'metadataSuffixes', 'ignorePackageDirectories']);
33
33
  const SPLIT_TAGS_MODES = new Set(['split', 'group']);
34
+ /**
35
+ * Load and parse the full `.sfdecomposer.config.json` file. Validates the `overrides` array
36
+ * when present. Throws when the file cannot be read or parsed.
37
+ */
38
+ export async function loadConfigFile(configPath) {
39
+ let raw;
40
+ try {
41
+ // Stryker disable next-line StringLiteral: JSON.parse(Buffer) defaults to UTF-8 decoding
42
+ raw = await readFile(configPath, 'utf-8');
43
+ }
44
+ catch (err) {
45
+ /* istanbul ignore next -- @preserve */
46
+ const message = err instanceof Error ? err.message : String(err);
47
+ throw new Error(`Cannot read ${configPath}: ${message}`, { cause: err });
48
+ }
49
+ let parsed;
50
+ try {
51
+ parsed = JSON.parse(raw);
52
+ }
53
+ catch (err) {
54
+ /* istanbul ignore next -- @preserve: JSON.parse always throws SyntaxError instances. */
55
+ const message = err instanceof Error ? err.message : String(err);
56
+ throw new Error(`Failed to parse ${configPath}: ${message}`, { cause: err });
57
+ }
58
+ if (parsed.overrides !== undefined) {
59
+ if (!Array.isArray(parsed.overrides)) {
60
+ throw new Error(`"overrides" in ${configPath} must be an array.`);
61
+ }
62
+ validateOverrides(parsed.overrides);
63
+ }
64
+ return parsed;
65
+ }
66
+ /**
67
+ * Split a comma-separated config string (e.g. `metadataSuffixes`, `ignorePackageDirectories`)
68
+ * into a trimmed string array. Returns `undefined` when the value is absent, empty, or the
69
+ * sentinel `"."` (which the hooks interpret as "all types, no filter").
70
+ */
71
+ export function parseConfigSuffixes(value) {
72
+ if (!value || value.trim() === '' || value.trim() === '.')
73
+ return undefined;
74
+ const parts = value
75
+ .split(',')
76
+ .map((s) => s.trim())
77
+ .filter((s) => s.length > 0);
78
+ return parts.length > 0 ? parts : undefined;
79
+ }
34
80
  /**
35
81
  * Load and validate the `overrides` array from a `.sfdecomposer.config.json` file.
36
- * Returns an empty array if the file is missing, unreadable, or contains no overrides.
82
+ * Returns an empty array when the file is missing or unreadable. Throws on invalid JSON
83
+ * or a malformed `overrides` array (same contract as before `loadConfigFile` was added).
37
84
  */
38
85
  export async function loadOverridesFromConfig(configPath) {
39
86
  let raw;
@@ -1 +1 @@
1
- {"version":3,"file":"configOverrides.js","sourceRoot":"","sources":["../../src/helpers/configOverrides.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configOverrides.js","sourceRoot":"","sources":["../../src/helpers/configOverrides.ts"],"names":[],"mappings":"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"}
@@ -60,6 +60,8 @@ export type ConfigFile = {
60
60
  updateGitattributes?: boolean;
61
61
  manifest?: string;
62
62
  overrides?: DecomposerOverride[];
63
+ skipPrerunHook?: boolean;
64
+ skipPostRetrieveHook?: boolean;
63
65
  };
64
66
  export type SfdxProject = {
65
67
  packageDirectories: Array<{
@@ -48,6 +48,9 @@ export const prerun = async function (options) {
48
48
  catch (_error) {
49
49
  return;
50
50
  }
51
+ if (configFile.skipPrerunHook) {
52
+ return;
53
+ }
51
54
  const recomposeOptions = buildRecomposeOptions(configFile, (msg) => {
52
55
  this.log(msg);
53
56
  });
@@ -1 +1 @@
1
- {"version":3,"file":"prerun.js","sourceRoot":"","sources":["../../src/hooks/prerun.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prerun.js","sourceRoot":"","sources":["../../src/hooks/prerun.ts"],"names":[],"mappings":"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"}
@@ -55,6 +55,9 @@ export const scopedPostRetrieve = async function (options) {
55
55
  catch (_error) {
56
56
  return;
57
57
  }
58
+ if (configFile.skipPostRetrieveHook) {
59
+ return;
60
+ }
58
61
  const decomposeOptions = buildDecomposeOptions(configFile, (msg) => {
59
62
  this.log(msg);
60
63
  });
@@ -1 +1 @@
1
- {"version":3,"file":"scopedPostRetrieve.js","sourceRoot":"","sources":["../../src/hooks/scopedPostRetrieve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scopedPostRetrieve.js","sourceRoot":"","sources":["../../src/hooks/scopedPostRetrieve.ts"],"names":[],"mappings":"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"}
@@ -50,7 +50,7 @@ Additionally decompose object and field permissions on a permission set when str
50
50
 
51
51
  # flags.config.summary
52
52
 
53
- Load per-type and per-component overrides from .sfdecomposer.config.json in the repo root. When set, the file's "overrides" array is applied (format, strategy, decomposeNestedPermissions, uniqueIdElements, prePurge, postPurge per type or per individual component). Other top-level config fields are ignored when invoking the CLI directly.
53
+ 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.
54
54
 
55
55
  # flags.update-forceignore.summary
56
56
 
@@ -62,4 +62,4 @@ Automatically add root metadata file patterns to .gitattributes after successful
62
62
 
63
63
  # error.missingMetadataOrManifest
64
64
 
65
- Either --metadata-type (-m) or --manifest (-x) must be provided.
65
+ Either --metadata-type (-m) or --manifest (-x) must be provided, or use --config (-c) with a config file that specifies metadataSuffixes or manifest.
@@ -31,6 +31,10 @@ Purge the decomposed files after recomposing them.
31
31
 
32
32
  Ignore a package directory.
33
33
 
34
+ # flags.config.summary
35
+
36
+ Load all settings from .sfdecomposer.config.json in the repo root. When set, top-level fields (metadataSuffixes, manifest, postPurge, ignorePackageDirectories) are applied. Explicit CLI flags take precedence over config values. Makes --metadata-type and --manifest optional when either is defined in the config.
37
+
34
38
  # error.missingMetadataOrManifest
35
39
 
36
- Either --metadata-type (-m) or --manifest (-x) must be provided.
40
+ Either --metadata-type (-m) or --manifest (-x) must be provided, or use --config (-c) with a config file that specifies metadataSuffixes or manifest.
@@ -46,11 +46,11 @@ Additionally decompose object and field permissions on a permission set when str
46
46
 
47
47
  # flags.config.summary
48
48
 
49
- Load per-type and per-component overrides from .sfdecomposer.config.json in the repo root, the same as `decomposer decompose --config`.
49
+ Load all settings from .sfdecomposer.config.json in the repo root. When set, all top-level fields (metadataSuffixes, manifest, decomposedFormat, strategy, ignorePackageDirectories, decomposeNestedPermissions) 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.
50
50
 
51
51
  # error.missingMetadataOrManifest
52
52
 
53
- Either --metadata-type (-m) or --manifest (-x) must be provided.
53
+ Either --metadata-type (-m) or --manifest (-x) must be provided, or use --config (-c) with a config file that specifies metadataSuffixes or manifest.
54
54
 
55
55
  # error.driftDetected
56
56
 
@@ -62,10 +62,10 @@
62
62
  "format": {
63
63
  "char": "f",
64
64
  "name": "format",
65
- "required": true,
65
+ "required": false,
66
66
  "summary": "File format for the decomposed files.",
67
67
  "default": "xml",
68
- "hasDynamicHelp": false,
68
+ "hasDynamicHelp": true,
69
69
  "multiple": false,
70
70
  "options": [
71
71
  "xml",
@@ -87,10 +87,10 @@
87
87
  "strategy": {
88
88
  "char": "s",
89
89
  "name": "strategy",
90
- "required": true,
90
+ "required": false,
91
91
  "summary": "Strategy to follow when decomposing files.",
92
92
  "default": "unique-id",
93
- "hasDynamicHelp": false,
93
+ "hasDynamicHelp": true,
94
94
  "multiple": false,
95
95
  "options": [
96
96
  "unique-id",
@@ -110,7 +110,7 @@
110
110
  "char": "c",
111
111
  "name": "config",
112
112
  "required": false,
113
- "summary": "Load per-type and per-component overrides from .sfdecomposer.config.json in the repo root. When set, the file's \"overrides\" array is applied (format, strategy, decomposeNestedPermissions, uniqueIdElements, prePurge, postPurge per type or per individual component). Other top-level config fields are ignored when invoking the CLI directly.",
113
+ "summary": "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.",
114
114
  "allowNo": false,
115
115
  "type": "boolean"
116
116
  },
@@ -129,7 +129,7 @@
129
129
  "type": "boolean"
130
130
  }
131
131
  },
132
- "hasDynamicHelp": false,
132
+ "hasDynamicHelp": true,
133
133
  "hiddenAliases": [],
134
134
  "id": "decomposer:decompose",
135
135
  "pluginAlias": "sf-decomposer",
@@ -210,6 +210,14 @@
210
210
  "hasDynamicHelp": false,
211
211
  "multiple": true,
212
212
  "type": "option"
213
+ },
214
+ "config": {
215
+ "char": "c",
216
+ "name": "config",
217
+ "required": false,
218
+ "summary": "Load all settings from .sfdecomposer.config.json in the repo root. When set, top-level fields (metadataSuffixes, manifest, postPurge, ignorePackageDirectories) are applied. Explicit CLI flags take precedence over config values. Makes --metadata-type and --manifest optional when either is defined in the config.",
219
+ "allowNo": false,
220
+ "type": "boolean"
213
221
  }
214
222
  },
215
223
  "hasDynamicHelp": false,
@@ -280,10 +288,10 @@
280
288
  "format": {
281
289
  "char": "f",
282
290
  "name": "format",
283
- "required": true,
291
+ "required": false,
284
292
  "summary": "File format to decompose into for the round-trip check.",
285
293
  "default": "xml",
286
- "hasDynamicHelp": false,
294
+ "hasDynamicHelp": true,
287
295
  "multiple": false,
288
296
  "options": [
289
297
  "xml",
@@ -305,10 +313,10 @@
305
313
  "strategy": {
306
314
  "char": "s",
307
315
  "name": "strategy",
308
- "required": true,
316
+ "required": false,
309
317
  "summary": "Strategy to follow when decomposing files for the round-trip check.",
310
318
  "default": "unique-id",
311
- "hasDynamicHelp": false,
319
+ "hasDynamicHelp": true,
312
320
  "multiple": false,
313
321
  "options": [
314
322
  "unique-id",
@@ -328,12 +336,12 @@
328
336
  "char": "c",
329
337
  "name": "config",
330
338
  "required": false,
331
- "summary": "Load per-type and per-component overrides from .sfdecomposer.config.json in the repo root, the same as `decomposer decompose --config`.",
339
+ "summary": "Load all settings from .sfdecomposer.config.json in the repo root. When set, all top-level fields (metadataSuffixes, manifest, decomposedFormat, strategy, ignorePackageDirectories, decomposeNestedPermissions) 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.",
332
340
  "allowNo": false,
333
341
  "type": "boolean"
334
342
  }
335
343
  },
336
- "hasDynamicHelp": false,
344
+ "hasDynamicHelp": true,
337
345
  "hiddenAliases": [],
338
346
  "id": "decomposer:verify",
339
347
  "pluginAlias": "sf-decomposer",
@@ -356,5 +364,5 @@
356
364
  ]
357
365
  }
358
366
  },
359
- "version": "6.35.0"
367
+ "version": "6.37.0"
360
368
  }
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "sf-decomposer",
3
3
  "description": "Decompose Salesforce metadata into granular, VCS-friendly files; recompose for deployment.",
4
- "version": "6.35.0",
4
+ "version": "6.37.0",
5
5
  "dependencies": {
6
6
  "@oclif/core": "4.11.11",
7
7
  "@salesforce/core": "8.31.4",
8
8
  "@salesforce/sf-plugins-core": "12.2.25",
9
- "@salesforce/source-deploy-retrieve": "12.36.3",
9
+ "@salesforce/source-deploy-retrieve": "12.37.0",
10
10
  "config-disassembler": "2.7.0"
11
11
  },
12
12
  "devDependencies": {