sf-decomposer 6.37.0 → 6.38.1

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.
Files changed (45) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/HANDBOOK.md +1 -1
  3. package/README.md +9 -6
  4. package/lib/commands/decomposer/decompose.js +7 -20
  5. package/lib/commands/decomposer/decompose.js.map +1 -1
  6. package/lib/commands/decomposer/recompose.js +7 -20
  7. package/lib/commands/decomposer/recompose.js.map +1 -1
  8. package/lib/commands/decomposer/verify.js +7 -20
  9. package/lib/commands/decomposer/verify.js.map +1 -1
  10. package/lib/core/decomposeMetadataTypes.js +2 -27
  11. package/lib/core/decomposeMetadataTypes.js.map +1 -1
  12. package/lib/core/recomposeMetadataTypes.js +2 -27
  13. package/lib/core/recomposeMetadataTypes.js.map +1 -1
  14. package/lib/core/verifyMetadataTypes.d.ts +12 -7
  15. package/lib/core/verifyMetadataTypes.js +111 -124
  16. package/lib/core/verifyMetadataTypes.js.map +1 -1
  17. package/lib/helpers/configOverrides.d.ts +13 -0
  18. package/lib/helpers/configOverrides.js +65 -7
  19. package/lib/helpers/configOverrides.js.map +1 -1
  20. package/lib/helpers/constants.d.ts +1 -0
  21. package/lib/helpers/constants.js +3 -0
  22. package/lib/helpers/constants.js.map +1 -1
  23. package/lib/metadata/getPackageDirectories.js +4 -0
  24. package/lib/metadata/getPackageDirectories.js.map +1 -1
  25. package/lib/metadata/getRegistryValuesBySuffix.js +2 -3
  26. package/lib/metadata/getRegistryValuesBySuffix.js.map +1 -1
  27. package/lib/metadata/listParentXmlFiles.d.ts +26 -0
  28. package/lib/metadata/listParentXmlFiles.js +116 -0
  29. package/lib/metadata/listParentXmlFiles.js.map +1 -0
  30. package/lib/metadata/parseManifest.d.ts +10 -0
  31. package/lib/metadata/parseManifest.js +35 -0
  32. package/lib/metadata/parseManifest.js.map +1 -1
  33. package/lib/service/decompose/decomposeFileHandler.js +4 -47
  34. package/lib/service/decompose/decomposeFileHandler.js.map +1 -1
  35. package/lib/service/decompose/resolveEffectiveDisassembleOptions.d.ts +21 -0
  36. package/lib/service/decompose/resolveEffectiveDisassembleOptions.js +57 -0
  37. package/lib/service/decompose/resolveEffectiveDisassembleOptions.js.map +1 -0
  38. package/lib/service/recompose/recomposeFileHandler.js +2 -1
  39. package/lib/service/recompose/recomposeFileHandler.js.map +1 -1
  40. package/messages/decomposer.verify.md +5 -5
  41. package/oclif.manifest.json +2 -2
  42. package/package.json +4 -3
  43. package/lib/service/verify/diffDirectories.d.ts +0 -34
  44. package/lib/service/verify/diffDirectories.js +0 -121
  45. package/lib/service/verify/diffDirectories.js.map +0 -1
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.38.1](https://github.com/mcarvin8/sf-decomposer/compare/v6.38.0...v6.38.1) (2026-07-07)
9
+
10
+
11
+ ### Performance Improvements
12
+
13
+ * index override lookups instead of linear-scanning per file ([#519](https://github.com/mcarvin8/sf-decomposer/issues/519)) ([5585ec9](https://github.com/mcarvin8/sf-decomposer/commit/5585ec971f39b643802e4bde740d92608246136b))
14
+
15
+ ## [6.38.0](https://github.com/mcarvin8/sf-decomposer/compare/v6.37.0...v6.38.0) (2026-07-07)
16
+
17
+
18
+ ### Features
19
+
20
+ * **verify:** use config-disassembler's verifyXmlRoundtrip directly ([#517](https://github.com/mcarvin8/sf-decomposer/issues/517)) ([fb76c58](https://github.com/mcarvin8/sf-decomposer/commit/fb76c58d2f3986640dc5aeda41d8c63ddfc53a15))
21
+
8
22
  ## [6.37.0](https://github.com/mcarvin8/sf-decomposer/compare/v6.36.0...v6.37.0) (2026-07-01)
9
23
 
10
24
 
package/HANDBOOK.md CHANGED
@@ -337,7 +337,7 @@ sf decomposer recompose -m "bot"
337
337
  sf decomposer verify -m "bot" --config
338
338
  ```
339
339
 
340
- `sf decomposer verify` is non-destructive: it decomposes into a temp dir, recomposes from the temp dir, and compares the result to your committed source. If anything drifts (content, missing file, sibling reorder) it tells you exactly which paths broke. Treat any drift as a blocker — fix the override (or fall back to the previous one) before committing.
340
+ `sf decomposer verify` is non-destructive: for each parent metadata XML file it disassembles and reassembles a copy in an isolated temp directory and compares the result to your committed source. If anything drifts (content, missing file, sibling reorder) it tells you exactly which paths broke. Treat any drift as a blocker — fix the override (or fall back to the previous one) before committing.
341
341
 
342
342
  ---
343
343
 
package/README.md CHANGED
@@ -138,11 +138,11 @@ Pass `-x manifest/package.xml` to both `decompose` and `recompose` (and `deploy`
138
138
 
139
139
  ### Commands
140
140
 
141
- | Command | Description |
142
- |---------------------------|-------------------------------------------------------------------------------------|
143
- | `sf decomposer decompose` | Decompose metadata in package directories into smaller files. |
144
- | `sf decomposer recompose` | Recompose decomposed files back into deployment-ready metadata. |
145
- | `sf decomposer verify` | Round-trip check: decompose + recompose in a temp directory and diff the originals. |
141
+ | Command | Description |
142
+ |---------------------------|-----------------------------------------------------------------------------------|
143
+ | `sf decomposer decompose` | Decompose metadata in package directories into smaller files. |
144
+ | `sf decomposer recompose` | Recompose decomposed files back into deployment-ready metadata. |
145
+ | `sf decomposer verify` | Round-trip check: disassemble + reassemble each parent XML in isolation and diff. |
146
146
 
147
147
  #### sf decomposer decompose
148
148
 
@@ -230,7 +230,9 @@ sf decomposer recompose --config
230
230
 
231
231
  #### sf decomposer verify
232
232
 
233
- Non-destructive round-trip check: copies your package directories into a temp directory under your OS's `tmpdir()`, runs decompose then recompose there, and diffs the rebuilt parents against the originals using **structural XML equality** (sibling and attribute order are ignored). Exits non-zero on any drift; your working tree is never modified.
233
+ Non-destructive round-trip check: disassembles and reassembles each parent metadata XML file in an isolated temp directory, then compares the reconstructed XML against the original using **structural XML equality** (sibling and attribute order are ignored). Exits non-zero on any drift; your working tree is never modified.
234
+
235
+ > RECOMMENDATION: Set `RUST_LOG=off` in your environment variables to remove rust crate noise on the verify command.
234
236
 
235
237
  ```
236
238
  USAGE
@@ -643,6 +645,7 @@ The underlying Rust crate logs through [env_logger](https://docs.rs/env_logger).
643
645
  |------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
644
646
  | `RUST_LOG=error` | Default. Parse errors and skipped files (leaf-only XML — primitives only, nothing to decompose). |
645
647
  | `RUST_LOG=warn` | Adds [sibling-collision fallback](#filename-safety-unique-id) signals — one line per colliding group (parent tag, collided id, sibling count). **Recommended in CI** when shipping overrides. |
648
+ | `RUST_LOG=off` | Disables rust crate logging. **Recommended** for the `sf decomposer verify` command. |
646
649
 
647
650
  Example `WARN` (CustomApplication where four `actionOverrides` siblings shared the action name `View`):
648
651
 
@@ -1,12 +1,9 @@
1
1
  'use strict';
2
- import { access } from 'node:fs/promises';
3
- import { resolve } from 'node:path';
4
2
  import { Messages } from '@salesforce/core';
5
3
  import { Flags, SfCommand } from '@salesforce/sf-plugins-core';
6
4
  import { decomposeMetadataTypes } from '../../core/decomposeMetadataTypes.js';
7
- import { loadConfigFile, parseConfigSuffixes, resolveDefaultConfigPath } from '../../helpers/configOverrides.js';
5
+ import { loadConfigFile, parseConfigSuffixes, resolveDefaultConfigPath, validateConfigManifest, } from '../../helpers/configOverrides.js';
8
6
  import { DECOMPOSED_FILE_TYPES, DECOMPOSED_STRATEGIES } from '../../helpers/constants.js';
9
- import { getRepoRoot } from '../../service/core/getRepoRoot.js';
10
7
  Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
11
8
  const messages = Messages.loadMessages('sf-decomposer', 'decomposer.decompose');
12
9
  export default class DecomposerDecompose extends SfCommand {
@@ -108,22 +105,12 @@ export default class DecomposerDecompose extends SfCommand {
108
105
  updateForceignore = flags['update-forceignore'] || (config.updateForceignore ?? false);
109
106
  updateGitattributes = flags['update-gitattributes'] || (config.updateGitattributes ?? false);
110
107
  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
- }
108
+ manifest = await validateConfigManifest({
109
+ configManifest,
110
+ metadataTypes,
111
+ manifest,
112
+ warn: this.warn.bind(this),
113
+ });
127
114
  }
128
115
  if (!metadataTypes?.length && !manifest) {
129
116
  throw messages.createError('error.missingMetadataOrManifest');
@@ -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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"}
@@ -1,11 +1,8 @@
1
1
  'use strict';
2
- import { access } from 'node:fs/promises';
3
- import { resolve } from 'node:path';
4
2
  import { Messages } from '@salesforce/core';
5
3
  import { Flags, SfCommand } from '@salesforce/sf-plugins-core';
6
4
  import { recomposeMetadataTypes } from '../../core/recomposeMetadataTypes.js';
7
- import { loadConfigFile, parseConfigSuffixes, resolveDefaultConfigPath } from '../../helpers/configOverrides.js';
8
- import { getRepoRoot } from '../../service/core/getRepoRoot.js';
5
+ import { loadConfigFile, parseConfigSuffixes, resolveDefaultConfigPath, validateConfigManifest, } from '../../helpers/configOverrides.js';
9
6
  Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
10
7
  const messages = Messages.loadMessages('sf-decomposer', 'decomposer.recompose');
11
8
  export default class DecomposerRecompose extends SfCommand {
@@ -56,22 +53,12 @@ export default class DecomposerRecompose extends SfCommand {
56
53
  manifest ??= config.manifest;
57
54
  ignoreDirs ??= parseConfigSuffixes(config.ignorePackageDirectories);
58
55
  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
- }
56
+ manifest = await validateConfigManifest({
57
+ configManifest,
58
+ metadataTypes,
59
+ manifest,
60
+ warn: this.warn.bind(this),
61
+ });
75
62
  }
76
63
  if (!metadataTypes?.length && !manifest) {
77
64
  throw messages.createError('error.missingMetadataOrManifest');
@@ -1 +1 @@
1
- {"version":3,"file":"recompose.js","sourceRoot":"","sources":["../../../src/commands/decomposer/recompose.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recompose.js","sourceRoot":"","sources":["../../../src/commands/decomposer/recompose.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,9 @@
1
1
  'use strict';
2
- import { access } from 'node:fs/promises';
3
- import { resolve } from 'node:path';
4
2
  import { Messages } from '@salesforce/core';
5
3
  import { Flags, SfCommand } from '@salesforce/sf-plugins-core';
6
4
  import { verifyMetadataTypes } from '../../core/verifyMetadataTypes.js';
7
- import { loadConfigFile, parseConfigSuffixes, resolveDefaultConfigPath } from '../../helpers/configOverrides.js';
5
+ import { loadConfigFile, parseConfigSuffixes, resolveDefaultConfigPath, validateConfigManifest, } from '../../helpers/configOverrides.js';
8
6
  import { DECOMPOSED_FILE_TYPES, DECOMPOSED_STRATEGIES } from '../../helpers/constants.js';
9
- import { getRepoRoot } from '../../service/core/getRepoRoot.js';
10
7
  Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
11
8
  const messages = Messages.loadMessages('sf-decomposer', 'decomposer.verify');
12
9
  export default class DecomposerVerify extends SfCommand {
@@ -80,22 +77,12 @@ export default class DecomposerVerify extends SfCommand {
80
77
  strategy = flags['strategy'] ?? config.strategy ?? 'unique-id';
81
78
  decomposeNestedPerms = flags['decompose-nested-permissions'] || (config.decomposeNestedPermissions ?? false);
82
79
  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
- }
80
+ manifest = await validateConfigManifest({
81
+ configManifest,
82
+ metadataTypes,
83
+ manifest,
84
+ warn: this.warn.bind(this),
85
+ });
99
86
  }
100
87
  if (!metadataTypes?.length && !manifest) {
101
88
  throw messages.createError('error.missingMetadataOrManifest');
@@ -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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"}
@@ -4,38 +4,13 @@ import { resolveDecomposeOptionsForType } from '../helpers/configOverrides.js';
4
4
  import { CONCURRENCY_LIMITS } from '../helpers/constants.js';
5
5
  import { pLimit } from '../helpers/pLimit.js';
6
6
  import { getRegistryValuesBySuffix } from '../metadata/getRegistryValuesBySuffix.js';
7
- import { parseManifest } from '../metadata/parseManifest.js';
7
+ import { resolveEffectiveMetadataTypes } from '../metadata/parseManifest.js';
8
8
  import { updateForceignoreFile } from '../service/core/updateForceignore.js';
9
9
  import { updateGitattributesFile } from '../service/core/updateGitattributes.js';
10
10
  import { decomposeFileHandler } from '../service/decompose/decomposeFileHandler.js';
11
11
  export async function decomposeMetadataTypes(options) {
12
12
  const { metadataTypes, prepurge, postpurge, format, ignoreDirs, strategy, decomposeNestedPerms, manifest, overrides, updateForceignore, updateGitattributes, log, repoRoot, } = options;
13
- let manifestFilter;
14
- let effectiveTypes;
15
- if (manifest) {
16
- manifestFilter = await parseManifest(manifest, ignoreDirs, repoRoot);
17
- for (const { type, member } of manifestFilter.unresolvedComponents) {
18
- log(`Warning: manifest component ${type}:${member} not found in local source; skipping.`);
19
- }
20
- // Stryker disable next-line ConditionalExpression, EqualityOperator
21
- if (metadataTypes && metadataTypes.length > 0) {
22
- const manifestTypes = new Set(manifestFilter.suffixes);
23
- effectiveTypes = metadataTypes.filter((type) => manifestTypes.has(type));
24
- }
25
- else {
26
- effectiveTypes = manifestFilter.suffixes;
27
- }
28
- }
29
- else {
30
- if (!metadataTypes || metadataTypes.length === 0) {
31
- throw Error('Either --metadata-type or --manifest must be provided.');
32
- }
33
- effectiveTypes = metadataTypes;
34
- }
35
- if (effectiveTypes.some((t) => t === 'botVersion')) {
36
- log('Warning: `botVersion` suffix is not supported; automatically using `bot` instead.');
37
- effectiveTypes = [...new Set(effectiveTypes.map((t) => (t === 'botVersion' ? 'bot' : t)))];
38
- }
13
+ const { manifestFilter, effectiveTypes } = await resolveEffectiveMetadataTypes(metadataTypes, manifest, ignoreDirs, repoRoot, log);
39
14
  if (effectiveTypes.length === 0) {
40
15
  log('No metadata types to decompose after applying the manifest filter.');
41
16
  return { metadata: [] };
@@ -1 +1 @@
1
- {"version":3,"file":"decomposeMetadataTypes.js","sourceRoot":"","sources":["../../src/core/decomposeMetadataTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decomposeMetadataTypes.js","sourceRoot":"","sources":["../../src/core/decomposeMetadataTypes.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAiB,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC5F,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AAEpF,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAAyB;IACpE,MAAM,EACJ,aAAa,EACb,QAAQ,EACR,SAAS,EACT,MAAM,EACN,UAAU,EACV,QAAQ,EACR,oBAAoB,EACpB,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,mBAAmB,EACnB,GAAG,EACH,QAAQ,GACT,GAAG,OAAO,CAAC;IAEZ,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,MAAM,6BAA6B,CAC5E,aAAa,EACb,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,GAAG,CACJ,CAAC;IAEF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,GAAG,CAAC,oEAAoE,CAAC,CAAC;QAC1E,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC1B,CAAC;IAED,4EAA4E;IAC5E,MAAM,KAAK,GAAG,MAAM,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAExD,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,aAAa,GAAoB,EAAE,CAAC;IAC1C,IAAI,iBAAqC,CAAC;IAE1C,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAChD,KAAK,CAAC,KAAK,IAAI,EAAE;QACf,MAAM,gBAAgB,GAAG,cAAc,EAAE,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAE9E,uFAAuF;QACvF,0FAA0F;QAC1F,4FAA4F;QAC5F,8BAA8B;QAC9B,MAAM,YAAY,GAAG,8BAA8B,CACjD,YAAY,EACZ,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAAE,QAAQ,EAAE,SAAS,EAAE,EAC/D,SAAS,CACV,CAAC;QAEF,IAAI,cAAc,CAAC;QACnB,IAAI,UAAkB,CAAC;QACvB,IAAI,CAAC;YACH,CAAC,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,MAAM,yBAAyB,CAC/D,YAAY,EACZ,WAAW,EACX,UAAU,EACV,QAAQ,EACR,YAAY,CAAC,gBAAgB,CAC9B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,uGAAuG;YACvG,IAAI,CAAC,cAAc;gBAAE,MAAM,GAAG,CAAC;YAC/B,gGAAgG;YAChG,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,GAAG,CAAC,YAAY,YAAY,KAAK,OAAO,EAAE,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,MAAM,oBAAoB,CAAC,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAElG,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7B,IAAI,iBAAiB,IAAI,mBAAmB,EAAE,CAAC;YAC7C,aAAa,CAAC,IAAI,CAAC;gBACjB,aAAa,EAAE,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBACxD,UAAU,EAAE,cAAc,CAAC,UAAU;gBACrC,MAAM,EAAE,YAAY,CAAC,MAAM;aAC5B,CAAC,CAAC;YACH,iBAAiB,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;QAC5C,CAAC;QACD,GAAG,CAAC,kEAAkE,YAAY,EAAE,CAAC,CAAC;IACxF,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAEzB,IAAI,iBAAiB,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,iBAAiB,EAAE,CAAC;QACvE,MAAM,qBAAqB,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;QAC9D,GAAG,CAAC,kDAAkD,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,mBAAmB,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,iBAAiB,EAAE,CAAC;QACzE,MAAM,uBAAuB,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;QAChE,GAAG,CAAC,0DAA0D,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC"}
@@ -2,36 +2,11 @@
2
2
  import { CONCURRENCY_LIMITS } from '../helpers/constants.js';
3
3
  import { pLimit } from '../helpers/pLimit.js';
4
4
  import { getRegistryValuesBySuffix } from '../metadata/getRegistryValuesBySuffix.js';
5
- import { parseManifest } from '../metadata/parseManifest.js';
5
+ import { resolveEffectiveMetadataTypes } from '../metadata/parseManifest.js';
6
6
  import { recomposeFileHandler } from '../service/recompose/recomposeFileHandler.js';
7
7
  export async function recomposeMetadataTypes(options) {
8
8
  const { metadataTypes, postpurge, ignoreDirs, manifest, log, repoRoot } = options;
9
- let manifestFilter;
10
- let effectiveTypes;
11
- if (manifest) {
12
- manifestFilter = await parseManifest(manifest, ignoreDirs, repoRoot);
13
- for (const { type, member } of manifestFilter.unresolvedComponents) {
14
- log(`Warning: manifest component ${type}:${member} not found in local source; skipping.`);
15
- }
16
- // Stryker disable next-line ConditionalExpression, EqualityOperator
17
- if (metadataTypes && metadataTypes.length > 0) {
18
- const manifestTypes = new Set(manifestFilter.suffixes);
19
- effectiveTypes = metadataTypes.filter((type) => manifestTypes.has(type));
20
- }
21
- else {
22
- effectiveTypes = manifestFilter.suffixes;
23
- }
24
- }
25
- else {
26
- if (!metadataTypes || metadataTypes.length === 0) {
27
- throw Error('Either --metadata-type or --manifest must be provided.');
28
- }
29
- effectiveTypes = metadataTypes;
30
- }
31
- if (effectiveTypes.some((t) => t === 'botVersion')) {
32
- log('Warning: `botVersion` suffix is not supported; automatically using `bot` instead.');
33
- effectiveTypes = [...new Set(effectiveTypes.map((t) => (t === 'botVersion' ? 'bot' : t)))];
34
- }
9
+ const { manifestFilter, effectiveTypes } = await resolveEffectiveMetadataTypes(metadataTypes, manifest, ignoreDirs, repoRoot, log);
35
10
  if (effectiveTypes.length === 0) {
36
11
  log('No metadata types to recompose after applying the manifest filter.');
37
12
  return { metadata: [] };
@@ -1 +1 @@
1
- {"version":3,"file":"recomposeMetadataTypes.js","sourceRoot":"","sources":["../../src/core/recomposeMetadataTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recomposeMetadataTypes.js","sourceRoot":"","sources":["../../src/core/recomposeMetadataTypes.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AACrF,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AAEpF,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,OAAyB;IACpE,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAElF,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,MAAM,6BAA6B,CAC5E,aAAa,EACb,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,GAAG,CACJ,CAAC;IAEF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,GAAG,CAAC,oEAAoE,CAAC,CAAC;QAC1E,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC1B,CAAC;IAED,4EAA4E;IAC5E,MAAM,KAAK,GAAG,MAAM,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAExD,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAChD,KAAK,CAAC,KAAK,IAAI,EAAE;QACf,MAAM,gBAAgB,GAAG,cAAc,EAAE,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAE9E,IAAI,cAAc,CAAC;QACnB,IAAI,CAAC;YACH,CAAC,EAAE,cAAc,EAAE,GAAG,MAAM,yBAAyB,CAAC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC1G,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,uGAAuG;YACvG,IAAI,CAAC,cAAc;gBAAE,MAAM,GAAG,CAAC;YAC/B,gGAAgG;YAChG,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,GAAG,CAAC,YAAY,YAAY,KAAK,OAAO,EAAE,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,MAAM,oBAAoB,CAAC,cAAc,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;QACxE,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7B,GAAG,CAAC,kEAAkE,YAAY,EAAE,CAAC,CAAC;IACxF,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAEzB,OAAO;QACL,QAAQ,EAAE,SAAS;KACpB,CAAC;AACJ,CAAC"}
@@ -1,12 +1,17 @@
1
1
  import { VerifyOptions, VerifyResult } from '../helpers/types.js';
2
2
  /**
3
- * Run a non-destructive round-trip check: copy the user's package directories into a scratch
4
- * directory under the OS temp folder, decompose + recompose them there, and diff the rebuilt
5
- * parents against the originals.
3
+ * Run a non-destructive round-trip check directly against the user's repo. For every parent
4
+ * metadata XML file belonging to the requested (or manifest-filtered) metadata types, disassemble
5
+ * + reassemble it inside an isolated temp directory (via `verifyXmlRoundtrip`, which never touches
6
+ * the real file) and compare the reconstructed XML against the original.
6
7
  *
7
- * The temp directory is always removed before this function returns, and the user's working tree
8
- * is never modified. The returned `drift` array is empty when every parent XML survived the round
9
- * trip byte-identically; otherwise each entry names the offending file (relative to its package
10
- * directory) and a short reason.
8
+ * Unlike a real decompose/recompose run, this never writes to the user's working tree at all --
9
+ * `verifyXmlRoundtrip` owns its own temp-directory isolation per file, so there is no scratch
10
+ * project to build or clean up here.
11
+ *
12
+ * The returned `drift` array is empty when every parent XML would survive the round trip
13
+ * semantically; otherwise each entry names the offending file (relative to its package directory)
14
+ * and a short reason. `reordered` is informational only -- sibling/attribute order is not
15
+ * preserved by design, and Salesforce treats metadata as order-agnostic.
11
16
  */
12
17
  export declare function verifyMetadataTypes(options: VerifyOptions): Promise<VerifyResult>;